SearchInternal Audit & SOX Compliance

Journal Entry Testing

Journal entry testing on every entry, not a sample — agents do the work, the auditor decides

Every entry tested for override, not a sample, with each conclusion cited to its support.

See one case, screen by screen ↓
demo186,412entriesscored in the sample year, after the population was proved complete
demo372entriestested against their support — all 312 High, plus 60 drawn at random
demo99.1%of agent conclusions confirmed by a person — 214 of 216 re-checked, last four quarters
target3daysfrom the ledger extract to a cited conclusion, not 3 weeks
In short

What is Journal Entry Testing?

Journal entry testing is the audit procedure that tests journal entries and other adjustments for management override of controls. External auditors must perform it under AS 2401 and ISA 240, and internal audit performs it too. Journal Entry Testing proves the ledger complete, risk-scores every entry against the audit team's own criteria and checks the risky ones against their support — seven agents do the work, and the internal auditor decides and signs.

How to choose AI solutions for back-office and enterprise work →

Updated

The problem

Why journal entry testing still runs on 25 to 60 entries

Every financial statement audit has to test journal entries for management override (AS 2401.58–.62, ISA 240). Today the team waits for a general ledger extract, pulls it into a spreadsheet or an analytics tool, runs a dozen filters — weekend, round amount, period end, unusual accounts — picks 25 to 60 entries and spends weeks e-mailing preparers for support. Often the support that comes back is a spreadsheet the preparer made themselves.

PCAOB inspectors keep finding the same gaps: the population not tested for completeness, top-side and consolidation adjustments left out, entries that met the criteria left untested, and criteria with no written rationale. Support is often ticked as attached without being read. Reversals after the year end and the comparison with last year are rarely done — so an entry that moves revenue across the year end and reverses a week later can pass two years running.

typical$766,000medianloss in a financial statement fraud case — the rarest kind, and the costliest
typical19%of occupational frauds are committed by owners and executives, median loss $500,000
Where a year-end journal entry test's working days goestimated
By hand15 days
With the solution3 days
  • Getting the ledger extract and proving it complete3 → 0.5 d
  • Writing the criteria and running the filters2 → 0.3 d
  • Chasing preparers for support6 → 1 d
  • Reading the support against each entry2.5 → 0.8 d
  • Reversals after year end and last year's entries0.5 → 0.1 d
  • Memo, review and evidence for the external auditor1 → 0.4 d

Estimated split for one year-end test at a large group, by hand and with the solution.

How it works

How an entry is tested

Seven agents prove the year complete, score every entry, fetch and judge the support, and draft the questions; the auditor decides and signs.

What comes in
Sources in7 systems · ledgers, consolidation, attachments, billing, contracts
Agents at work
Population agentproves it complete
Then
Scoring agentevery entry, explained
Then
Support agentfetches the backup
Pattern agentreversals, last year
Then
Reasonableness agentpairing, amount, timing
Inquiry agentasks, or holds and escalates
A person decides
Internal auditorcloses or escalates with a reason code
What comes out
Decided entry
Escalation to the audit manager
Evidence pack
One case, step by step

One entry on the last night of the year, from score to escalation

