Expense Integration Events
Summary
Three shared outbound contracts represent Expense lifecycle outcomes. Each uses the common integration-event envelope and is emitted at schema version 1.
Audience
Contract producers and consumers, integration developers, QA engineers, architects, and maintainers.
Reference Content
Outbound contracts
| Contract | Event type | Lifecycle meaning | Confirmed consumers | Version |
|---|---|---|---|---|
| ExpenseApprovedEvent | ExpenseApproved | Claim became approved | Payroll, Notification | 1 |
| ExpenseRejectedEvent | ExpenseRejected | Claim became rejected | Payroll, Notification | 1 |
| ExpensePaidEvent | ExpensePaid | Approved claim was marked paid | Payroll, Notification | 1 |
The contracts contain envelope identity, type, occurrence, lineage, source, and schema-version fields plus lifecycle-specific business fields. This public documentation intentionally describes field categories rather than payload examples or customer values.
Contract mapping performs completeness checks before an outbox row is written. Nullable fields appended to the contracts provide additive compatibility for existing consumers.
Inbound contracts
Expense has no confirmed inbound event consumer or subscription. Not implemented.
Absent outbound contracts
ExpenseCreatedEvent, receipt contracts, workflow contracts, and payment-execution contracts are Not implemented by Expense.
Requires confirmation
Formal compatibility policy, contract registry ownership, deprecation windows, and support for versions beyond version 1 require confirmation.
Source References
microservices/src/contracts/Events/IntegrationEvent.csmicroservices/src/contracts/Events/ExpenseLifecycleEvents.csmicroservices/src/expense-service/Infrastructure/ExpenseDbContext.cs
Related Articles
See Also
Keywords
- Expense events
- Integration Events
- Integration contracts
Revision Information
- Status: Draft
- Last reviewed: 2026-07-16
- Review cycle: Quarterly