Skip to content

Source truth: - Vision - UX Principles - ADR 0018: BP3 Initial Release Scope and Development Sequence - Provider Agnostic Import Boundaries - Accounting Posting Foundation - Close Runs and Report Packs - Persisted Report Runs

BP3 Initial Release Plan

This page turns the initial BP3 release decision into an implementation sequence.

BP3 is the internal name for the third BooksPlus iteration. The public initial release should be treated as BooksPlus 1.0 unless external product continuity later requires a different version label.

Release objective

BP3 should ship a coherent accounting control system:

  • guide setup and onboarding;
  • preserve company, period, account, source-document, posting, audit, and authorization truth;
  • accept reviewable period-summary facts from ordinary business operations;
  • post accounting effects through one central posting path;
  • support correction, close, and reporting from posted ledger truth;
  • defer operational sales, purchasing, banking, payment, and perpetual-inventory systems.

The first release should make the accounting result explainable before it makes external operations automatic.

Launch workflow model

Workflow area Launch meaning Explicitly deferred
Setup & Onboarding Organize responsibilities, policy defaults, company setup, fiscal periods, chart, opening balances, permissions, and support practices Full implementation-services practice management
Current Period Workbench Daily review surface for source documents, manual entries, exceptions, posting readiness, and posted activity Treating daily cadence as its own accounting domain
Income Accounting Period-summary accounting for revenue, receivables, sales tax, deposits, receipts, and supporting evidence Sales orders, customer invoice operations, collections, and payment processing
Expense Accounting Period-summary accounting for expenses, payables, contractor/vendor facts, and 1099 support Purchase order operations, supplier bill workflow, and payment execution
Inventory Accounting Period-summary accounting for inventory valuation, cost of goods sold, variances, and reconciliation evidence Operational stock movement, item master, warehouse, and perpetual inventory system
Corrections Reversal and adjustment paths that preserve posted history Silent mutation of posted accounting records
Period Close Close runs, checks, warnings, blockers, waivers, approvals, period transitions, and close evidence Using close as ordinary transaction entry
Reporting Formal reports, persisted report runs, close packs, and review support Reports based on workflow staging records instead of posted ledger truth

Scope boundaries

BP3 should rely on an external operational system for:

  • sales orders;
  • customer invoices;
  • purchase orders;
  • supplier bills;
  • payment execution;
  • receipt and banking operations;
  • perpetual inventory operations.

BooksPlus may accept summaries, schedules, exports, and evidence from those systems. That intake must normalize into BooksPlus business language before any workflow, posting, close check, or report consumes it.

Payroll accounting is deferred. Expense Accounting may still support contractor classification, contractor payment accounting, W-9/1099 fact capture, and 1099 support reports.

Architecture guardrails

Use these guardrails throughout BP3 development:

  • All ledger effects go through the central Accounting posting path.
  • Workflow staging records are review state, not report truth.
  • Formal reports derive from posted journal entries and current reporting rules.
  • Source Documents owns evidence identity, references, and supersession.
  • Close coordinates checks, waivers, approvals, and period transitions; it does not bypass Accounting.
  • Imports and adapters map into provider-agnostic intake contracts before domain workflows use them.
  • File and machine intake require source identity and idempotency expectations.
  • Account-role resolution is preferred over hard-coded account codes.
  • Consequential actions require authorization and audit evidence.

Development sequence

1. Align release truth and navigation

Goal: make the release target explicit before expanding implementation.

Build:

  • release-scope ADR and this development plan;
  • workflow naming updates in derived user documentation;
  • open-issue cleanup for launch workflow navigation;
  • contributor links from the application repository to this plan.

Exit criteria:

  • BP3 scope and deferred operational responsibilities are visible in the wiki.
  • Developers can identify which workflow slice should be built next.

2. Stabilize the accounting kernel

Goal: protect the shared behavior every workflow will depend on.

Build:

  • company context and repository boundaries;
  • fiscal period generation and status control;
  • account maintenance, account roles, and chart import;
  • source-document persistence and supersession;
  • central posting service and posting-date eligibility;
  • security authorization and append-only audit events;
  • trial balance from posted ledger lines.

Exit criteria:

  • no workflow writes journal entries directly;
  • posting blocks ineligible periods and inactive accounts;
  • source evidence and audit references are preserved where implemented;
  • starter chart behavior uses account roles for semantic needs.

3. Build Setup & Onboarding

Goal: make the business ready to post before ordinary accounting work begins.

Build:

  • onboarding readiness checklist;
  • roles and responsibility setup;
  • policy baseline and policy-default review;
  • company identity and reporting currency review;
  • fiscal calendar setup and period opening;
  • chart install/import/review;
  • opening-balance entry support;
  • permission setup and protected-action visibility.

Exit criteria:

  • a company can be brought from empty database to open first posting period;
  • opening balances post through Accounting;
  • setup work leaves reviewable evidence or audit history.

