Excel Reconciliation14 min read

Excel Reconciliation: The Complete Guide to Reconciling Two Data Sets

Two files, one question: do they agree? This guide covers the whole process — building a match key, handling amounts that do not tie, matching one payment to many invoices, and producing a working paper your reviewer can follow.

Short answer

Reconciliation in Excel means taking two files that should agree — a ledger and a bank statement, your purchase register and GSTR-2B, your books and Form 26AS — and producing a working paper that shows what matched, what did not, the amount of each difference, and the reason. The work is not the lookup formula. It is building a reliable match key, deciding a tolerance, and handling the cases where one entry on one side corresponds to several on the other.

Most tutorials stop at =IF(ISNA(VLOOKUP(...)),"Missing","Found") and call it reconciliation. That formula will find you a large number of “missing” rows in a perfectly reconcilable file, because the two sides almost never use identical text. This guide is about the parts that actually decide whether your reconciliation is correct.

Reconciliation is not the same as comparison

The two get used interchangeably, and the confusion causes real problems when you are deciding which technique to reach for.

ComparisonReconciliation
Question it answersWhat is different between these two files?Do these two records agree, and if not, by how much?
Typical useComparing two versions of a report, spotting changed rowsBank, vendor, GST, TDS and invoice reconciliation
Match basisPosition, or any shared columnA deliberate business key, such as invoice number or voucher number
OutputA list of differencesA working paper with matched, unmatched and difference totals
Sign-offNot usually reviewedReviewed and retained as an audit record
Comparison is a technique. Reconciliation is an accounting process that uses it.

If you only need to know what changed between two versions of a sheet, you want a file comparison instead. Everything below assumes you are reconciling two things that carry amounts.

The two files you always start with

Every reconciliation has a book side and an external side. The book side is what your accounting system says. The external side is what somebody else says.

ReconciliationBook sideExternal sideMatched on
BankCash / bank ledger in Tally or your ERPBank statement (CSV or Excel export)Cheque number, date, amount
VendorVendor ledger (accounts payable)Vendor's own statement of accountInvoice number, amount
GSTPurchase registerGSTR-2B download from the portalGSTIN + invoice number
TDSTDS receivable ledger / expense booksForm 26AS or Form 168 deduction entryTAN + section + period
InvoiceSales / purchase registerPayment or receipt recordsInvoice number + amount
The pattern repeats. Only the key and the tolerance change.

Once you see that, the rest of this guide applies to all five. The specific procedures are covered in the bank, vendor, GST, TDS and invoice guides.

The five steps of a reconciliation that holds up

1

Put both sides into one shape

One header row, no merged cells, no blank rows, no totals sitting in the middle of the data. If the bank sends you a statement with the account number in rows 1 to 4, delete those rows before you do anything else.
2

Build a match key on both sides

A key is the column, or combination of columns, that uniquely identifies a record. For a vendor reconciliation it is the invoice number. For GST it is GSTIN plus invoice number. Build the key before you match, never during.
3

Normalise the key on both sides

Trim spaces, remove non-printing characters, strip prefixes such as “INV/”, force a consistent case, and make sure a number has not been stored as text on one side only. This single step removes most false mismatches.
4

Match, with a stated tolerance

Match exactly on the key, then match on the key with an amount tolerance, then look at what is left. Write the tolerance into the working paper: “amounts within ₹1.00 treated as matched”.
5

Classify and total what is left

Every unmatched row needs a category — missing in books, missing in statement, amount difference, duplicate, timing difference. Then total each category on both sides. If the two totals do not agree, you have not finished.

Step 2 and 3 in practice: building a key that actually matches

Here is a realistic vendor reconciliation. Your vendor, Shree Balaji Enterprises, sends a statement. Your ledger for the same period looks like this:

Invoice No (your ledger)DateInvoice amountPayment received
INV/2025-26/041704-08-2025₹1,18,000₹40,000
INV/2025-26/051219-08-2025₹82,050—
INV/2025-26/064402-09-2025₹23,600—
INV/2025-26/070111-09-2025₹1,45,000₹1,45,000

And their statement says:

Invoice No (vendor statement)DateInvoice amountPayment received
041704/08/202511800040000
512 19/08/202582050
INV-64402/09/202523600
70111/09/2025145000145000

What is actually going wrong here

Nothing is missing. Every one of those eight rows has a partner. But a straight VLOOKUP on the invoice number column will fail on all four of them, because:

  • Row 2 has a trailing space, so 512 never equals 0512.
  • Row 3 uses a hyphen instead of a slash, so INV-644 never equals INV/2025-26/0644.
  • Rows 1 and 4 dropped the financial-year prefix entirely.
  • The amounts are numbers on one side and text on the other.

