Welcome to what’s new on Shopfront for January 2023 (and December 2022). We’ve got quite a number of changes that were held back in the last couple of months until the festive season was finished and they’re now available!
Note: Some of these changes are gradually rolling out to stores, some of the changes may not be received in your store for a couple of weeks
Major Features
New Account & Billing UI
As the new year comes in, so does a new UI, the Account & Billing section has had a redesign to be easier and clearer to use.
The new UI allows for the update of payment details separate to the update of plans, makes it easier to define the registers & outlets you’re using and provides additional information on features available on each plan (and why you might not be able to downgrade).
We’ve also added the ability for you to put your Shopfront account “on ice” for when you don’t need active access to Shopfront, but you do need your data to remain on Shopfront’s servers and not be deleted.
Fulfilment API
We’ve also released our brand new Fulfilment API. For developers this provides an easy way for their integrations to inject orders into Shopfront for picking, packing and collecting. For users it provides consistency and an easy flow no matter where the orders come from.
If you’re using an integration that has implemented the Fulfilment API, you’ll now see a new tab at the bottom of the sell screen called Fulfilment, by when you receive an order you’ll get a notification and all existing orders can be found there, simply press the order you want and then follow the prompts to process the order.
If you’re a developer and want to know how to start using this, check out our how-to guide in the developer documentation.
Minor Features
- Integration view model now has a cross in the top right to close the dialog,
- Minor styling changes to location selector to be cleaner and improve usability,
- Returns now appear in the purchase history on the product view page,
- Surcharging schedules now default to using your default tax rate,
- Surcharging schedules no longer require a page refresh to activate / deactivate the surcharge if it has been modified for the current time,
- We now inform you when your computer’s time is significantly different to our server’s current time,
- If your computer has the incorrect time it can lead to your register closure not balancing
- Additional information safe names can no longer start with a number,
- Cleaned up the express stocktake page when scanning products with a case quantity of one,
- Improved usability of location selector,
- Associating a product on an external stocktake now shows the status of products when searching,
- Improved the visibility of order references in the sales history,
- Prevented changing the type of additional information fields after they have been declared to prevent data loss,
- Added setting to specify how the customer display should be opened (using a kiosk window – default, or using a popup),
- Adjusted routing to allow stores to find the UUID of the outlet currently being edited through the Registers & Outlets page,
- Additional information can now be viewed from the product details panel on the sell screen,
- A warning now appears when you attempt to delete a product which is on a promotion,
- Selecting keys in the product history revision report no longer closes the select options allowing you to select multiple keys easily,
- Pressing the product’s image on the product details in the sell screen displays a larger image,
- Improved usability for the touch numbers when zooming in or using high DPI displays,
- Product revision history report now ignores temporary products,
- If a line on an external stocktake matches multiple products you’re now able to see the all of the products it matches to,
- Added ability to create products (instead of just associate them) when scanning a not found barcode on the order edit page,
- Products now request price when they have no price points set instead of defaulting to $0,
- [IBA] Added support for Super Store promotions,
- [ILG] Cleaned up settings terminology,
- [Hump Club] The customer’s member / mobile number is now displayed while active for the sale,
- [Top Drops] Prevented the integration from losing access when not used for more than two weeks,
- [Xero] Supplier invoices now have the option to be sent to Xero as either Authorized (default) or Draft,
- [Developer] New GraphQL route to view sold & redeemed gift card movements over a period,
- [Developer] Minor styling changes to improve usability
Bug Fixes
- Sync no longer ignores upload queue if the queue takes longer than 10 seconds to process, leading to incorrect register closures for huge amount of offline data uploads,
- Prevented a force sync from being required when the first sync in the sync workers lifecycle fails,
- Viewing statements in dark mode no longer display black boxes in a number of locations,
- Selecting a quick menu option when a blocker (are you sure you wish to leave message) is in place no longer prevents you from leaving the page,
- Fixed touch numbers not working seemingly randomly due to invalid random ID on display,
- Fixed virtual list scrolling in a number of locations,
- Adding a customer to the sale while an integration frame is open no longer crashes the sell screen UI,
- Product wizard no longer caches prices from previous creations leading to incorrect prices being created for a product when multiple products are created in a row (may require your product page rules to be reset),
- Adding the sale table to the customer display idle screen no longer crashes the customer display,
- Printing A4 reports no longer crashes the page on Canary stores,
- Statements that contain both current and overdue amount without using statement periods show a line between the current and the overdue invoices,
- Changing the case quantity from one to another amount and only having a single Outlet no longer results in the cost field appearing with the incorrect amount,
- Pressing the close customer display button now correctly closes the customer display,
- Removed the grouping checkbox when there was no group selected in everyday tickets,
- Forced the user to wait until all of the tickets have loaded when selecting a group in everyday tickets,
- Prevented an error when running sales reports if case text setting is set to a number,
- Refreshing the advanced product import no longer loses styling,
- Cancelling a sale / removing the last product no longer shows the last previously successful sale on the customer display,
- Sales keys can now be saved when a key exists that was created by a revoked integration,
- Changing the sale name of an additional information field no longer removes all of the data stored for that field,
- Placeholders on the receipt template edit page are now visible for the Total Items and Normal Price fields,
- Promotions which contain a deleted product no longer crash,
- Reduced the number of page renders across the POS system,
- Assigning tags to products through the assignment page correctly assigns the tag instead of only updating the local database,
- Performing a sale while offline with a customer created while offline no longer results in a failed upload,
- Clicking on the month of the date picker no longer automatically closes the calendar and instead displays the month picker,
- Searching for actions in the sale key edit page have the correct height when the options are over multiple lines,
- Receipts that contain deleted users no longer show the user’s name as “Shopfront” but instead as the user’s name,
- Improved parsing of tags in the product revision history,
- Prevented an API user from being the last administrator user, at least one user with credentials is required to be an administrator (no role),
- When duplicate barcodes are found when scanning a product in the sell screen, you’re now presented with a dialog to select which one is correct instead presuming a single is correct,
- Prevented an error when viewing an invoice in the Accounts & Billing section which was no generated from Shopfront,
- Public notes now appear in the email body by default when sending an order when the format is not inline,
- [ALM] Order confirmation log is no longer missing gridlines,
- [ALM] Credit notes no longer attempt to send to ALM via i-orders,
- [ALM] Wait for ALM message is no longer displayed if you’ve sent an order and don’t have sending via i-orders enabled,
- [ILG] Errors after sending an order no longer show all previous errors in the log,
- [ILG] Invalid supplier codes (less than 7 digits) now show the correct error message when sending orders,
- [Developer] Fixed numerous broken hyperlinks in documentation,
- [Developer] Adding columns in the middle of a table through the embedded API no longer results in a rendering error,
- [Developer] Improved TypeScript typings of Embedded API bridge,
- [Developer] Pressing the back button when going from the home page to the documentation page for the developer documentation no longer prevents you from using the back button in the browser