Kestrel & Vane Group — 41 legal entities on SAP S/4HANA and Oracle Fusion, financial year ended Sunday 28 June 2026. The external auditor, Brennick Hale LLP, wants internal audit's year-end journal entry testing by Monday 19 October; the audit committee meets on Thursday 22 October. Here is how the work runs, screen by screen, in the working solution.

  1. 01Wednesday, 14 October

    The agents tell her what needs her

    Leah Marchetti · Senior Internal Auditor

    Leah's home is a conversation, not a report. The agents scored all 186,412 entries of FY2026 and worked through the 372 selected; 41 need her decision, 7 of them with a proposal to escalate. Each agent writes what it found, with numbered citations and a proposal: the reasonableness agent on JE 900481, the pattern agent on 14 entries reversed in full after the year end, the inquiry agent with 3 drafted questions and 2 overdue replies.

    Reasonableness agent: “I propose escalating it to Tomasz, and not asking Graham first.”

  2. 02Back on 2 July

    First, is every entry here?

    Population agent

    Before anything was scored, the population agent extracted the year from S/4HANA (33 entities) and Oracle Fusion (8) and rolled forward all 2,318 accounts. KV Treasury B.V. (KV-NL03) was out by $1,284,220.00: 212 consolidation adjustments are made only in the consolidation system, so no ledger extract can see them. It pulled them in and the difference went to $0.00. The 41 skipped document numbers in Brazil are explained by an approved IT change. Leah confirmed the population at 07:30.

    186,412 entries · 1,912,604 lines · debits = credits · roll-forward ties for 2,318 of 2,318 accounts.

  3. 03Before scoring

    The team's own criteria, each with its rationale

    Tomasz Wierzbicki · Audit Manager

    Twelve criteria, version 3, approved by Tomasz on 1 July — each with its points, its rule, which entries it applies to, and the paragraph of AS 2401 or ISA 240 behind it. Asked “what if just below a limit were 3% instead of 2%?”, the scoring agent re-scores the whole year: 41 more entries carry the criterion and 23 move into High. It can save that as draft 3.1 for Tomasz; nothing changes until he approves.

    Scoring agent: “I re-scored all 186,412 entries with a 3% window.”

  4. 04The ribbon

    The whole year on one ribbon — one dot stands out

    Leah Marchetti · Senior Internal Auditor

    Every entry sits on a time ribbon by when it was posted, raised by its risk score, with the quarter ends and the last three days of the year shaded. The highest score of the year, 93, is on the last night: JE 900481, $249,500.00, posted Sunday 28 June at 23:12 by Graham Pellow, Assistant Controller, Americas. Its panel explains every point, starting with +12 just below an approval limit ($500 under $250,000), +11 unusual account pairing, +11 senior finance poster, +10 period end, +10 reversed after period end.

    Debit 400100 Product revenue — Industrial pumps · credit 240300 Deferred revenue — current.

  5. 05Open the review

    The only support is his own spreadsheet

    Support agent

    The support agent read 6 sources and found one attachment: Q4_rev_true-up_v3.xlsx, six customer invoices marked “pull to Q1”, “pull”, “timing” and “per GP”, totalling exactly $249,500.00. There is no contract, no acceptance term, no customer reference and no reviewer. The file was created at 22:58 by GPELLOW — 14 minutes before the entry was posted, by the person who posted it.

    What the marks show: “No contract, acceptance term or customer reference.”

  6. 06Reversal and history

    Reversed on 6 July — exactly as last year

    Pattern agent and reasonableness agent

    JE 900977 reversed the entry in full on Monday 6 July at 08:41, putting $249,500 of revenue into FY2027. A year earlier, JE 771204 for $246,000 was posted on Sunday 29 June 2025 at 22:47 by Graham Pellow and reversed by JE 771690 on 7 July — not selected by last year's top-25 test. All six orders were delivered by 26 June and no contract has an acceptance clause. The support explains neither the pairing, the amount nor the timing. Confidence 96%.

    “Because the preparer is a senior finance officer and this may be an override, I have not drafted a question to him.”

  7. 07Her decision

    A reason code, one line, an e-signature

    Leah Marchetti · Senior Internal Auditor

    The agents propose; Leah decides. She reads the cited passages, picks X4 · Possible management override from the reason codes — close, exception, escalate, or disagree with the agents — keeps the note on the record and signs as Senior Internal Auditor.

    “Support does not explain pairing, amount or timing; reversed 6 Jul; same pattern FY2025. Preparer not asked.”

  8. 08Signed

    Escalated to the audit manager — nobody in finance tipped off

    Inquiry agent

    Tomasz Wierzbicki has it, with Leah's note and the five citations. As she chose, nobody in finance has been asked: Tomasz decides who is, and whether Brennick Hale and the audit committee are told before Thursday 22 October. Her signed decision and the notice to Tomasz are both on the audit trail.

    “You escalated JE 900481 · $249,500.00” — Escalated · X4 · Signed by you.

  9. 09The other questions

    Plain-words questions she approves before they go

    Inquiry agent

    For entries with no support, the inquiry agent drafts the question in plain words — to Daniel Kovač on JE 900118, $249,100.00, posted on a Saturday — and says why it is asking. Leah can approve and send, edit or leave it. Replies are due in 3 working days; the agent reads each one against the support. 19 questions: 3 drafted, 9 waiting, 7 answered.

    “No question is drafted for JE 900481 … the audit manager decides who is asked.”

  10. 10Ten minutes

    People check the agents' work

    Devika Rao · Internal Auditor

    A random 25 of the 318 entries the agents explained are re-checked by a person, drawn with a recorded seed so nobody can steer them. Devika agreed with all 22 she has checked; 3 are left. Over the last four quarters people agreed with the agents on 214 of 216. Closing the 318 explained entries in one step stays locked until the sample is done.

    “Do you agree, having read the support?” — I agree · I disagree…

