AppGarden Two-File Reconciliation logo AppGarden

Two-File Reconciliation

How to reconcile two Google Sheets™ on a key

A step-by-step run through the add-on on a ledger against a bank export. The two tables have different column names, an invoice reference written two ways, one 45p break, and a row missing from each side. Three steps in one sidebar, and the free tier does all of it up to 1,000 rows a side.

Prefer to watch? The same walkthrough as a video, recorded on the live add-on, with a chapter for each step. Open it on YouTube.

Why matching on a key, and not on row order

A reconciliation done by sorting both tables and reading down them fails the moment one side has an extra row, and it fails silently: everything below the extra row is compared against the wrong thing. VLOOKUP fails on the first trailing space. Matching on a key does not care about order, about column names, or about one table having rows the other has never heard of.

Before you start

If you import a CSV into a tab first

File › Import asks whether to Convert text to numbers, dates and formulas. Either way works: the add-on reconciles the same file to the same answer with it on or off. But with it on, Sheets reads dates in the spreadsheet's locale as it imports. In a US-locale spreadsheet, a UK file's 06/03/2026 becomes 3 June before the add-on ever sees it. If your file's dates are not in the spreadsheet's locale, import with conversion off, or load the CSV in the sidebar, and tell the add-on how to read them (step 2).

Step 1: pick the two tables

Extensions › Two-File Reconciliation › Open. Under 1. The two tables, pick Left (usually yours) and Right (the one you are checking against). Each list offers:

Report tabs this add-on wrote earlier are left out of the lists, so last month's report is never offered as a source. Which side is which only matters when you read the report: “left only” means rows in your ledger.

Step 2: confirm how the columns line up

Press Match the columns up. The sidebar proposes a mapping by comparing column names and column contents. Every line is marked as a guess (the amber wash) until you change it. Each line has a role:

A line underneath says what was left over, for example “2 column(s) found no partner and are carried into the report unmatched”. Nothing is dropped for not having a pair.

Matching options

Matching options is where the key clean-up lives. The defaults are the ones that cannot invent a match: ignore spaces, case and punctuation, and ignore leading zeros.

Near-matching, and why it is off

The add-on can match keys that are only nearly the same. It has to be switched on deliberately, because a wrong near-match is invisible: it puts a tick against a row that never reconciled. When it is on, it only looks at rows that failed to match exactly. Those rows are counted separately, never folded into the clean totals, and every one is listed on the Review tab with both keys quoted so you can check it yourself.

Step 3: reconcile

Press Reconcile. The result is four buckets and one sentence. In the worked example: 3 rows matched and agree, 1 matched row differs (2,015.50 against 2,015.05), 1 row is left only (640.25) and 1 is right only (300.00). INV-0011 and INV11 sit in the top bucket together, the same invoice written two ways.

Then the sentence your finance lead actually asks for: “The two files differ by 340.70: 640.25 left only, -300.00 right only, 0.45 in value differences.” The difference is fully explained: a missing invoice, an extra receipt, and one 45p break.

Step 4: write the report

Write the report adds six new tabs, named with today's date, for example Recon 2026-10-31 · Summary. Run it again and you get a second set beside the first. Your source tabs are never modified.

Google caps a spreadsheet at 10 million cells, the report included. The add-on works out the report's size before writing anything. If it would not fit, it says so and writes nothing. Download as CSV (Pro) has no such limit.

Accepting near-matches

On the Review tab, tick Accept? on the pairs you agree are the same thing, then press Apply review in the sidebar and reconcile again. The accepted pairs now match, and the Audit tab counts them as pairs you accepted. They are never passed off as clean. Save the recipe to keep them for next month.

Step 5: save it as a recipe Pro

Save as a recipe keeps the mapping and every setting, so next month is one click instead of an afternoon. Choose where:

Next month: open the new spreadsheet, then Extensions › Two-File Reconciliation › Run a saved recipe…. The sidebar opens at your saved recipes. Pick one and press Load. It finds the tabs or named ranges by name and fills in the mapping and settings. Check the two tables are this month's, press Reconcile, and write the report.

Export saves the selected recipe as a file, and Import a recipe loads one. Use them to share a recipe by email, keep a backup, or move a recipe between this add-on and the Excel add-in. Exporting and importing are free.

What the tiers do

The free tier reconciles up to 1,000 rows a side on a single key column. That is enough to prove it works on your own data, not enough to run a month-end on. When a table is longer, the first 1,000 rows are read and the sidebar says so. Pro lifts the row limit and adds composite keys, near-matching, saved recipes and the CSV export. One key works in Google Sheets™ and Excel. Prices.

Entering a licence key

At the bottom of the sidebar, expand Enter a licence key, paste the key from the end of checkout (or from the email), and press Activate. It works in every spreadsheet on that Google account, on any computer, and takes one of the key's 3 activations. Re-pasting it on the same account does not take another.

Known limits

If something looks wrong

Email support@appgarden.co.uk and say what the sidebar showed. If a reconciliation came out wrong, a copy of the two tables is the most useful thing you can send, but only send data you are happy to share, and read the privacy notice first.

Google, Google Sheets™ and Google Workspace™ are trademarks of Google LLC. Two-File Reconciliation is not affiliated with or endorsed by Google.