# ADR-010: Posting Engine Ownership for Accounting Entries | Field | Value | | --- | --- | | Status | Accepted | | Date | 2026-07-22 | | Deciders | Platform Architecture | | Supersedes | — | | Superseded by | — | ## Context Future Accounting must prevent inconsistent double-entry writes from multiple modules creating journal lines ad hoc. ## Decision No service or UI may create `JournalEntry` / journal lines directly. All financial postings go through a dedicated Posting Engine owned by the Accounting module. Other modules emit posting intents/events; Accounting validates and posts. ## Consequences ### Positive - Single source of truth for ledger integrity - Auditable, compliance-friendly postings ### Negative - Modules must wait for Accounting contracts before financial write-paths ## Alternatives Considered 1. Each module writes its own journal tables 2. Shared journal library embedded in every service ## Related Documents - [Compliance Architecture](../compliance-architecture.md) - [Module Registry](../../module-registry.md) - [Project Principles](../../development/project-principles.md) - [Phases / Accounting](../../phases/Accounting/README.md)