ERP Finance Simulator
A finance integration test-double — a SAP-style ERP finance boundary that lets you exercise Orchestrator mappings, journal validation, posting, acknowledgements, idempotency and failure handling without touching a production ERP.
Its central question:
When a domain application (e.g. maintenance/CPM) sends a finance posting, does it validate against real GL/master data, post to an accounting document, acknowledge correctly — and when it's wrong or a failure is simulated, does it reject deterministically with the right error and a clean acknowledgement?
It is the counterparty the other apps post to: the Orchestrator maps a domain event into a canonical journal and calls this simulator, which behaves like the finance system of record for the purposes of an integration test.
The posting boundary
Inbound Message → (validate) → Journal Batch → Entries → Lines → (post) → Accounting Document → Acknowledgement, with Posting Attempts, Posting Errors, Simulation Rules (forced failures), Webhooks and Outbound Events around it.
The documents
| Page | What's in it |
|---|---|
| 00 — Overview | What the app is, the domain, the 23 models by area, the demo scenario |
| 01 — Quick Reference | Menu map, every model, key status vocabularies, the demo data set |
| 02 — System Diagram | The finance-boundary data model as a diagram (+ interactive viewer) |
| 03 — Phase 2 Scope | The runtime not yet built: validation, posting, idempotency, simulation, delivery |
Status
Phase 1 (built): all 23 models render as an AI-Safe CRUD register with a dashboard, seeded with a coherent posting flow — one successful maintenance posting and one rejected one (23 tables, 56 rows).
Phase 2 (scoped, not built): the message validation/posting engine, idempotency/duplicate detection, failure-simulation rule evaluation, acknowledgement generation and outbound-event delivery — see page 03.
Prototype system; draft. All companies, accounts, partners and transactions in the demo data are fictional. This is a test double, not a system of record.