Skip to main content

Carry Forward Storage

Summary

CarryForwards is a persisted Foundation record for units moved between years; no scheduler, command orchestration, workflow, or public API is implemented.

Audience

Backend developers, QA, architects, and future year-end processing owners.

Reference Content

The record stores an integer identity, tenant, user, Leave-type string, source and target years, units, processing actor identifier, and processing time. A non-unique index covers tenant + user + Leave type + target year. It has a tenant query filter but no unique constraint, status, error state, batch/run identity, or foreign keys.

LeaveBalance contains a carried-forward value and a domain method for applying it, but no source-confirmed application workflow connects that method to CarryForwardRecord. Duplicate prevention and source/target-year rules are application gaps rather than database constraints.

Source References

  • microservices/src/leave-service/Domain/Leave/LeaveExtras.cs
  • microservices/src/leave-service/Domain/Leave/LeaveBalance.cs
  • microservices/src/leave-service/Infrastructure/LeaveDbContext.cs
  • microservices/src/leave-service/Infrastructure/Persistence.cs

See Also

Keywords

  • Carry forward
  • Foundation
  • Year transition

Revision Information

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