New on Shopfront: August 2021

Welcome to what’s new on Shopfront for August 2021! It’s a light-on month for features and fixes with a large amount of development going towards large features coming out shortly.

Some of these features are still rolling out to stores and should become available within the next couple of weeks.

Minor Features

  • Added integration to Thirsty Camel’s Hump Club,
  • Added copy criteria button to the promotion edit page,
  • Rearranged a few tables in the security centre to look nicer on mobile devices

Bug Fixes

  • Prevented a gift card from being redeemed multiple times within the same sale,
  • When using the select all checkbox on the promotions page, we now validate that the promotions selected are for the current search, not a previous search (previously searching for “aug” would generate a search for “a”, “au” and then “aug” and could result in “aug” finishing before “a”),
  • Saving the register closure tags for a register will no longer remove the tags from other registers,
  • Importing customers via CSV now works as expected when specifying the customer_group_id column,
  • Reordered the promotional category dropdown on the promotion edit page to be alphabetical,
  • Revision history for price lists no longer show the fallback rule as an “unknown item”,
  • Prevented a race condition resulting in the customer display occasionally showing the previous sale when the cash drawer had to open to to a payment method requiring it,
  • Inventory for a previous date report can no longer be run for today’s date

Coming to Shopfront: 2021 (2nd Half)

Shopfront version 2 has had all stores on it for 18 months now and since then we’ve added a huge number of features, brand new and reimagined integrations, consistently improved the speed and improved reliability and now we’re ready to show you the next plans for Shopfront until the end of the year.

This should be used as a guide only, some features may end up with different functionality, be developed at a different time or completely dropped.

More information on each feature will be released closer to the individual feature’s release date.

eCommerce Store

Looking for another channel of sales? Shopfront’s currently building an eCommerce platform due for beta release shortly.

Fulfilment Interface

Alongside the eCommerce store, Shopfront is developing a new fulfilment interface which will allow any eCommerce store to easily send sales to Shopfront with the intention of them being fulfilled through the POS system (without having to develop their own user interface).

New Data Merges

Shopfront currently supports merging customers but will shortly be adding the highly requested functionality of merging suppliers and products.

Shopview & Enterprise Management

Managing stores on different domains? Want to run reports across multiple unconnected stores? Need a centralised source of truth for all of your stores?

That’s where Shopview comes in, Shopview is an external application that allows you to connect and manage multiple stores through a simple user interface.

Create advanced promotions to run across all of your stores, manage each stores product file in a centralised location, enforce policies across all stores and run reports on raw data fed from Shopfront.

New Integrations

We’re also constantly adding a number of new integrations into Shopfront (developed by both us and development partners). Recently we’ve added integrations to Thirsty Camel’s Hump Club and Milie ordering system, Myfoodlink has developed an integration to connect your Shopfront store through to their eCommerce platform and we’ve got a couple more new integrations coming this year including integrating with Zen Global’s loyalty system and upcoming integration with some delivery services.

Upcoming Changes to the Xero Integration

Update 17th of August 2021: These changes have been rolled out to all Vendors, if you’re experiencing any issues, please get in touch with us.

We’re making some adjustments to the way Shopfront interacts with Xero, for most people using the integration you should not notice any changes.

What Changes are Being Made

Currently, the Shopfront to Xero integration works by connecting one Shopfront Vendor (which could have multiple Outlets) to a single Xero account (and through that account to a single Xero tenant).

This change will allow you to connect each Shopfront Outlet to a different Xero tenant (which can be across different Xero accounts).

Through this change, you won’t be required to have the same settings for each Outlet (although, we do recommend it if they are connected to the same Xero tenant).

Alongside this, we’re also bringing a new coat of paint to the settings page, with built in help and a cleaner interface to make configuring and mapping the integration easier.

Why We’re Making the Change

Throughout the years, we’ve had a number of store owners request the ability to connect a different Xero tenant to each Outlet, however we’ve always had the same principle as Xero where one business should be one Shopfront Vendor. However, more and more stores are coming onto Shopfront that wish to share product files, see inventory across locations and more but also have multiple owners and account for each location separately.

When the Changes Will Happen

This change is currently being rolled out to all stores and should be completed by early next week.

What you Need to do

If you’re a Vendor with only a single Outlet, no changes will be required and your integration will continue to work as per-normal.

