Procore + QuickBooks Network Member Listed on the Procore Network

Procore Retainage, Tracked Properly

Retainage is the money you have already earned and cannot spend. Procore tracks it on both your prime contract and your subcontracts, but it does not decide where it lands in your books, and in most contractors we look at it never lands anywhere at all. It gets buried inside accounts receivable, netted against what you hold from your subs, or simply forgotten once the project manager moves to the next job. This page is about tracking it properly in this system.

Start Here

Retainage is a balance sheet problem, not a billing detail

On a job with a 10 percent holdback, retainage is often the entire net margin of the project. It is revenue you have earned, work you have completed, and cash you cannot touch. Treating it as a line item on an invoice rather than an asset on your balance sheet is how contractors end up profitable on paper and unable to make payroll, and how five-year-old retainage quietly stops being collectible.

If you want the general mechanics of holdbacks, contract percentages and lien rights, our article on what retainage is and why it matters covers that ground. This page is deliberately narrower. It is about retainage inside Procore specifically: where the system holds it on prime contracts and on commitments, how it travels to QuickBooks and where that trip fails, why the receivable and the payable side are two different accounts that must never be netted, and why the oldest retainage on your books is the most commonly forgotten money in construction.

The single rule everything else follows from: retainage sits on the balance sheet, in its own account, on each side, and it stays there until it is released or written off. Not in accounts receivable. Not in accounts payable. Not netted. Two accounts, both visible, both aged.

Two Accounts

Retainage receivable and retainage payable are not the same money

They are two separate obligations, in opposite directions, on opposite sides of the balance sheet, with different release dates and different risk. Netting them into one number destroys all of that.

01

Retainage receivable

What the owner or the general contractor holds back from you. It is an asset. You have earned the revenue, the work is in place, and the cash is being withheld until the contract says otherwise. In Procore it originates on the prime contract, applied against your schedule of values as you bill. In your books it should sit in a dedicated asset account, usually called Retainage Receivable or Contract Retainage, and never inside your ordinary accounts receivable.

02

Retainage payable

What you hold back from your subcontractors. It is a liability. The sub has performed, you owe the money, and you are holding it as leverage until they finish punch list and hand over closeout documents. In Procore it originates on commitments, applied to subcontractor invoices. In your books it belongs in a dedicated liability account, usually Retainage Payable, and never inside your ordinary accounts payable.

03

Why they never net

They release on different dates, under different conditions, and they carry different risk. Your owner may hold retainage on a job for eight months after your subs have been released. A net number tells you nothing you can act on: you cannot collect it, you cannot age it, you cannot show it to a surety, and you cannot tell whether the balance moved because you collected from the owner or because you paid a sub.

04

Why they are current or long term

Retainage receivable expected to be collected within a year is a current asset. Retainage on a job that will not reach substantial completion for two years is not, and classifying it as current overstates your working capital. Sureties and banks look at exactly this. If your books cannot split retainage by expected release date, you will be given no credit for it, or you will be caught overstating current assets, and neither outcome helps you bond the next job.

Network Member Listed on the Procore Network
Trusted by 25+ Construction Businesses
The Mechanics

How retainage actually flows through Procore, and where it lands in QuickBooks

Procore handles retainage in two independent places, and both have to be configured deliberately. Neither one posts to a general ledger, because Procore does not have one. That handoff is where most of the damage happens.

The prime contract side, what the owner holds from you

Retainage on the money coming in is set on the prime contract and applied on the owner invoice, the progress billing that maps to your schedule of values. You set a default retainage percentage, typically 5 or 10 percent, and Procore applies it line by line as you bill work completed. Two configuration details matter more than people realize. First, whether retainage is withheld on stored materials as well as on work in place, because the contract may treat them differently. Second, whether your contract steps the percentage down at a milestone, for example from 10 percent to 5 percent at 50 percent completion, which is common and which Procore will not do for you automatically. Your invoice then carries the classic AIA structure: total earned, less retainage, equals current payment due.

