> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hitaji360.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Accounting Periods

> An accounting period is a calendar window (usually a month) inside one accounting book.

An **accounting period** is a calendar window (usually a month) inside one accounting book. Periods are the backbone of period control: once a period is **closed** or **locked**, Hitaji blocks anyone from posting transactions dated inside it, so your reported numbers for that window stop moving.

This page explains what periods are, how to set them up, how the period summary is built, and exactly what the posting-date guard blocks.

You'll find this at: `/accounting/periods` (navigation: **Finance → Periods & Close**).

> 📷 *Screenshot: Periods & Close page showing the open-periods stat card and the period list — to be added.*

***

## What an accounting period is

Each period record carries:

| Field                         | Meaning                                                                                                                       |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **Name**                      | A label you choose, e.g. `Jan 2026` or `FY2026 — Q1`.                                                                         |
| **Start date** / **End date** | The calendar window the period covers. The guard uses this window to decide whether a posting date falls "inside" the period. |
| **Fiscal year**               | The financial year this period belongs to (e.g. `2026`). Year-end close uses this to find every period it must roll up.       |
| **Status**                    | `OPEN`, `CLOSED`, or `LOCKED` (see below).                                                                                    |
| **Closed at / Closed by**     | Stamped automatically when the period is closed.                                                                              |

Periods are **per accounting book** (workspace). If you keep more than one book — for example a separate book per business — each book has its own independent set of periods.

### The three statuses

* **OPEN** — Posting is allowed. New journal entries, invoices, expenses, payroll, and any other transaction dated inside the period post normally.
* **CLOSED** — Posting is blocked for dates inside the period. A user holding the period-override role can still post (a deliberate exception — see [Closing a Period](/accounting/user/periods-compliance/period-close)). A closed period can be reopened.
* **LOCKED** — The hardest state. Posting is blocked for everyone; even the override role cannot post directly. Returning a locked period to a postable state requires the maker-checker [reopen workflow](/accounting/user/periods-compliance/period-reopen).

***

## Setting up periods

You create periods on the **Periods & Close** page using the **Accounting periods** card.

1. Open **Finance → Periods & Close** (`/accounting/periods`).
2. In the **Accounting periods** form, fill in:
   * **Period name** (required) — e.g. `Feb 2026`.
   * **Start date** and **End date** — pick the window with the date pickers.
   * **FY** (fiscal year, required) — e.g. `2026`.
3. Click **Add**.

The new period is created in **OPEN** status and appears in the list below the form with its date range and fiscal year.

> 📷 *Screenshot: Add-period form with name, start/end date pickers, and FY field — to be added.*

### Validation rules

The system rejects a new period if:

* **End date is before start date** — you'll see *"Accounting period end date must be on or after the start date"*.
* **The window overlaps an existing period** — you'll see *"Accounting period overlaps with existing period \<name>"*. Periods in the same book cannot overlap, which keeps the posting-date guard unambiguous (a posting date can only ever fall inside one period).

There is no fixed limit on how many periods you create, and they do not have to be exactly one month — but most teams create one period per month so closing aligns with monthly reporting.

***

## The period summary

Behind the scenes, Hitaji maintains an **account period summary** for fast reporting. For each month and each account it stores the total debits and total credits posted in that month, keyed by a `YYYY-MM` period key.

You don't manage these summaries directly — they exist so trial balances and statements over a date range can be assembled quickly without re-scanning every ledger line. Two things are worth knowing:

* The summary for a month is **recomputed from the ledger** on demand and **automatically invalidated whenever a new journal entry posts** into that month, so it never drifts from the underlying ledger.
* The summary is purely a performance cache. Closing or reopening a period does **not** change these numbers — only posted ledger activity does.

***

## What the posting-date guard blocks

This is the whole point of periods. Whenever a transaction tries to post, Hitaji looks up the period whose window contains the transaction's **posting date** and applies this rule:

| Period status (for that date) | Result                                                                                                                                                                          |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| No period covers the date     | **Allowed** — posting goes through.                                                                                                                                             |
| **OPEN**                      | **Allowed.**                                                                                                                                                                    |
| **CLOSED**                    | **Blocked** with code `PERIOD_CLOSED` — *"Period '\<name>' is closed; posting requires the 'post-to-closed-period' role."* Users holding the override role are allowed through. |
| **LOCKED**                    | **Blocked** with code `PERIOD_LOCKED` — *"Period '\<name>' is locked; posting requires a reopen workflow."* No override bypasses this.                                          |

The guard runs on **journal posting, journal reversal, and submitting a journal for approval** — which covers every transaction type that hits the general ledger (invoices, bills, expenses, payments, payroll, manual journals, and integration entries from other Hitaji products all post through the journal). So closing a period blocks all of them for dates inside it, not just manual entries.

> ⚠️ The block is by **posting/entry date**, not by when you click the button. Back-dating a transaction into a closed period is blocked; forward-dating into an open period is fine.

***

## Who can do what

The Periods & Close page is reached through the Finance navigation, which requires the `accounting:read` scope to appear. Creating, closing, and reopening periods from this page is available to users who can reach it within their tenant and accounting book.

The privileged exceptions are stricter and are documented separately:

* **Posting into a CLOSED period** requires the period-override role (`post-to-closed-period` / `accounting:override-period-lock`).
* **Approving a maker-checker reopen** of a closed or locked period requires a finance-admin role — see [Requesting & Approving a Reopen](/accounting/user/periods-compliance/period-reopen).

***

## Related

* [Closing a Period](/accounting/user/periods-compliance/period-close)
* [Requesting & Approving a Period Reopen](/accounting/user/periods-compliance/period-reopen)
* [Year-End Close](/accounting/user/periods-compliance/year-end-close)
* [Accounting Audit Trail](/accounting/user/periods-compliance/audit-trail)
