Skip to content

Last reviewed: 2026-07-30

Reporting

Purpose

Reporting explains company results from posted ledger truth and preserves the exact formal snapshots used for close, review, and later reference.

Canonical rules

  • Formal reports derive only from same-company posted journal-entry lines.
  • Drafts, workflow records, imports, checks, waivers, operational facts, and report-pack records may support review but are not formal report truth.
  • The launch standard reports are trial balance, balance sheet, and income statement.
  • A live report is a current calculation. A persisted ReportRun is an immutable captured result with its definition, parameters, attribution, input fingerprint, snapshot payload, and source-line references.
  • Posted reversals and adjustments are separate ledger entries. Reports include them by their own posting dates and never rewrite their targets.
  • Report classification uses durable account type. Account codes, names, number ranges, screen order, provider vocabulary, and workflow labels do not determine financial-statement meaning.
  • Live reports use current account code and name. Persisted snapshots preserve the code, name, type, and normal balance reviewed at capture without changing the underlying account or journal history.
  • Historical inactive and retired accounts remain reportable when posted lines reference their immutable account ids.
  • Initial-release formal statements use only the company's base or reporting currency and retain accounting precision without hidden report-level rounding.
  • Reporting does not post, correct, close, reopen, or store source evidence.
  • Sales-tax control records and facilitator-remitted support may be shown only as separately labeled drilldown support. Formal amounts continue to come solely from posted seller-liability and remittance journal-entry lines.

Standard statement meaning

  • The trial balance covers an inclusive start and end date. It shows posted debit and credit activity and the net debit or credit balance for each account in that range.
  • The balance sheet is cumulative through an inclusive as-of date. Assets use debit less credit; liabilities and equity use credit less debit.
  • Until explicit closing entries transfer temporary-account balances, the balance sheet shows one derived cumulative unclosed-earnings line equal to income credits less debits, minus expense debits less credits, through the as-of date. This line is a report subtotal, not an account or ledger entry.
  • The income statement covers an inclusive start and end date. Income uses credits less debits, expenses use debits less credits, and net income is total income less total expenses.
  • Negative balances remain visible. Normal balance helps explain an unusual balance but does not reverse the account-type formula.
  • Account code may order accounts within a report section for recognition; it must not classify them.

The launch statements use the major sections supported by canonical account type. Detailed revenue, cost-of-sales, operating-expense, current/noncurrent, or other configurable presentation groups require later accepted truth.

Live and captured results

  • A live result states its definition version, company, parameters, generated time, currency, availability, issues, and ledger-input fingerprint.
  • Empty ledger activity may produce an available zero report.
  • Missing accounts, wrong-company references, unsupported currencies, malformed parameters, incomplete source identity, or failed report equations produce visible unavailable results rather than partial formal statements.
  • An unavailable result cannot be captured as a ReportRun.
  • A captured run remains immutable and reviewable after ledger, account, or report-definition changes. Currentness is recomputed; it is never written back as if the historical snapshot changed.

Close and downstream use

  • Reporting owns report definitions, execution, snapshots, currentness, and drilldown.
  • Close stores only the exact ReportRun reference in its report pack and validates it through the Reporting-owned resolver.
  • The launch Close trial-balance run must be persisted, current, same-company, and parameterized to the exact target financial-period boundaries.
  • A later posting, correction, account classification change, or report definition change may make an earlier run noncurrent without deleting it.
  • Formal report drilldown resolves captured report lines to captured journal-entry and journal-line references. Current workflow state may be shown separately as support but cannot redefine the snapshot.

Security, recovery, and customer control

  • Viewing a formal live or persisted report requires company-scoped report.view authorization.
  • Capturing a ReportRun requires company-scoped report_run.capture authorization.
  • Successful, denied, and failed protected Reporting attempts preserve the audit context required by the Reporting Contract.
  • ReportRun identity, numbers, snapshots, audit links, and source references are company backup, restore, export, and recovery data.
  • Rendering, printing, and file export are presentation or export behavior. Export remains subject to the separate protected company-data export boundary.

Explicitly deferred

  • cash-flow statements;
  • comparative columns, budgets, forecasts, eliminations, and consolidation;
  • foreign-currency translation and exchange-rate presentation;
  • prior-period-adjustment and retrospective-restatement presentation;
  • configurable statement builders and customer-authored grouping formulas;
  • detailed account subgroups beyond canonical launch account types;
  • automated closing entries;
  • tax-basis or regulatory-basis financial statements;
  • rendering, printing, spreadsheet/PDF generation, and UI implementation; and
  • provider-specific report definitions.
  • ../contracts/reporting.contract.md
  • ../contracts/trial-balance.contract.md
  • ../contracts/account.contract.md
  • ../contracts/journal-entry.contract.md
  • ../contracts/accounting-correction.contract.md
  • ../contracts/close-run.contract.md
  • ../contracts/security/role-permission-contract.md
  • ../contracts/security/audit-event-contract.md
  • ../contracts/sales-tax-accounting-and-remittance.contract.md