If you’re a Vendor with multiple Outlets, you might want to change to using our new multi-tenant support. If you do, all that you need to do is go to your Xero integration settings once the changes have been rolled out and change the configuration of each Outlet like you would currently do with all Outlets.

What About the MYOB Integration

Currently this change is exclusive to the Xero integration as there are significantly more uses of the Xero integration and the multi-tenant model of Xero makes it simple to connect multiple Outlets whereas MYOB’s company-file model is a bit more complex.

Whilst there are no current plans to make a similar change, we will consider doing so in the future.

New on Shopfront: June 2021

Welcome to what’s new on Shopfront for June 2021! The end of the financial year brings a number of fixes and minor features.

Minor Features

  • Emailed customer statements now show as “from” as the Outlet name that you’re currently in,
  • First barcode is exported to the shelf tickets,
  • Updating a products case quantity on the edit page now edits the inventory once you leave the case quantity box rather than instantly

Bug Fixes

  • Reporting dashboard hover information is correctly coloured when in dark mode,
  • Removing the main (first) product image no longer removes all alternate images,
  • Pressing back after adding a customer when “Display All Products in Classification” sale key is open now correctly returns you to the sell screen,
  • Prevented promotions from activating / deactivating incorrectly due to the incorrect timezone being used when saved locally,
  • Removing the grouping from everyday tickets now correctly reverts to the no grouping order,
  • Price list revisions show percentage pricing rules as percentages rather than currency,
  • Exporting all products via the stock list when a large number of products exist in the store no longer hits the rate limiter

New on Shopfront: February 2021

Welcome to what’s new on Shopfront for February 2021! We’ve got new ways to test promotions, a whole bunch of accounting integration improvements and more!

Upcoming Changes

Before getting on to the normal programming, we’re just giving you a heads up with a couple of upcoming changes.

During March we’re moving to a new mail provider to improve delivery time and reduce failed emails, because of this, we’re changing where emails come from that are sent from within Shopfront. Currently when you’re sending receipts to customers they’re from [email protected][your-subdomain].onshopfront.com and statements are from [email protected][your-subdomain].onshopfront.com.

This will now change to instead all come from [your-subdomain]@onshopfront.com. You’ll also receive more emails from this email address which were previously coming from [email protected]. Nothing is required on your side with these changes, however we thought we’d give you a heads-up in case you have any email rules setup for Shopfront emails.

The second major upcoming feature which is already rolling out is our new authentication for integrations. Previously when you approved an integration they essentially acted as you and received all of the same permissions as you. This worked fairly well, however it lead to not knowing exactly what each integration would be doing and meant that integrations would be affected when your permissions were changed.

Instead, integrations will now specify which permissions they require and when authenticated they’ll be created as an internal user within your POS system (which will automatically be removed if you revoke the integration). This leads to more transparency with what integrations are doing and prevents integrations from losing access to some features due to permission changes. When authenticating the integration, you’ll now be required to use a user who has the modify_integrations permission (same as before), but also all of the permissions the integration is requiring.

Major Features

Promotion Simulator

Want to test out a promotion before it has started or need to test it out on a non-register? Now you can with the promotion simulator. Simply edit a promotion, enable the promotion simulator in the bottom right-hand corner and add the products you want to test.

Dark Mode

Currently in beta, dark mode is now available for all stores. You can enable the dark mode by going to the Menu > Setup > General > Registers, select the register you want to enable the setting for and then change the dark mode setting to one of Force Light Mode (default), Force Dark Mode or Auto (this will use your operating system setting to determine whether to display Shopfront in dark or light mode).

We’re still improving how it looks on each page, but it should be ready to use in the vast majority of places.

Import Gift Cards

Have some gift cards to create without selling them? Now you can import gift cards directly from a CSV file. Head over to the Menu > Customer Management > Gift Cards > Functions > Import Gift Cards to get started, you’ll need a CSV ready with the following columns:

  • code,
  • balance,
  • original (optional),
  • outlet (for multi-store vendors)

Alongside importing gift cards, we’ve also added the ability to see where the gift card was created from with the new creation source column on the gift card page, this will specify whether it came from a sale, a file import or from an integration.

