Skip to main content

Payroll Operations Documentation

Summary

Complete source-backed operations documentation for Payroll, including confirmed implementation, Transitional boundaries, unsupported capabilities, and safe operating guidance.

Audience

Payroll users, developers, QA and support engineers, architects, product owners, and implementation reviewers.

Overview

Scope and operating posture

This section covers the confirmed Payroll runtime, configuration categories, startup order, hosted projection consumer, health and telemetry, calculation lifecycle, projection synchronization, outbox state, payslip and export handling, cutover/rollback evidence, smoke testing, support, and escalation. It deliberately omits environment values, infrastructure topology, credentials, and copy-paste operational commands.

Payroll is Transitional: native and compatibility request paths share Payroll persistence while lifecycle and error semantics can differ. Operators must identify the path in use before interpreting a status or attempting recovery. Foundation capabilities are usable building blocks but are not evidence of end-to-end automation. Items marked Requires confirmation need owner evidence before production reliance; Not implemented means the reviewed source contains no such capability.

Runtime control map

ConcernConfirmed behaviorOperational classification
HTTP runtimePayroll endpoints, compatibility endpoints, persistence, authentication/context middleware, and OpenAPI/health wiring are registeredTransitional
Hosted workPayrollReadModelConsumer synchronizes upstream Employee, Attendance, Leave, and Expense eventsFoundation
CalculationNative calculation reads Payroll-owned projections; compatibility calculation/save behavior also existsTransitional
Freeze/unfreezeReversible lifecycle operations; native and compatibility unfreeze statuses differTransitional
Payslip and bank outputNative output requires frozen data; compatibility payslip/PDF behavior also existsTransitional
OutboxEvent intent is persisted with Payroll changesFoundation; relay ownership Requires confirmation
HealthShallow service health endpointFoundation; dependency readiness Not implemented
TelemetryShared structured logging and tracing registrationFoundation; Payroll-specific metrics Not implemented
CachingNo Payroll-specific cache confirmedNot implemented
Payment/accountingNo execution, acknowledgement, reconciliation, or ledger postingNot implemented

Safe operating principles

  • Correlate by tenant, period, run, employee reference, request correlation, and event identifier; do not place employee or compensation data in tickets.
  • Inspect before mutating. A retry is safe only after confirming the previous request did not commit.
  • Never edit Payroll or projection tables as a recovery shortcut.
  • Treat freeze as reversible locking, not payment, posting, approval, or irreversible finalization.
  • Validate projection freshness before calculation and outbox disposition after state-changing operations.
  • Stop and escalate when ownership, tenant context, lifecycle path, or delivery outcome cannot be proved.

Documentation map

Operational entry points

Use runtime operations and configuration/startup for service readiness. Use calculation and lifecycle operations, projection synchronization, outbox operations, and output operations during Payroll processing. Release and support teams should use cutover/rollback, smoke testing, and the support checklist.

Source References

  • microservices/src/payroll-service/Program.cs
  • microservices/src/shared-kernel/Extensions/ObservabilityExtensions.cs
  • microservices/src/payroll-service/Infrastructure/PayrollDbContext.cs
  • microservices/src/payroll-service/Infrastructure/Persistence.cs
  • microservices/src/payroll-service/Application/PayrollCalculationService.cs
  • microservices/src/payroll-service/Application/PayrollCompatService.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/contracts/Events/PayrollCalculatedEvent.cs
  • microservices/src/contracts/Events/PayslipGeneratedEvent.cs
  • microservices/src/payroll-service/Application/PayrollOutputsService.cs
  • microservices/docs/payroll-cutover-runbook.md
  • microservices/scripts/compare-payroll-parity.ps1
  • microservices/scripts/payroll-cutover-go-no-go.ps1
  • microservices/scripts/smoke-payroll-cutover.ps1
  • microservices/scripts/smoke-payroll.ps1
  • scripts/validate-payroll-scenarios.ps1

See Also

Keywords

  • Payroll operations
  • Payroll module

Revision Information

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