Skip to main content

Payroll Technical Validation

Summary

Payroll combines imperative service checks with database uniqueness, but it has no consolidated validator pipeline or validation-result model.

Audience

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

Overview

Payroll combines imperative service checks with database uniqueness, but it has no consolidated validator pipeline or validation-result model.

Technical Detail

Implemented checks

Confirmed checks cover calendar-period shape, frozen-period recalculation, allowed lifecycle transitions, presence of run details before freeze, duplicate recovery application, balance sufficiency, frozen eligibility for payslips and bank export, future-period restrictions in compatibility flows, positive values for selected compatibility inputs, and required component naming.

Workforce and inputs

Active workforce selection and joining-date eligibility are implemented. Missing Attendance causes an employee skip. Other missing projections generally contribute zero. Input freshness checks occur in the consumer.

Stored but weakly enforced

Period close metadata, component recurrence, several status strings, and broader salary governance are stored without a dedicated invariant layer. Negative net is calculated rather than explicitly rejected. Duplicate editable runs are not prevented by a unique database rule.

Governance gaps

Approval hierarchy, finalization, formula approval, rounding policy, input completeness reporting, concurrency control, and post-freeze correction policy Require confirmation.

Source References

  • microservices/src/payroll-service/Application/PayrollCalculationService.cs
  • microservices/src/payroll-service/Application/PayrollOutputsService.cs
  • microservices/src/payroll-service/Application/PayrollCompatService.cs
  • microservices/src/payroll-service/Infrastructure/PayrollDbContext.cs

See Also

Keywords

  • Payroll Service
  • Payroll Technical Validation
  • Technical architecture

Revision Information

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