cifraHQ Enterprise
Period close

Close is a state machine. Not a permission you forgot to revoke.

Six explicit states, asymmetric sales and purchasing locks, a guided year-end close and irreversible posting. What your auditors will call evidence.

The six states

A period's lifecycle

Day to day

<code>Unlocked</code>

The period accepts normal postings. Sales, purchases, adjustments — every document flows to the GL.

Transition

<code>LockSales</code> / <code>LockPurchasing</code>

Asymmetric locks. You can close AR while AP stays open, or vice versa. That is how close works in the real world.

Final

<code>Locked</code> → <code>Closed</code>

<code>Locked</code> blocks all posting. <code>Closed</code> is reached only at year-end close — a sensible point of no return.

Asymmetric locks

Why AR and AP close separately

The manual says "close the month." Reality says "close sales on day 3, close purchases on day 8." A system that forces both to close at once forces the accountant to delay a correct sales invoice waiting for a late vendor bill.

  • LockSales. Sales, credit notes and customer receipts stop modifying the period. AP stays open until the last vendor bill arrives.
  • LockPurchasing. The inverse: purchasing closed, sales open. Useful when purchasing closed early in the month.
  • LockSalesAndPurchasing. Both closed, but accountant adjustments (reclasses, accruals) still allowed.
  • Locked. All posting blocked. The only way out is transitioning to Closed (year-end) or reversing with explicit permission.
Guided year-end close

Three auditable steps

  • Step 1: the system generates the closing entry. Reverses accruals, closes P&L accounts into RetainedEarnings, balances FX variance.
  • Step 2: the user reviews and approves. The draft is presented line by line with explanations. Nothing posts at this point.
  • Step 3: atomic posting. The system posts the entry, transitions all twelve periods of the year to Closed and creates the twelve periods of the new year in Unlocked.
  • Reversal available but costly. Requires elevated PostingPeriod.ReverseClose permission and a 20-character minimum reason. The event is recorded in AuditEvents.
Immutability of posted work

What you cannot do

  • You don't edit a posted invoice. You void it and issue a credit or debit note. History is preserved.
  • You don't post into a Locked period. The posting engine checks the period state by PostingDate before writing to the GL.
  • You don't modify ActualPostingDate. Once stamped at post time, it's immutable. Evidence for the auditor.
  • Every transition is logged. UnlockedLockSales, LockedUnlocked reversed, year-end Closed — every one of them to AuditEvents.

Let's simulate a close with your data

Technical demo that walks through the full flow: locks, adjustments, year-end close and audited reversal.

Schedule