How it works

How it works

Find the ledger entries that don’t fit. Test the fix before anyone posts it.

A bank’s general ledger gets hundreds of entries a month. Today, an odd one is caught only if someone happens to notice it. This tool checks every row, ranks what looks wrong, says how much money is at stake and what to do, and proves whether a fix works.

Open the review

The problem

The general ledger is the bank’s main record of money. In the case file, almost every row is the daily interest the bank earns on its loans. These entries should follow a steady pattern: about the same total every Monday to Thursday, a bigger total on Fridays (they cover the weekend), and so on.

When something breaks that pattern — a missing day, a duplicate, a line with both a debit and a credit — it can mean the books are wrong.

  • No systematic check. Problems are found only if a person notices them.
  • Volume keeps growing. Manual review gets harder to do the same way each time.
  • No shared definition of normal. Two reviewers can reach two answers.

Pain points we solve

What people in this field struggle with, the evidence, and what the tool does about it.

Errors are common, and teams are stretched

In a Gartner survey of 497 accounting staff, 18% said they make a financial error at least once a day and 59% make several a month. Gartner named low capacity as the main cause.1

Our answerEvery row is checked the same way, in seconds, every time you upload a file.

Nobody has written down what “normal” is

The case says it directly: there is no repeatable definition of normal, so different reviewers catch or miss different things.2

Our answerThe tool learns normal from the file itself and shows it in plain sentences, so anyone can check it.

Checks live in spreadsheets

74% of finance teams still rely on basic automation such as spreadsheet exports and macros; fewer than 10% have end-to-end automation.3 Research cited by Velixo found errors in 86–94% of real-world spreadsheets.4

Our answerUpload the export as it is (CSV or Excel). There are no formulas to build or maintain.

Finding a problem is slow, and alerts don’t say what to do

In a Sage survey of 1,600 finance staff, 56% said investigating anomalies has a medium-to-high impact on how long the close takes.5

Our answerIssues come ranked, with the money at stake, a confidence level and a short “what to do” list.

People don’t trust AI they can’t explain

In IDC research for Sage (2,275 finance leaders), 71% would reject an AI tool that is 99% accurate if it can’t explain its answers. They spend nearly 13 hours a week checking AI output.6

Our answerNo black box. Fixed rules decide every flag, and every number links back to a row in your file.

A fix can create a new error

A correcting entry is a new manual entry. Fixing the wrong line or date moves the mistake instead of removing it. Tools that suggest fixes describe doing so for “some anomaly patterns” only.7

Our answerProof-of-Fix tests every suggested fix before anyone posts it.

Big tools take months to set up

Enterprise tools connect to the ERP. HighRadius describes a return on investment in 3 to 6 months.7 Auditors are also told to test journal entries more completely.8

Our answerNothing to install. Open the page, drop in a file. The file stays in your browser.

How it works

  1. UploadDrop in a CSV or Excel export. It is read in your browser and never sent to a server.
  2. Learn normalThe tool profiles the file: accounts, amounts, posting days and a normal daily total for each type of day.
  3. Run four checksFixed rules, the same every time. No AI model decides what is flagged.
  4. Rank and explainEach issue gets a priority, a confidence level, the money at stake and plain steps.
  5. Test the fixProof-of-Fix runs every check again on a corrected copy and shows what clears.
  6. Review and exportRecord a decision and a note, then download the ranked list.

The four checks

CheckWhat it looks forExample in the case file
Broken records R1A line with money on both sides, an amount that is not a number, a zero amount, a date that does not exist, or a missing field.JE 1265 has a debit of $525.26 and a credit of $776 on one line.
Daily total far from normal R2Each business day’s interest total, compared with similar days (Mon–Thu, Friday, first Friday).Nov 9 is 88.3% below a normal Monday. Nov 30 is 89.5% above.
Possible duplicates R3Two or more lines on the same day with the same account, side, amount and description.JE 1767 and JE 1778: two $289 credits on Nov 30.
Weekend entries R4A line dated on a Saturday or Sunday, when weekend lines are rare in the file.JE 1052 is dated Sunday, Sep 6, the day before Labor Day.