Who it’s for

Built for everyone who stands behind the test.

The same year-end test, seen by the five people who carry it or rely on it — what it looked like, and what it looks like now.

LM
Leah MarchettiSenior Internal Auditor, Group Internal Audit
Senior Internal Auditor
Before
“I can test 60 entries properly, or 186,000 badly.” Waits on the extract, filters a spreadsheet and chases preparers by e-mail for weeks.
Now
Opens each entry with its score explained, the support already read and the agents' proposal beside it — and decides, with a reason code and her signature.
TW
Tomasz WierzbickiAudit Manager, Group Internal Audit
Audit Manager
Before
“Show me why you picked them and why you cleared them. In writing.” Reviews a selection whose rationale was copied from last year.
Now
Approves the criteria and every change to them, sees the what-if on the whole year first, and decides each escalation.
HO
Hannah OseiGroup Financial Controller · owns the close
Group Financial Controller
Before
“Ask my people a clear question once, not five e-mails a week.”
Now
Her team gets one plain question with a due date, approved by the auditor; she never sees scores or criteria, so nobody can post around them.
RQ
Rafael QuinteroAudit Senior Manager, Brennick Hale LLP · read-only
External auditor
Before
“If the population isn't complete, nothing after it counts.” Re-performs work he cannot trace.
Now
Reads the completeness proof, the criteria and their rationale, every decision and the chained audit trail, and receives the evidence pack.
CA
Corinne AbernathyChief Audit Executive · reports to the audit committee
Chief Audit Executive
Before
“I need to tell the committee we looked at everything.”
Now
Approves a conclusion built only from closed and decided entries, with every number cited, and an audit committee summary in plain words.
Built on the engine

7 agents. Each with one job, and hard limits.

Seven agents prove the year complete, score every entry, fetch and judge the support, and draft the questions; the auditor decides and signs.

Population agent

Extracts the year from every ledger and the consolidation system, rolls forward each account from opening to closing balance, and checks document-number gaps, duplicates and balance.

  • Read-only on every ledger
  • Any difference goes to a person
Scoring agent

Applies the approved criteria to every entry and writes the reason for each point; draws the random selection and the quality sample with a recorded seed.

  • Uses only the approved criteria version
  • Never changes points or bands
Support agent

Fetches the backup for each selected entry from the ledger attachments, the close library, the billing system and the contract repository.

  • Read-only
  • Never asks a preparer itself
Reasonableness agent

Reads the support and judges three questions — does it explain the account pairing, the amount and the timing? — citing the passage for each, then proposes explained, needs the auditor or escalate.

  • Never closes an entry
  • Below 85% confidence it always hands to a person
Pattern agent

Pairs year-end entries with what reversed them after the year end, finds the same entry by the same person in earlier years, and compares this year with last.

  • Reports patterns, never conclusions about people
Inquiry agent

Drafts plain-words questions to preparers, chases on the reply time and reads each reply against the support.

  • Nothing is sent unseen
  • Never asks a possible overrider
  • Never accuses
Documentation agent

Drafts the conclusion memo, the audit committee summary and the evidence pack, citing every number.

  • Numbers only from decided entries
  • Signs nothing and writes no conclusion
Internal auditor

Closes every entry; the audit manager decides escalations. The agents propose; a named person decides.

Ask in plain words

Ask the agents, in plain words

Every screen has an ask box. Ask about an entry, a criterion or the population — or tell the agents what to do. Every answer cites its source, and can take you there.

What should I do first?

