Skip to main content

Payroll Event Idempotency and Ordering

Summary

This page documents confirmed payroll event idempotency and ordering behavior and explicitly marks incomplete integration boundaries.

Audience

Payroll and integration developers, QA and support engineers, solution and security architects, and implementation partners.

Event identity

Outbound contracts receive a new event identity; the outbox enforces unique event identity. Payroll inbound processing stores successfully synchronized event identities in ProcessedIntegrationEvent.

Duplicate and stale handling

The consumer checks the processed ledger before dispatch. Each projection also retains last-event identity/time, and an event older than the stored occurrence time is audited and ignored. Successfully synchronized projection state, audit, and processed marker share one local save.

Ordering and partitioning

Projection ordering uses occurrence timestamps per logical projection. Equal timestamps are not explicitly ordered. Payroll outbox reads occurrence order, but broker and multi-consumer ordering/partition behavior is not established by source.

Replay

Redelivery with the same identity is ignored after successful processing. Replay with a new identity is treated as a new event and may be rejected only if older than the projection timestamp.

Correlation and causation

Outbound Payroll supplies correlation text but leaves causation empty. Inbound Payroll parsing does not retain correlation or causation.

Delivery semantics

At-least-once-like redelivery defenses exist, but no exactly-once claim is made.

Requires confirmation

  • Partition key and ordering contract.
  • Equal-timestamp conflict resolution and controlled replay procedure.

Source References

  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/payroll-service/Domain/PayrollEntities.cs
  • microservices/src/shared-kernel/Outbox/OutboxMessage.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs

See Also

Keywords

  • Payroll events
  • Payroll Event Idempotency and Ordering
  • Integration contracts

Revision Information

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