Retainage is completely normal in construction. It's also almost completely ignored in most contractors' books. If you work on commercial jobs or government contracts, you're probably withholding and having withheld somewhere between 5% and 10% of every payment until the job is substantially complete. That money sits out there for months, sometimes over a year, and if it's not tracked properly it will quietly distort every financial number you have.

A Quick Reminder on How Retainage Works

When a GC holds retainage from your payment, they're keeping a percentage of what you've earned until the project reaches a certain completion milestone or the owner releases it. If you're the GC, you're probably doing the same thing to your subs. It's a standard risk management tool in construction, but it creates a real accounting challenge because you've earned the money and done the work, you just can't collect it yet.

What Happens When It's Not Tracked

The most common mistake I see is contractors running on cash-basis bookkeeping and only recording retainage when they actually receive it. That means all the work it represents never shows up in their revenue until payment clears. The result is that jobs look less profitable than they are during the work phase, then there's a big spike in revenue when retainage releases, and nobody really knows what's happening.

On the other side, if you're holding retainage from subs and not tracking it as a liability, your books show that money as available when it's actually owed to someone else. That's how contractors end up spending money they don't actually have and then scrambling when the sub sends their final invoice.

How to Handle It Correctly

Retainage you've earned but haven't collected should sit in an asset account called something like "Retainage Receivable." When you bill a draw and 10% gets held, you record the full billed amount as revenue but split the payment: 90% goes to accounts receivable and 10% goes to retainage receivable. That way your income statement reflects the work you actually did, and your balance sheet shows the full amount owed to you.

Retainage you're holding from subs works the same way in reverse. When you pay a sub and hold back 10%, you record the full amount as an expense but the 10% you're holding goes into a liability account called "Retainage Payable." When the job closes and you release it, you pay out that liability.

Why This Matters for Your Real Cash Position

Depending on the size of your jobs, retainage receivable can represent a significant chunk of your working capital that you can't actually spend yet. If you're not tracking it separately, you either don't know it's there or you think you're richer than you are. Either way leads to bad decisions.

I've worked with contractors who had $200,000 sitting in retainage receivable across several open jobs and had no a clear look at it at all. Once we set it up properly, they could see exactly what was coming and when, and it completely changed how they managed cash during slow months.

The Practical Fix

Set up the retainage receivable and retainage payable accounts in your bookkeeping software if you don't have them. Make sure whoever is doing your books understands how to code retainage on each draw billing. And start looking at your retainage receivable balance as part of your monthly financial review. It's real money you've earned and it should be treated that way.