Fiscal period closing lifecycle
The Lifecycle
Transitions Explained
A close first protects the month, then rechecks readiness and performs recognition before finalization. Finalization commits the closed state with retained evidence and the aging request. Revalidation refusal releases the month. A finalization failure can also release it when recognition has not committed.
A reopen preserves prior attribution in its run, clears it from the period, reverses recorded revenue and returns the month to open. Eligible cancellation restores the previous closed state. Other failures retain the protected working state for recovery.
What Cannot Happen
The writer rejects direct open-to-closed and closed-to-open changes, crossovers between the working states, unchanged-state requests and stale expected states. Sequence validation also rejects a close with an earlier outstanding month or a reopen with a later non-open month. Those checks do not establish race prevention across different period rows.
Concurrency and Timing
The target period’s row orders changing tasks against postings into that month. Lock waits and task retries have finite execution limits, but the resulting closing or reopening state has no automatic expiry. A failed or unstarted run can therefore require a person to discover and recover it.