SOX Controls for AI Journal Entries: A Control Matrix
An 8-control SOX matrix for AI-drafted journal entries: ITGCs over AI access and prompt or model changes, named human approval, review thresholds and a monthly SQL completeness check auditors can rerun.

When AI drafts a journal entry, your SOX controls do not get a new rulebook. They get a new preparer. The control set is the one auditors already test: access, change management, review and completeness, applied to software that writes entries and a person who still approves them.
TL;DR: SOX controls for AI-drafted journal entries come down to one rule: the AI prepares, a named person approves, and the AI cannot post. Back that with ITGCs over the AI's access and its prompt, rule and model changes, a review threshold, and a monthly check that every AI-sourced entry traces to an approved draft.
What changes when AI drafts journal entries?
An AI-drafted journal entry is an entry proposed by software from source data, which a person reviews and approves before it posts to the general ledger. The accounting does not change. What changes is who, or what, sits in the preparer seat, and how many entries come through it.
Auditors already look hard at that seat. PCAOB AS 2201 lists "procedures used to initiate, authorize, record, and process journal entries in the general ledger" as part of the period-end financial reporting process (AS 2201.26). PCAOB staff's January 2025 Audit Focus on journal entries adds a line every controller using automation should read twice: "the risk of management override of controls is not limited to journal entries processed manually."
Three things get harder when a model is the preparer:
- Volume. A reviewer who used to see a short list of manual entries may now face a daily queue of AI proposals. Review quality is the first thing to slip.
- Repeatability. The PCAOB's 2024 outreach on generative AI recorded preparer concerns about "the lack of consistent output produced by GenAI," which raises "questions around the auditability of certain GenAI-created output" (PCAOB staff spotlight, July 2024).
- Segregation of duties. The same spotlight notes that preparer use of GenAI "could amplify certain existing information technology risks (e.g., risks related to the segregation of duties)."
Which SOX controls apply to AI-drafted journal entries?
Most guidance stops at "keep a human in the loop." That is one control. Below is a full matrix you can drop into your risk and control matrix (RCM), with the control type and the evidence an auditor will ask to see. It is our recommended design, built from the PCAOB and COSO sources in this post, not a published standard.

- 1. AI cannot post (ITGC, logical access): the AI service account can create drafts but has no posting or approval rights in the ERP. Evidence: role export and quarterly access review.
- 2. Prompt, rule and model change control (ITGC, program change): any change to a prompt, matching rule or model version is ticketed, tested and approved before it runs on live data. Evidence: change tickets and a version log.
- 3. Complete inputs (application control): source data feeding the AI ties to the source system by row count and control total. Evidence: daily or per-run tie-out.
- 4. Draft carries its support (application control): every draft stores its source rows and the prompt, rule and model version that produced it. Evidence: the draft record itself.
- 5. Named human approval before posting (review control): a person who did not configure the rule approves each entry, or each batch under a documented policy, before it posts. Evidence: ERP approval log with user and timestamp.
- 6. Review threshold (review control): entries above a materiality-based amount, or to high-risk accounts, need a second approver and never auto-post. Evidence: versioned threshold policy and routing log.
- 7. Population completeness check (detective control): every AI-sourced entry in the GL traces to an approved draft. Evidence: monthly query output with zero exceptions, signed off.
- 8. Monitoring (monitoring control): volume, size and override rates are tracked monthly, with a closer look after any model change. Evidence: KPI log and follow-up notes.
Want every AI-drafted entry to arrive with its source rows, rule version and approval trail attached? Join the Yoraito waitlist for early access.
Why do ITGCs matter more when AI is the preparer?
IT general controls (ITGCs) are the controls over access, program changes and computer operations that automated controls depend on. AS 2201 says an automated control "would generally be expected to be lower risk if relevant information technology general controls are effective" (AS 2201.47). Take the ITGCs away and the automation stops earning that lower-risk treatment.
Two ITGC areas carry most of the weight for AI-drafted entries.
Access. The AI usually runs under a service account. That account should be able to write drafts and nothing else. If it can post or approve, your preparer and approver are the same identity, and the review control has nothing to stand on. List the account in your quarterly user access review like any other user.
Change management. Treat a prompt edit, a new matching rule or a vendor's model upgrade the way you treat a code change. Uniqus puts it plainly: a modification to an AI model "is functionally equivalent to a program change in the ITGC framework" (Uniqus, March 2026). COSO's February 2026 publication on internal control over generative AI lists "prompt/configuration governance and change control" and "logging/traceability (model/version, prompts, key inputs/outputs, approvals)" among its control areas, as summarized by Deloitte.
There is one practical catch. Auditors can rely on a stable automated control without retesting it every year, but only if "the automated application control has not changed since the auditor established a baseline" (AS 2201.B29). A hosted model that changes without notice breaks that baseline. Ask your vendor how model versions are pinned, logged and announced, and get the answer in writing.
How should review and approval work for AI-drafted entries?
The preparer and approver split survives. It just has a new shape: the AI is the preparer, a named person is the approver, and the person who configured the rule should not approve the entries it produces.
COSO's guidance, per Deloitte's summary, asks companies to "right-size the level of human involvement," including "review, approval, and segregation of duties," by use case, and says GenAI outputs that could affect "journal entries, reconciliations, or estimates (including management review controls), receive appropriate human oversight and are supported by appropriate evidence."
For a review to count as a control, the approver needs three things on screen: the proposed entry, the source rows behind it, and the rule or prompt version that produced it. An approval click without the support is a signature, not a review. Batch approval is fine for routine, low-value entries if the policy says so in writing. Entries to cash, revenue, equity and estimates should be approved one by one.
Set the threshold for a second approver from materiality, and agree it with your auditor before year-end. Our post on AI journal review governance covers the reviewer side in more depth, and catching AI errors before they reach the ledger covers what reviewers should look for.
How do you prove every AI-drafted entry was approved?
The PCAOB lists "not testing the completeness of the population of journal entries" as a common audit deficiency (Audit Focus, January 2025). Expect your auditor to ask for the full population of AI-sourced entries and to test it. Run the test yourself first, every month:
-- Monthly completeness check for AI-drafted journal entries
-- Expected result: zero rows
SELECT g.je_id, g.posted_at, g.created_by,
d.draft_id, d.prompt_version, d.model_version,
a.approver_id, a.approved_at
FROM gl_journal_entries g
LEFT JOIN ai_drafts d ON d.je_id = g.je_id
LEFT JOIN approvals a ON a.draft_id = d.draft_id
WHERE g.period = '2026-10'
AND (g.source_system = 'ai_drafting'
OR g.created_by = 'svc_ai_drafting') -- catch mis-tagged entries
AND (d.draft_id IS NULL -- posted with no draft record
OR a.approved_at IS NULL -- posted without approval
OR a.approved_at > g.posted_at -- approved after posting
OR a.approver_type <> 'human' -- approved by a service account
OR a.approver_id = d.configured_by); -- approver set up the rule
Each row it returns is a control exception to explain, not a formatting problem. Save the query, the output and the sign-off with the close file. Because the check is a query over stored data, your auditor can rerun it against the same tables and get the same answer.

