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.