Build a normalised key column on both sides. In the ledger, add a helper column and extract only the last four digits of the invoice number:

SideHelper column formulaResult for the first row
Your ledger=TRIM(RIGHT(SUBSTITUTE(TRIM(A2),"/"," "),4))0417
Vendor statement=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(TRIM(A2),"-"," "),"/"," "),4))0417
Both sides now produce a four-character key. This is why reconciliation is a key-building exercise, not a lookup exercise.

For amounts, force both sides to a number before comparing: =VALUE(SUBSTITUTE(SUBSTITUTE(TRIM(D2),"₹",""),",","")). Text that looks like ₹1,18,000 will never equal the number 118000 until you do this.

Step 4: choosing the matching method

There is no single best function. The right choice depends on whether you are looking for existence, for a first match, or for a total.

MethodUse it whenWeakness
XLOOKUPYou want the value from the other side for a key, with a custom message when not foundReturns only the first match, so it is silent about duplicates and useless for group matching
COUNTIFYou only need to know whether a key exists on the other sideSlow on large ranges because it scans the whole range for every row; tells you nothing about the amount
SUMIFSYou are matching totals rather than individual rows — the right tool for one-to-manySilently gives 0 for a key that is absent, which is easily confused with a genuine zero
VLOOKUP / INDEX-MATCHYou are on an older Excel without XLOOKUP and the key is in the first columnCannot look left, and fails the same way as XLOOKUP on duplicates
Power QueryYou are redoing this every month from the same two filesBreaks when a source column is renamed or a file moves; needs setup and maintenance
Dedicated reconciliation toolYou need tolerance, fuzzy and group matching, and a reason recorded per rowAnother tool to license and learn
Pick by the question you are asking, not by which function you know best.

A practical sequence for a single-key reconciliation is: COUNTIF first to split rows into present and absent, XLOOKUP next to pull the amount across for the rows that are present, and SUMIFS for any group totals you need at the end.

Step 5: amounts that do not tie exactly

Two files can agree completely and still differ by paise. Foreign vendor invoices carry rounding, TDS deducted at source changes what was actually paid, and credit notes get netted off. If you compare amounts with a plain equality test you will produce a working paper that is technically correct and practically unreadable.

Compare the difference, not the values:

SituationDifferenceHow to treat it
Rounding on an import invoice₹0.42Within the stated tolerance of ₹1.00 — matched
TDS withheld by the customer₹2,360 on ₹1,18,000Not a difference — match against the net amount, not the gross
Invoice booked at a different rate₹1,180Outside tolerance — a genuine price or rate difference to be investigated
One invoice, part payment₹78,000 outstandingNot a mismatch — it is an open item, tracked separately

Write the tolerance down

“Amounts within ₹1.00 are treated as matched” and “dates within 3 days are treated as the same transaction” are the two sentences that turn a spreadsheet into a working paper. Whoever reviews your reconciliation next month needs to know the rule you applied.

The case that breaks every lookup: one-to-many

This is the single most common reason a “finished” reconciliation turns out to be wrong, and it is almost never taught properly.

Your customer pays ₹2,36,000 by RTGS on 18 September. Against that single receipt, your books clear four invoices:

InvoiceAmountCleared by this receipt
INV/2025-26/0512₹82,050Yes
INV/2025-26/0644₹23,600Yes
INV/2025-26/0519₹18,400Yes
INV/2025-26/0603₹1,11,950Yes
Total₹2,36,000—

A lookup on the receipt amount finds nothing, because ₹2,36,000 never appears in the invoice column. A lookup on each invoice finds nothing, because none of those amounts appears in the payment column. The rows are individually unmatched and collectively a perfect match.

The workable Excel approach is to match upward, on the total:

  1. 1Classify each entry as a debit or a credit before you do anything else. Mixing the two is what makes a reconciliation impossible to interpret later.
  2. 2Tag each invoice with the receipt that cleared it — usually the voucher number or UTR from your ledger. If your ledger already records this, you have a ready-made group key.
  3. 3Use SUMIFS on that group key to total the invoices per receipt, and compare that total against the receipt amount with your tolerance.
  4. 4Anything that does not balance at group level drops down to invoice-level matching, and whatever survives both passes is your genuine exception list.

What the output should look like

A reconciliation is not a column of “Found” and “Not Found”. It is a document. Four separate result sets, always:

Result setWhat belongs in itWho looks at it
MatchedRecords found on both sides within toleranceNobody — this is the proof it worked
Unmatched in booksPresent in the statement, absent in your booksYou, to book the missing entry
Unmatched in statementPresent in your books, absent in the statementThe other party, to be chased
Amount differencesMatched on key, different on amount, outside toleranceBoth parties, to agree the amount
DuplicatesThe same key appearing more than once on one sideYou, before the totals are trusted