Start with JE 900481: it is the highest score of the year (93) and the strongest case for escalation. Then approve the three drafted questions, because preparers need three working days to reply and the evidence is due Monday. The three sample checks take about ten minutes and unlock closing the 318 explained entries.

Is the population complete?

Yes, since 2 July. 186,412 entries and 1,912,604 lines from 41 entities; the roll-forward ties for all 2,318 accounts. It did not at first: KV-NL03 was out by $1,284,220.00 because 212 consolidation adjustments never reach the ledger. I pulled them in; the 41 skipped numbers in Brazil are explained by an approved change.

Why not ask Graham first?

He prepared the entry and is a senior finance officer, and the same entry happened last year. Asking him first could warn him; AS 2401 expects inquiry of others in the reporting process too. Tomasz decides who is asked, and in what order.

Which entries moved revenue between years?

Fourteen entries were reversed in full within ten days of the year end, by the people who posted them. The largest is JE 900481, $249,500 into deferred revenue and back on 6 July, the same as JE 771204 a year earlier. I have highlighted all fourteen on the ribbon.

Every screen

The working solution, as it ships.

13 screens from the working solution, on its sample data. Pick one to see it large.

TodayThe agents' messages to the auditor, each with citations and a proposal; four numbers and the six steps of the test.
The year on one ribbonEvery entry by when it was posted and its risk score, quarter ends and the last days of the year shaded, and the selected entry's score explained point by point.
Is every entry here?Completeness first: counts, debits and credits, number gaps, duplicates and the roll-forward by entity, with the consolidation adjustments pulled in.
Criteria and what-ifThe twelve criteria with points, scope and standard, and a what-if re-scored on the whole year before it goes for approval.
Entry reviewThe support with its marks, how each agent worked, and the proposal: pairing, amount and timing judged separately, each cited.
Reversal and historyThe entry, the reversal after year end, last year's twin and its reversal, and the account pair over 36 months.
The decisionReason codes to close, raise an exception, escalate or disagree with the agents; a note on the record and the auditor's e-signature.
After the decisionThe escalation confirmed on the home screen, with the audit manager notified and no one in finance asked.
Questions to preparersDrafted, waiting and answered questions as conversations; each draft waits for the auditor's approval.
Check the agents' workA random sample of agent-explained entries for a person to re-check, and the agreement rate over four quarters.
This year against lastFY2026 against FY2025 on the same criteria: entries just below a limit up 67%, entries reversed in full after year end 14 against 9, and the pattern agent's summary.
Conclusion and sign-offWhat must be true before the final sign-off, the signers, and the interim memo drafted with citations.
Audit trailEvery action by a person or an agent, in order, each linked to the one before it; read access for the external auditor.
Governance

Built to be relied on: cited, decided by people, on the record.

Only the auditor closes an entryThe agents score, fetch, judge and propose. Every decision is the auditor's, with a reason code — supported, exception, escalate or disagree with the agents — a note and an e-signature. Nobody decides on an entry they prepared or approved.
Every statement cited to its sourceEach agent statement links to the ledger line, attachment, contract, proof of delivery or change log it came from, and the reasonableness agent answers pairing, amount and timing separately.
No question sent unseen — or to a suspectThe auditor approves every question before it goes. When the preparer is a senior finance officer and the entry may be an override, no question is drafted to him; the audit manager decides who is asked.
People check the agents, measuredA random sample of the entries the agents explained — 8%, at least 25 — is re-checked by a person, and the agreement rate is shown. Closing explained entries together waits until the sample is done.
Criteria and settings change only with approvalA change to a criterion, band, limit or sample is a proposal until the audit manager approves it, and applies from the next scoring run. Controllers never see scores or criteria.
A chained audit trail, read-only on every ledgerEvery action by a person or an agent is linked to the one before it, so nothing can be changed or removed unseen. Kept 7 years; the external auditor has read access. Nothing is ever written back to a ledger.
Configuration

Your methodology, not ours

The thresholds every entry is scored and tested against are settings. A change is a proposal: the audit manager approves it, and it applies from the next scoring run.

