/accounting/periods (navigation: Finance → Periods & Close).
📷 Screenshot: A period row in OPEN status with the “Close period” button — to be added.
When to close a period
Close a period when:- All invoices, bills, expenses, payments, and payroll for the period are entered and posted.
- Bank and sub-ledger reconciliations for the period are done.
- You’ve reviewed the trial balance and statements for the period and they’re final.
How to close a period
- Open Finance → Periods & Close (
/accounting/periods). - Find the period in the Accounting periods list. Open periods show a green OPEN badge.
- Click Close period on that row.
- The badge flips to CLOSED and you’ll see a “Period closed” confirmation.
📷 Screenshot: Period list after closing, showing the CLOSED badge and the “Reopen period” button — to be added.
What closing locks
Once a period is CLOSED, any attempt to post a transaction whose posting/entry date falls inside the period’s window is blocked. This applies across the whole accounting book, because every money movement in Hitaji ultimately posts through the general ledger:- Manual journal entries (post, reverse, and submit-for-approval are all guarded).
- Sales invoices and credit notes.
- Bills and expenses.
- Customer and supplier payments.
- Payroll runs and statutory postings.
- Journal entries pushed in from other Hitaji products (SACCO, payments, POS) through the accounting integration.
PERIOD_CLOSED— “Period ‘<name>’ is closed; posting requires the ‘post-to-closed-period’ role.”
The override exception
A closed period is not absolutely sealed. A user holding the period-override role (post-to-closed-period / accounting:override-period-lock) can still post into a closed period when a genuine correction is unavoidable. This is intentional — it lets finance make a controlled adjustment without reopening the period for everyone. Every such posting still lands in the audit trail.
If you need a period that no one can post into, even with the override role, that is the LOCKED state, which is returned to a postable state only through the maker-checker reopen workflow.
What closing does not do
- It does not post any journal entry. Closing a month is purely a control flag; it moves no balances. (Rolling revenue and expense into retained earnings is a separate, deliberate step — see Year-End Close.)
- It does not change your reports. Trial balance, balance sheet, and P&L for the period read the same before and after closing.
- It is reversible. A closed period can be reopened (see below).
Prerequisites and downstream effects
- No prerequisites to close a single period — you can close any open period at any time. (The system does not force you to close earlier months first, so close them in order to keep your trail clean.)
- Year-end close requires every period in the fiscal year to be CLOSED first. If any period in the year is still open, the year-end close is rejected with “All accounting periods for fiscal year <year> must be closed before year-end close.” So closing your monthly periods is the gate that unlocks the annual roll-up.
Idempotency and the audit record
- Clicking Close period on a period that is already closed is safe — it simply returns the period unchanged.
- Closing writes the status change and an audit-trail entry in a single atomic step, so a closed period always has a matching
CLOSEDaudit event recorded against it (with the fiscal year and who closed it). You can see recent governance events in the Recent audit trail panel on the same page. See Accounting Audit Trail.