All documentation

Core concepts

Effective dating and history

Why the product answers questions as of a date rather than storing only what is true now.

Everything that varies over time is dated rather than overwritten. An engagement and a compensation record each carry a start date and an optional end date, and a question is always answered as of a date.

This is not archival tidiness. A payslip was posted to the address somebody lived at then; leave accrued in a previous year belongs to the engagement in force in that year; a payroll run reopened in two years has to reproduce what was filed, not what is true now.

Corrections are additive

Leave ledger
Insert-only. A mistake is corrected by posting a reversal that points at the original entry, never by editing or deleting it. A balance is the sum of the entries, so there is no balance field that could disagree with them.
Addresses
A change supersedes rather than overwrites, because something was already sent to the old one.
Agreements
An amendment chains to the document it supersedes. What somebody actually signed stays recoverable.
Payroll snapshots
Immutable once emitted. A correction is a later snapshot with a sequence number, never a rewrite of a closed period.

Settings changes never rewrite history

Editing a leave policy changes what happens next; entries already posted keep their own minutes and their own policy reference. Deleting a policy the ledger points at is refused, because that link is how somebody answers what rules a balance was credited under.