End-to-end workflows

How work moves through Point of Sale from start to finish, who does each step and what the system does in response.

On this page (8)

Trading day: set-up, open, sell, close, post to Finance

Who: Admin (pos.configure), Cashier A (pos.sell, session open/close), Manager (pos.variance.approve)

#What the person doesWhat the system does
1Admin: POST /pos/setup, then create register POS01 with a warehouse; check profile RETAIL7 tenders, 14 reason codes, profile RETAIL; POS01 listed, state closed
2Cashier A: Launch POS > Open session with float 500.00 (count 1 x 500)Session S-n open, register open, opening-float journal posted
3Sell Milk x 2, Bread x 1, Chocolate x 1 for cash 50.00Total 30.24; net 28.80, VAT 1.44; change 19.76; receipt POS01-<date>-000001
4Sell Rice x 2 with a 4.00 discount by cardTotal 36.00 (net 34.29, VAT 1.71); card tender; drawer unchanged
5Cash in 100.00, cash out 50.00, safe drop 100.00Drawer expected 500.00 + 30.24 + 100.00 - 50.00 - 100.00 = 480.24
6Close with a blind count of 478.00 (variance -2.24)Within the 5.00 tolerance: closed, no reason needed, expected figure was never shown
7Manager: Finance journal of the sessionOne balanced journal: debit cash 30.24 and card clearing 36.00 (66.24); credit revenue 63.09 (28.80 + 34.29) and output VAT 3.15 (1.44 + 1.71); posted once; cash in / out / drop have their own transfer journals

Cash, card and split payments with VAT

Who: Cashier A

#What the person doesWhat the system does
1Basket of 63.00 (net 60.00, VAT 3.00): pay Card for the full balanceOne CARD tender 63.00; no change; expected cash unchanged
2Same basket: pay cash 40.00 then Card (balance 23.00)Two tenders; expected cash +40.00; both tenders on the receipt
3Basket 30.24: pay cash 50.00Change 19.76; paid 50.00; expected cash +30.24
4Set cash rounding 0.05 and sell the 30.24 basketRounding +0.01; total 30.25; VAT unchanged 1.44
5Try (API) card 40.00 for 30.24, and cash 20.00 for 30.25'The overpayment has no cash tender that can give change.' and 'The bill is 30.25 and the payments come to 20.00.'

Return and void

Who: Cashier A (pos.sell, pos.return), Manager (pos.void)

#What the person doesWhat the system does
1Sell Milk x 3 (31.50) for cashBill recorded
2F8 return: find the receipt; return 1 MilkReturn -10.50 (net 10.00, VAT 0.50); cash -10.50; stock +1 at original cost
3Return 2 more, then 1 moreThird refused: 'Return quantity exceeds what remains on the original sale.'
4Sell Bread x 1 (5.25) and void it with manager approval and reason 'Scanned twice' (API)Bill voided, kept for audit, stock and expected cash reversed
5Try void again, void without reason, void a coupon bill'This bill is already void.'; 'A void needs a reason.'; 'Coupon, loyalty and stored-value sales must be reversed with an original-sale return, not a void.'
6Open Voids and Returns lists and Exception transactionsVoid and return appear; sale.voided is in the exception view

Offline trading day and sync

Who: Cashier A, Supervisor (pos.sync.manage)

#What the person doesWhat the system does
1Open a session online; turn the network offHeader OFFLINE; products still sell
2Sell 3 cash bills, hold one bill, record cash in 20.00Receipts 'Queued - will sync'; numbers POS01-<date>-000001..3 made on the till; Pending 4
3Try a gift-card payment and a couponGift-card button hidden; 'Coupons require an online check'
4Reconnect and wait 20 seconds'Synced 4'; bills flagged Offline; stock and Finance posted once
5Replay the same upload (retry after a cut line)All answered 'duplicate'; no second bill or journal
6Supervisor: Device monitor, Pending transactions, Offline auditPending 0; offline sales count 3; offline bills listed
7Set offline max amount 100.00 and sell 120.00 offlineTill refuses 'This sale exceeds the approved offline amount. Reconnect first.'

Large variance close with second-person approval

Who: Cashier A (counts), Manager B (pos.variance.approve)

#What the person doesWhat the system does
1Cashier A: sell cash totalling 1,000.00; close counting 940.00 (expected 1,000.00 + float)Variance -60.00 above the 50.00 threshold; a reason is required
2Close with reason 'Short change'State approval_pending; register close_pending_approval; no Finance posting yet
3Cashier A tries to approve own close'A close is approved by somebody other than the person who counted it.'
4Manager B refuses the variance with reason 'Recount'Session variance_review; register closing
5Cashier A recounts 995.00 and closes againVariance -5.00 within tolerance: closed (or waits again if above the threshold)
6Manager B approves (for the first variant)Session closed and posted to Finance once; audit session.close_approved

Gift card and loyalty life cycle

Who: Admin (pos.configure), Cashier A

#What the person doesWhat the system does
1Admin: create loyalty programme STD (1 pt/AED, 0.01 AED/pt, minimum 100)Programme active
2Cashier: sell 105.00 to a named customerCustomer earns 105 points
3Admin: issue gift card 100.00; copy the tokenMasked code in the list, token shown once, liability journal posted
4Customer buys 80.00 (online): F10 redeem 100 points, pay the rest with the gift cardPoints discount 1.00, total 79.00, gift card balance 21.00; points 105 - 100 + 79 earned = 84; a second spend above the balance is refused
5Return half the billPoints reversed/restored in proportion; gift card refunded to the original instrument
6Admin: run loyalty expiry twiceSecond run expires 0

Secure a till and prove it cannot be forged

Who: Supervisor (pos.sync.manage), Cashier A

#What the person doesWhat the system does
1Supervisor: Workspace > Secure this device on the test tabletDevice enrolled; register now needs signed items
2Cashier sells 3 bills offline and syncsItems signed sequence 1-3; accepted; device last_sequence 3
3Resend sequence 2 with a different amountQuarantined with a conflict id; original sale unchanged
4Open a session from a different, unsigned browser'This register requires an enrolled signed device.'
5Supervisor revokes the deviceState revoked; new uploads refused; old bills and conflicts stay
6Enrol a replacement deviceRegister works again only on the new device

Launch a promotion and a coupon, then switch them off

Who: Admin (pos.configure and company admin), Cashier A

#What the person doesWhat the system does
1Admin: create promotion MILK3 10 % on Milk, min quantity 3; coupon WELCOME10 10 %, minimum basket 50Both listed Active
2Cashier sells Milk x 3Promotion 3.15; total 28.35
3Cashier sells a 120.00 basket with coupon WELCOME10Discount 12.00; payable 108.00; coupon usage 1
4Use the coupon again with a one-use limit'Coupon has reached its redemption limit.'
5Admin: Applications > Point of Sale > Features: switch off Promotions and couponsMenus Promotions, Coupons, POS price rules disappear; edits refused; lists readable