4. Build the Current Period Workbench

Goal: create the common surface for daily review without making cadence a domain.

Build:

  • source-document register;
  • manual journal entry preparation and posting;
  • posted journal-entry register;
  • exception queue;
  • period status and posting-date visibility;
  • drilldown from entries to source documents and audit events.

Exit criteria:

  • users can see what needs attention in the current open period;
  • manual accounting work posts through the central posting path;
  • posted activity is reviewable by period and source.

5. Add summary accounting foundation

Goal: let workflow families share a normalized period-summary pattern.

Build:

  • summary batch identity and status;
  • source-system identity and import metadata;
  • source-world event dates and BooksPlus acceptance time;
  • idempotency handling for file and machine intake;
  • validation issue records;
  • evidence linkage;
  • prepared journal-entry preview;
  • posting result linkage.

Exit criteria:

  • income, expense, and inventory accounting can use the same batch pattern;
  • replays with the same source identity and idempotency key are handled deliberately;
  • conflicting imports are held for review instead of overwritten.

6. Build Income Accounting

Goal: account for revenue and receivable activity summarized from external operations.

Build:

  • income summary intake;
  • revenue, receivable, sales-tax, deposit, and receipt accounting templates;
  • source-document and external-reference linkage;
  • period review and exception handling;
  • posting through Accounting.

Exit criteria:

  • a fiscal period can receive income summaries and post balanced entries;
  • summary totals reconcile to source evidence;
  • sales operational records remain outside BooksPlus.

7. Build Expense Accounting and 1099 support

Goal: account for expense and payable activity while preserving contractor facts.

Build:

  • expense summary intake;
  • expense, payable, payment, prepayment, and accrual templates;
  • contractor/vendor classification;
  • W-9 and taxpayer-identification evidence references where policy requires;
  • 1099 support fact capture and reports;
  • posting through Accounting.

Exit criteria:

  • a fiscal period can receive expense summaries and post balanced entries;
  • contractor payment support reports are traceable to posted accounting and source facts;
  • payroll calculation and payroll payment execution remain deferred.

8. Build Inventory Accounting

Goal: account for inventory value and cost summarized from external operations.

Build:

  • inventory valuation intake;
  • cost of goods sold and inventory adjustment templates;
  • valuation basis and as-of-period metadata;
  • reconciliation against inventory control accounts;
  • variance review and posting through Accounting.

Exit criteria:

  • inventory valuation can be compared to ledger balances;
  • variances are visible and explainable;
  • operational item, stock, and warehouse records remain outside BooksPlus.

9. Build Corrections

Goal: provide safe correction paths before close becomes authoritative.

Build:

  • reversal workflow;
  • adjustment workflow;
  • reason capture;
  • original-entry relationship;
  • authorization and audit behavior;
  • correction reporting and drilldown.

Exit criteria:

  • posted accounting records are corrected without silent mutation;
  • corrections respect period status and protected-action rules;
  • close and reports can show corrected history clearly.

10. Build Period Close

Goal: replace direct period toggles with a reviewable close process.

Build:

  • close runs;
  • close-check snapshots;
  • blocker, warning, and informational outcomes;
  • waiver policy and waiver audit trail;
  • approval and finalization steps;
  • soft close and hard close period transitions;
  • close report packs and evidence references.

Exit criteria:

  • a period cannot hard close with unresolved blockers unless policy permits an explicit waiver;
  • approval is tied to the facts reviewed;
  • close evidence remains reviewable after the period changes state.

11. Build Reporting

Goal: make period results reviewable from posted ledger truth.

Build:

  • trial balance polish;
  • balance sheet;
  • income statement;
  • persisted report runs;
  • close-pack report capture;
  • exception and support reports, including 1099 support reports.

Exit criteria:

  • formal reports derive from posted ledger lines;
  • captured reports preserve parameters, actor, generated time, and snapshot payload;
  • close can reference report runs without owning report rendering.

12. Add external adapters last

Goal: automate only after the BooksPlus workflow meaning is stable.

Build:

  • adapter contracts for the chosen operational system;
  • mapping from provider payloads to BooksPlus intake contracts;
  • duplicate and correction handling;
  • raw payload retention where useful;
  • operational reconciliation reports.

Exit criteria:

  • adapters submit facts and requests, never ledger mutations;
  • provider vocabulary does not leak into canonical accounting meaning;
  • manual and file intake remain available fallback paths.

Commit strategy

Use one reviewable slice at a time:

  1. release truth and development plan;
  2. application-repo pointer to the plan;
  3. workflow taxonomy updates in derived user docs;
  4. kernel stabilization;
  5. one workflow implementation slice at a time, in the sequence above.

When a slice touches posting, close, source documents, security, or reporting, read the relevant truth page, contract, and accepted ADR before implementation.