Payroll Outbox and Delivery
Summary
This page documents confirmed payroll outbox and delivery behavior and explicitly marks incomplete integration boundaries.
Audience
Payroll and integration developers, QA and support engineers, solution and security architects, and implementation partners.
Outbox model
Outbox records retain message/event identity, type, serialized contract, occurrence time, status, processing time, retry count, bounded failure detail, correlation, tenant metadata, and source.
SaveChanges participation
The event intent is atomic with each confirmed native Payroll operation. Status updates by the shared processor use later SaveChanges calls.
Relay and processing
The shared processor reads Pending and Failed records in occurrence order, publishes one at a time, and records Processed or Failed state. The store increments retry count on failure. A Payroll-hosted execution loop is Requires confirmation.
Retry and replay
Failed records remain eligible for later processing. No Payroll-specific attempt limit, delay policy, dead-letter transition, manual replay workflow, or purge policy is confirmed.
Delivery claim
Guaranteed, exactly-once, and ordered delivery are not claimed. A successful publish result and a later status save are separate operations.
Operational ownership
The shared kernel supplies the processor; Payroll supplies the store. Runtime ownership and alerting require confirmation.
Source References
microservices/src/shared-kernel/Outbox/OutboxMessage.csmicroservices/src/shared-kernel/Messaging/OutboxProcessor.csmicroservices/src/payroll-service/Infrastructure/Persistence.csmicroservices/src/payroll-service/Program.csmicroservices/src/payroll-service/Infrastructure/PayrollDbContext.cs
Related Articles
See Also
Keywords
- Payroll events
- Payroll Outbox and Delivery
- Integration contracts
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly