Point of Sale Module
This module is the checkout counter: one cash bill, settled on the spot by cash, card, e-wallet, voucher, points or contra, rung up by a cashier all day at speed, and balanced at the end of the shift. It is a different job from raising an invoice on terms, done by different people, with different failure modes — which is why the business-to-business document chain lives in its own Sales module. The two share a document engine, the same master data, and the single moment — FINAL — at which a bill becomes an accounting fact.
Applets in this module
Membership is an editorial judgement — the product has no module↔applet relationship in its data —
and it is written down in planning/specs/module-applet-membership.md.
| Applet | What it is for |
|---|---|
| POS General | The checkout counter. Creates a cash bill, settles it by cash, card, e-wallet, voucher, points or contra, and on FINAL takes the goods out of stock, posts the journal and the cashbook line, and queues the bill for e-Invoice. Also holds session open/close, float counts, the Z Report and settlement adjustment. |
| POS Customer Display | The second screen the shopper sees. It writes no document at all; it reads the till’s browser database and shows the basket. |
| Daily Cashier Reports | Read-only. The Z Report and Cashier Collection, for balancing a shift. |
One registry applet belongs to this module and has no page yet: Exchange Return Refund Policy.
The hand-off queue that pushes finalised documents to external systems — and carries the electronic-shelf-label sync history a branch uses — is Custom Processor, listed under Sales because it works on any FINAL sales document.
What reaches the ledger
One document. The cash bill’s server document type carries amount signum +1 and quantity signum
−1 on every line, so FINAL does all of this in one call: Dr the settlement methods’ cashbook GL
codes / Cr Sales and Output Tax; stock out at the line’s location (no cost-of-sales line — that
is a month-end journal); a
cashbook line per settlement; the e-Invoice queue entry; and, if the bill carries a member, the
point transaction. It posts through the SALES journal handler — the same one the Sales module’s
invoice uses.
| Document | Amount signum | Quantity signum | What FINAL posts |
|---|---|---|---|
| Cash bill (POS General) | +1 | −1 | Dr settlement cashbooks / Cr Sales, Output Tax; stock out. No COGS line — cost of goods sold is posted by month-end processing |
A cash bill that was wrong is voided the same day, which reverses everything FINAL did. Goods that come back later go through a Sales Return or a Sales Refund Note — documents of the Sales module, and the Z Report counts them.
Two things this module is often believed to do, and does not
It does not approve anything. There is no sign-off step on a cash bill. The only “approve” at
the till is the line-level sell-below-price grant: a cashier who tries to go under a floor
price raises a request, and a supervisor holding ALLOW_APPROVE_SELL_BELOW_PRICE releases that one
line. It routes nothing and signs off nothing else. Everything else that separates a cashier from a
supervisor is a client-side permission — see Best practices.
It does not check a credit limit — a cash bill has no credit. The one hard stop on a customer
at the till is the blacklist, which rejects the cash bill with ENTITY_BLACKLISTED.
What this module needs from others
| Module | What it supplies |
|---|---|
| Core | Customer Maintenance (the walk-in customer and any member’s record), Doc Item Maintenance (items and the adjustment items for rounding, group discount and member-point discount), Organization (company, branch and the branch’s default location), Pricebook, Tax Configuration, Cashbook and its settlement methods |
| Financial Accounting | The Chart of Account company defaults every posting resolves against — SALES, SALES_DISCOUNT, OUTPUT_TAX (and COGS for month-end cost-of-sales processing) |
| Inventory | Stock Balance, Stock Report, Non Stock and Trade In for counter trade-ins |
| Sales | Sales Return and Sales Refund Note for goods that come back after the day; Sales Report and Sales Commission, which count cash bills alongside invoices |
| Membership | Membership Admin — the member, the point currency and the rate |
| E-Invoice | The submission pipeline every FINAL cash bill is queued into |