Adds accounting-service PATCH/archive, fiscal helpers, COA templates and setup status, plus SuperApp Accounting UI (DS, scoreboard, masters, vouchers, ledger, ops modules) with session refresh and HTTPS public API URLs. Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
# 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)
|