Stock that reconciles
On-hand is the sum of a movement ledger and nothing else. Corrections are opposing entries, so a mistake leaves a history rather than replacing one.
OrderFlow runs the counter, the store room and the packing bench on one set of numbers. Stock is never a figure somebody typed in — it is summed from a ledger that cannot be edited, so what the screen says is what is on the shelf.
Sign in to your instanceThe core every client gets. Anything beyond it ships as a module.
On-hand is the sum of a movement ledger and nothing else. Corrections are opposing entries, so a mistake leaves a history rather than replacing one.
Draft to dispatched runs through a single state machine that checks the transition, the permission and the stock together, or refuses the lot.
Look a customer up by phone at the counter, or take a walk-in sale without inventing a record nobody wants to search later.
Who did what, and when, written to a table the application account is not granted permission to change. Not policy — privileges.
A picker sees the pick list, not the margins. Every screen names the permission it needs and the router refuses before the page is built.
Apparel grids, courier integrations, finance packs: each one registers itself. A client who bought fewer gets a cleaner screen, not a tour of what they did not pay for.