The 5 Most Common Accounting Errors Controllers Miss During Close
These aren't errors that happen because a Controller wasn't thorough. They happen because the tools don't flag them — and finding them manually requires knowing exactly what to look for, in the right place, at the right time.
All five of these are in most GLs right now. None of them get surfaced automatically by QuickBooks, NetSuite, Xero, or Sage. Here's what they look like, why they slip through, and how to catch them before close.
The Duplicate Nobody Caught
A vendor submits the same invoice twice with slightly different reference numbers. Both get approved in your AP workflow. Both get paid. Both post to the GL. The amounts match, the accounts match, and everything looks normal — until you sort by vendor and notice the same $3,400 appearing on the 8th and the 11th.
Why it slips through: QuickBooks checks for exact invoice number matches. A vendor who submits INV-2847 and INV-2847B gets past the duplicate check because the reference numbers are technically different.
How to catch it manually: Run a Transaction Detail by Account report, sort by amount, and scan for the same dollar value from the same vendor within a 7-day window.
What to do when you find it: Void the duplicate — don't delete it. Voiding preserves the audit trail. Deleting removes it entirely and creates questions during your next audit.
The Vendor That Switched Accounts
Your office supply vendor has been posting to Miscellaneous Expense for three months because someone changed the default account in QuickBooks and nobody noticed. Your office expense line looks lower than it should. Your miscellaneous line looks higher. Every department P&L that touches either account is wrong.
Why it slips through: Your accounting system has no concept of "where this vendor usually posts." It records what it's told. The mismatch is only visible if you compare current posting behavior against historical behavior — which requires pulling reports from multiple periods and comparing manually.
How to catch it manually: Run a Transaction List by Vendor for the current month and compare against prior months. Any vendor appearing in an account they haven't used before is a candidate for investigation.
The compounding problem: If you don't catch it this month, the same miscoding happens next month, and the month after. Three months of miscoded office supplies is a material misstatement by any measure.
The Prepaid That Wasn't
The $14,400 annual software renewal arrives in January. Someone expenses it in full. Your software expense line is 12x higher than a normal month and will be zero for the rest of the year. The board will notice. The auditors will notice. And whoever signed off on the close will have to explain it.
Why it slips through: The transaction looks correct at entry level. The vendor is right. The account might even be right. The only problem is the accounting treatment — and identifying that requires reading the description, recognizing the prepaid keywords, checking the amount against your threshold, and applying the right accounting policy. All manual.
How to catch it manually: Filter all transactions above your prepaid threshold (typically $2,500) and scan descriptions for keywords: Annual, Subscription, Renewal, Insurance, License, Maintenance, 12-Month, Yearly.
Common prepaid candidates: Annual SaaS renewals, D&O and E&O insurance premiums, annual service contracts, maintenance agreements, and rent prepayments.
The Missing Department Code
Three hundred transactions this month have no department assigned. Your department P&Ls are incomplete. Finance looks underspent. Engineering looks overspent. Nobody knows which cost center actually owns what — until someone starts manually reclassifying transactions, which takes the rest of the afternoon.
Why it slips through: QuickBooks doesn't enforce required dimensions at entry. Transactions can be saved without a department, class, or location — and they will be, whenever someone is in a hurry or doesn't know the correct code to use.
How to catch it manually: Run a Transaction Detail report filtered to show rows where Department (or Class, or Location) is blank. The list is your reclassification queue.
Prevention: In QuickBooks Online, you can set Class tracking to required — which forces a selection at entry. Most teams don't enable this because it slows down data entry. The tradeoff is a monthly reclassification exercise.
The Variance Nobody Explained
Travel expense is up $14,000 from last month. It might be the conference your sales team attended. It might be a misposted vendor charge. It might be both. You won't know until you drill into every transaction in that account and reconstruct what happened — which is exactly the kind of deep dive that turns a 2-hour close into a 5-hour one.
Why it slips through: Account-level variances are visible in any financial report — but the drivers aren't. Understanding why travel expense tripled requires drilling into the transaction detail, grouping by vendor, and determining whether each charge belongs in that account. There's no automated explanation — just raw data and your judgment.
How to catch it manually: Calculate month-over-month variance for every account above your materiality threshold. For any account with a variance above 25% or $5,000, drill into the transaction detail and identify the top drivers before signing off.
What good variance documentation looks like: Account name, prior month total, current month total, dollar variance, percentage variance, top 3 transactions driving the change, and whether the variance is expected or requires follow-up.
Why These 5 Keep Recurring
The common thread across all five: your accounting system records what it's told but doesn't analyze what it holds. It has no concept of what's unusual, no baseline for what a vendor should look like, no threshold logic for prepaid treatment, and no automated variance explanation.
Catching all five manually requires:
Sorting by amount to surface duplicate candidates
Comparing vendor posting history across multiple months
Scanning descriptions for prepaid keywords above your threshold
Filtering for blank dimension fields
Calculating and explaining account-level variances
Done thoroughly, this takes 3–5 hours. Done under close-day time pressure, things get missed. The same five errors appear in the next close cycle — because the process that missed them didn't change.
Cavryon Flags All Five Automatically
Upload your GL export. Cavryon scans it and surfaces all five categories of issues — color-coded by severity — in a flagged Excel workbook in under 2 minutes. So you start every close with a list of what needs investigation, not a blank spreadsheet and 3,000 rows.
No ERP integration. No setup. Works with QuickBooks, NetSuite, Xero, and Sage Intacct.