Skip to main content

Payroll Event Contract Versioning

Summary​

This page documents confirmed payroll event contract versioning behavior and explicitly marks incomplete integration boundaries.

Audience​

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

Current version​

All four Payroll publishers construct shared contracts with schema version 1. No Payroll version 2 contract, deprecation marker, compatibility adapter, or version-specific handler exists.

Envelope and mapping​

The shared base contract includes SchemaVersion. The serialized outbox payload retains the field, but the Payroll outbox record does not have a dedicated schema-version field. The shared outbox processor metadata builder does not copy schema version, causation, or user context into publication metadata. Generic consumers default missing version metadata to version 1.

Compatibility​

Payroll's inbound projection consumer does not parse or dispatch on schema version. It reads supported field aliases from the body, which is Transitional compatibility behavior rather than a governed versioning strategy.

Evolution​

The version remains available in the serialized contract body, while relay metadata and inbound Payroll dispatch do not currently enforce it.

Requires confirmation​

  • Compatibility and deprecation policy for a future schema version.
  • Header/payload version consistency validation.
  • Consumer behavior for unsupported versions.

Source References​

  • microservices/src/contracts/Events/IntegrationEvent.cs
  • microservices/src/contracts/Events/PayrollCalculatedEvent.cs
  • microservices/src/contracts/Events/PayslipGeneratedEvent.cs
  • microservices/src/shared-kernel/Outbox/OutboxMessage.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/payroll-service/Infrastructure/Persistence.cs
  • microservices/src/payroll-service/Program.cs

See Also​

Keywords​

  • Payroll events
  • Payroll Event Contract Versioning
  • Integration contracts

Revision Information​

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