Release Notes
Q3 2026
UPSELLS
- Upsells now visible within the POS and CMS (Would you like to know more?)
MODULAR PAGES
- Addition of a scheduled publish date to all modular pages (Would you like to know more?)
RETRIEVE A QUOTE
- All payment methods now available with retrieve a quote
PRODUCT LOOKUP
- Product Type separated out as its own filter (Would you like to know more?)
- Export functionality expanded and moved here (Would you like to know more?)
POS
- Warning in the POS when attempting to sell Products that are not set to 'allowbackorder' and do not have enough stock (Would you like to know more?)
- Unavailable Products in the POS (e.g. not 'allowbackorder' and having no stock) are unavailable, and can only be added via barcode scan (Would you like to know more?)
- Updates to processing returns as cash to prevent refunding more than requiredAddition of function to search for Sales
- Orders by SKU code and Product Name
- Product search now supports Manufacturer's Product Name as a searchable field
LEAD TIME CRITERIA
- Addition of a criteria for lead time 'from' and 'to' for Dynamic Categories (Would you like to know more?)
- Addition of a criteria for lead time 'from' and 'to' to Overlay Rules (Would you like to know more?)
GOODS IN
- Addition of MPN to the Goods In screen
- Addition of Supplier Reference to the Goods In screen
- Support added for printing Product Labels with or without prices (Would you like to know more?)
PURCHASE ORDERS
- Addition of a filter for 'dropship' under the Stores filter on the summary screen (Would you like to know more?)
- Addition of a status for 'partially received' Purchase Orders (Would you like to know more?)
- When all lines of a Purchase Order are cancelled, the Purchase Order status will change to Cancelled
- Validation added to prevent blank notes being created
- Store Name is logged when changing Invoice and Receiving Store
- Support added for printing Product Labels with or without prices (Would you like to know more?)
- Purchase Order email (sent to Suppliers) updated to link to a screen with a button for acknowledgement, rather than just using a link to acknowledge them (fixes for spam filters)
- Ability to store Cost Prices on a Purchase Order against Products permanently (Would you like to know more?)
SALES ORDERS
- Addition of function to search for Sales Orders by SKU code and Product Name
- Addition of filter by Supplier (Would you like to know more?)
- New column added to Sales Order export for Nominal Code
- New column added to the Sales Order export for Amount Paid
ECOMMERCE
- Elasticsearch search includes collection names for eCommerce search results
- Personalised products (e.g. 'enter name') now compatible with swatch wizard
- When using the swatch panel function, the main product image will now update to reflect the change
- Disabled Brands will not be output as meta data for Products
- Fixes and updates to automated meta data
- Updates and improvements to H Tags on Product Detail Pages
- Improvements made to Quick Order
- Updates to image layout for Compare feature
WEBSITE
- Minor Checkout UX updates
- UX of main menu images improved
- PLP UX improvements for Wishlist function
LABEL PRINTING
- Updates to prevent Products loading until filters are applied
- Speed updates applied to queries
- Made to Order Products and Products without stock will be displayed when searching, but only if Store is set to all; this is to allow printing of labels and tickets for Products prior to stock being entered into the system (Would you like to know more?)
PRODUCTS
- Modifications to prevent users manually adding Variants with option values that match an existing Variant on that Product
- Nominal Code moved from Product level to Variant level
USRS
- Amends so that USR pricing is used in CMS and POS when a live USR is selected (Would you like to know more?)
- Additional support for stock allocation of USRs when added from the POS and CMS
PROMOTIONS
- Support for promotions to be targeted per channel, e.g. for web, POS, or both (Would you like to know more?)
REPORTS
To access new reports, please ensure that you revisit your User permissions.
- New report for Wishlisted Items (Would you like to know more?)
- New report for Sold Items (Would you like to know more?)
- Price History report now shows price history for USRs
- Addition of new columns on the Transaction Report for Store and Till (Would you like to know more?)
HARDWARE
- Allow 16 character IDs for card readers
- Users are restricted to selecting a single Receipt Printer per device
- Users are restricted to selecting a single Label Printer per device
INTEGRATIONS
SHIPTHEORY
- Shiptheory integration added for shipments and returns (Would you like to know more?)
XERO
- Xero SDK updated to version 15 for PHP 8.5 support
- Order edits are now re-sent to Xero (orders will have been sent, not been sent or been locked, depending on their status)
- Prevent addition of items to orders that have been locked by the Xero integration, even when using a barcode scanner
OTHER
- Config added to unreserve acknowledged stock. This controls whether stock is unreserved when a third party reserves stock (Would you like to know more?)
- Elavon EPG added as a Core payment gateway
- Improved support for Google Pay via PayPal
- Opayo Cloud updated to use Core Env variables
- Various gateways migrated to interfaced payment gateways
- V12 Finance integration refactored (Would you like to know more?)
- Support added for unicode figures in Instagram feed (Would you like to know more?)
- Various class namespaces refactored
GENERAL
- Rename packing screen "print labels" bulk buttons to "print shipping labels" to match orders list
- Ability to remove attribute image added
- Product search now supports Manufacturer's Product Name as a searchable field in the CMS
- New config added for Product FAQs (in addition to FAQs)
- Account payment amounts logged in Admin Activity Log
- Current Order Book on the Dashboard updated to exclude expired Quotes and Completed Sales Orders with a balance
- Addition of ability to view sales linked to a gift voucher (Would you like to know more?)
- ssh2 extension check added
- Product block is hidden behind the eCommerce config
- SVG added for 'option not available' icon
- robots.txt user agent groups updated
- Mobile menu close behaviour tweaked
- Fixes for 'display variants as list'
- Various tweaks to import data script to copy data from tasks
- Validation added to prevent manually inserted USRs with the same combination of options
- 'Store' filter hidden on multiple screens where only one Store is set up (this is retained where the filter is linked to function/reporting for web, etc.)
- If a barcode is scanned and it contains an invalid character, an 'invalid bar code' error is shown in the POS
- Add an "extradetails" field to order payments for storing extra data
- Remove VAT from Sales Order Line function hidden if disabled for a client (site settings, product import, product export, product edit)
- iPad screen size compatibility updates
- Updates for AMP compatibility and image readability
- Mailing List unsubscribe email updated to link to a screen with a button for unsubscribe, rather than just using a link (fixes for spam filters)
- On the Picking List, a tick is output in the picked box if a line has already been packed
- Addition of ability to filter the Scheduler by Sales Store
- Site setting toggle added to enforce mutual exclusivity between Click & Collect and finance
- Validation added to prevent blank notes being created on Stock Transfers
- Store Name must now be filled out and unique on Store creation
- Addition of a Brand filter to the Swatch management screen
- User's full name will be output on all tasks, not just their User (sales orders, RMAs, supplier returns, CRM, stock transfers, purchase orders)
REMOVED
- Export functionality on Import/Export screen; changed to be import only
- Retired Mailchimp Goal Tracking code (mailchimp_goaltracking_uuid & mailchimp_goaltracking_dc)
- Old eBay integration
FIXES
- Improved support for Swan Retail collection locations
- PDP tweaks
- Sort by filter changes to prevent redirects
- Disabled qualifying items (promotions) no longer get recommended at checkout
- White screen prevented when signing up for newsletter
- Label printing tick boxes disabled on post
- PayPal updates made to allow for using PayPal as a primary gateway
- Slim error when printing labels when receiving a stock transfer via Goods In
- URL duplication in sitemap when a permanent 301 redirect is applied
- Print labels from packing screen broken by name change
- Fixes applied for checkout when default zone is not enabled for delivery, but others are
- Updates to was/now price calculation for made to order products and Customisations
- Fixes for not being able to print labels/tickets for Products without stock
- Fixed missing entries on the transactions export
- Fixes for opening drop down menu from within a category
- Fixes to prevent UX clashes of WhatsApp and Google reCAPTCHA
- Fixes for pop out basket when empty
- Error when changing quantities in the POS
- Prevent despatch of all lines (including returned/cancelled) when despatching from /orders.php
- Fixes to ensure copying a product wouldn't copy stock
- Fixes to prevent blank/omitted columns setting optionprice to 0 on CSV import
- Fixes to prevent popouts being dragged off screen
- Updates to Purchase Order audit log
- Fix for category import when using the default website field in the database
- Fixes to prevent unavailable products appearing as upsells at checkout
- Prevent non live variants showing in POS search drop down
- Improvements to image quality for Product blocks within groups blocks
- Blank screen when printing product labels via goods in/purchase order buttons to a label printer rather than A4
- UX improvements when processing a return
- Open Payment Network (Cardstream whitelabels) issues with .env configs not applying
- T&Cs showing HTML incorrectly
- Allocated orders show in "Awaiting collection" tab of the packing screen when they're un-packed and the "Require packing before collection" site setting is "yes"
- Fixes for combining variants on the Sell Through report
- Don't show empty customisations if there are non empty customisations as well
- Fixes to retrieving quotes
- Customer login redirect bug
- Fixes to sales order status changes (not being marked as overallocated)
- Support added for 'completing' a zero value sales order in the POS
Q2 2026
HELP FILE
+ Addition of an 'open a ticket' button within the help file
FAQS
+ Addition of Product specific FAQs
+ Schema Updates
+ Addition of assignment rules fo FAQs
WEBSITE (PDP CUSTOMISATION)
+ Variations to page setup added (bookstack.iconography.co.uk/books/product-detail-page/page/pdp-customisation)
+ Secondary Image Placement
+ Product description styled as first tab
+ Video as an image thumbnail
+ Tabs styled horizontally or in an accordion
+ Show/hide social share buttons
WEBSITE
+ Addition of option to view sub categories as pill buttons (eCommerce)
+ Updates to mobile menu UI on customer facing websites
+ Speed improvements to loading swatch previews via ajax
+ Fixes for long Brand names on mobile devices
+ Config added for 'columns' for use with Instragram image feed
+ Addition of support for invisibale reCAPTCHA
PAY ON ACCOUNT
+ Addition of Account Statemnts
+ Send/download Account Statements in bulk from Customers summary screen (bookstack.iconography.co.uk/books/customers/page/summary)
+ Send/download Account Statement from Customer screen (bookstack.iconography.co.uk/books/customers/page/managing-customer-information)
+ New email template added
DROPSHIP
+ Allocation drop down removed from dropshipped Sales Order Lines
+ Addition of a second carriage charge against Suppliers for dropship
+ Updates to show 'estimated delivery date' on dropship sales orders
+ On Dropship purchase orders, receiving store clearly labelled as 'dropship'
+ It is no longer possible to book a Lorry Delviery for a dropshipped sales order line
+ Fixes for Order line tracking text, which was duplicating when order line is allocated to a dropship PO
+ Fixes for when a Purchase Order is amended to be a dropship Purchase Order
+ Expected Goods In date on Drop SHip Purchase Orders will be used against the Sales Order Line as an expected delivery date
+ When processing a return marked for an exchange, a linked draft sales order will be created
+ Once a return is completed, a button will be visible to transfer the credit to the new sales order
SUPPLIER RETURN
+ When in status 'authorised', remove the button 'awaiting collection by supplier'; change so that the status will automatically change once the 'date of collection by supplier' has been entered, and update items has been clicked. Change the status once that date has been added to any line on the Supplier Return
+ Remove the Declined status
+ Add additional status to supplier returns for 'awaiting credit', as per the PO 'invoiced'.
+ Fixes to show correct linked PO
+ Supplier returns "awaiting collection" status now allow lines to be cancelled
STOCK TRANSFER
+ When transferred, a unit of stock will retain the date that it was originally added to the system
+ Improved support for printing Stock Transfers
+ Now shows destination location on completed transfers
+ On the Stock Transfer summary screen, show a value of stock which is currently in transit - this would exclude any units on a transfer that have already been received
SITE SETTING
+ New setting to show swatch previews on search results
+ Add a config to show/hide the Brand and Collections tab in the main menu
PURCHASE ORDERS
+ Log changes to estimated/booked delivery dates. Each time, it should log which line or if it was the whole order, and what it was changed to
+ PO PDF updated so that sequencing of Products matches that in the CMS
+ CSV Export of Purchase Order Lines
CASHING UP
+ Completing a Z Read will close out all open days
+ Completing a Z read will cash up a till either since the last z read, or for all payments since midnight, whichever was most recent
POS
+ Barcode Fixes
+ Touchscreen support for upsell/stock tabs in the POS
+ Validation added when adding a voucher in the POS
+ Add "Open cash drawer" button to end of day POS screen.
+ Fixes when purchasing Vouchers of a custom value
POSTAGE
+ Fixes to handle "Ba22 7AD" and "BA2 2JF" in Postage Zones
+ Improved UX when adding a Postage Type
+ Fixes to Country VAT calculation
PACKING
+ Show partially packed orders in the "awaiting despatch" tab of packing CMS section.
+ The packing screen "awaiting despatch" tab "despatch selected" bulk function will despatch the partial packed qty.
+ When the specific order packing screen is accessed from the "awaiting packing" tab, barcode scanning will pack lines.
+ When the specific order packing screen is accessed from the "awaiting despatch" or "awaiting collection" tabs, barcode scanning will be disabled
+ Allow partially allocated orders to be packed and to show in the packing section of this CMS screen
+ General improvements re. barcode scanning
PRODUCTS
+ Product Type is now locked on Product Creation (note that a Standard Product will be converted to Made to Order if Customisations are added via the Swatch menu or through a CSV import)
+ Prevent Made to Order Products being set to 'display variants as list'
+ Support added for multiple Customisation options without option values
+ Load swatch dropdown via AJAX (CMS)
INTEGRATIONS
WHATSAPP
+ Whatsapp message widget added
XERO
+ Config added to allow new invoices to be created as 'Draft' and automatically updated to 'Authorised' once all non-cancelled lines have been despatched
+ Default function is for all invoices to be created as 'Draft', and are not updated
GOOGLE STORE REVIEWS
+ Addition of a widget to show Google Store Reviews on the website
+ Addition of a callback to notify Merchant Center re. successful purchases to enable them to chase reviews
GENERAL
+ Updates to Novuna finance options
+ Support for Pinterest tracking added
+ Prevent order delivery & discount changes if an order has been acknowledged to avoid issues with Xero and other Integrations
+ Purchase order lines now send their products' nominal codes as the account code, if set against the Variant
+ Configs added to whitelist IPs for integrations
+ If a payment gateway cancels a Sales Order, it now cancels every line as well
+ Interlink renamed as DPD
+ Config to show Apple/Google Pay in the footer
+ Updates to Novuna to handle blank county fields
+ World Pay Access (payment gateway)
+ ClearAccept (payment gateway)
ENV VARIABLE
+ Existing integrations updated to support core site env variables
+ Apple Pay
+ Google Pay
+ Blink Payment
+ DNA Payments
+ V12 Finance
+ CardNet (Fiserv)
+ Tyl (Fiserv)
+ Cardstream (Open Payment Network)
+ Handepay (Open Payment Network)
+ Paydough (Open Payment Network)
+ Morphpay(Open Payment Network)
+ Take Payments (Open Payment Network)
+ UTP (Open Payment Network)
+ Stripe
+ Stripe Terminal
+ Opayo Retail
+ Staingard
+ StoreFeeder
+ Swan
+ Retail System
+ Linnworks API
+ Linnworks Direct
+ eBay
+ Xero
+ Instagram
GENERAL
+ Support added for alphanumeric barcodes (additional barcode field only)
+ Add "items visible (Mobile)" to image carousel block
+ Addition of ability to edit a task (including user, category and date)
+ Fix cross-selling rule matching when products have multiple categories assigned
+ Clicking from the dashboard 'Purchase Orders' block to the Purchase Orders screen now clears the filter for 'Supplier'
+ Touchscreen support added to main menu
+ Addition of search and scroll bar to all drop downs in CMS
+ Fixes added for import of MPN against Variant
+ Improved support for importing Product Images
+ Removed ability to set a negative cost price against a Product
+ Improved support for County selection when switching Countries (delivery/billing address)
+ Updates to search result sequencing
+ USR (Sub variant) labels added to Sales Orders, Picking Lists and Invoices
+ Support added for image overlays below product
+ Below Product' location for overlays updated to work with List View on PLPs
+ Addition of validation to popup fields (security improvements)
+ Updates for popup compatability with smaller screens
+ Separation of 'activation date' and 'special offer start date' into two separate fields on the Price Management screen
+ Ability to disconnect from an active card reader in device setup
+ Fixes to date range of fulfilment data on the Replenishment screen
+ When deleting a Variant, the deleted SKU Code is stored in admin activity log
+ Addition of tracking for enquiry forms on the Form summary screen showing enquiries in the last 30 days and enquiries in the 12 months.
+ Required Orders - add a filter for source, e.g. store vs web
+ Change label against Required Orders 'store' filter to 'sales store'"
+ Improved support for searching for an item when it wasn't initially in the location (stock take)
+ Improved UX when adding a Store (related to Country field)
+ Addition of an 'apply to all' button for discrepancy reason on stock take
+ Addition of a Unique Stock Record import/export (bookstack.iconography.co.uk/books/import-export/page/unique-stock-records-aka-usrs)
+ Events which are not live now have a clock icon to show that they are pending
+ Additional checks to prevent CMS logout include click and key press
+ Speed fixes applied within CMS to Low Stock report
+ Clearer messaging around maximum upload size (8MB as standard)
+ Auto generation of Variants no longer permitted if the Product has associated Customisations
+ Addition of a new filters for product ype, e.g. Standard, Made to Order, Bundle, Voucher, Booking to Product Lookup screen
+ Improvements to touchscreen menu support for windows/non-mobile devices
+ Free stock linked to a USR which is not marked as live will not alter lead times
+ Added ability to print labels from Goods In without stock record having to exist
+ Label printing is batched to speed up printing
+ Improved UX when adding Postage Types to a Lorry
+ Pagination added to Options