Period close
The general ledger runs real accounting periods: they open, they close, and they lock. A closed period rejects new postings; a locked one rejects reopening. This is the workflow for month-end, and the order matters because a close is a one-way gate for everything upstream of it.The period lifecycle
The close, in order
1 β Sweep unposted entries
POST /api/v1/gl/journal-entries/{id}/post) or voided
(/{id}/void). A draft left behind is a number that changes after youβve reported it.
2 β Revalue foreign currency
3 β Reconcile the subledgers
The AR and AP views must agree with their control accounts:4 β Review the trial balance
5 β Close
The admin console runs this same close as a
dry run first with a per-step report, and requires typed confirmation for the real one.
Per-item failures do not abort a close β read the report rather than assuming success. If you close
via API, mirror that: check the responseβs per-step results, not just the status code.
6 β Report, then lock
The correction that arrives late
An invoice for June surfaces in July, after the close:- June closed but not locked β reopen, post, re-close. Cheap now, impossible later.
- June locked β post to July with a memo referencing the June document. Do not be tempted by
reverseon old entries to βmake roomβ:POST /api/v1/gl/journal-entries/{id}/reversecreates the reversal in the current period, which is correct behaviour β it will not un-happen June.
Related
- Order to cash β where the AR entries come from
- Procure to pay β where the AP entries come from
- General ledger reference