Skip to main content

Payroll Workforce Projection

Summary

Payroll maintains a local employee projection populated by lifecycle events and historical backfill, then selects active projected employees for calculation.

Audience

Backend and frontend developers, QA and DevOps engineers, support and security engineers, and solution architects.

Overview

Payroll maintains a local employee projection populated by lifecycle events and historical backfill, then selects active projected employees for calculation.

Technical Detail

Source and ownership

Employee master data remains outside Payroll. The consumer projects employee lifecycle changes into a Payroll-local profile carrying organizational, employment, compensation, time, and output context needed by Payroll.

Activity and eligibility

Confirmed inactive, terminated, or relieved statuses make the projection inactive. Calculation selects projections marked active; joining date limits eligible days. A termination date is not separately modeled.

Event identity and staleness

Processed event identities prevent exact replay. Per-projection event time rejects strictly older events. Equal-time ordering, deleted employees, full reconciliation, and missed-event recovery beyond backfill are Requires confirmation.

Backfill

The backfill runner populates employee projections before dependent Payroll read models and supports resumable, audited processing.

Source References

  • microservices/src/payroll-service/Domain/PayrollEntities.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/payroll-service/Application/PayrollCalculationService.cs
  • microservices/src/payroll-service/Backfill/PayrollBackfillRunner.cs

See Also

Keywords

  • Payroll Service
  • Payroll Workforce Projection
  • Technical architecture

Revision Information

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