Ask a cashier at the end of a shift to count the drawer, and show them what it should hold, and you will get a number that matches. Ask for the count first, and you learn what is actually there.
That is a blind close, and it is how shifts work in Retail.
The shift is the unit
Every sale belongs to a shift: one cashier, one register, opened with a float. The database allows one open shift per register and one per cashier. Selling needs an open shift, and all sales, returns and voids for it lock that one shift row, so they run one at a time and totals cannot race.
Expected cash is a formula:
float + cash sales − cash refunds + paid-ins − paid-outs − drops
Paid-ins, paid-outs and drops are recorded as movements and cannot be edited afterwards.
Closing
The cashier enters what is in the drawer without seeing the expected figure. On close, the system stores expected, counted and the difference, and shows them on the Z-report. A supervisor with approve rights can see the expected figure while the shift is open and can close another person's shift.
An X-report reads the same totals mid-shift without closing, which is useful before a drop.
The sale
The terminal never sends a price. It sends item ids, quantities, discount percentages and the amounts handed over. The server prices each line from the product's retail settings, extracts tax from the tax-inclusive shelf price, issues the stock from the store's warehouse at moving-average cost, and writes the sale and its tenders in one transaction.
Tax is extracted per line and the total is the sum of rounded lines, so receipts add up. A 131.00 basket at 15 percent includes 17.09 of tax, not 17.09 plus something on the total.
Cash takes whatever the cards and other tenders have not covered and returns change. Card and other tenders are applied exactly.
Returns and voids
A return names the original receipt, needs approval, and needs an open shift at the same store. The refund is proportional per line, with the last unit taking the exact remainder, so repeated partial returns add up to the original to the cent. Stock returns at the cost it left at, and a cash refund cannot exceed what is in the drawer.
A void is only for a sale in the cashier's own open shift, and never after a return. It restores stock and removes the sale from shift totals. Anything older is handled by a return.
A discount above the store's limit needs approval. Cashiers can sell and open a shift. Store managers can do everything in the module.
What the receipt is
The receipt says "Sales receipt". It is not a ZATCA simplified tax invoice and is not reported to any tax authority. A Saudi VAT-registered shop that must issue simplified invoices per sale cannot use the point of sale for that, and the Overview page repeats the limit.
Also not included: offline selling, hardware drivers for printers, drawers, card terminals and scales, loyalty, promotions and product variants.
Where the numbers go
Takings, margin and best sellers come from the sale lines, which freeze price, tax and unit cost. With Accounting on, sales, returns and voids post tenders against sales, VAT and cost of goods, and a void reverses its entry. Over-or-short and cash movements are reported on the Z-report but not posted, so your bookkeeper still records those.