- Source data ingested: row counts and control totals tie to the source system.
- AI drafts the entry: draft record with source row IDs and prompt, rule and model version.
- Routed by threshold: routing log showing the policy version applied.
- Named person approves: ERP approval with user ID and timestamp, before posting.
- Posts and reconciles: monthly completeness query with zero exceptions, signed off.
For the full field list each step should record, use our AI audit trail checklist.
What evidence will your auditor ask for?
Have these ready before fieldwork starts:
- An inventory of every process where AI drafts or proposes entries, with the accounts it can touch
- The ERP role setup for the AI service account and the latest access review
- The change log for prompts, rules and model versions, with approvals
- A sample of drafts showing source rows, versions and the approver
- The written review threshold policy and its version history
- Monthly completeness query results and sign-offs
- Monitoring results: override rates and any follow-up after model changes
If you are choosing a tool, these items make good RFP questions. Our AI accounting software RFP questions and the glass box tests for explainable AI turn them into vendor checks.
FAQ
Do SOX controls apply to AI-generated journal entries?
Yes. SOX does not exempt entries by how they were prepared. An AI-drafted entry is still a journal entry in the period-end financial reporting process, so it needs the same access, change, review and completeness controls as any other entry.
Can AI approve a journal entry?
It should not. If the AI can both draft and approve, preparer and approver are the same identity and segregation of duties fails. Keep approval with a named person and give the AI service account draft-only rights.
Is a prompt change an ITGC change?
Treat it as one. A change to a prompt, matching rule or model version can change every entry the AI drafts afterwards, so it belongs under program change management: ticketed, tested, approved and logged before it runs on live data.
What evidence do auditors want for AI-drafted journal entries?
Expect requests for the AI's access rights, the prompt and model change log, a sample of drafts with source rows and approvals, the review threshold policy and a completeness test showing every AI-sourced entry traces to an approved draft.
Do private companies need SOX controls for AI?
SOX 404 applies to public companies. Pre-IPO and PE-backed teams often build the same controls early, because the evidence is much easier to keep from day one than to rebuild later.
What should you do this month?
Pull last month's journal entries, filter to anything the AI drafted or the AI service account created, and run the completeness query against them. Then check the service account's ERP role. Those two steps tell you whether controls 1 and 7 hold today. To hear when Yoraito opens up, join the waitlist.