Finish with a three-line summary at the top: total per book side, total per external side, and the sum of the explained differences. If those do not reconcile, nothing below them is trustworthy.

What breaks in Excel reconciliation

Worth knowing before you commit an afternoon to building one:

  • Conditional formatting cannot reference another workbook. A rule that highlights differences works only when both ranges live in the same file, so a two-workbook reconciliation cannot be done with formatting alone.
  • Lookups return the first match and stop. Duplicate invoice numbers on one side will quietly produce a plausible but wrong result.
  • Slowdowns arrive faster than you expect. A COUNTIF against a 100,000-row range, repeated down 100,000 rows, is a very large number of comparisons. Files that took seconds at 5,000 rows can take minutes at 50,000.
  • Row insertion breaks highlighting. Insert a row into one of two formatted ranges and every row below it registers as a difference.
  • Nothing is recorded about why a row matched. Six months later, when an auditor asks, the answer has to come from whoever built the file.

None of these are reasons to avoid Excel. They are reasons to keep the file small, the key clean, the tolerance documented, and the working paper a separate, saved output rather than a live formula sheet.

When it is worth moving off Excel

Excel is the right tool for a one-off reconciliation, for a handful of files, and for anything you need to show your working on. It becomes the wrong tool when the same reconciliation has to run every month across many files, when the matching needs tolerance, fuzzy and group logic at the same time, and when the result needs to be a repeatable document rather than a formula sheet somebody has to re-check.

That is the point at which a dedicated reconciliation tool earns its place. It is not that Excel cannot do it — it is that the maintenance cost of keeping a large formula workbook correct, month after month, usually exceeds the cost of the tool.

If you would rather not build this by hand

Reconcile without building the workbook at all

Piloteq Automate is a Windows desktop app that runs bank, vendor, GST and TDS reconciliation directly on your .xlsx and .csv files. It applies your match rules in priority order, writes a reason next to every row, and keeps the matched, unmatched and amount-difference records in separate result sets.

  • ✓Six match passes, run in a fixed priority order
  • ✓Exact, tolerance, date tolerance, fuzzy and last-digit rules
  • ✓1:1, 1:N, N:1 and N:N group matching
  • ✓Duplicate detection and amount difference analysis
₹1,499 · Single PC License · 12-month license

See how Piloteq Automate handles reconciliation →

Frequently asked questions

What is the difference between reconciliation and comparison in Excel?+

A comparison tells you what is different between two files — changed rows, missing rows, extra rows. A reconciliation goes further: it takes two records that should agree financially (a ledger and a statement, books and a portal) and produces a working paper showing what matched, what did not match, by how much, and why. Comparison is a technique; reconciliation is an accounting process that produces a document you can sign off.

Which Excel formula is best for reconciliation?+

XLOOKUP is the most convenient for a single-key match because it returns a custom value when nothing is found. SUMIFS is better when you need to match total amounts rather than the first hit, and COUNTIF is useful for finding what is missing from one list. In practice, most real reconciliations need more than one of these, because invoice numbers rarely match exactly and one payment often clears several invoices.

Why do my VLOOKUP matches fail even though the values look identical?+

Almost always it is a key normalisation problem, not a formula problem. Trailing spaces, non-printing characters, a leading apostrophe, numbers stored as text, or a leading zero dropped by Excel will all cause a lookup to report no match on two values that look the same on screen. TRIM, CLEAN, SUBSTITUTE and converting to a consistent type fix the great majority of false mismatches.

How do I reconcile when one payment covers five invoices?+

This is group matching, and a plain lookup cannot do it — a lookup returns one row per key. You need to match on the total: group the invoices by customer or vendor, sum them, and match the sum against the payment amount within a tolerance. In Excel this means SUMIFS on the grouped key plus a total-level comparison, and then a manual review of the groups that do not balance.

How much difference should I allow before flagging a mismatch?+

Decide the tolerance before you start and write it down in the working paper. Rounding on international invoices and paise-level differences are common, so a small tolerance such as one or ten rupees prevents a working paper full of noise. The important part is not the number you choose but that it is deliberate, documented, and applied consistently to every row.

Can I reconcile two files without opening both of them in Excel?+

Yes. Power Query can read both files from a folder and merge them on a key, and a dedicated desktop tool can do the same without Excel being installed at all. Both approaches remove the manual copying, but Power Query still depends on the file being present at the same path with the same column headers, which is a maintenance point worth planning for.

Related guides