Last amended: 2026-08-03 Audience: product, accounting, developer
ADR 0024: Operational Summary Workflow Boundaries and Purchasing Facts
Context
BooksPlus receives summarized accounting results from an operational system; it does not reproduce operational detail. Dolibarr is the first operational system, but BooksPlus workflow names and contracts remain provider-agnostic.
The operational work has four related sources of accounting transactions:
- sales orders, shipping, invoicing, receivables, and customer payment processing;
- purchase orders, receipts, vendor invoices, payables, and vendor payment processing;
- inventory ins and outs, beginning inventory, ending inventory, cost of goods sold, and inventory variances; and
- deposits, disbursements, bank and credit-card activity, clearing, and reconciliation to closing cash balances.
A reviewed development export illustrates Dolibarr journal sources VT for
sales, AC for purchasing, INV and INVACCT for inventory, and BQ for
finance. These identifiers are evidence for adapter mapping, not universal
BooksPlus vocabulary or permission to post external account lines directly.
Decision
Steps 7 through 10 are the following Summary workflows:
| Step | Summary workflow | Operational detail retained outside BooksPlus | BooksPlus accounting result |
|---|---|---|---|
| 7 | Sales and Receivables Summary | sales orders, shipping, customer invoices, receivable detail, and customer payment processing | summarized revenue, sales tax, receivable creation, and distinct Sales-source customer-receipt clearing events |
| 8 | Purchasing and Payables Summary | purchase orders, receipts, vendor invoices, payable detail, matching, vendor payment processing, and vendor records | summarized operating expense, inventory acquisition, prepayment, payable, accrual, contractor, payment issuance, and purchasing-control evidence |
| 9 | Inventory Summary | items, stock movements, warehouses, production detail, and perpetual valuation records | summarized inventory ins and outs, beginning and ending inventory, cost of goods sold, variances, and reconciliation evidence |
| 10 | Banking and Finance Summary | bank feeds, deposit composition, payment instruments, credit-card activity, and reconciliation detail | summarized cash, bank, credit-card, receipt-clearing, disbursement-clearing, and reconciliation entries leading to reviewed closing balances |
“Summary” means BooksPlus preserves accounting results, source identity, reconciliation, evidence, review state, and posted journal references while the operational system retains transaction execution and detailed subledgers.
Corrections, Period Close, Reporting, and External Adapters follow these four workflows as Steps 11 through 14.
Cross-workflow ownership and linkage
Every normalized source accounting event has exactly one owning Summary workflow and at most one ordinary BooksPlus posting result. Related workflows may retain references to the event and display its result, but a relationship or repeated invoice, receipt, shipment, purchase, payment, or bank reference does not authorize another posting.
Separate accounting stages remain separate source events. For example:
- a Sales-source customer payment may debit receipts-for-deposit clearing and credit trade receivables;
- a later Finance-source bank deposit may debit the operating bank account and credit receipts-for-deposit clearing;
- a Purchasing-source vendor payment may debit trade payables and credit either the selected bank account or payment-disbursements clearing, according to the reviewed payment-channel policy; and
- when clearing is used, a later Finance-source bank settlement may debit that clearing account and credit the bank.
This clearing policy is accepted initial-release truth. Later workflow work may define matching, allocation, reconciliation, and exception behavior, but it must preserve this event ownership and must not invent a clearing stage for a single direct settlement event.
When an operational system emits one direct settlement event, BooksPlus accepts only the applicable direct template and does not synthesize another clearing stage.
When payment issuance credits the bank directly, later bank-statement matching is a non-posting reconciliation result. Bank fees, interest, exchange differences, and discrepancies are distinct Finance-source events and may post only under Banking and Finance Summary truth.
An invoice identifier on a Finance-source payment is the source or reason for the payment. It does not recreate the invoice or move the Finance event into Sales or Purchasing.
Provider journal codes may participate in a reviewed adapter mapping. The canonical route remains the provider-agnostic Summary workflow and explicit source event type. Codes, account numbers, descriptions, and related-document text alone do not establish accounting meaning. Opening-balance and conversion events route to their owning workflows even if a provider places them in an ordinary journal.
Banking and Finance Summary facts
The canonical Banking and Finance Summary Fact Contract accepts these initial Step 10 posting facts:
- receipt- and disbursement-clearing settlements;
- Finance-owned direct bank or cash receipts and ordinary operating disbursements;
- Finance-owned ordinary credit-card charges and card payments;
- direct bank/cash transfers;
- explicit bank or card finance charges; and
- explicit interest income received.
It also accepts non-posting statement-match and period account-reconciliation results. These results preserve accepted identity, relationships, evidence, and exact reconciliation without creating another journal entry.
Finance direct receipts may settle posted trade receivables through explicit
applies_to allocations or create an accepted customer-deposit or unapplied-
cash liability. Finance direct disbursements recognize only reviewed ordinary
operating expense. They do not settle trade payables or infer Purchasing
meaning from invoice or vendor text.
Receipt clearing debits the reviewed bank or cash account and credits
clearing.receipts_for_deposit. Disbursement clearing debits
clearing.payment_disbursements and credits the reviewed bank account.
Workflow-owned allocations must reconcile to posted open clearing balances and
use clears from the later Finance settlement to the prior Sales or Purchasing
event.
Credit-card charges may recognize reviewed expense.operating or
expense.finance_charges components against liability.credit_card.
Credit-card payment debits that liability and credits the reviewed bank.
Finance charges use expense.finance_charges; interest received uses
revenue.interest. Unsupported refunds, chargebacks, tax, inventory,
prepayments, capital, fixed assets, loans, equity, payroll, foreign currency,
cash over/short, and discrepancies remain held.
Period account reconciliation uses one immutable bank, cash, card, or clearing account and a debit-positive sign convention. Reviewed source closing balance plus signed reconciliation items must equal the posted ledger closing balance at the same cutoff. Reconciliation never creates a balancing or suspense entry.
Sales receipt boundary
The accepted Step 7 receipt, customer-deposit, and unapplied-receipt facts
remain Sales and Receivables Summary facts when they represent distinct Sales-
source customer payment events. Their staged templates debit
clearing.receipts_for_deposit, not a bank account. A later Banking and Finance
Summary event clears that balance into the bank.
If the source instead emits one Finance-owned receipt already debiting bank or cash, Step 10 owns the event and Step 7 retains only the related invoice or customer reference.
Purchasing and Payables Summary facts
BooksPlus accepts these initial ordinary Step 8 facts:
purchasing_payable_summaryfor a reviewed vendor invoice result that creates a trade payable;purchasing_direct_purchase_summaryfor a reviewed completed purchase whose distinct Purchasing-source event settles directly to an eligible bank or cash account, or through payment-disbursements clearing, without creating a trade payable;purchasing_vendor_payment_summaryfor a distinct Purchasing-source event that settles one or more vendor invoices directly to a selected bank account or through payment-disbursements clearing;purchasing_prepayment_recognition_summaryfor reviewed recognition of a non-inventory prepayment; andpurchasing_accrual_summaryfor reviewed expense recognition that creates an accrued-expense liability.
Accrual settlement, credits, corrections, and reversals remain blocked until their governing ordinary-settlement or Corrections truth is accepted.
Operating expense means a purchase consumed in the current period that is not inventory, a prepayment, a capital-project cost, or a fixed asset. It includes ordinary SG&A goods and services and may include noncapitalizable production, selling, or service-delivery costs.
Purchase facts contain one or more reviewed components:
| Component disposition | Accounting destination | Workflow relationship |
|---|---|---|
| operating expense | reviewed account assigned repeatable expense.operating |
posted by Purchasing and Payables Summary |
| inventory acquisition | inventory.general or another role later accepted by Inventory Summary truth |
acquisition and payable are owned by Purchasing; later valuation, outflow, COGS, and variance events are owned by Inventory |
| non-inventory prepayment | singleton asset.prepaid_expenses |
acquisition is owned by Purchasing; later recognition is a separate linked event |
A prepaid-expense component has a stable component reference within its owning Purchasing event so later partial recognition can identify the exact acquired asset even when the invoice or direct purchase contains mixed components.
A direct purchase already settled to bank, cash, or card in one Finance-owned event routes to Banking and Finance Summary and does not also create a Purchasing posting.
Vendor and payee references support review and traceability without creating a BooksPlus operational vendor master or payable subledger. Contractor classification, W-9 and taxpayer-identification evidence, sensitive-data handling, and 1099 reporting require their separate Step 8 truth slice.
Invoice-led acquisition policy
The initial ordinary acquisition policy is invoice-led:
| Event | Initial accounting treatment |
|---|---|
| purchase order approved | no BooksPlus posting |
| goods or services received | matching and control evidence; no ordinary acquisition posting |
| vendor invoice accepted | debit reviewed operating-expense, inventory-acquisition, or prepaid-expense components; credit payable.trade |
| payment approved or marked OK to pay | controlled status evidence; no posting |
| payment issued | debit payable.trade; credit the selected direct bank account or payment-disbursements clearing |
| later bank-statement match after direct-bank posting | reconciliation state only; no posting |
A valid vendor invoice may create a payable while it is unmatched, disputed, or on payment hold. Payment approval controls settlement; it does not determine whether the liability exists.
BooksPlus records the summarized accounting result of an externally issued payment. It does not prepare, authorize, transmit, or execute the payment.
Receiving evidence may support two-way or three-way matching, tolerances, partial receipts, partial invoices, and one invoice covering several receipts. Those operational records and decisions remain in the operational system. BooksPlus preserves or references their reviewed status, exceptions, approval identity, approval date, and reconciliation totals.
Received-but-uninvoiced items may produce an explicit period-end accrual:
- uninvoiced operating cost debits a reviewed operating-expense account and
credits
liability.accrued_expenses; or - uninvoiced inventory debits
inventory.generaland creditsliability.goods_received_not_invoiced.
When the later invoice settles an existing goods-received-not-invoiced accrual,
the payable fact debits the adjusted carrying amount of that liability and
credits payable.trade for the same amount. It must not debit inventory
acquisition or purchase-price variance again.
Inventory Summary is the sole owner of purchase-price variance. When a posted
GRNI accrual exists and the supported invoice inventory-acquisition amount
differs from its carrying amount, the related Inventory-owned PPV event must
adjust that GRNI balance before the Purchasing invoice becomes ready to settle
it. A positive unfavorable variance debits
expense.purchase_price_variance and credits
liability.goods_received_not_invoiced; a favorable variance debits GRNI and
credits purchase-price variance. The adjusted GRNI amount must then equal the
supported invoice inventory-acquisition amount allocated to that accrual.
Non-inventory prepayment acquisition and recognition
A payable or direct-purchase fact acquires a non-inventory prepayment by
debiting its reviewed prepaid_expense component to
asset.prepaid_expenses. Payment timing does not determine recognition.
Later consumption is a distinct original
purchasing_prepayment_recognition_summary at
prepayment_recognized. It debits one or more reviewed
expense.operating components and credits asset.prepaid_expenses. It does
not create or settle a payable, repeat the purchase, or post to inventory.
Each recognition uses explicit workflow-owned allocations that identify:
- the posted same-company prepayment-acquisition event;
- its stable prepaid-expense component reference and original posted amount;
- the reviewed operating-expense destination;
- the amount recognized in company currency; and
- relationship and reconciliation evidence.
recognizes_prepayment points from the later recognition event to the posted
acquisition event. One recognition may consume several acquisitions, and one
acquisition component may be consumed by several recognition events. The
relationship amount for each acquisition endpoint equals the recognition
allocations to that endpoint.
The posted open balance of an acquisition component is its posted prepaid
amount less posted recognition allocations. A ready_to_post recognition
reserves its allocations against the remaining balance so competing batches
cannot both become ready for the same amount. Staged, held, and abandoned
batches do not reserve balance. Posting revalidates the balance atomically;
posted recognition consumes it. No component may have a negative open or
available balance.
Recognition is manual and evidence-backed. BooksPlus does not calculate an amortization schedule, infer a service period, divide an amount across periods, or create recurring recognition events. Returns, refunds, credit notes, corrections, reversals, and reclassification between prepaid expense, inventory, capital projects, or fixed assets remain held until their governing truth is accepted.
Receipt-led acquisition is not an ordinary initial-release policy. The contracts retain enough receipt, accrual, and relationship evidence to support a later policy, but one purchase must never use both invoice-led and receipt-led acquisition posting.
Inventory Summary owns consumption, valuation adjustments, and supported purchase-price variance events after acquisition. Inventory may supply quantity, valuation, and relationship evidence to the Purchasing result, but it must not independently recognize the same acquisition.
The procure-to-pay chain therefore has these source-event owners:
| Source event | Owning Summary workflow | Ordinary BooksPlus posting |
|---|---|---|
| purchase order approval | Purchasing and Payables | none |
| goods or services receipt | Purchasing and Payables | matching only under the invoice-led policy; explicit accrual only when separately supplied |
| vendor invoice | Purchasing and Payables | payable and reviewed acquisition or expense; or settlement of linked GRNI |
| inventory consumption, valuation adjustment, or supported purchase-price variance | Inventory | only the later inventory effect or GRNI adjustment, never the original acquisition or payable |
| payment approval or OK-to-pay status | Purchasing and Payables | none |
| externally issued vendor payment | Purchasing and Payables | payable settlement to direct bank or disbursement clearing |
| bank-statement match | Banking and Finance | normally none |
| bank fee, interest, exchange difference, or discrepancy | Banking and Finance | separate adjustment under Step 10 truth |
Purchasing control and allocation evidence
BooksPlus preserves or references enough operational detail to reconcile each summary to its source control total without becoming the payable subledger. When applicable, that evidence includes:
- vendor, invoice, purchase-order, receipt, payment, and allocation identifiers;
- invoice, accounting, due, receipt, payment-approval, payment-issue, and clearing dates;
- purchase classification, match type and status, holds, exceptions, tolerances, approval actor, and approval time;
- gross, tax, freight, discount, net, payment, and allocation amounts;
- source currency and exchange-rate evidence without implying unsupported multi-currency posting;
- source dimensions and reviewed BooksPlus account mappings;
- payment allocations by invoice, including one payment applied to several invoices;
- supporting Source Documents; and
- posting-template version, mapping version, and idempotency identity.
Tax, freight, discount, landed-cost, credit-note, void, and reversal details may be preserved as evidence. They remain held when accepted truth cannot produce a complete and explainable posting.
Purchasing posting templates
| Fact type | Debit | Credit |
|---|---|---|
purchasing_payable_summary |
reviewed purchase components; or the adjusted carrying amount of linked liability.goods_received_not_invoiced when settling an existing GRNI accrual |
payable.trade |
purchasing_direct_purchase_summary |
reviewed purchase components | selected direct bank/cash account or clearing.payment_disbursements, as permitted by source ownership and payment-channel policy |
purchasing_vendor_payment_summary |
payable.trade |
selected bank.operating account or clearing.payment_disbursements, according to payment-channel policy |
purchasing_prepayment_recognition_summary |
reviewed expense.operating components |
asset.prepaid_expenses |
purchasing_accrual_summary |
reviewed expense.operating components or inventory.general |
liability.accrued_expenses for operating cost or liability.goods_received_not_invoiced for inventory |
Externally accounted lines are reconciliation evidence. They do not replace these templates or bypass central Accounting posting.
Account-role decisions
expense.operatingis repeatable so a reviewer can select among approved operating-expense accounts.asset.prepaid_expensesis a singleton role for non-inventory prepayments.asset.prepaid_inventoryremains owned by Inventory Summary.liability.goods_received_not_invoicedis the singleton inventory receipt-accrual role.clearing.receipts_for_depositandclearing.payment_disbursementsare repeatable roles for staged customer and vendor payments.- Existing
payable.trade,liability.accrued_expenses,inventory.general,bank.operating, andcash.on_handmeanings remain. - Only roles selected by the fact template and component dispositions block preview preparation.
- Every selected account must have the expected role, belong to the company, and be active, non-retired, posting-enabled, and available for routine posting.
The starter chart adds 10200 Cash for Deposit, 12200 Prepaid Expenses,
20500 Payment Disbursements Clearing, and 20600 Goods Received Not
Invoiced; account codes remain presentation and crosswalk values rather than
workflow meaning.
Validation rules
- Every fact references an active, same-company Source Document.
- Each normalized source accounting event has one owning workflow route and at most one ordinary posting result.
- Cross-workflow references are evidence and navigation links, not posting instructions.
- Each prepared entry uses one explicit currency.
- Purchase components reconcile exactly to the payable, direct purchase, prepayment-recognition, or accrual amount.
- Payment allocations reconcile exactly to the payment total; one payment may settle several invoices.
- A payable may post independently of its match, hold, or OK-to-pay state.
- Match, hold, approval, payment-proposal, and bank-clearing statuses do not themselves request posting.
- Component disposition and account selection are explicit. BooksPlus does not infer them from provider account ranges, journal codes, descriptions, product names, or vendor names alone.
- Purchasing and Inventory effects reconcile without posting the same source event twice.
- An invoice-led inventory acquisition and an Inventory- or receipt-led acquisition must not both recognize the same goods.
- A later invoice linked to a posted GRNI accrual settles its adjusted carrying amount rather than recognizing inventory acquisition or PPV again.
- Inventory is the sole PPV posting owner. A required Inventory PPV event must adjust linked GRNI and post before the dependent Purchasing invoice may settle that accrual.
- GRNI accrual, PPV adjustment, and invoice-settlement allocations use the company currency and reconcile exactly by relationship; unsupported foreign currency, missing allocation, or unresolved required relationships remain held.
- Prepayment recognition requires a resolved
recognizes_prepaymentrelationship to a posted same-company payable or direct-purchase acquisition, exact company-currency allocation to a stable prepaid component, and an amount no greater than its available balance. - Recognition allocations, operating-expense components, the fact amount, prepared entry, and reviewed operational control total reconcile exactly.
- A prepayment-recognition fact contains no payable, settlement, vendor-payment, GRNI, inventory, or additional prepaid-acquisition effect.
- A Finance payment's related invoice reference is not treated as a new invoice fact.
- Direct-settlement, receipt-clearing, disbursement-clearing, bank-deposit, and credit-card events remain distinct when the source supplies distinct events.
- Uncertain workflow owner, event stage, purchase classification, funding source, payable status, prepayment treatment, or accrual treatment remains reviewable and non-postable.
- An identified or potentially capitalizable purchase remains held; it must not be silently classified as launch expense, inventory, or prepayment.
- Summary batches and previews are not formal report truth.
- All ledger effects use central Accounting posting.
Explicitly deferred
The initial release does not include:
- BillCatcher approval setup, fixed or range matching, automatic clearing, exceptions, or related audit and close behavior;
- capital-project accounts or subaccounts, project expenditure accumulation, or placed-in-service capitalization;
- fixed-asset acquisition workflow, fixed-asset ledger, depreciation calculation or posting, or operational asset management;
- use tax or vendor tax treatment;
- payroll;
- automatic amortization, accounting cost allocations, or recurring entries (explicit workflow-owned prepayment-recognition allocations remain supported); or
- payment execution.
Employee expense reports and petty-cash evidence may support ordinary reviewed facts, but this ADR creates no specialized expense-report, petty-cash, or BillCatcher workflow.
Consequences
- The roadmap matches the four operational sources that feed BooksPlus.
- Product and service purchasing, including SG&A, inventory inputs, prepayments, and contractor spend, shares one Purchasing and Payables Summary boundary.
- Inventory and Finance span Sales and Purchasing through explicit links while retaining separate accounting-event ownership.
- Production clearing entries can be represented without forcing simpler sources to invent stages they do not contain.
- Invoice-led acquisition keeps ordinary receipt evidence non-posting while preserving an explicit GRNI path for period-end uninvoiced receipts.
- Inventory-owned PPV adjusts a linked GRNI accrual before Purchasing settles the adjusted balance, giving the variance one owner and one posting result.
- Direct-bank and clearing payment channels remain mutually exclusive templates; later statement matching does not repost a direct-bank payment.
- Each Summary workflow defines a provider-agnostic REST fact contract; production Dolibarr-specific capture, outbox, delivery, and mapping are deferred beyond the initial release under ADR 0020.
- BillCatcher and the entire capital-project and fixed-asset lifecycle can be designed in a subsequent release without blocking core Step 8.
Acceptance record
Accepted with these confirmations:
- Steps 7 through 10 are the four named Summary workflows above.
- Operational details and subledgers remain in the operational system.
- Every source accounting event has one owning Summary workflow and at most one ordinary posting result.
- The initial Purchasing component dispositions are operating expense, inventory acquisition, and non-inventory prepayment.
- Receipt and payment clearing are accepted initial-release accounting stages.
- Invoice-led acquisition is the ordinary initial-release policy.
- Match, hold, OK-to-pay, payment-proposal, and statement-clearing states are control evidence rather than accounting events.
- Vendor payment issuance may use either direct-bank or payment-disbursements-clearing treatment according to reviewed payment-channel policy, never both for one event.
- BillCatcher is deferred to a subsequent release.
- Capital projects and the entire fixed-asset lifecycle are deferred to a subsequent release.
Amended on 2026-07-28 to confirm Inventory as the sole PPV posting owner and to remove PPV from the Purchasing GRNI-settlement template. The accepted standard-cost and relationship decisions govern the required calculation, ordering, evidence, and links.
Amended on 2026-07-28 to accept manual non-inventory prepayment recognition,
stable prepaid-component references, explicit partial and many-to-many
allocations, recognizes_prepayment direction and ordering, and atomic
available-balance controls without accepting automatic amortization.
Amended on 2026-07-29 to accept the Banking and Finance fact, stage, template, allocation, statement-match, and closing-balance reconciliation boundary in the canonical Finance contract. The amendment preserves direct-versus-clearing event ownership, makes clearing direction and open-balance consumption explicit, and adds the initial credit-card, finance-charge, and interest roles.
Related truth
../../accounting/summary-accounting.md../../contracts/account-role.contract.md../../contracts/summary-accounting-batch.contract.md../../contracts/purchasing-and-payables-summary-fact.contract.md../../contracts/banking-and-finance-summary-fact.contract.md0007-provider-agnostic-import-boundaries.md0020-initial-release-scope-and-financial-workflow-taxonomy.md0021-income-accounting-facts-and-templates.md0022-reviewable-accounting-file-intake.md0023-booksplus-starter-chart-and-dolibarr-account-crosswalk.md0028-standard-cost-inventory-period-summaries.md0029-cross-workflow-accounting-event-identity.md