productize.life
TH EN
AI · Accounting

From a Ledger Entry to Its Source Document, Checkable

Vouching is proving every recorded entry has a real document behind it. The output you want isn't "looks fine". It's each entry linked to its document, or flagged as having none. Here's how to let AI match entries to documents and leave the judgment to a person.

Yim· written with Dobby (AI Oracle)/Jul 1, 2026

This is the third part of a series on training a finance team to use AI. Once invoice extraction and reconciliation were in place, the next job the reviewer faces is going down the ledger and asking, for each recorded entry, whether a real document backs it. This expense line, does it actually have its receipt?

People tend to think this job is "make sure the totals look reasonable." Do it a while and you learn a good-looking total can still lie. A round, tidy number might have nothing behind it, or the wrong document attached.

So the real job of vouching isn't "make it look fine." It's proving every entry can be traced back to its own source document. This piece goes in order: what vouching is and why it matters, how to let AI match entries to documents and surface the ones with none, and how to put it to work.

Part 1What vouching is, and why it matters

Vouching is one of the most basic checks in accounting and auditing. The principle is a single sentence: take an entry recorded in the books, and check backward to the source document that made it happen. If you find the document and it matches, the entry has real support. If you can't find it, that's a flag to stop on.

There's a partner term people mix up: tracing. Both compare entries against documents, but in opposite directions. Vouching goes from the ledger back to the document, to check that what was recorded is real. Tracing goes from the document forward to the ledger, to check that what happened was recorded. Vouching catches "recorded something that isn't real"; tracing catches "forgot to record something real."

Why a good-looking total still can't be trusted

Because a set of books that foots neatly doesn't mean every line has support. An entry with a number typed in and no receipt makes the total look just as clean. What vouching catches and a totals-review can't is an entry that looks reasonable but has no real document behind it. The more entries there are, the less you can work through by hand, and that's exactly where AI helps.

Part 2Let AI match entries to documents, then surface the ones with none

The approach that works is three steps: gather the documents so they're searchable, let AI match each entry to a document, then surface the entries with no support for a person to decide.

Step 1: Gather the source documents, searchable

Before you can match, you need a searchable pile. Scan or collect the invoices, receipts, and contracts in one place and pull the key fields into columns: document number, date, counterparty, amount, so they can be searched and compared against the ledger. This builds directly on the invoice extraction from part one of the series.

Step 2: Match each entry to a document

Have the AI take each ledger entry and find the source document that most likely supports it, by matching amount, date, and counterparty. The rule that matters: a match must have a clear reason, not a guess that it's probably right. Entries with no matching document stay as unsupported, don't force them onto a near-miss document, because a wrong match is worse than admitting you haven't found it yet.

Step 3: Surface the unsupported entries for a person

The entries that didn't match are the ones to focus on. Have the AI separate them out as unsupported, with a note on the criteria it searched by and didn't find. What you get is the checked, fully-supported entries kept apart from the ones you still have to chase a document for, clearly, not one mixed pile.

The heart of it is here: AI can prepare the work and surface the suspicious entries, but a person decides whether a document is genuine and complete. Vouching, at the end, is judgment, not just number-matching. AI gets you to the entries worth focusing on faster; it doesn't replace the call.

ledger entry amount · date · party document pile invoices · receipts match (vouch) clear reason supported passes no document surfaced for a person
Go from a ledger entry to the document pile, then split into two: supported entries pass, unsupported ones are surfaced for a person. The human's work is the second pile.

Anyone can follow these three steps by hand. What we put the work into is the tooling that makes the matching and surfacing fast and repeatable across hundreds of documents, on the same principle as the earlier parts: the interface stays fixed, the matching engine inside can be swapped, and the line that AI surfaces while a person decides stays where it is.

Part 3Putting it to work

Where this helps

The one rule to remember

If you take one thing from this article, take this: a number in the books means nothing until you can trace it back to its source document. Vouching is making every entry prove itself, not glancing at the total and passing it.

Where to start

Don't build automation on day one. Try it by hand on one set of entries first.

  1. Take one month of expense entries and put them next to the documents you have.
  2. Have the AI match each entry to a document by amount, date, and counterparty.
  3. Separate the matched pile from the ones with no document found.
  4. Focus only on the no-document pile: chase whether it's lost, not attached, or shouldn't exist.
  5. Count how many entries you couldn't back with a document. That number is how well-supported the books are.

Once you can see which pile sails through and which needs a document chased, you'll know how to scale it to a whole year or company. We teach this to in-house finance teams hands-on, details on the AI training for accounting teams page.

More in the accounting series
Sources & references
Follow along

Get new posts and free resources first

Leave your email. New posts and the occasional free resource land in your inbox. No spam.

Email only, for updates.

Comments

Join the conversation

Share a thought.

Name is shown publicly. Email stays private and is never shown.

Loading comments…