Lock the period in the general ledger first, then make period status a bound the agent's every posting is checked against before it reaches the ledger. Late items become drafts dated into the open period or held for the controller. Only a named person may reopen a period, and the agent cannot request, schedule or perform that reopening itself.
Why isn't the ledger's own period lock enough?
Most ledgers can close a period, and you should use that lock. But a lock only stops the write. It does not stop an agent that holds broad permissions from finding another route: a journal import, an adjustment in a sub-ledger that later flows through, or a user account with rights to reopen periods.
There is also a timing problem. Many teams soft-close, leaving a period open to a few people for late adjustments while it is closed to everyone else. An agent that runs under a shared service account can fall into the "few people" group without anyone noticing. The control has to know who the agent is and what period it is aiming at, at the moment it acts.
What are the steps, and who acts at each one?
- Controller: sets the close calendar. Each period's soft-close and hard-close dates are recorded in a source the agent reads, not typed into its instructions. Evidence: the calendar entry and who approved it.
- Systems owner: gives the agent its own identity. The agent posts under a named service identity with no right to reopen periods and no access to the import tool. Evidence: the access record.
- Platform: checks period status on every posting. Before the posting call reaches the ledger, the posting date is compared with the calendar. Evidence: a filed verdict for each attempt.
- Agent, depth 2: redirects late items. An invoice dated in a closed month is drafted as an accrual reversal or a current-period entry with a note, never forced into the old month. Evidence: the draft and its note.
- Controller: decides on reopening. If a correction must land in the closed period, the controller reopens it, and a second person posts the entry. Evidence: the reopen log and the approver's name.
- Reviewer: checks the close. After hard close, a person reviews any refused or held postings for that period. Evidence: the review sign-off.
What may the agent do around close, and what stays with a person?
| Task | The agent | Stays with a person |
|---|---|---|
| Post routine journals in the open period | Executes within bounds (depth 3) | Anything above materiality |
| Late supplier invoices | Drafts the current-period entry and flags it | Deciding whether the old period must change |
| Accruals at month end | Drafts with support (depth 2) | Approving and posting |
| Reopening a period | Nothing; it cannot request it | The controller alone |
| Post-close adjustments | Prepares the schedule | Posting, with a second approver |
Reopening sits with the same kind of hard stop as supplier bank detail changes: the action is small, the consequence is large, and the person must decide it fresh each time. The broader split of what an agent may handle alone is in which finance tasks an AI agent can do on its own.
A worked example
Take a group with a five-day close. March is hard-closed on 5 April. On 8 April a freight invoice dated 28 March arrives for 4,000.
The agent's posting would land in March. The platform compares the date with the close calendar and refuses the March posting, naming the period bound. The agent then drafts an April entry with a note that the cost relates to March and is below materiality. The controller accepts it. Had the invoice been 400,000, the agent's draft would have been held for the controller with a recommendation that March be reopened, and the record would show the controller's decision either way.
Which controls keep the period closed?
- One calendar, read from a sealed source. The close calendar lives in the system of record and arrives stamped with where it came from. A date in an email cannot change it.
- Separation of duties. The identity that posts cannot reopen, and the person who reopens does not post the correction. Our segregation of duties matrix for finance agents lays out the pairs.
- No side doors. The agent has no access to import tools or sub-ledger adjustments that bypass the period check.
- Depth set per capability. Posting in the open period and drafting late entries are separate capabilities with separate depths, as the finance agent depth matrix shows.
- Every refusal is filed. The record of refused postings is itself a close control: a cluster of them tells the controller something about cut-off.
The guide AI agents for finance: books you can audit explains how these records fit your audit file.
Questions people ask
Should the agent pause entirely during close?
No. Close is when the agent is most useful, preparing reconciliations and accrual schedules. Pause only its posting capabilities for the closing period, not its drafting work.
What about prior-year adjustments after the audit?
Those are a person's decision with the auditor's involvement. The agent may assemble the evidence, but the entry, its period and its disclosure stay with the finance director.
Can the agent warn us that close is at risk?
Yes. Reading open items and flagging those that will miss cut-off is depth 1 work and a good early use of the agent.