Skip to main content

Leave Input Boundary

Summary

Payroll projects approved, rejected, and cancelled Leave events into monthly paid/unpaid and decision counters.

Audience

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

Overview

Payroll projects approved, rejected, and cancelled Leave events into monthly paid/unpaid and decision counters.

Technical Detail

Projection behavior

Approved Leave increments paid or unpaid totals using source metadata. Rejected and cancelled events increment separate counters. Calculation consumes paid and unpaid totals; missing Leave input behaves as zero.

Idempotency and staleness

Exact event replay is ignored and strictly older events are rejected. Accepted events update the monthly projection additively. Reversal of a previously accumulated approval and event correction semantics are not fully modeled.

Compatibility differences

Historical/compatibility inputs may already include Leave within Attendance summaries. Avoiding double counting across sources is a Transitional data-governance responsibility and Requires confirmation for each migration source.

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/Application/PayrollCompatService.cs

See Also

Keywords

  • Payroll Service
  • Leave Input Boundary
  • Technical architecture

Revision Information

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