Short answer

Most accounts payable errors fall into six patterns: duplicate payments, miscoded invoices, cutoff errors at period end, unapplied vendor credits, retainage recorded incorrectly, and payments to unverified vendors. Duplicates and coding errors happen most often. Cutoff errors do the most damage, because they move cost into the wrong period and quietly distort the margin on every job the report touches.

Accounts payable rarely fails loudly. There is no alarm when a company pays the same invoice twice, and no alarm when a $40,000 subcontractor bill lands on the wrong job. The books still balance. The damage shows up later, in a margin that cannot be explained and a bid that was built on the wrong history.

Why accounts payable errors survive so long.

Accounts receivable errors get found because customers complain. Nobody complains about an accounts payable error that favors the vendor. A duplicate payment sits in the vendor's account as a credit until someone asks for it back, and most companies never ask, because they do not know it happened.

That asymmetry is the whole problem. AP is the one process in the business where a mistake can go undetected indefinitely and cost real cash while doing it. The controls that catch these errors are not complicated, but they have to be deliberate, because nothing in the normal flow of work surfaces them on its own.

Error one: the duplicate payment.

The classic version is an invoice that arrives twice, once by email and once with the delivery, and gets entered both times. Accounting software blocks an exact duplicate invoice number, so the entries that get through are the ones where something differed by a character: a leading zero added, a dash removed, an invoice number typed with the letter O instead of a zero.

How to find it

Sort the vendor ledger by amount, not by date. Duplicates rarely share an invoice number, which is precisely why the system let them through, but they almost always share an exact dollar amount. Look for the same amount to the same vendor inside a ninety day window, then confirm against the invoice image before you claim the credit.

The second version is more expensive and harder to see: a subcontractor bills progressively, and one progress billing overlaps work already billed on the prior invoice. Nothing is duplicated at the invoice level, so no system flags it. The only control that catches this is checking billed-to-date against the subcontract value on every payment application.

Error two: the invoice coded to the wrong job.

A material delivery goes to the wrong job number. The company still paid the right vendor the right amount, so cash is fine and the P&L total is fine. But two jobs are now reported wrong: one carries cost it did not incur, the other is missing cost it did.

This matters more than it first appears. Job cost history is what the estimator uses to bid the next project of that type. A job that looks 6 points more profitable than it really was teaches the company to bid that work more aggressively, which means the error does not just misreport the past, it degrades future pricing.

What gets miscodedWhy it happensThe control
Material delivered to a shared yardNo job named on the delivery ticketRequire a job number on the ticket before the driver leaves
Fuel and small toolsCharged on a card with no job contextCard statement coded weekly, not at month end
Equipment rental spanning two jobsOne invoice, two jobs, no splitSplit the invoice at entry, not with a journal entry later
Subcontractor working on multiple phasesInvoice references the contract, not the phaseRequire the schedule of values line on every pay application

Error three: the cutoff error.

This is the one that does the most damage to reported profit, and it is almost always unintentional. Work is performed in one month. The invoice arrives three weeks later and gets entered on the date it arrived. The cost has now been recorded in the wrong period.

For a contractor this is not a cosmetic problem. Cost to date is the input to the percentage of completion calculation. If cost is understated at the end of a period, the job looks less complete than it is, and revenue recognized is understated with it. The following period then absorbs both its own cost and the cost that should have landed earlier, and the margin swings in the opposite direction. Two consecutive periods are wrong, and the swing looks like an operational problem when it is a data entry problem.

The control

At every period close, ask each project manager one question: what work was performed this month that has not yet been invoiced by the vendor? Accrue those amounts. It takes an hour and it is the single highest value hour in the close.

Error four: the credit that was never applied.

A vendor issues a credit for returned material or a billing correction. The credit is recorded, then the next invoice is paid in full because whoever cut the check was working from the invoice rather than the vendor's balance. The credit stays on the books indefinitely.

These show up as credit balances in the accounts payable aging, sitting in the negative column where nobody looks. Any vendor with a credit balance is either an error or money the company is owed. Both are worth the five minutes it takes to check.

Error five: retainage recorded as a normal payable.

When a contractor withholds retainage from a subcontractor, the withheld amount is still an obligation. It is simply not payable yet. Recorded as a regular account payable it overstates current liabilities and distorts the working capital ratio a surety looks at. Left out entirely it understates what the company actually owes.

Retainage payable belongs in its own account, separate from trade payables, with the release date tracked. Sureties and bankers look specifically at this line, and a company that reports it correctly reads as one that understands its own balance sheet. If retainage is part of how you bill and pay, it is also worth understanding how it flows through the work in progress schedule.

Error six: the vendor nobody verified.

Payment fraud in construction usually does not involve a fake company. It involves a real vendor whose banking details were changed by someone who was not the vendor. The request arrives by email, looks routine, and the change is made because the vendor is legitimate and the invoice is real.

The control

Never change vendor banking details from an email instruction. Call the vendor back on a number you already have on file, not a number in the request. This one rule prevents the most common and most expensive AP fraud there is.

The reconciliation that finds all six.

Every one of these errors is visible in a monthly vendor statement reconciliation. The vendor sends what it believes is owed, the AP aging says what the company believes is owed, and the difference is the error. There are only three explanations for a discrepancy, and each points somewhere specific.

DiscrepancyWhat it usually means
Vendor shows an invoice you do not haveNever entered, or entered under the wrong vendor
You show an invoice the vendor does notDuplicate entry, or already paid and not cleared
Same invoice, different amountUnapplied credit, partial payment, or retainage withheld

Run this monthly for every vendor with meaningful activity. Not annually, and not only when something looks wrong. Errors found at year end are errors the cash already left the building for.

What to do this month.

None of this requires new software. It requires that someone owns the reconciliation and does it on a schedule. In most companies under $5 million in revenue, the reason AP errors persist is not that the controls are unknown, it is that nobody has been assigned the half day a month it takes to run them.