Skip to content

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_summary for a reviewed vendor invoice result that creates a trade payable;
  • purchasing_direct_purchase_summary for 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_summary for 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_summary for reviewed recognition of a non-inventory prepayment; and
  • purchasing_accrual_summary for 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.general and credits liability.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.operating is repeatable so a reviewer can select among approved operating-expense accounts.
  • asset.prepaid_expenses is a singleton role for non-inventory prepayments.
  • asset.prepaid_inventory remains owned by Inventory Summary.
  • liability.goods_received_not_invoiced is the singleton inventory receipt-accrual role.
  • clearing.receipts_for_deposit and clearing.payment_disbursements are repeatable roles for staged customer and vendor payments.
  • Existing payable.trade, liability.accrued_expenses, inventory.general, bank.operating, and cash.on_hand meanings 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_prepayment relationship 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.

  • ../../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.md
  • 0007-provider-agnostic-import-boundaries.md
  • 0020-initial-release-scope-and-financial-workflow-taxonomy.md
  • 0021-income-accounting-facts-and-templates.md
  • 0022-reviewable-accounting-file-intake.md
  • 0023-booksplus-starter-chart-and-dolibarr-account-crosswalk.md
  • 0028-standard-cost-inventory-period-summaries.md
  • 0029-cross-workflow-accounting-event-identity.md