The commitment side, what you hold from your subs

Retainage on the money going out is set on each subcontract or purchase order and applied to the subcontractor invoice as it comes in. The sub bills for work completed, you withhold the contractual percentage, and the net is what you approve for payment. Release happens by entering a release on a later invoice, which reduces the amount held and increases what the sub is paid. Procore gives you the running held-to-date figure per commitment. What it does not give you is a general ledger entry.

Where the trip to QuickBooks fails

Here is the failure mode we see most, and it is nearly universal. The invoice syncs to QuickBooks net of retainage. Not gross with a retainage entry, just net. The result is that the retainage never enters your books at all: not as an asset, not as a receivable, not as anything. The invoice shows as paid in full, because the net amount was in fact paid in full, so there is no open balance for anyone to chase and no line item anywhere reminding you that the owner is holding five percent of the contract. The money does not appear as uncollected because, as far as your general ledger is concerned, it was never billed.

The second failure mode is the opposite and almost as bad. The gross invoice syncs and the retainage sits inside ordinary accounts receivable, where it ages forever, poisons your AR aging report, and sends your collections process chasing a customer who is not late and does not owe you anything yet. The correct treatment is that the gross amount is billed, the net is a normal receivable, and the withheld portion is journaled into a separate retainage receivable asset account where it can be aged on its own schedule. The mirror image applies on the payable side. How your particular connector behaves is a setup question, and we cover the mechanics of what the ERP integration posts and where it stops on the QuickBooks and Procore integration page.

Side by Side

Retainage receivable versus retainage payable

The two sides mirror each other and touch nothing in common. Read the rows across and it becomes obvious why a single netted number is worthless.

Retainage receivableRetainage payable
Who is holding the moneyThe owner or the GC above you, holding it from youYou, holding it from your subcontractors
What it isAn asset. Revenue earned, cash withheldA liability. Cost incurred, payment withheld
Where it starts in ProcoreThe prime contract, applied on owner invoices against the SOVThe commitment, applied on subcontractor invoices
Where it belongs in QuickBooksA dedicated Retainage Receivable asset account, current or long term by expected releaseA dedicated Retainage Payable liability account
What breaks if it sits in AR or APAR aging is meaningless, collections chase money that is not due, working capital is misstatedAP aging shows subs as overdue when they are not, and the true cost of closeout is hidden
Release triggerSubstantial completion, punch list closeout, final lien waivers, and whatever the contract actually saysYour sub finishing punch list and delivering closeout documents and lien waivers
Cash flow effectProfit you have earned and cannot spendCash you are holding that is not yours, and that you will owe
Who forgets about itEveryone, once the PM moves to the next jobNobody, because the sub will call you
The Damage

What breaks when retainage is buried instead of tracked

None of these are hypothetical. Each one is a direct, mechanical consequence of retainage sitting in the wrong account or in no account at all.

Your AR aging report becomes unusable, because a slice of every invoice you have ever issued sits permanently in the 90-plus bucket and nobody can tell overdue money from money that is not due yet.
Collections chases customers who owe you nothing. Retainage is not late, it is withheld by contract, and treating it as delinquent damages relationships and wastes the one process that should be recovering real cash.
Working capital and the current ratio are misstated in both directions, which is precisely the number your bank and your surety compute first. Long-term retainage classified as current inflates it; retainage that never entered the books at all erases an asset you actually own.
Bonding capacity suffers. A surety cannot give you credit for an asset your balance sheet does not show, and if it is buried in AR they will discount it or question the whole statement.
WIP and over/under billing go wrong when billings are recorded net of retainage on some jobs and gross on others, because billings-to-date is one of the two inputs to the over/under calculation. Consistency matters more than which convention you pick, and this is a common reason a WIP report refuses to tie out.
You underpay or overpay yourself. Retainage payable held but never recorded means your job cost looks lower than it is and your margin looks better than it is, right up until you release it.
Your Procore data and your accounting data stop agreeing on the same job, which is one of the more common reasons a Procore budget does not match QuickBooks.
Old retainage becomes uncollectible, quietly, because nothing in your system was ever tracking it and the lien deadlines passed while you were busy.
Network Member Listed on the Procore Network
Trusted by 25+ Construction Businesses
The Fix

