Skip to main content

Payroll Projection Events

Summary

This page documents confirmed payroll projection events behavior and explicitly marks incomplete integration boundaries.

Audience

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

Reference Content

PayrollReadModelConsumer subscribes to 11 confirmed upstream event types:

  • Employee: EmployeeCreated, EmployeeUpdated, EmploymentStatusChanged.
  • Attendance: AttendanceApproved, AttendanceSubmitted.
  • Leave: LeaveApproved, LeaveRejected, LeaveCancelled.
  • Expense: ExpenseApproved, ExpenseRejected, ExpensePaid.

The consumer maintains EmployeePayrollProfile, AttendancePayrollSnapshot, LeavePayrollSnapshot, and ApprovedExpenseSnapshot. Unsupported or incomplete events are audited/skipped. No outbound Payroll event is generated from projection synchronization.

Transactional boundary

A successful projection update, audit record, and processed-event marker share one SaveChanges call. Broker acknowledgement follows the commit.

Known limitations

The local envelope parser does not carry schema version, correlation, or causation. Payload compatibility is field-name tolerant and Transitional rather than a formally version-dispatched consumer.

Source References

  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/payroll-service/Domain/PayrollEntities.cs
  • microservices/src/contracts/Events/EmployeeCreatedEvent.cs
  • microservices/src/contracts/Events/EmployeeUpdatedEvent.cs
  • microservices/src/contracts/Events/EmploymentStatusChangedEvent.cs
  • microservices/src/contracts/Events/AttendanceLifecycleEvents.cs
  • microservices/src/contracts/Events/LeaveLifecycleEvents.cs
  • microservices/src/contracts/Events/ExpenseLifecycleEvents.cs

See Also

Keywords

  • Payroll events
  • Payroll Projection Events
  • Integration contracts

Revision Information

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