Skip to main content

Expense Payment Events

Summary

ExpensePaid is an outcome event raised when an approved claim is marked paid. Expense does not execute or reconcile a payment through this event.

Confirmed flow

The aggregate rejects mark-paid transitions from any status other than Approved. Payroll updates its projection status to Paid, which excludes that projection from the set counted as approved reimbursement. Notification resolves a paid notification intent.

Not implemented

  • Payment initiation event
  • Payment batch event
  • Payment settlement or reconciliation event
  • Payment failure or reversal event
  • Consumer acknowledgement back to Expense

Requires confirmation

The authoritative payment executor, reconciliation ownership, correction behavior, and relationship between paid outcome and external settlement require confirmation.

Source References

  • microservices/src/expense-service/Domain/Expense/ExpenseClaim.cs
  • microservices/src/expense-service/Domain/Expense/ExpenseDomainEvents.cs
  • microservices/src/expense-service/Infrastructure/ExpenseDbContext.cs
  • microservices/src/contracts/Events/ExpenseLifecycleEvents.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs

See Also

Keywords

  • Expense events
  • Payment Events
  • Integration contracts

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-16
  • Review cycle: Quarterly