Quarantine location enhancements, and supplier returns you can cancel

Quarantined stock now leaves your available quantity everywhere, supplier returns carry a status and can be cancelled, and purchase orders and bills can carry charges.

Quarantine locations are now honoured everywhere. Stock sitting in a quarantine location stays on hand but it no longer forms part of your available quantity, and it can't be assigned, replenished, suggested for put-away or picked. Quarantining a location that already holds assigned stock releases that stock, so orders waiting on it are filled from elsewhere instead. The quarantined quantity is now reported consistently wherever inventory is returned, rather than the previous one place only.

Supplier returns now carry a status of their own... from draft, through on hold and allocated, to partially and fully fulfilled, which can be filtered and sorted like any other document. They can also be cancelled outright with a reason, which releases whatever is still allocated or assigned and cancels any pack jobs left empty. Additionally until a return is approved, its lines can now be increased as well as added, reduced and removed.

Purchase orders and bills now have better support for lines that are priced but represent no goods. e.g. Shipping, handling and other charges. They stay billable, but there is nothing to receive against them, and receiving no longer quietly accepts them as though they were stock. A purchase order line can also be identified by name alone, for one-off charges with no product behind them.

  • Two new receiving workflows, Receive PO to single Location and Receive TR to single Location, ask for the destination once up front instead of once per product.
  • A bill can be raised for goods that have already been received, settling against those receipts instead of double-counting them.
  • Products can record preferred suppliers.
  • Serial number scans can be searched by product, and each scan now resolves back to the line it belongs to.
  • Search can describe itself: ask what a type can be filtered, sorted and counted by, and get counts per value.. it's enough to build a filter panel without maintaining a field list by hand.
  • Default routing now only considers locations that can ship. An order whose stock sits only in a shop front falls through to your configured fallback, as intended; locations you have named explicitly are unaffected.
  • Collections can now live inside other collections, with each one able to tell you its parent, the collection at the top of its branch, the trail of ancestors above it, its direct children, and how many products sit directly on it.
  • Early support for price books (agreed prices for buying or selling), with minimum order quantities, quantity price breaks and supplier assignments, plus search and a feed. Nothing prices from them yet; they are not applied to purchasing or sales.
  • Reconciliation lines have their own feed.
  • Received items now show thier received date.
  • Listing the products in a collection is much faster.
  • Purchase orders, bills and transfers now check that the location named on them is a top-level location.
  • Removing a product from a collection now actually removes it. Adding a product that is already in a collection, or removing one that isn't, succeeds and changes nothing rather than failing.
  • Orders record when they were completed again, and existing orders have been backfilled from their fulfilments.
  • Allocations on supplier returns can now be split.
  • A location can now be moved under a new parent whose identifier happens to contain its own.
  • Bills can now be filtered by suppliers created before the platform migration.
  • Shipping labels with misreported formats, now print correctly on label printers, rather than being discarded silently and reported as printed.
  • A line on a partially fulfilled transfer can now be cancelled.
  • Order feed totals now report the true amount for currencies with cents.
  • The inventory feed now reports accurate numbers for accounts on the older inventory model, matching every other view.
  • Stock freed up by moving an allocation to another location is now offered back to other orders waiting on it.
  • A failure to assign inventory while changing an allocation's location is now reported rather than passing silently as success.
  • Splitting out the unassigned part of an allocation now leaves it queued to be filled.
  • Packing jobs created or cancelled while stock is being assigned now raise their events, so order and supplier return statuses stay current.