Build the retainage schedule that actually gets the money collected

Old retainage is the most commonly forgotten money in construction, and the reason is structural, not lazy. Nobody owns it. Here is the register that fixes that.

1 Give retainage its own accounts, on both sides

A Retainage Receivable asset account and a Retainage Payable liability account, separate from AR and AP, split current versus long term by expected release date. Everything downstream is impossible without this. If your bookkeeper set up QuickBooks as a generic small business file, these accounts do not exist and every number below is unavailable to you.

2 Post the gross, journal the holdback

Bill the owner gross, record the net as a normal receivable, and journal the withheld portion into retainage receivable. Do the mirror image on the subcontractor side. Never let the invoice sync net and disappear. If the integration insists on posting net, the journal entry becomes a required part of your monthly close, not an optional cleanup.

3 Reconcile the register to Procore every month

Procore knows retained-to-date on every prime contract and every commitment. Your general ledger should agree with it, job by job. When it does not, either an invoice synced net, a release was entered in one system and not the other, or a retainage percentage changed at a milestone and only one side knows.

4 Age it, by job and by expected release date

A retainage schedule shows contract, retained to date, released to date, outstanding balance, substantial completion date, and expected release date. Aging by invoice date is useless here, because retainage is not overdue. Age it against the release conditions in the contract, which is the only date that means anything.

5 Assign an owner to every open balance

This is the step that actually recovers the money. Retainage gets forgotten because the project manager who knew about it moved to the next job and the accounting system showed the invoice as paid in full. Somebody has to be responsible for the balance after closeout, with a date on the calendar, or it sits there until it does not exist anymore.

6 Track the release conditions, not just the balance

Substantial completion, punch list signoff, final lien waivers from every sub and supplier, warranties, as-builts, O and M manuals. Your retainage is usually not held because the owner is difficult. It is held because a closeout document is missing, and the missing document is often from a sub whose retainage you are still holding, which is your leverage. Use it.

Cash and Tax

The cash flow squeeze, and the tax angle nobody wants to raise

Retainage is profit you have earned but cannot spend. On a job with a 10 percent holdback and a 10 percent margin, the retainage is the margin. You have paid your labor, paid your suppliers, and paid your subs their net, and the entire economic benefit of the project is parked in someone else's bank account until closeout. That is why contractors can run three profitable jobs simultaneously and still not make payroll: the profit is real and the cash is somewhere else. It is also why retainage belongs in your cash flow forecast as a specific, dated line item, not as a vague hope. Our guide on improving construction cash flow takes that further.

The tax angle, said honestly

Here is the part most people would rather not bring up. If you recognize revenue on the percentage-of-completion method, which most contractors on long-term contracts are required to do for tax purposes, income is recognized as the work is performed regardless of when you collect. Retainage receivable is generally inside that recognized income. Which means you can owe tax on retainage you have not been paid, in a year in which you did not receive the cash. That is not a loophole or an error. It is the mechanism working as designed, and it catches contractors every single year.

There are exceptions worth knowing about rather than guessing about. Small contractors under the gross receipts exception in the tax code, home construction contracts, and short-term contracts can fall under different methods with different timing. The threshold is indexed for inflation, so check the current year rather than trusting a number you read somewhere. On the payable side, the timing of your deduction for retainage you are holding from subs depends on your accounting method and on economic performance rules, and it does not always mirror the receivable side. This is genuinely a conversation to have with your CPA before year end rather than after, because the planning options mostly close on December 31.

What we can tell you flatly is that you cannot plan for any of it if retainage is not visible in your books. A tax advisor cannot help you with a balance they cannot see. That visibility, on both sides, aged and reconciled, is part of the monthly work in our Procore bookkeeping services, and it is one of the first things we look for when we take over a set of books. It sits alongside change order accounting as the two places where Procore data most reliably fails to become correct accounting. FinTruction is based in Coppell, Texas, and works remotely with commercial general contractors and specialty subcontractors across the United States. Start anywhere in the Procore resource hub.

How much retainage are you owed right now?

If you cannot answer that in under a minute, from a report, with a release date next to each balance, the money is at risk. Send us your books and we will run a free Audit of your retainage: what is receivable, what is payable, how old each balance is, what is missing from your general ledger entirely, and what it is doing to your working capital. No obligation, and you keep the findings.

Get a Free Books Audit
Answers

Frequently Asked Questions

What is the difference between retainage receivable and retainage payable?

Retainage receivable is what the owner or the general contractor above you holds back from your billings. It is an asset: you earned the revenue and the cash is being withheld. Retainage payable is what you hold back from your subcontractors. It is a liability: they performed the work and you owe them the money. They are opposite sides of the balance sheet, they release on different dates under different conditions, and they must be tracked in two separate accounts. Netting them into a single figure destroys your ability to collect, to age, or to show either one to a surety.

Why should retainage not sit in accounts receivable?

Because retainage is not overdue, it is withheld by contract, and putting it in AR breaks every report that depends on AR. A slice of every invoice you have ever issued ends up sitting permanently in the 90-plus day bucket, so you can no longer tell late money from money that is not due yet. Collections starts chasing customers who owe you nothing. Working capital and the current ratio, the first numbers your bank and surety compute, get misstated. Retainage belongs in its own asset account, split between current and long term by expected release date.

Does Procore track retainage?

Yes, in two independent places. On the prime contract, retainage is applied to your owner invoices line by line against the schedule of values, at a percentage you configure. On commitments, retainage is applied to subcontractor invoices as you approve them, and released by entering a release on a later invoice. Procore gives you retained-to-date on both sides. What it does not do is post to a general ledger, because Procore does not have one. Where that retainage lands in your books is an accounting decision Procore cannot make for you.

Why does my retainage not show up in QuickBooks?

The most common cause is that the invoice syncs net of retainage rather than gross with a separate retainage entry. When that happens the withheld amount never enters your books at all, and the invoice shows as paid in full because the net amount genuinely was paid in full. There is no open balance for anyone to chase and nothing reminding you that the owner is holding a percentage of the contract. The fix is to bill gross, record the net as a normal receivable, and journal the withheld portion into a dedicated retainage receivable account as part of the monthly close.

Why is old retainage the most commonly forgotten money in construction?

Because structurally nobody owns it. The project manager who knew about the balance moved to the next job. The accounting system, if retainage was synced net, shows the invoice as paid in full, so there is no receivable left to chase and no report it appears on. The release depends on closeout documents that are somebody else's problem. Meanwhile lien deadlines pass. The money does not get written off in a decision, it just quietly stops being collectible. A retainage schedule with a named owner and a release date on every open balance is the only thing that prevents it.

When is retainage released?

When the contract says, which usually means at substantial completion, after punch list is signed off, and once final lien waivers, warranties, as-builts and closeout documents have been delivered. Many contracts also step the percentage down at a milestone, for example from 10 percent to 5 percent at 50 percent completion, and Procore will not do that automatically. Read your specific contract. Retainage is rarely withheld because the owner is difficult; it is usually withheld because a closeout document is missing, often from a subcontractor whose own retainage you are still holding.

Does retainage affect my WIP report?

It can, and it is a frequent reason WIP refuses to tie out. Billings to date is one of the two inputs to the over and under billing calculation, so if you record billings net of retainage on some jobs and gross on others, your over and under numbers are wrong. Consistency matters more than which convention you choose. The clean approach is to bill gross, treat the withheld amount as a balance sheet asset, and keep billings to date on a gross basis across every job.

Do I have to pay tax on retainage I have not collected?

Often, yes. If you recognize revenue on the percentage-of-completion method, which most contractors on long-term contracts are required to use for tax purposes, income is recognized as the work is performed regardless of when the cash arrives, and retainage receivable is generally inside that recognized income. So you can owe tax on money you have not been paid. There are exceptions, including the small contractor gross receipts exception, home construction contracts and short-term contracts, and the threshold is indexed for inflation. This is worth a real conversation with your CPA before year end, and it is impossible to plan for at all if retainage is not visible in your books.

How does FinTruction handle retainage for Procore contractors?

We set up dedicated retainage receivable and retainage payable accounts, split current from long term, and make sure billings post gross with the holdback journaled correctly instead of vanishing into a net invoice. Then we reconcile the retainage register to Procore every month, job by job, and age every open balance against its contractual release date rather than its invoice date. The output is a report that tells you exactly how much you are owed, on which jobs, and what is blocking each release. FinTruction is based in Coppell, Texas, and works remotely with commercial general contractors and specialty subcontractors across the United States.

Proof

What Construction Owners Say

Real results from contractors we have helped untangle their books and systems.

Rated 5.0 on Google

Trusted by 25+ construction businesses nationwide

Procore Listed on theProcore Network

They didn’t just record transactions and call it a day. They built a custom chart of accounts around how a remodeling company actually runs, did a full catch-up on years of bookkeeping inside QuickBooks Online, and now stay on top of my monthly bookkeeping and payroll. Every step, they broke it down in simple terms instead of burying me in accountant talk.

Oniel Campbell, Founder of Moonz Contracting
Oniel Campbell
Moonz Contracting Founder

FinTruction rebuilt the whole thing from the ground up, with real job costing, work in progress, and retainage. They didn’t just hand me reports and disappear; they walked me through my numbers until I understood them.

Carl Moore, Owner of Hearth & Haus
Carl Moore
Hearth & Haus Owner
Dalton Mayberry, Owner of ProperCoat Painting
Sahil and his team handle the bookkeeping and job costing for my painting business. They cleaned up my books and set up integrations that give me accurate, timely job costing with solid weekly data. Reliable, detailed, and genuinely invested in getting the numbers right.
Dalton Mayberry
ProperCoat Painting
Owner

FinTruction is the only bookkeeping team we’ve found that truly understands construction accounting and WIP reporting. They aligned our income and costs across 21 jobs and gave us full, monthly transparency. Fast, accurate, and an indispensable partner.

John Wesley Sebastian, President of B&B Concrete
John Wesley Sebastian
B&B Concrete President

When I came to FinTruction I had no financial structure. No job costing, no WIP tracking, books behind. They did a full cleanup and rebuilt job costing and WIP tracking in QuickBooks. Now I know what’s billed, what’s owed, and where every job stands.

Clay Pearson, Owner of C. Pearson Contracting Corp
Clay Pearson
C. Pearson Contracting Corp Owner
Client testimonial

Hear it straight from a contractor we work with

A couple of minutes from a contractor we support, sharing what working with FinTruction has been like and what changed once their numbers finally made sense.

  • An owner sharing their honest experience
  • From guessing to numbers they actually trust
  • Why they recommend us to other contractors
Read more reviews

Find the retainage your books forgot about

Tell us about your jobs and we will show you what you are owed, what you are holding, and how much of it is quietly at risk. No obligation.

Trusted by 25+ contracting companies Response within 24 hours Free Audit, no obligation
Start here

Get your Procore books audited, free

Tell us where Procore and your accounting system stop agreeing. We will look at your actual job data and show you exactly what is broken, at no cost.

Add your name so we know who we are talking to.
Add your company name.
Add a valid email so we can send your report.
Add a number we can reach you on.
Pick the option that fits your business.
Tell us what is going wrong so we know where to look.

We read every submission and reach out if your books are a good fit for the Audit.