Minor Features

  • Sales order references now appear on customer statements in the “reference” column,
  • Added default statement template when creating a new statement,
  • The products contained within a basket and the parents of products have been added to the product view page,
  • Added a filter box to the trashed items page,
  • Refund amount is now displayed in a dialog after the refund is completed to ensure the refund is provided to customers,
  • Price calculation has been moved to a dedicated worker thread to prevent the price calculation from freezing the UI on complex long-running calculations,
  • Cross promotion count will now automatically turn on when a promotion takes longer than 400ms to calculate with cross promotion count disabled,
  • Added a new option to customer groups to automatically print parked sales receipts,
  • Added a new action report type, modified sales,
  • Added a new permission, “See Only Recent Register Closures” which allows users with the permission to see register closures which have been closed within the last 12 hours and by that user,
  • [MYOB / Xero] Transfers between stores can now be sent to the accounting integrations,
  • [MYOB / Xero] Transfers to transferees can now be sent to the accounting integrations,
  • [MYOB / Xero] Vendor connection orders are now sent to accounting integrations,
  • [MYOB / Xero] Added a toggle to specify whether COGS should be sent as inclusive or exclusive of tax,
  • [MYOB / Xero] Can now clear the supplier and customer mappings from the account integration setting pages,
  • [MYOB] Forced all register closures to work through a queue to prevent duplicates due to MYOB’s API timing out but still succeeding,
  • [Shop MyLocal] Barcode files are no longer directly downloaded, but instead emailed directly to Metcash from Shopfront,
  • [OnTap Data] Added new integration with OnTap Data,
  • [Developer] searchSale GraphQL route has been removed as per deprecation policy,
  • [Developer] getIntegration GraphQL route has been removed as per deprecation policy,
  • [Developer] product.usePriceLabel GraphQL field has been removed as per deprecation policy,
  • [Developer] product.active GraphQL field has been removed as per deprecation policy,
  • [Developer] paymentMethod.denominations GraphQL field has been removed as per deprecation policy,
  • [Developer] Scopes can now be requested when authenticating an integration, allowing you to specify which permissions your integration will require (and prevent your application from losing the permissions)

Bug Fixes

  • Printing a parked sale receipt from the parked sale sell screen options while another sale receipt is visible on the screen no longer results in two receipts being printed,
  • Import products from CSV is no longer missing the first row in the preview,
  • Merging customers without specifying their birthday no longer results in their birthday being the current date,
  • Adding and removing shortcuts to the user’s quick menu is now more reliable,
  • Customer price lists are now correctly updated when only the product details are modified,
  • The current classification no longer displays in the assign classification page search box,
  • The customer payment screen now correctly displays the customer’s credit terms when using a date format that is not YYYY-MM-DD,
  • Fixed drag-and-drop importers from now accepting CSV files on Windows due to Windows providing an incorrect MIME type,
  • Prevented refund reason from appearing multiple times for a single transaction,
  • Changing a price list from cost + % to last cost + % when the percentage amount is zero no longer results in an error appearing,
  • Prevented banner group promotions from reactivating deleted promotions when resent from the banner group source,
  • Prevented numbers with commas in them from being pasted into the currency text boxes,
  • [Shop MyLocal] Promotions that have concluded / started now correctly send product updates to prevent incorrect price from appearing on Shop MyLocal

New on Shopfront: January 2021

Welcome to what’s new on Shopfront for January 2021! We’ve got a whole heap of changes that have been released this month due to holding the feature releases from last month.

Note: Some of these features are gradually rolling out to stores, all stores are expected to have received them by the end of next week.

Major Features

Clone Promotions

If you want to create a similar promotion to an already existing promotion without having to enter all the details back in, we’ve now made it simple by adding the ability to clone a promotion. Simply tick a single promotion on the promotions page and then press the Clone Promotion button which appears at the bottom. This will create an exact copy of the promotion with the name having (Copy) appended to it.

The ability to clone promotional criteria within a promotion will be coming later this year.

Exclude Promotional Categories From Sending Promotions to Integrations

If you’re integrated with an eCommerce store, whether it be your own custom store, the LMG eCommerce stores or Shop MyLocal you can now prevent some promotions from sending to it by excluding a promotional category from sending to the API.

