- Documentation
- /
- Fins
- /
- Quick Reference
Quick Reference
Menu map
| Group | Models |
|---|---|
| Master Data | Company · Currency · FiscalPeriod · GLAccount · CostCentre · ProfitCentre · TaxCode · DocumentNumberSequence |
| Business Partners | Supplier · Customer |
| Journals | JournalBatch · JournalEntry · JournalLine |
| Accounting Documents | AccountingDocument · AccountingDocumentLine |
| Message Processing | InboundMessage · PostingAttempt · PostingError · Acknowledgement |
| Failure Simulation | SimulationRule · SimulationRuleHit |
| Events & Webhooks | WebhookSubscription · OutboundEvent |
23 models in total.
Key status vocabularies (enums)
- JournalBatch.status: DRAFT · RECEIVED · VALIDATING · VALIDATED · POSTING · POSTED · REJECTED
- InboundMessage.status: RECEIVED · DUPLICATE · VALIDATING · VALIDATED · POSTING · POSTED · REJECTED · TEMPORARY_FAILURE
- InboundMessage.message_type: JOURNAL_VALIDATE · JOURNAL_POST · JOURNAL_STATUS
- PostingAttempt.operation / status: VALIDATE·POST / STARTED · SUCCEEDED · REJECTED · TEMPORARY_FAILURE
- Acknowledgement.type: VALIDATED · POSTED · REJECTED · DUPLICATE · TEMPORARY_FAILURE
- AccountingDocument.status: POSTED · REVERSED
- GLAccount.account_type: ASSET · LIABILITY · EQUITY · REVENUE · EXPENSE (normal_balance DEBIT/CREDIT)
- FiscalPeriod.status: OPEN · CLOSED · LOCKED
- TaxCode.input_output: INPUT · OUTPUT · NONE
- SimulationRule.rule_type: MATCH · PROBABILITY · LATENCY · FORCED_RESPONSE (response_status REJECTED / TEMPORARY_FAILURE / DELAY_ONLY)
- OutboundEvent.delivery_status: PENDING · DELIVERED · FAILED
The posting flow, in the demo codes
Success: message CPM-WO-28441-001 (JOURNAL_POST, corr CORR-WO-28441) → batch
JB-2027-51000001 (POSTED, 4,850 Dr = 4,850 Cr) → entry + 4 lines → accounting document
5100000001 + 4 lines → 2 posting attempts (VALIDATE ✓, POST ✓) → POSTED ack →
finance.document.posted event.
Rejection: message CPM-WO-28442-001 → batch JB-2027-51000002 (REJECTED) → validate attempt
422 COST_CENTRE_INVALID → posting error (field cost_centre_code, value BAD-MINE, not
retryable) → REJECTED ack. Simulation rule SIM-TEMPFAIL-CPM (force TEMPORARY_FAILURE on
CORR-WO-28442) + its hit.
The demo data set
Company 1000 (DSLCore Demo Resources Pty Ltd, AUD): 11 GL accounts, 3 cost centres, 3 profit centres, 3 GST tax codes, 1 supplier, 1 customer, 3 fiscal periods (P02 CLOSED, P03/P04 OPEN), a GL_JOURNAL number sequence — plus the two posting flows above. 56 rows across all 23 models.
Modelling notes
- The pack ships its
.dslalready in the native dbdiagram dialect, so it was used essentially verbatim (no translation/converter).Decimal→Numeric(10,2),Date→Dateare handled natively by codegen. - Denormalisation is intentional and pervasive (per the DSLCore denorm philosophy): most
child rows carry
company_code,gl_account_code,cost_centre_code, etc. alongside the FK — mirroring how a real ERP interface message carries codes, not surrogate keys. Post-seed denorm scan: zero Text leaks. - No
EventOutbox/ExternalReferencein this pack —OutboundEventis the app's own outbox, andInboundMessageits inbox. This app is a first-class integration endpoint, not a domain app. - Validation, posting, idempotency, simulation-rule evaluation and event delivery are Phase 2 (page 03) — Phase 1 models the outcomes statically.