Attendance Projection Storage
Summary
Payroll-local attendance projection persistence and freshness controls.
Audience
Payroll developers, QA and support engineers, solution and security architects, and implementation partners.
Reference Content
The sections below describe the confirmed logical storage contract and its implementation boundaries.
Purpose
Describe the local AttendancePayrollSnapshot consumed by Payroll calculation.
Ownership
Payroll owns the projection; Attendance remains the upstream source of attendance facts.
Lifecycle
Inbound events or backfill create/update one tenant/employee/period snapshot. Last-event identity and occurrence time support duplicate/stale update handling.
Persisted fields
The projection contains tenant/employee/period identity, day and hour outcome summaries, a structured breakdown, event-version markers, and update time.
Relationships
It logically supplies PayrollRunDetail calculation inputs but has no foreign key to an employee, period, run, or detail.
Constraints
A unique tenant/employee/year/month index enforces one projection record per period.
Indexes
The unique projection identity is the only explicit attendance-snapshot index.
Tenant behavior
The global filter applies to normal reads. Consumer and backfill logic use explicit tenant scope when filters are bypassed.
Audit behavior
Inbound synchronization and backfill completion create Payroll audit evidence; field-level projection history is not retained.
Integration usage
The consumer commits a synced projection, its processed-event marker, and audit evidence in one SaveChanges call. Broker acknowledgement follows that commit.
Known limitations
Freshness depends on event/backfill processing. The snapshot does not preserve a full source history.
Requires confirmation
- Reconciliation SLA and response to missing or late attendance events.
- Retention of superseded attendance evidence in the upstream system.
Source References
microservices/src/payroll-service/Infrastructure/PayrollDbContext.csmicroservices/src/payroll-service/Domain/PayrollEntities.csmicroservices/src/payroll-service/Infrastructure/Migrations/PayrollDbContextModelSnapshot.csmicroservices/src/payroll-service/Messaging/PayrollReadModelConsumer.csmicroservices/src/payroll-service/Backfill/AttendanceSnapshotBackfill.cs
Related Articles
See Also
Keywords
- Payroll database
- Attendance Projection Storage
- Payroll persistence
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly