If you are a W-2 employee of a construction company, this article is not for you. Your employer handles the withholding. This is for subcontractors paid as independent contractors, on the cash method — which is most of them, but confirm yours before applying any of it.

The short answer

Under the cash method you include in gross income everything you actually or constructively received during the year. Retainage a general contractor is genuinely holding back has not been paid to you, and is generally not yet income.

But "genuinely holding back" is the load-bearing phrase, and the test is not what the contract calls it:

Situation Cash-method treatment
Retainage withheld under a real condition (completion, sign-off, lien release) not income yet
Amount credited to you and available without restriction income now
Cheque in your hand, or waiting for collection, in December December income

What the rule actually says

Publication 538 is short on this and worth reading twice.

"Under the cash method, you include in your gross income all items of income you actually or constructively received during the tax year."

"Income is constructively received when an amount is credited to your account or made available to you without restriction."

And then the door it closes:

"You cannot hold checks or postpone taking possession of similar property from one tax year to another to postpone paying tax on the income. You must report the income in the year the property is received or made available to you without restriction."

That last one matters more than retainage does for most subs, because it is the everyday version of the same question — and it is the one people get wrong deliberately.

The December chequeA payment offered to you on 28 December is this year's income, whether you cash it, bank it, or leave it on the dashboard of the truck until March.

And the exception that retainage relies on

"Income is not constructively received if your control of its receipt is subject to substantial restrictions or limitations."

This is the sentence retainage sits on. The money is not merely unpaid — you cannot get at it, because a real condition stands between you and it: the work is not complete, the sign-off has not happened, the lien releases are not in.

Two consequences follow, and they point in opposite directions.

A real retainage clause is a substantial restriction. Nothing you do makes that 10% available to you until the condition is met.

A restriction you could remove at will is not one. "I asked them to hold it until January" is not a restriction on your control — it is an exercise of it. That is exactly the arrangement the timing sentence above was written about.

Where this shows up on the paperwork

A payer reports what it paid during the year. So in a year where retainage was withheld and not released, it normally should not appear on your 1099-NEC.

That gives you a useful check. If a 1099 total is higher than the payments you actually received, retainage is one of the first things to look for — and a form that includes money the payer never released is a discrepancy to raise with them, not a number to report around.

Worth remembering that the form may not arrive at all. For tax year 2026 the 1099-NEC threshold is $2,000, so a small general contractor who paid you $1,800 sends nothing. The income is yours to report either way.

The reconciliation that makes this easy

Subcontractors get caught here because the three numbers in play are all different, and only one of them is income.

Number What it is
Invoiced what you billed
Draws received what actually arrived
Retainage held invoiced, not received, not yet income

Keep the third as its own running column, per job and per contractor. Then:

  • Your income figure is draws received.
  • The gap between invoiced and received has a name and a balance, rather than being a mystery you rediscover every January.
  • When retainage is released, you already know which job and which year it came from.
  • If a 1099 disagrees with your total, the retainage column is where you look first.

While the money is held, the costs are not

The other half of a retainage year is that your expenses did not wait. Materials, fuel, tools, helpers, mileage — all spent while 10% of the revenue sits elsewhere.

Two notes on that:

If you paid your own helpers, you may be the one with a reporting obligation. A subcontractor who hires subcontractors becomes a payer, with the filing duties that go with it. That is a different job from the one this article covers, and it is worth knowing which side of it you are on before January.

Keep trip dates with your mileage. The IRS lists two business standard mileage rates for 2026 — 72.5 cents per mile from January 1 through June 30 and 76 cents from July 1 through December 31 — so a jobsite log without dates cannot be priced correctly.

What to do

  1. Track retainage as its own column, per job, per contractor, with the release condition written next to it.
  2. Record the date money became available to you, not the date you banked it. Those differ, and the first one is the one the rule asks about.
  3. Never postpone a payment for tax reasons. The publication closes that door by name, and doing it makes a clean position untidy.
  4. Check each 1099 against draws received — not against what you invoiced.
  5. Ask your tax professional to confirm your accounting method before you rely on any of this. Cash and accrual answer this question differently, and some construction contracts carry their own rules.

Earned and received are two different dates. Your books should show both.

Track it now. Thank yourself in April.

Common questions

Do I pay tax on retainage before I receive it?
Under the cash method, you include income you actually or constructively received during the tax year. Money a general contractor is holding under a genuine retainage clause has not been paid to you, so it is generally not yet income — but the test is constructive receipt, not the label on the contract.
What is constructive receipt?
Publication 538 states income is constructively received "when an amount is credited to your account or made available to you without restriction." Physical possession is not required; availability is.
Can I just leave a December cheque uncashed until January?
No. The publication is explicit: "You cannot hold checks or postpone taking possession of similar property from one tax year to another to postpone paying tax on the income." A cheque available to you in December is December income.
When does retainage become income?
Generally when the restriction lifts and the money is made available to you without restriction — which for most subcontractors is when it is released and payable, not when you get round to depositing it.
Will retainage show up on my 1099-NEC?
It normally should not, in a year it was not paid to you. A payer reports what it paid during the year. If a 1099 includes retainage you never received, that is a discrepancy to raise with the payer rather than a figure to accept.
Does this apply if I use the accrual method?
No. Everything here is the cash method. Accrual changes when income is recognised, and some construction contracts have their own rules, so confirm your method with a qualified tax professional before applying any of it.
What if the contractor says the retainage is 'in my account'?
That phrase is doing a lot of work. If the amount is credited to you and available without restriction, the cash-method rule points at income now. If a real condition still stands between you and the money, it does not. The facts decide, not the wording.

This article is for educational purposes only and does not constitute tax, legal, or financial advice. Consult a qualified tax professional about your situation.

Official sources