Why Month-End Reconciliation Takes Hours (And How to Cut It to Minutes)
TL;DR: Most controllers spend 4-10 hours per month-end close on manual reconciliation between their ERP (NetSuite, SAP, Dynamics, QuickBooks) and Excel because vendor and customer names don't match exactly across systems. The fix isn't a bigger ERP — it's the right matching layer between the two.
Every controller has a version of this story.
It's day 4 of close. You exported a list of vendors with open AP balances from NetSuite. You also have an Excel file from the regional team with their accruals. You need to match them and reconcile differences. You start with VLOOKUP. Half the rows return #N/A — not because the vendors don't exist in both files, but because:
- "AT&T" in NetSuite is "AT and T Inc." in the Excel
- "PricewaterhouseCoopers LLP" in one is "PwC" in the other
- "Microsoft Corp." vs "Microsoft Corporation"
- "Smith & Sons, Inc." vs "Smith and Sons Inc"
So you start matching them by hand. An hour later, you've matched maybe 200 of 800 rows. By the time you finish at 7pm, you've burned the whole day on what should have been a 30-minute task.
This blog is for the controller who's done that day too many times.
Why exact-match logic was never going to work
VLOOKUP, INDEX/MATCH, and =A1=B1 all do exactly one thing: check if two strings are byte-for-byte identical. That's perfect for matching a SKU number against a SKU number. It's terrible for matching real-world vendor and customer names because real-world names have:
- Punctuation differences: "Smith, Inc." vs "Smith Inc"
- Suffix variations: "Acme Corp" vs "Acme Corporation" vs "Acme Corp."
- Ampersand vs "and": "Johnson & Johnson" vs "Johnson and Johnson"
- Whitespace: A trailing space here, a double space there
- Capitalization: "ACME CORP" vs "Acme Corp"
- Word order: "Smith, John A." vs "John A. Smith"
- Abbreviations: "PwC" vs "PricewaterhouseCoopers"
- Accidental typos: "Microsfot" vs "Microsoft"
- Legal entity changes: "Twitter Inc" vs "X Corp"
Each one breaks VLOOKUP. We covered this in detail in our VLOOKUP guide.
What "fuzzy matching" actually means in this context
Fuzzy matching scores how similar two strings are, rather than checking if they're identical. The output is a similarity score from 0 to 100.
For "Acme Corp" vs "Acme Corporation":
- VLOOKUP says:
#N/A - Fuzzy match says: 92% similarity
For "Microsoft" vs "Apple":
- VLOOKUP says:
#N/A - Fuzzy match says: 8% similarity
You set a threshold (typically 80-85%) and review pairs above that to confirm or reject. Below the threshold, treat as no match.
For technical detail on the algorithms (Levenshtein distance, Jaro-Winkler, token-set ratio), see our fuzzy matching explainer.
The three reconciliation jobs that eat controller time
Job 1: ERP-to-Excel reconciliation at month-end
You export from NetSuite (or SAP, Dynamics, QuickBooks) and need to reconcile against an Excel file from a subsidiary, regional team, or partner.
- Manual time: 2-4 hours per close
- With fuzzy matching: 10-20 minutes
Job 2: AP aging vs vendor master cross-check
You're cleaning up open AP and need to confirm every line item maps to a current, active vendor.
- Manual time: 3-6 hours
- With fuzzy matching: 20-30 minutes
Job 3: Subsidiary roll-up and intercompany matching
When consolidating from multiple subsidiaries, vendor names that should be the same entity often appear under variations.
- Manual time: 4-10 hours per close
- With fuzzy matching: 30-60 minutes
What you should NOT do
Don't try to standardize the data manually upstream. Asking the regional team to "use consistent naming conventions" sounds reasonable but never works at scale.
Don't write Excel formulas to "almost match" names. You'll spend a day building the formula, it'll work for 60% of cases, and you'll be back to manual matching for the remaining 40%.
Don't buy enterprise reconciliation software for this specific problem. BlackLine, Trintech, Numeric, and FloQast are excellent enterprise platforms but cost $50K-$500K/year.
Don't ask IT to "build something." Common path that ends badly: scoped as 2-week project, delivered in 2 months, brittle, undocumented.
What actually works: the matching layer approach
- Keep your ERP as your source of truth. NetSuite, SAP, Dynamics, QuickBooks — don't change it.
- Keep Excel as your working environment for ad-hoc reconciliation. Controllers are fluent in Excel. Don't fight it.
- Add a fuzzy matching tool as the layer between them. When you need to reconcile, push files through the matching tool, get clean reconciled output, continue your workflow in Excel.
DedupFuzzy is built for exactly this layer. Upload two lists, select the name column, get matched/unmatched/duplicate results in seconds.
For comparing two lists, see our matching and merging guide.
A realistic close-week timeline, before and after
Before (typical close week):
- Day 1: Export, review, identify reconciliation files
- Day 2: AP vendor reconciliation (3 hours), follow-up emails
- Day 3: Subsidiary roll-up and intercompany matching (5 hours)
- Day 4: Finish intercompany (2 hours), customer name reconciliation (3 hours)
- Day 5: Final review, journal entries, hand-off to CFO
Total reconciliation time: ~13 hours
After (same close week with fuzzy matching layer):
- Day 1: Export, review, identify reconciliation files
- Day 2: AP vendor reconciliation (30 min)
- Day 3: Subsidiary roll-up and intercompany matching (45 min)
- Day 4: Customer name reconciliation (30 min), other analysis work
- Day 5: Final review, journal entries, hand-off to CFO
Total reconciliation time: ~1.75 hours
The time saved goes into actual analysis (variance investigation, KPI commentary, forecast support) — the work the CFO actually wants from a controller.
Common questions
Does this work for non-vendor data — like customers, GL accounts, departments? Yes. Any list of names or strings can be fuzzy matched.
What about transaction-level matching (invoice numbers, amounts)? Different problem. Transaction matching is exact-match on invoice number. Where fuzzy matching helps is when transactions are tied to entities whose names don't match.
Is fuzzy matching the same as AI / machine learning? Modern fuzzy matching uses both classical algorithms and ML. For controllers, the distinction doesn't matter — what matters is accuracy on real-world finance data.
Can I use ChatGPT or Claude for this? For one-off matching of small lists, maybe. For repeatable workflows on larger lists, no — you need a deterministic, auditable tool.
What's the data security story? Look for tools that don't store your data — DedupFuzzy processes files in-session and doesn't retain anything after you close the browser.
Where DedupFuzzy fits
DedupFuzzy is the fuzzy matching layer for controllers who don't want to write code or wait on IT.
- Upload your file (CSV or Excel from any ERP export)
- Select the columns to match on
- Review matches with confidence scores
- Download the cleaned, reconciled file
- No installation, no setup, no sales call
Free tier handles 500 rows. Paid plan at $49/month handles unlimited volume.
Try it on a real reconciliation file from your last close: dedupfuzzy.com.
Related guides
- How to Match and Merge Two Company Lists
- Why VLOOKUP Can't Match Company Names
- How to Clean Up Your Vendor Master File
Tired of month-end reconciliation eating your days? Upload your file and see fuzzy matching cut the work from hours to minutes — free for 500 rows, no signup required.
🚀 Try DedupFuzzy Free