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