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