LedgerOS · Phase 5 · M12

Accounting Acceptance Tests

Scenario catalog exercising the accounting engine through its canonical surfaces.

How to use this catalog
  • • Execute each scenario on its named surface — no shortcuts.
  • • The accounting engine is the only writer to journals.
  • • Confirm the expected outcome and record the run in your test log.
  • • AI assistance during test runs is advisory-only.
Revenue
2 scenarios
Post a customer invoice
Invoices

Create an invoice with taxable line items and confirm journal + AR.

Expected
  • Balanced journal: DR Accounts Receivable, CR Revenue, CR Tax Payable
  • Trial balance still ties
  • AR aging reflects the invoice
Recurring invoice generation
Recurring invoices

Confirm the next occurrence produces a new draft honoring the schedule.

Expected
  • New draft created
  • No duplicates on re-run
  • Audit trail present
Payments
1 scenarios
Apply a customer payment
Payments

Match a payment to an open invoice, in full and then partial.

Expected
  • Balanced journal: DR Cash, CR Accounts Receivable
  • Invoice status transitions to Paid / Partially Paid
  • AR aging reflects the change
Expenses
2 scenarios
Record a vendor bill
Bills

Create a bill with expense allocations and confirm AP.

Expected
  • Balanced journal: DR Expense (or Inventory), CR Accounts Payable
  • AP aging reflects the bill
Pay a vendor bill
Bills

Apply a payment against an open bill.

Expected
  • Balanced journal: DR Accounts Payable, CR Cash
  • Bill marked Paid; AP aging updates
Refunds
1 scenarios
Issue a credit note and refund
Credit notes

Create a credit note against an invoice, then a customer refund.

Expected
  • Credit note reduces AR
  • Refund journal: DR Credit balance / Revenue contra, CR Cash
  • Audit trail links credit → refund
Errors
2 scenarios
Rejected event recovery
Financial Event Bus

Fire an invalid payload, confirm rejection, then a valid retry.

Expected
  • financial_events row in error/rejected
  • sync_history reflects the failure
  • Retry with valid payload succeeds without duplicate side effects

Emit an external event with no mapping and confirm it lands as pending.

Expected
  • Event visible on the bus in pending state
  • No materialization occurs until mapping is created
Reconciliation
1 scenarios
Bank reconciliation
Banking

Reconcile a bank statement against ledger transactions.

Expected
  • Matched transactions cleared
  • Unmatched items flagged for follow-up
  • Ending balance ties to statement
Close workflow
1 scenarios
Close a fiscal period
Close

Run the close checklist and confirm the period locks.

Expected
  • All close tasks complete
  • Period marked Closed
  • Post-close entries blocked without override