To enable or disable sending promotions to integrations, you’ll need to go to the promotion categories page (Menu > Setup > Promotion Categories), from here you can either create a new promotion and enable or disable the Send promotions within this category to integrations toggle or if you want to edit an existing category, select Edit next to the category and then enable / disable the Include in Integrations toggle.

Note, custom API integrations can access and apply promotions directly so disabling this setting may not affect promotions appearing on your site – if you have any questions, contact your web developer. For web developers, this toggle directly affects the results of ProductType > barcodes > promotionPrice and outletPromotionPrice in the GraphQL API.

Filtering by Additional Information

Shopfront has always had the ability to add additional information to products which has previously been used to add information to your integrated website or to display on shelf tickets, however it didn’t have much use within Shopfront itself, now you’re able to use your additional information to help your staff find product through a combination of filters.

Firstly, you’re going to need to setup some additional information, and then add it to some products (which can be done at the bottom of the product edit page).

Once you’ve setup your additional information there are two places you can filter by it, the products page and the sell screen through a sales key.

To filter on the products page, simply open the page (Menu > Stock > Products), press Show Filters and then type or select which value you’d like to filter by and the products will be automatically filtered.

To filter on the sell screen via a sales key, you’ll first need to add the Search by additional information sale key, then on the sell screen tap the new key, select the field and then enter a value.

Customer Merge

Introducing the much requested feature, customer merging, this is the first is a series of releases we’ll be doing this year to allow merging between multiple objects (merging products will come out later this year). Performing a customer merge allows you to combine multiple customer’s details, sales, payments and more into a single customer.

It’s a slightly complex feature, so we’d suggest checking out our help article to learn how to use it.

Minimum / Maximum Order Values

If you want to prevent ordering from a supplier if the order doesn’t meet a minimum value or exceeds a maximum value, you can now set these values directly on the supplier edit page.

This doesn’t affect order generation in any way, but it will prevent orders from being sent if they’re outside the range specified (you can leave the value blank to ignore it).

Limit Reorder Quantity

Alongside minimum and maximum order values, we’ve also added the ability to limit the reorder quantity when generating orders from sales or reorder points (or both). This doesn’t prevent orders from sending with higher quantities, but it prevents Shopfront from suggesting higher quantities.

Minor Features

  • Basket products have been reworked to be consistent throughout Shopfront, now inventory changes through stocktakes, invoices and transfers all affect the stock within the basket,
  • Deleting a family via the classifications page now removes the classification instantly on the local device instead of waiting for a sync,
  • Recovering a family from the trash now instantly restores the family on the local device instead of waiting for a sync,
  • Inventory reports can now be grouped by Outlet,
  • We’ve limited the sales history to the last 30 days by default to improve initial load time,
  • The gift card code used to pay for a sale is now displayed in the sales history,
  • Receipts can now display the base price per-line before discounts and savings are applied,
  • Prevented blur on focus loss from appearing when an integrated payment method is used to prevent the focus loss screen from appearing when Linkly is used,
  • Automatically received promotions from a banner group are now automatically deleted 14 days after the promotion ends,
  • Unallocated customer payments now appear in sales payment reports,
  • All routes are now lazy loaded to improve performance,
  • Adding a classification to the everyday tickets now requests whether all products should be added or only products in stock should be added,
  • You’ll now receive a notification when an email fails to send,
  • Order references can now be added as a column to the sales reports when they’re unconsolidated,
  • Large index buttons (Stock > More, Shelf Tickets, Miscellaneous Reports) can now be opened in new tabs,
  • Purchase and transfer reports can now be filtered by vendor connections,
  • Opened mail now appears in the mail log (presuming the receiver has images enabled),
  • We’ve extended the number of supported decimal places when receiving invoices to five,
  • [Shop MyLocal] Promotional prices are now sent on a per-outlet basis instead of the best promotional price for the Vendor,
  • [Developer] Reports from the Reporting API can now be cached, this has also been applied to numerous pages in the POS

Bug Fixes

  • Reloading an EFTPOS gift card product from a parked or cancelled sale now correctly goes through the EFTPOS refund flow,
  • Failed payment methods with open cash drawer no longer open the cash drawer when the sale is completed,
  • Applying a force sync from the server (e.g. when the settings are updated) and having an outstanding upload no longer causes a race condition resulting in the register closure being incorrect for the current register period,
  • Numerous display issues have been fixed in multiple screens such as the product edit screen and the sales history screen,
  • Tethered objects (like the calendar) no longer appear above the login screen,
  • Large PDFs (8mb+) now correctly email and download,
  • Shelf tickets added to the everyday tickets while in global mode now correctly save on the server,
  • Shelf tickets exported with an additional information field of type date no longer fail to export,
  • The touch numbers no longer appear over the discount reason box,
  • Dropdown lists correctly close when clicking between them in the reports,
  • Prevented promotions having mix criteria enabled and a criteria being set to more than,
  • Products bulk created from the master database now create an initial inventory log entry,
  • Invalid gTLD emails now appear as failed in the mail log instead of resulting in a failed upload,
  • Reloading a parked sale which contains a nested component (package > package > component) no longer results in the sell screen showing an error,
  • [Linkly] ANZ terminals no longer show transaction not allowed for cashout without a sale,
  • [Linkly] Performing a sale while a settlement is currently performing no longer locks the integration dialog box,
  • [Linkly] Sending a cancel request when an OK response is expected now correctly sends the cancel request,
  • [Tyro] Going through the cancel sale multiple times over multiple payment attempts no longer causes Shopfront to cancel the payment without cancelling the payment on the terminal,
  • [Linkly / Tyro] Integrated EFTPOS transactions now apply to the sale with the value returned from the terminal instead of the amount sent to the terminal,
  • [ALM] Sending products with a variable case quantity (10-packs, cubes, etc) and have eight digit codes now correctly send to the ALM portal with the corrected quantities,
  • [Developer] Sell screen options no longer flicker when swapping between tabs

New on Shopfront: December 2020

Welcome to what’s new on Shopfront for December 2020! The end of the year is finally here and the Christmas / New Years trading period is upon us. We’ve kept releases to a minimum this month and are prepping to ramp back up in January.

Minor Features

  • Returned invoices can now have fees and freight returned,
  • We’ve improved how packages display discounts to be clearer with how the product’s total is affected

Bug Fixes

  • Invoice number duplicate no longer appears when receiving stock without an order and the duplicate invoice has been cancelled,
  • Price changes within the same cent work as expected,
  • Receipts now correctly show the discount per product line when set to be visible instead of showing zero,
  • Product view sales history Outlet filter for multi-stores correctly filters instead of appending the sales at the bottom of the list,
  • Prevented duplicate inventory removal after retrieving a parked sale with a basket in it,
  • Entering a decimal place (literally just “.”) into the swap cash dialog no longer causes a failed upload,
  • Invalid reports can no longer be exported or printed,
  • Invoice numbers no longer reset after paying for an old parked sale,
  • Mixed required and optional promotions no longer cause an out of memory “Aw Snap” when cross promotion count is turned off,
  • Product components discount as expected instead of locking the current price,
  • Two criteria promotions with one criteria being an exact purchase and the second criteria being more than now correctly allow the more than criteria to apply,
  • Prevented promotion calculation running before promotions have been fully indexed on page load

Coming to Shopfront: 2021

After nearly a full year of all stores being on Version 2 of Shopfront, we’re here ready to show you the next plans for Shopfront.

This should be used as a guide only, some features may end up with different functionality, be developed at a different time or completely dropped.

More information on each feature will be released closer to the individual feature’s release date.

Dark Mode

Expected: Early 2021

Who doesn’t like a fresh coat of paint? Whether you are working a night-time, prefer higher-contrast colours, or just want a bit of a different look, dark mode will provide something for everyone.

Scales

Expected: Mid 2021

Weighing products will have never been so easy, whilst Shopfront has had very basic support for scales in the past, we’re now officially adding support for a range of DataLogic scales connected via COM port.

Integration Marketplace

Expected: Mid 2021

We’re opening our integrations page to third-party developers so you’re able to easily connect with the applications you use the most to improve your efficiency. This will bring with it a new design for the integrations page, improved ability to see what data each integration has permission to use and an approval process to ensure integrations listed on the marketplace are of the highest quality.

Security Centre

Expected: Mid 2021

The new security centre ensures your store is following best security practices and finding potential issues. It also comes with a whole new level of user tracking and accountability. The security centre will be open to several integrations to add additional functionality such as tracking potential card fraud through your eCommerce store.

eCommerce Store

Expected: Early 2021

You’ve asked and we’ve listened, we’re building an eCommerce platform due to have a beta release in early 2021. Coming with a range of features on release including multiple price handling, supporting multiple inventory locations and a deep integration with the POS system, it will be a fast, secure and easy to use platform that will take only minutes to get started with.

Hoping for a feature that’s not listed? Don’t stress, these are only a few of the features coming next year and we’ll have many more announcements to make throughout the year!

New on Shopfront: November 2020

Welcome to what’s new on Shopfront for November 2020! We’ve been busy squashing bugs and working on a number of new features due to come out next year (we’ll have another blog post about that out shortly).

With the Christmas period coming up now’s a great time to use all of the features that Shopfront has to offer including:

Minor Features

  • Outlets can be renamed from the Registers & Outlets page,
  • The associate product dialog now supports searching via barcode,

Bug Fixes

  • Exporting inventory at date to CSV no longer requires you to run the report first,
  • External stocktaker import now shows the correctly calculated cost when the cost is not included in the imported file,
  • The media centre now correctly overlays the product edit page when creating or editing a product from the order edit page,
  • The login screen can now change receipt templates as expected,
  • Fixed a bug which cleared a users password preventing them from logging in after editing the user,
  • Rounding on customer payments rounds the correct way in customer statements,
  • Assigning a lot (7,000+) of products to a classification no longer times out,
  • Copying a product from the master database no longer appears with a syntax error in the page wizard for certain additional information setups,
  • GST is now correctly displayed on the order edit page when receiving an invoice as WET excluded (it was always calculating correctly, just displaying incorrectly),
  • Saving an order when using fees as a percentage and the invoice is set as tax excluded correctly reloads with correct tax,
  • Large sales (1,000+ quantity) with cross promotion count turned off and multiple promotion options no longer take a long time to calculate,
  • Adding a product to an order on the order page when the order has public or internal notes correctly scrolls the product into view,
  • Prevented multiple large (120mb+) exported reports from taking up all of our server’s resources during generation resulting in 504 errors :'(,
  • [Linkly / PC-EFTPOS] Reset shift totals button now correctly resets the shift totals instead of settling the terminal,
  • [MYOB] We’ve extended the timeout to wait for MYOB’s response to three minutes due to some requests taking that long,
  • [MYOB] The initial Shopfront contact for sales now gets created as expected,
  • [Shop MyLocal] Revoking the integration correctly removes the payment methods and products

New on Shopfront: October 2020

Welcome to what’s new on Shopfront for October 2020! We’ve got a short list of features and fixes this month because we’re full steam ahead on a secret project that we’ll have more details to release about during November.

Note, some of these changes are gradually rolling out. All stores will receive them by the end of next week.

Minor Features

  • When something has been restored from the trash we now keep the screen at the same position instead of scrolling back to the top,
  • A loading screen now appears while the favourite reports are first rendering,
  • Exporting CSV and PDF versions of the Inventory at Date report no longer wait on the server to generate them and instead you’ll receive a notification,
  • Improved speed of inventory log report for small date periods

Bug Fixes

  • Per product discounts now appear correctly on receipts in complex promotion and discount combinations,
  • Docket printing by tag (kitchen printing) correctly prints when the transaction doesn’t contain any tag,
  • Failed payments no longer prevent a parked sale from being cancelled,
  • Prevented parked sales from duplicating after they’re initially parked and then edited (by either adding a customer or adding more products),
  • Performing sales offline and then force syncing the register no longer causes incorrect takings for the day,
  • Price changes in the future now appear in the revision history when the price activates, not when the price was changed,
  • Prevented advanced report from crashing due to eager optimisations,
  • Completing a sale which had been parked on a different register and then reparked on the current register no longer fails to upload,
  • Automatic banner group promotions that have been made inactive via the promotion index page no longer get automatically made active again after being updated by the banner group,
  • Public notes no longer lose line breaks when emailing orders,
  • Filtering the sales history by a gift card which has never existed now returns no sales instead of all sales,
  • Promotions for a customer group now apply to the customer group instantly instead of after a sync,
  • Additional information boolean toggles which default to true now correctly display as enabled,
  • [Developer] Embedded API no longer times out when you’re not listening for an event (forcing the user to wait)