Skip to main content

Attendance Input Boundary

Summary

Payroll consumes a monthly Attendance projection produced from submitted or approved Attendance events and requires that projection before calculating an employee.

Audience

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

Overview

Payroll consumes a monthly Attendance projection produced from submitted or approved Attendance events and requires that projection before calculating an employee.

Technical Detail

Projection content

The local snapshot carries paid-unit categories, approved hours, overtime, shortfall, an evidence breakdown, and last-event metadata. Payroll adds manual overtime separately and does not recalculate Attendance.

Synchronization

Exact duplicate event identities are ignored; strictly older events are rejected per snapshot. Accepted events increment monthly totals. Correction/replacement semantics, equal-time ordering, and replay reconciliation are Requires confirmation.

Missing input

Calculation skips an otherwise active workforce member when the period snapshot is absent. It does not fail the whole run or emit a dedicated validation result for the skip.

Freeze relationship

Attendance owns a Payroll lock check against frozen Payroll periods. Payroll itself treats its stored input and outcomes as stable after freeze; an immutable input-version link is not persisted.

Source References

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

See Also

Keywords

  • Payroll Service
  • Attendance Input Boundary
  • Technical architecture

Revision Information

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