This is a classic friction point for trade contractors running commercial work through platforms like Jobber. Jobber is built primarily around residential workflow logic, while GCs operate strictly on AIA-style progress draws where retainage must be explicitly subtracted as a line item on every draw.
Since Jobber locks line items on native progress invoices (tying them strictly to the job’s schedule), trying to force standard progress invoicing to show a negative line item usually breaks either the invoice total or the Jobber job costing.
Here is how commercial contractors thread this needle in Jobber, along with how to handle the back-end accounting so your job profitability stays accurate.
To show the -10% line item on the invoice to satisfy the GC without leaving a partial unpaid balance sitting in Jobber, you use a dedicated negative product/service item.
Step 1: Create a "Statutory Holdback / Retainage" Product in Jobber
- Go to Settings > Custom Line Items (or Products & Services).
- Create an item called Statutory Holdback (10%).
- Set the price/unit as $0.00 (you will manually adjust the negative dollar amount per draw).
Step 2: Invoicing the Progress Draw
When it’s time to bill a draw (for example, $10,000 completed scope):
- Scope Line Item: Add your standard work line item for the full completed value ($10,000). This ensures 100% of the completed work's revenue gets attributed to the job for job costing.
- Holdback Line Item: Add your Statutory Holdback (10%) item with a negative value (-$1,000).
- The Resulting Invoice Total: Shows $9,000.
- The GC gets the explicit -10% holdback line item they require.
- The invoice balance due matches the exact check or bank transfer they are cutting you.
- Jobber marks the invoice as Paid in Full when the $9,000 payment lands (no phantom open balances dragging on your Jobber A/R).
Step 3: Releasing the Holdback at Project Closeout
When the project reaches substantial completion and the GC releases the retained funds:
- Generate a final invoice in Jobber titled Final Release of Retainage / Holdback.
- Add the item Statutory Holdback (10%) as a positive amount equaling the total accumulated retainage ($1,000).
- Send to the GC for final payment.
Because Jobber’s internal job-costing logic tracks revenue based on the subtotal of invoices generated on that job, using a negative line item directly decreases the net invoiced total in Jobber during the progress phase.
To ensure your profit margin and actual retainage asset aren't distorted, commercial contractors handle the tracking in one of two ways:
- QuickBooks Sync (Recommended): Map the Statutory Holdback line item in QuickBooks to an Other Current Asset account called Retainage Receivable.
- Progress Draw: Income is recognized at $10k, Cash comes in at $9k, and $1k sits in Retainage Receivable.
- Release: The final invoice clears Retainage Receivable to $0.
- Jobber Custom Field Tracking: If relying solely on Jobber reports, create a Job Custom Field named Accumulated Holdback. Update this manual dollar field on the job each time you issue a draw.
- Create Statutory Holdback (10%) item in Jobber.
- (If using QBO) Map this item to Retainage Receivable (Asset account).
- On progress draw: Enter full scope value as positive, enter 10% holdback as negative.
- Collect full invoice amount ($9,000 net) so invoice clears as Paid.
- Issue final single invoice with positive holdback item to collect retained pool at closeout.