Start with one real transaction
For a retailer, select a product with variants, a discount and a return. For a restaurant, include modifiers, a table move and a split bill. Ask the vendor to run the sequence on the intended hardware. Check what the customer sees and what the cashier must do when something goes wrong. A fast checkout with perfect data is only the starting point.
Agree when stock and money change
An open bill, a paid sale and a fulfilled order may represent different states. Decide which step reserves or deducts stock. Define what happens to discounts, taxes, rewards and payment fees when a transaction is corrected. Your finance team should be able to trace the original sale and its later changes without guessing from the final total.
| Test | What to look for |
|---|---|
| Return after settlement | Clear refund state and stock disposition. |
| Cashier voids an item | Reason and permission are recorded. |
| Payment connection times out | No false paid status or duplicate charge attempt. |
| Day-end close | Sales, refunds, cash and gateway records can reconcile. |
Check branch and staff boundaries
A cashier, supervisor and head-office user should not have identical access. Test discounts, refunds, exports and cost visibility with each role. Ask how account access is removed when staff leave. For multiple branches, confirm how shared products, local pricing and transfers are maintained.
Include the complete operating setup
Compare devices, printers, connectivity, provider charges, support hours and data exports. Test advertised offline behaviour with the network disconnected and during reconnection. If a custom commerce or ERP connection is needed, confirm the API and ownership of failed updates. Select from demonstrated workflow fit, not a feature count alone.

