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.csmicroservices/src/payroll-service/Messaging/PayrollReadModelConsumer.csmicroservices/src/payroll-service/Application/PayrollCalculationService.cs
Related Articles
See Also
Keywords
- Payroll Service
- Attendance Input Boundary
- Technical architecture
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly