SalesOrderTable
- Status
- Specified
- Family
- 10 of 13
SalesOrderTable is specified but not yet built. The spec below is the contract it will be built against — reviewed before the code, which is the order that makes the review worth doing. See the roadmap for where it lands.
The four-layer spec
Backlog. Visually separated from anything ledger-derived, because orders have no GL impact and showing them near revenue is how pipeline gets mistaken for performance.
Lifted verbatim from Receivables (AR). The doc and this page are the same paragraphs, so they cannot disagree.
Also in Receivables (AR)
- InvoiceFormWith the revenue-recognition preview per line.
- InvoiceDetailBalance due as the hero, not total.Spec
- InvoiceRegisterGapless-numbering check surfaced.Spec
- CashApplicationThe highest-value screen in AR. Every case, not just the happy one.
- PaymentSuggestionInvoice combinations summing exactly to a lump sum.
- UnappliedCashPanelNever revenue; net credit balances flagged as liabilities.Spec
- CreditNoteFormDistinct from a refund and from a write-off.Spec
- CollectionsWorklistPromise-to-pay as a first-class object.Spec
- DunningTimelinePer customer, not per invoice.Spec
- CustomerStatementPrintable. Print styles are first-class.Spec
- CustomerCreditPanelLimit and exposure together, with hierarchy roll-up.Spec
- ArMetricsPanelDSO with its method stated.Spec
See also
A component is specified in one place, defined in another, and running in a third. All three, from here.
Elsewhere in the system
Where SalesOrderTable sits in the rest of the system — the live section it renders in, the calculators that compute what it displays, and the ledger payloads it is fed from.
Components are copied into your repository and meant to be edited — rounding policy, fiscal calendar and compliance copy differ per company.
Told when Receivables (AR) changes
Components are copied into your repo, so a fix here does not reach you on its own. One email when a component in this family changes in a way that needs a migration — and nothing when it does not.