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
Unmapped event
Financial Event Bus →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
