Skip to main content

Expense Payroll Projection Troubleshooting

Summary

Approved reimbursement is missing, rejected/Paid claim remains eligible, duplicate/stale evidence appears, or frozen payroll does not change.

Audience

  • Employees, managers, HR administrators, support engineers, developers, QA engineers, DevOps engineers, and solution architects, as applicable to the symptom.

Cause

Use the verified possibilities in Likely causes; do not infer an environment-specific cause without evidence.

Resolution

Use Safe resolution, then complete Validation. Stop and escalate if the required action exceeds approved access.

Symptoms

Approved reimbursement is missing, rejected/Paid claim remains eligible, duplicate/stale evidence appears, or frozen payroll does not change.

Scope

Expense outcome, outbox publication, Payroll consumer idempotency/staleness, projection, and calculation/freeze behavior.

Likely causes

  • Expense event not yet published
  • Payroll consumer has not processed it
  • Duplicate correctly ignored
  • Older event correctly ignored
  • Projection period/claimant mapping mismatch
  • Payroll run is frozen and cannot recalculate

Safe diagnostic steps

  • Confirm Expense claim status and occurrence
  • Check outbox state without reading payload
  • Check Payroll processed-event/audit evidence
  • Check projection status/period mapping through supported Payroll surfaces
  • Separate projection freshness from frozen-run immutability

Safe resolution

Allow normal relay/consumer retry or escalate mapping/reconciliation. Do not alter projections or frozen runs directly.

Validation

Payroll projection matches the newest accepted Expense outcome; eligible future calculation reflects only Approved state.

Evidence to collect

Claim/event status, publication state, consumer outcome, projection status/occurrence category, period, frozen-run flag, timestamps/correlation.

Escalation

Expense/messaging owner for publication; Payroll owner for consumption/projection; Finance/product for period/freeze policy.

Requires confirmation

Any corrective action beyond the supported resolution, incident ownership, response objectives, and production evidence locations require confirmation.

Source References

  • microservices/src/expense-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/payroll-service/Messaging/PayrollReadModelConsumer.cs
  • microservices/src/payroll-service/Application/PayrollCalculationService.cs

See Also

Keywords

  • Expense troubleshooting
  • Payroll Projection

Revision Information

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