Sales Module
This module is the chain of documents a business raises when it sells on terms: an inquiry, a priced quotation, a confirmed order, a delivery, the invoice, and the documents that correct an invoice afterwards. It shares its document engine, its item and customer master data, and the single moment — FINAL — at which a piece of paper becomes an accounting fact with the retail till, but the till is a different job done by different people, and it has its own module: Point of Sale.
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 rather than left to the
folder each page happens to sit in.
The sales document chain
| Applet | What it is for |
|---|---|
| Sales Inquiry | A customer’s request, before there is a price. |
| Sales Quotation | A priced offer. Posts nothing and reserves nothing. |
| Sales Order | A confirmed commitment. Posts nothing, but reduces available stock and can hold reservations. |
| Sales Proforma Invoice | A pre-billing document. |
| Sales Invoice | The bill. On FINAL: Dr Debtor / Cr Sales and Output Tax, stock out, cost of sales posted, e-Invoice queued. |
| Delivery Order | The fulfilment document a sales order or invoice is knocked off against. |
| Sales Return | Goods coming back. Stock in, and the sales journal reversed through Sales Return. |
| Sales Credit Note | Money off an invoice with no goods movement. |
| Sales Debit Note | An extra charge, with no goods movement. |
| Sales Refund Note | Money back to the customer, with the goods returning. |
| Recurring Sales Invoice | Generates sales invoices on a schedule. |
| Sales Contract | The agreement a recurring or staged sale runs from. |
| SO Consolidation | Combines sales orders for fulfilment. |
| Sales GIN | A goods-issued record. It does not move stock — see the warning below. |
| Sales GRN | The inbound counterpart, with the same caveat. |
Reporting, service jobs and hand-off
| Applet | What it is for |
|---|---|
| Sales Report | Eleven reports over FINAL sales documents. Amounts are multiplied by each line’s amount signum, so returns and credit notes reduce sales. |
| Sales Report Supplier Access | The same reporting surface exposed to a supplier. |
| Sales Commission | Calculates commission from FINAL sales orders, invoices and cash bills. Paying it is a separate payment voucher. |
| Customer Consignment | Stock parked at a customer’s site and billed when it sells. |
| Job Sheet | Service work billed to a customer. |
| Car Workshop | The workshop variant of the job sheet. |
| Custom Processor | Queues finalised sales documents for an external system to pick up. It changes no posting status of its own. Also carries the electronic-shelf-label sync history the retail branches use. |
What actually reaches the ledger
This is the single most useful thing to know about the module, because most of its documents are record-keeping and only five of them post.
flowchart LR
INQ["Sales Inquiry"] --> QUO["Sales Quotation<br/>signum 0/0"]
QUO --> SO["Sales Order<br/>signum 0/0"]
SO --> INV["Sales Invoice<br/>amount +1, qty −1"]
SO --> DO["Delivery Order"]
DO --> INV
INV --> LEDGER[["General ledger<br/>+ stock ledger"]]
INV --> RET["Sales Return<br/>amount −1, qty +1"] --> LEDGER
INV --> CN["Sales Credit Note<br/>amount −1, qty 0"] --> LEDGER
INV --> DN["Sales Debit Note<br/>amount +1, qty 0"] --> LEDGER
INV --> RN["Sales Refund Note<br/>amount −1, qty +1"] --> LEDGER
GIN["Sales GIN<br/>signum 0/0 — inert"] -.-> NOTHING(["no ledger effect"])
QUO -.-> NOTHING
SO -.-> NOTHING
| Document | Amount signum | Quantity signum | What FINAL posts |
|---|---|---|---|
| Sales Invoice | +1 | −1 | Dr Debtor / Cr Sales, Output Tax; Dr COGS / Cr stock; stock out |
| Sales Return | −1 | +1 | Dr Sales Return, Output Tax / Cr Debtor; Dr stock / Cr COGS; stock in |
| Sales Credit Note | −1 | 0 | Dr Sales, Output Tax / Cr Debtor. No stock movement, no COGS. |
| Sales Debit Note | +1 | 0 | Dr Debtor / Cr Sales, Output Tax. No stock movement. |
| Sales Refund Note | −1 | +1 | The invoice entries reversed; stock returns to the line’s location |
| Sales Quotation | 0 | 0 | Nothing |
| Sales Order | 0 | 0 | Nothing in the ledger. Reduces available stock. |
| Sales GIN | 0 | 0 | Nothing |
The general ledger is reached through exactly seven journal handlers in the whole product, and the
one this module uses is SALES — the same handler the till’s cash bill uses.
INTERNAL_SALES_GIN_STOCK_OUT, is a
different document and has no applet registry row of its own. If you installed “Sales GIN
(Internal)” expecting a warehouse issue, this is why the stock never moved.Three things this module is often believed to do, and does not
It does not approve anything. There is no document approval step on a quotation, an order or an invoice. BigLedger’s approval engine covers three document types only — Purchase Order, Purchase Requisition and Stock Requisition — it is off until a tenant configures it, and the posting path contains no approval check at all. A discount on a sales line is released by a permission, not by a routed request.
It does not block a customer for exceeding a credit limit. Turning on the credit-limit filter
shows the available credit — the limit, less the accounts-receivable balance, less open amounts —
next to the customer. Nothing stops FINAL. The one hard stop on the customer is the blacklist,
which rejects an invoice, an order or an outbound delivery order (and, at the till, a cash bill)
with ENTITY_BLACKLISTED; it is not checked on quotations, returns, credit notes or debit notes.
A sales order does not “allocate” stock in two tiers. There is no hard and soft allocation. A FINAL sales order reduces the available quantity — it is counted alongside invoices by the stock availability service — and that is automatic. Separately, a line may hold a reservation over specific quantities, serials or bins, which is opt-in, is visible on the Reserved Stock tab, and is released when the order is voided. The reservation statuses and their known defects live on the Stock Reservation applet page.
What this module needs from others
| Module | What it supplies |
|---|---|
| Core | Customer Maintenance, Doc Item Maintenance, Organization (company, branch, location), Pricebook, Tax Configuration |
| Financial Accounting | The Chart of Account company defaults every posting resolves against — DEBTOR, SALES, SALES_DISCOUNT, SALES_RETURN, OUTPUT_TAX, COGS, FOREX_GAIN, FOREX_LOSS — plus Receipt Voucher for deposits and payments and Statement of Account |
| Inventory | Stock Availability, Stock Balance, Stock Reservation |
| Point of Sale | The cash bill — the retail counterpart of the sales invoice, posting through the same SALES handler and counted by the same reports and commission runs |
| Membership | Commission Scheme |
| E-Invoice | The submission pipeline every FINAL sales document is queued into |