Last amended: 2026-08-13 Audience: product, accounting, developer
ADR 0021: Sales and Receivables Summary Facts and Posting Templates
Context
ADR 0020 places Sales and Receivables Summary in the initial release and limits it to accounting for summarized revenue, receivables, deposits, sales tax, receipts, and supporting evidence from external operations. Operational sales orders, invoice issuance, collections, payment processing, and banking remain outside BooksPlus.
The Summary Accounting foundation can stage source facts, validation issues, evidence, prepared journal-entry previews, and posting results, but canonical truth intentionally deferred Sales and Receivables payload and template meaning to Step 7.
BooksPlus needs stable Sales and Receivables meaning before file columns, external system vocabulary, account numbers, or descriptions influence implementation.
Decision
BooksPlus will accept five initial Sales and Receivables fact types. Their
established income_* contract keys remain stable:
income_product_sale_summaryfor externally completed product sales activity that creates product revenue and trade receivables, including sales tax when applicable;income_service_sale_summaryfor externally completed service sales activity that creates service revenue and trade receivables, including sales tax when applicable;income_receipt_summaryfor externally completed customer receipts applied to trade receivables;income_customer_deposit_summaryfor externally completed customer receipts that create a customer-deposit liability;income_unapplied_receipt_summaryfor externally completed receipts whose receivable or deposit application is not yet established.
These are accounting intake facts, not operational sales, invoice, collection, payment, or banking records.
Each accepted fact should preserve:
- company and actor context;
- source system and external event identity;
- idempotency key;
- source document type, identifier, and date;
- source-world activity date or date range;
- posting date or target financial period when known;
- currency;
- external reference;
- counterparty external reference and display name when applicable;
- gross, net, tax, receipt, deposit, or unapplied amounts applicable to the selected fact type;
- evidence references;
- a required Source Document reference;
- explicit change type and related original event when applicable;
- SalesTaxResult components with tax calculation source, liability owner, compliance agent, ownership amounts, capability-profile version, control totals, and evidence when tax is present;
- filing jurisdiction and filing-period evidence when the source claims
filing_summarycapability; - validation issues and resulting journal-entry references.
Counterparty references support traceability and review. This ADR does not create an operational customer master or customer subledger in BooksPlus.
Posting Templates
The initial templates should prepare these ordinary accounting effects:
| Fact type | Debit role | Credit role |
|---|---|---|
income_product_sale_summary |
receivable.trade |
revenue.product; tax.sales_tax_payable for tax |
income_service_sale_summary |
receivable.trade |
revenue.service; tax.sales_tax_payable for tax |
income_receipt_summary |
clearing.receipts_for_deposit |
receivable.trade |
income_customer_deposit_summary |
clearing.receipts_for_deposit |
liability.customer_deposits |
income_unapplied_receipt_summary |
clearing.receipts_for_deposit |
liability.unapplied_customer_cash |
The product-sale and service-sale templates above apply to seller-owned sales
tax. The canonical Sales Tax Accounting and Remittance Contract defines the
facilitator-remitted preparation rule: facilitator or other statutory-
collector tax is excluded from both seller receivable and
tax.sales_tax_payable, preserved as non-ledger support, and reconciled
separately from any seller-owned amount in the same accepted summary. Facts
remain held when ownership components, profile coverage, evidence, or control
totals do not satisfy that contract.
These three receipt templates apply to distinct Sales-source customer payment events. A later Banking and Finance Summary event clears receipts for deposit into the bank. If a source emits one Finance-owned receipt already debiting bank or cash, Banking and Finance Summary owns that event and Sales retains only the related customer or invoice reference.
The source fact must identify the applicable fact type and receipt classification or remain held for review. BooksPlus must not select a template from account number ranges, journal codes, or description text alone.
Product sale facts remain distinct so they can retain relationships to later Inventory Summary cost-of-goods-sold facts. Step 7 does not calculate or post cost of goods sold; that behavior remains owned by Inventory Summary.
Only roles required by the selected fact type should block preview preparation. Role resolution must return immutable account identity and reject missing, duplicate singleton, wrong-company, inactive, retired, or non-posting targets.
Externally Accounted Line Detail
An external accounting export may include balanced account lines in addition to the normalized business totals. BooksPlus should preserve those source lines for reconciliation and explanation.
Source lines should not bypass the Income template or central Accounting posting path. The prepared preview should either:
- match the normalized fact and role-based template; or
- remain held with a visible reconciliation or classification issue.
Step 7 will treat externally accounted lines as reconciliation evidence. It
will not create an externally_accounted_summary posting path merely because a
general-ledger export already contains debits and credits.
Validation Rules
- Amounts must use one explicit currency per prepared journal entry.
- Sale gross amount must reconcile to revenue plus sales tax and other canonically supported components.
- Receipt, deposit, and unapplied-receipt totals must reconcile to their prepared accounting effects.
- Required source identity and source dates must be present.
- Every Income fact must reference an active Source Document.
- Posting must resolve to an eligible financial period.
- Missing tax detail must block only when a tax amount or taxable classification is present and BooksPlus cannot explain the liability amount.
- A tax-bearing fact must identify calculation source, liability owner, and compliance agent directly or through current reviewed configuration.
- Marketplace-facilitator or other statutory-collector treatment requires applicable reviewed evidence and must not be inferred from provider name, description, account code, or settlement text.
- BooksPlus must not silently recompute an imported tax determination.
accounting_summarytax data may support ledger posting and reconciliation but must remain ineligible for jurisdictional return support.- A fact with uncertain type, counter-account meaning, or application status must remain reviewable and must not post automatically.
- Summary batches and previews are not formal report truth.
- All ledger effects must use central Accounting posting.
Credits, Corrections, and Reversals
Income intake must preserve explicit credit, correction, or reversal meaning and its relationship to the original external event. Step 7 may stage and display those facts, but it must not post them through an ordinary Income template. Credits, corrections, and reversals remain deferred to the Step 11 correction workflow and its governing contracts.
Consequences
- Sales and Receivables Summary remains focused on accounting facts rather than operational sales processes.
- Account roles, not external account numbers, determine prepared accounting.
- Production exports can provide richer evidence without becoming BooksPlus canonical vocabulary.
- Customer deposits and unapplied receipts remain distinguishable from trade receivable settlements.
- More complex revenue recognition, discounts, refunds, chargebacks, multi-currency, and tax-jurisdiction behavior outside ADR 0034 require later canonical truth.
Alternatives Considered
Post external journal lines directly
Rejected for ordinary Sales and Receivables Summary because it would let provider account codes and ledger exports bypass BooksPlus workflow meaning and role readiness.
Implement a customer subledger in Step 7
Rejected because ADR 0020 limits the initial release to summarized accounting from external operations.
Use one generic income_summary fact
Rejected because product sale, service sale, applied receipt, deposit, and unapplied receipt facts have different accounting meaning, downstream relationships, and readiness requirements.
Acceptance Record
Accepted with these confirmations:
- The five fact types are sufficient for Step 7; credits and reversals remain deferred to Step 11.
- Product and service sales are separate facts, including to preserve product sales relationships to later cost-of-goods-sold treatment.
- Every Income fact requires a Source Document.
- Externally accounted lines are reconciliation evidence, not an ordinary posting path.
- Seller-owned tax uses the accepted sale templates; facilitator-remitted tax uses the non-ledger support and seller-receivable exclusion rule in the canonical Sales Tax Accounting and Remittance Contract.
- ADR 0034 governs sales-tax return-support eligibility and remittance control; this ADR does not make Summary batches formal return or report truth.
Related Truth
../../accounting/summary-accounting.md../../accounting/source-documents.md../../contracts/account-role.contract.md../../contracts/summary-accounting-batch.contract.md../../contracts/sales-tax-accounting-and-remittance.contract.md0007-provider-agnostic-import-boundaries.md0020-initial-release-scope-and-financial-workflow-taxonomy.md0024-operational-summary-workflow-boundaries-and-purchasing-facts.md0034-sales-tax-accounting-and-remittance-boundary.md