SettingDefaultChoose from
High band starts at50 pointsEvery High entry is tested
Medium band starts at30 pointsMedium entries are tested by a random draw
Controller and CFO approval limits$250,000 · $1,000,000From your group approval policy
“Just below a limit” window2%How far under a limit counts as just below
Random draw40 Medium + 20 LowFor unpredictability; a new seed every period
Quality sample8%, at least 25Share of agent-explained entries a person re-checks
Agents may explain an entry on their own from85% confidenceBelow it, the reasonableness agent always hands to a person
Reply time for a question to a preparer3 working daysOne reminder on day 2; overdue goes to the audit manager
Connections

Works with the systems the close already runs on — read-only

General ledgersSAP S/4HANA and Oracle Fusion Cloud: entry headers, lines, users, attachments
Consolidation systemeliminations, top-side entries and reclassifications
Close librarypolicies, close checklists and reconciliations
Billing systeminvoices and proof of delivery
Contract repositorycustomer and supplier agreements
IT service managementchange tickets and logs that explain number gaps
What it changes

The difference, in numbers.

Every figure is labelled: a target the solution is built to, an estimate, a typical published result, or a proven one.

target
100%
of 186,412 entries scored, and all 312 High entries tested
312 High entries
none left untested
estimated
$249,500
of revenue moved across the year end, escalated before sign-off
Last year, top-25 testmissed
Every entry scoredescalated
target
3days
from the ledger extract to a cited conclusion, not 3 weeks
By hand3 weeks
Target3 days

“demo” = seen in the working solution, on its sample data · “target” = the design goal, measured in the live solution · “estimated” = our estimate · “typical” = published figures (ACFE, Occupational Fraud 2024: A Report to the Nations — financial statement fraud 5% of cases, median loss $766,000; owners and executives 19% of cases, median $500,000). Standards named: PCAOB AS 2401.58–.62 and PCAOB staff, Audit Focus: Journal Entries (January 2025); IAASB ISA 240 (Revised, 2025). People, companies, entries and amounts named on this page are fictional — characters and sample data in the working solution.

Questions

What internal audit teams ask us.

What is journal entry testing?

Journal entry testing is the audit procedure that tests journal entries and other adjustments for management override of controls. External auditors must perform it under AS 2401 and ISA 240, and internal audit performs it too. Journal Entry Testing proves the ledger complete, risk-scores every entry against the audit team's own criteria and checks the risky ones against their support — seven agents do the work, and the internal auditor decides and signs.

Does it test every journal entry or a sample?

Every entry is scored, with each point explained. Every entry that meets the High band is tested against its support, plus a random draw of Medium and Low entries for unpredictability — in the sample year, all 312 High plus 40 Medium and 20 Low, 372 in all.

How does it prove the population is complete?

Before scoring, the population agent extracts the year from every ledger and the consolidation system, rolls forward each account from opening to closing balance, and checks debits against credits, number gaps and duplicates. Adjustments made only in the consolidation system are pulled in, and any difference goes to a person.

How does manual journal entry review work with the agents?

For each selected entry, the support agent fetches the backup from ledger attachments, the close library, billing and contracts. The reasonableness agent judges whether it explains the account pairing, the amount and the timing, citing the passage for each, and the pattern agent shows any reversal after year end and the same entry last year.

What happens when the preparer may be the one who overrode the control?

The inquiry agent does not draft a question to him. It proposes escalation, and the audit manager decides who is asked and whether the external auditor and the audit committee are told.

Do people stay in control?

Yes. Only the auditor closes an entry, with a reason code and an e-signature; the audit manager approves criteria and decides escalations; no question goes out unseen. A person re-checks a random sample of the entries the agents explained, and below 85% confidence the agents always hand to a person.

Can the external auditor rely on it?

That decision is the external auditor's; the solution gives them what they need to make it. They get read-only access to the completeness proof, the criteria with their written rationale, every decision and a chained audit trail, and an evidence pack with the population proof, the tested entries and their support.

How long does it take to go live?

The Agentic Solution Engine builds and deploys it from your requirements and documents — your methodology, approval policy and a past year of your ledger — and it goes live once every quality gate has passed. Setup tries your criteria on last year first, so you see what they would have selected.

See it on
your ledger.

We'll run Journal Entry Testing on a past year of your own general ledger and its support.