Why not “round-dollar amounts”? In this file 99.7% of amounts are whole dollars, so round amounts are normal here. Amounts with cents are the unusual ones, and the tool points them out as supporting evidence.

How we decide what is “normal”

Compare like with like. A Friday carries the weekend, so it is compared only with other Fridays. The first Friday of the month is bigger still and has its own group.

Use the middle value. Normal is the median of the other days of the same type. The day being checked is left out, so it cannot hide itself.

Two tests must agree. A day is flagged only if it is more than 10% from normal and far outside the usual day-to-day swing (robust z of 4 or more). The first test ignores tiny wiggles; the second ignores days that are always noisy.

Shape matters too. A normal Monday-to-Thursday has the same mix of large and small lines. If that mix breaks, the day moves up in priority.

What normal looks like in the case file

Open the review to see the profile of the loaded file.

How to read the daily chart

  • Each bar is one business day. The middle line is a normal day (0%). Above the line: more interest than normal. Below: less.
  • Example: Nov 30 is +89.5%: $75,894 against a normal $40,054.
  • Red = check first. Amber = check next (needs a decision, for example a possible holiday). Gray = no flag.
  • Two thin lines are the ±10% limits. A day must be outside them and far outside its usual daily change.
  • Taller gray bars are still normal. Nov 5 is +5.1% (the extra credit on JE 1536). It is inside the limits.
  • Hatched boxes are not scored: too few similar days (the three first Fridays).
  • Fridays are not taller. A Friday is about 3 times a Monday because it covers the weekend, so it is compared only with other Fridays.
  • A diamond marks another issue on that day, such as a broken row or a duplicate. Click a bar to see its rows.

Reading a result

Priority

Check first: broken records and days far from normal. Check next: needs a decision. Small item: little money, low risk.

Confidence

How strong the evidence is that the item is out of pattern — High, Medium or Low, with a one-line reason. It is not the chance that the entry is wrong.

Money at stake

The most money the issue could put in the wrong place. Each date counts once, duplicates count only the extra copy, and day totals count only the gap to normal. It is a ceiling, not a loss.

What to do

Two to four short steps, written in simple English (ASD-STE100 style): one action per step, so a new reviewer can follow them.

Our innovation

Proof-of-Fix

Most tools stop at “this looks wrong.” Some suggest a fix. We test the fix before anyone posts it.

  1. ProposeConcrete fixes: split a two-sided line, correct an impossible date, reverse a duplicate, move lines between days, or mark a holiday.
  2. Re-runApply the fix to a copy of the ledger and run all four checks again, with the same rules.
  3. Show the resultWhich flags clear, which stay, and whether a new one appears. Then a draft entry for approval.
Why it matters — real examples

The $289 duplicate on Nov 30. Reversing it clears the duplicate flag, but the day is still 89% too high. A reviewer who stopped there would think Nov 30 was fixed.

The amount “47,5” in the practice file. Reading it as 475 looks like a fix, but the re-run shows the day is still 11% short. The tool marks it borderline and does not recommend it.

When nothing works, it says so: “Do not post a correction before the source data shows the cause.”

How we compare

From each vendor’s public pages (read Oct 17, 2026). “Not described” means we could not find it, not that it does not exist.79101112

This toolMindBridgeBlackLineHighRadiusFloQastBig 4 audit tools
Finds unusual entriesYesYesYesYesYesYes
Explains each flag in plain wordsYesPartlyPartlyNot describedYesPartly
Shows money at stake per issueYesNot describedNot describedNot describedNot describedNot described
Suggests a fixYesNot describedNot describedPartlyNot describedNo
Tests the fix before it is postedYesNot describedNot describedNot describedNot describedNot described
Works with no setup; data stays on your computerYesNoNoNoNoNo
Connects directly to the ERPNoYesYesYesYesYes
Covers every account and entityPartlyYesYesYesYesYes
Team workflow (assign, approve, audit trail)PartlyYesYesYesYesYes

What they do better

  • Direct connections to the ERP, so no file exports.
  • Every account, entity and user, not one account.
  • Models trained on many years and many companies.
  • Team workflow: assign, approve, and a full audit trail.

What they are missing

  • Proof that a fix works before it is posted.
  • Money at stake on every issue, counted without double counting.
  • Rules a reviewer can read and repeat, with every number tied to a row.
  • A free tool that runs in minutes and keeps the data on your computer.

How we used AI — and where it was wrong

Tools. Claude (an AI assistant) helped profile the data, draft the rules, write the code and the tests. The finished tool runs fixed rules in Python; no AI model decides a flag or writes a number on screen.

Workflow. The AI proposes. A script (gl_verify.py) recomputes every number from the raw file. Automated tests (161 engine, 42 browser) check the result. A person decides.

Reusable build. A Claude skill file runs this engine on any new month of GL data, writes the top-five summary, and a validator rejects the summary if any number is not in the engine output.

Times the AI was confidently wrong

  1. “Every Friday has a ~68–69k line.” False: first Fridays have an ~86k line instead. Caught by listing every line over 50k for each Friday. Result: first Fridays became their own day type.
  2. “JE 1225–1530 use decimal formatting.” False: the format starts at JE 1258, with mixed formats before it. Caught by a run-length check on the raw text.
  3. “Nov 30 is a catch-up of Nov 9.” Stated as the only story. A test of the line mix found another pairing that fits as well. The tool now says the cause is unresolved and asks for the subledger.
  4. “Reading 47,5 as 475 fixes the day.” It looked right. The Proof-of-Fix re-run showed the day still 11% short, so the fix is marked borderline.

Honest limits and what is next

  • The limits (10%, robust z 4) were tuned on one three-month file. They may need tuning for other banks. Each bank can change them in Review settings on the main page, including a dollar floor, and the check runs again. The days that come close but stay under the limits are listed under “Near the limit”.
  • The file has one account and one side of each entry, so entries cannot be balanced.
  • Without loan IDs, the tool cannot say which loan a line belongs to.
  • No accuracy figure is claimed: there is no answer key for this data.
  • A flag is a reason to look, never a finding of fraud or error.
  • Next: keep a history of past months so “normal” improves every month.
  • Next: connect to the ERP and the loan subledger.
  • Next: more account types and multi-person review.
  • Test with users: time to find the top issue, and whether reviewers pick the right next step.

Words used on this site

General ledger (GL)
The bank’s main record of every money movement. Each row is one line of an entry.
Journal entry (JE)
One accounting entry. The JE ID is its reference number.
Debit / credit
The two sides of an entry. A single GL line should use one side, not both.
Accrual
Interest the bank has earned but not yet received. It is recorded every business day.
Subledger
The detailed record behind a GL account, for example loan by loan. It is where you confirm the right amount.
Median (“normal”)
The middle value when you sort the numbers. One extreme day cannot pull it off course, unlike an average.
Robust z
How far a day is from normal, measured in typical day-to-day swings. 4 or more means far outside the usual spread.
Reconcile
Compare two records and explain every difference.

Sources

  1. Accountants make errors at work — Gartner survey (CPA Practice Advisor, Mar 2024)
  2. Neeley AI Forward — Emerging Track case: GL Anomaly Detection (case brief)
  3. Adoption of automation for monthly close lags — Trintech 2022 benchmark (Controllers Council)
  4. What actually causes month-end errors (Velixo, Jul 2026)
  5. The top 5 obstacles slowing down your close (Sage, 2021 survey)
  6. Finance leaders demand AI transparency as 71% reject unexplained decisions (Sage / IDC, Jul 2026)
  7. HighRadius anomaly management
  8. PCAOB staff: Audit Focus — Journal Entries (Jan 2025)
  9. MindBridge AI risk discovery
  10. BlackLine: journal entry automation and Journals Risk Analyser
  11. FloQast Variance Analysis
  12. EY: How an AI application can help auditors detect fraud (Helix GLAD)