Expense Outbox and Processed-Event Storage
Summary
Outbox messages persist event identity, type, serialized contract, delivery status, retry/error evidence, correlation, source, occurrence, and processing time. Event identity is unique; status/occurrence is indexed for relay scans. Pending and failed records are selected oldest-first.
Audience
Backend developers, database reviewers, QA, architects, DevOps, support, and implementation teams.
Confirmed persistence
Outbox messages persist event identity, type, serialized contract, delivery status, retry/error evidence, correlation, source, occurrence, and processing time. Event identity is unique; status/occurrence is indexed for relay scans. Pending and failed records are selected oldest-first.
The processed-event ledger has its own identity and a unique integration-event identity for future inbound idempotency. No Expense inbound consumer currently uses it.
Outbox and processed-event stores have no tenant query filter in the confirmed model. Access control, retention, replay, dead-letter, and cross-tenant operational governance require confirmation.
Requires confirmation
Production migration governance, retention, archival, masking, performance targets, concurrency roadmap, operational-store access, and rollback ownership remain unconfirmed unless narrowed above.
Source References
microservices/src/expense-service/Infrastructure/ExpenseDbContext.csmicroservices/src/expense-service/Infrastructure/Persistence.cs
Related Articles
See Also
Keywords
- Expense database
- Outbox Storage
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly