How should a general contractor track subcontractor invoices and supporting documents per project?
Applies to: United States · Updated 2026-10-01
Keep one file for each subcontract on each project and treat it as a gate. No first payment until the executed subcontract, current insurance evidence, the subcontractor's Form W-9 and any release you require are in it. No later payment until the invoice ties to the subcontract value and everything billed before, your own people confirm the work, the approvals are recorded, and gross, retainage and net are shown separately. Track retainage per subcontract until release.
Why should the paperwork be a gate before payment?
Before payment, a missing certificate, change order or release holds up the subcontractor's money; after payment, you chase it with no leverage, and a file assembled at period end reveals gaps only after the money has gone. A gate makes each file complete by construction.
The IRS's page on what records to keep says supporting documents for an expense should identify the payee, the amount paid, proof of payment and the date incurred, and include a description of the item or service received that shows the amount was for a business expense. The same page adds that a combination of supporting documents may be needed to substantiate all elements of the expense. The page lists invoices, and canceled checks or other documents reflecting proof of payment or electronic funds transferred, among the documents for expenses. The subcontract and your field confirmation are your own approval records.
What must be in the file before a subcontractor's first payment?
Before the first payment, each subcontract's file for the project holds these items:
- Executed subcontract or scope document. It is signed by both parties and states the price, the pricing basis, any retainage rate, and the schedule of values or rates that invoices are checked against.
- Insurance evidence. A certificate shows each coverage the subcontract requires, with its expiration dates in your expiry register and its coverage verified with the insurer.
- Form W-9. The IRS's About Form W-9 page describes it as the form a payee uses to give its correct taxpayer identification number to the person required to file an information return with the IRS.
- Required waiver or release. Any waiver or release your subcontract requires before payment is filed with the payment it relates to.
- Confirmed payment destination. Payment details are confirmed by one of the routes set out below, with who confirmed, how and when recorded.
- Commitment entry. The subcontract value and retainage rate are in your commitment register, so the first invoice has something to match.
What the IRS requires of you as payer, year-end reporting, and whether a trade should be paid as a subcontractor at all are separate questions.
How do you confirm where the first payment goes?
Before the first payment to a subcontractor, and before any payment to bank details or a remittance address different from those already confirmed, confirm the account or address in person, by calling a number you held before the details arrived (such as one recorded when you prequalified the firm), or by calling a number on the subcontractor's website reached at a web address you had on record before the details arrived. A number or web address printed on the invoice, carried in the request, or sent in any email or message, even an earlier one or one in a separate thread, does not count: whoever controls the subcontractor's mailbox can plant it. Nor does a call, meeting link or video call arranged through the message that carried the details, or any later message in that thread. A remit-to address printed on an invoice or sent in any message does not count until it is confirmed by one of these routes. Record who confirmed, how and when.
Where staffing allows, someone other than the person who entered the details makes the confirmation; in a one-person office the owner does both, using only these routes. If none of these routes is available, a first payment waits until you can confirm in person or by calling a number you held before the details arrived. A change waits too: keep paying only to the details confirmed before it, or by check to an address confirmed before it, until the new details are confirmed in person or by calling a number you held before the change arrived. In every payment run, compare each subcontractor's payment with that subcontractor's approved net amount or approved retainage release, not only the batch total.
What is checked again before every later payment?
Before each later payment, check this shorter set and file it in that billing period's folder:
- The invoice or pay application, showing subcontract value, billed to date and this period's amount
- Evidence for the amount that fits the pricing basis
- An executed change order stating the agreed change in the subcontract sum, for any amount outside the original scope
- Your field confirmation of the work and the approval of the amount
- Insurance in force on the payment date, checked against your expiry register
- The payee on the invoice and the payment matching the name on the W-9 on file, or the payment held until a W-9 for that payee is in the file
- Any release the subcontract requires for the previous payment
- Payment details unchanged since confirmation, or changes held as set out above, and each payment equal to that subcontractor's approved net amount or approved retainage release
How do you check an invoice against the subcontract and earlier billings?
Never approve from an emailed invoice alone. Keep one running line per subcontract in a commitment register: original value, executed change orders, revised value, billed to date, back-charged to date, retained to date, paid to date and remaining. Add each invoice to billed to date before approving it. If the new total exceeds the revised value, hold the whole invoice until an executed change order covers the difference or the subcontractor reissues it. On a unit-price subcontract, enter the committed value as the subcontract's anticipated quantities priced at its unit rates. When quantities measured as the subcontract specifies, and confirmed by your staff, carry billed to date past that value, record the quantity adjustment on the commitment register before approving, with the measured-quantity record and whatever document the subcontract calls for to adjust its value. Hold only the quantities that measurement does not support. Invoices checked one at a time cannot reveal over-billing spread across several; the running line can.
Pay application 3 on a drywall subcontract for Project 1047 shows how the line works:
| Line | Amount |
|---|---|
| Original subcontract | 80,000.00 |
| Change order 1, executed | 4,000.00 |
| Revised subcontract value | 84,000.00 |
| Billed before this invoice | 30,000.00 |
| Pay application 3, gross | 24,000.00 |
| Billed to date | 54,000.00 |
| Remaining | 30,000.00 |
The invoice's route depends on what it covers:
| What the invoice covers | Route |
|---|---|
| Work within the subcontract's scope | Normal approval |
| Work covered by an executed change order stating the agreed change in the subcontract sum | Normal approval, after the change order is added to the revised value |
| Extra work with no authorizing document on file | Held off the payment route until an executed change order stating the agreed change in the subcontract sum exists; returned to the subcontractor if none is agreed |
AIA Contract Documents' undated summary of its G701S form says it is for implementing changes in the work agreed to by the contractor and subcontractor, and that executing a completed G701S indicates agreement on all the terms of the change, including any change in the contract sum. Whatever form your subcontract specifies is signed before an invoice for that work is approved.
What evidence supports a progress invoice?
The document that proves the amount depends on how the subcontract is priced:
| Pricing basis | Evidence filed with each invoice |
|---|---|
| Lump sum | A schedule of values showing each line's percent complete, checked against your superintendent's own assessment |
| Unit price | Quantities measured as the subcontract specifies and confirmed by your own staff, multiplied by the subcontract's unit rates |
| Time and materials | Labor and equipment tickets signed daily by your site lead, and material receipts, priced at the subcontract's rates |
For lump-sum work, ask for a pay application laid out like the AIA's G703 continuation sheet or an equivalent; AIA Contract Documents' undated G703 page says the form documents scheduled values, completed work to date, stored materials, retainage, prior payments, a change order summary and the current amount request. AIA Contract Documents' article on unit prices explains that, in accordance with the owner-contractor agreement, the contractor is to be compensated based on the actual quantities used in the work, and that the specifications usually describe how quantities are measured. For a unit-price subcontract, the evidence is quantities measured as the subcontract specifies and confirmed by your own staff. Either way, the check rests on your own field record, not the subcontractor's figures alone.
How do you record who confirmed the work and who approved the amount?
Attach an approval record to each invoice, as a stamp, cover sheet or your software's approval fields, and keep it in the same folder. Each record shows the following:
- Who confirmed the work was performed, when, and against which field record
- Who approved the amount, when, with gross, back-charges, retainage and net
- The change orders relied on, if any
- Who entered the bill and who released the payment
Where staffing allows, the approver does not also enter the bill or release the payment. Each month, the owner should open the bank statement through their own access and match every subcontractor payment to an approved net amount or approved retainage release, so the check does not rest on the bookkeeper's report.
How do you record retainage so it does not disappear?
Record each approved invoice at gross, with retainage and net as separate figures. Recording only the net payment as cost makes the withheld balance vanish: nothing prompts its release, and project cost is understated until it is paid. Keep a retainage register per project and subcontractor showing each invoice's gross, the amount retained, each release with its approval, and the running balance.
Sage's help for Sage 100 Contractor (version 2024, published July 18, 2024) says that when you create a payable invoice it withholds retention at the rate in the subcontract record, that retention is already declared as an expense but not paid out yet, and that retention is not included in the invoice aging. In that product, then, the aging report will not show retainage you still owe. If your software has no retainage feature, keep the register beside it.
How does one progress invoice move from approval to retainage release?
Pay application 3 is 24,000.00 gross, and this subcontract sets retainage at 10 percent. AccountingTools' comparison of cash and accrual accounting explains that the cash basis recognizes expenses when cash is paid and the accrual basis when they are incurred. On the accrual basis, the entries and the documents present at each step are:
| Step and document present | Account | Debit | Credit |
|---|---|---|---|
| Approve: pay application with schedule of values, field confirmation, approval record, verified current certificate | Project cost, drywall subcontract | 24,000.00 | |
| Accounts payable, drywall subcontractor | 21,600.00 | ||
| Retainage payable, drywall subcontractor | 2,400.00 | ||
| Pay the net: payment record matching the approved net | Accounts payable, drywall subcontractor | 21,600.00 | |
| Cash | 21,600.00 | ||
| Release at closeout: release approval, final release, verified current certificate | Retainage payable, drywall subcontractor | 2,400.00 | |
| Cash | 2,400.00 |
At approval the retainage register for this subcontract rises from 3,000.00 to 5,400.00; the release at closeout pays this invoice's 2,400.00 along with the rest. On the cash basis, nothing is posted at approval: the approved invoice is listed as unpaid, 21,600.00 reaches project cost when paid and 2,400.00 when released, so the 24,000.00 reaches cost once. The documents and the register are the same on both bases.
How should back-charges be documented?
Before deducting a back-charge from a subcontractor's invoice, put these in its file:
- The subcontract clause that makes the work or cost the subcontractor's
- Your written notice to the subcontractor and any reply
- The cost evidence, such as time tickets, supplier invoices and photographs
- The amount as its own deduction line on the approval record, not netted into the gross
Keep disputed back-charges on an open list per subcontract until they are agreed or withdrawn in writing.
How do you catch an expired certificate before paying?
A certificate on file looks the same the day after its policy lapses. GuideOne Insurance's guide to reading a certificate of insurance, dated 06.18.26, says not to let your project go past a policy's expiration date without verifying continued coverage, and to call and verify that the contractor has the coverages listed. It warns that the insurer is not legally bound to contact you as a certificate holder, so the control is yours:
- When a certificate arrives, verify the coverage by calling the insurer on a number you find yourself, not through any number, link or address on the certificate, and enter each expiration date in your expiry register.
- Before each expiration date, ask the subcontractor for the renewal certificate, verify it the same way, and check that the renewal's effective date is no later than the old policy's expiration date, so coverage is continuous through the period the invoices cover.
- Before each payment, compare the payment date with that subcontractor's expiration dates; a lapsed or unverified policy holds the payment until a current, verified certificate is on file.
Check at each payment that the payee on the invoice and the payment matches the name on the W-9 on file; if not, the payment waits until a W-9 for that payee is in the file.
How should documents be filed and named?
File by project, then subcontractor, then billing period, so one folder holds everything for one subcontractor on one project in one period:
- Project folder. It carries the project number and name.
- Subcontract folder. It sits in the project folder and holds the subcontract, change orders, certificates, the retainage register and a copy of, or link to, the W-9.
- Billing-period folder. It sits in the subcontract folder and holds that period's invoice, evidence, approval record, payment record and releases.
Name every file with the same keys, such as 1047_AcmeDrywall_2026-03_PayApp3.pdf, so a stray file shows where it belongs, and file email and field documents under those keys the day they arrive. Filing by vendor alone means rebuilding a project by searching every vendor; let the vendor record point to the project folders instead.
How should subcontract cost be coded so committed, billed, retained and paid show separately?
Code every subcontract invoice to its project and cost code, and report four figures per subcontract:
| Figure | Where it comes from |
|---|---|
| Committed | Commitment register: subcontract value plus executed change orders |
| Billed | Approved invoices at gross |
| Retained | Retainage register balance |
| Paid | Payments made, including retainage released |
On accrual books, add the period-end accrual for work performed but not yet invoiced to the billed figure. Project cost is then that total on accrual books and the paid figure on cash books; label job reports with the basis. Committed work not yet performed is not cost on either basis, but the project is still committed to pay it. Collapsing the figures hides exposure: paid cost can look on budget while retainage and committed work are still to come. Designing the wider job-costing structure is a separate question.
What if the owner's billing periods do not match subcontractor invoicing?
Set a cut-off date inside each owner billing period by which subcontractors invoice work done to that date. For work done by the cut-off but not yet invoiced, file your superintendent's record of quantities or percent complete in that period's folder. On accrual books, carry it as an accrued expense, which AccountingTools' definition of accrued expenses payable describes as an obligation incurred for which no supplier invoice has yet been received. Record it as a reversing entry, which the same page notes reverses automatically in the following reporting period; the invoice, when posted, then carries the cost, and if it has still not arrived at the next cut-off, accrue again. Do not also reverse it by hand. On cash books nothing is posted until payment, but the field record still supports the period's owner billing.
What changes when the owner also withholds retainage from you?
Keep retainage payable to each subcontractor and retainage receivable from the owner in separate registers, each with its own release evidence, and never net them: they are released on different conditions. Retainage your customer holds on your own billings is a separate question.
What has to be closed out at the end of a project?
A subcontract is closed when its file shows the following:
- The final invoice, marked final and matched to the revised subcontract value
- The final release the subcontract requires, filed with the final payment
- All retainage released with its approval, and a zero retainage balance
- Every back-charge settled or withdrawn in writing
- Any committed amount never billed removed from the commitment register, with the deductive change order or the subcontractor's signed statement that nothing more will be billed
Run the full gate, including the payment-destination check, on the retainage release and the final payment. Then confirm for every subcontract that billed equals committed, the retainage balance is zero, and paid equals billed less settled back-charges, with nothing left open.
Sources
- Internal Revenue Service — What kind of records should I keep, page last reviewed or updated 03-Aug-2026
- Internal Revenue Service — About Form W-9, Request for Taxpayer Identification Number and Certification, page last reviewed or updated 27-Jun-2026
- AIA Contract Documents — Summary: G701S–2017, Change Order, Contractor-Subcontractor Version, undated
- AIA Contract Documents — G703: Continuation Sheet for Payment Application (G703–1992), undated
- AIA Contract Documents — Understanding Construction Unit Prices: How They Impact Contracts and Payments, August 26, 2022
- The Sage Group plc — About accounts payable retention, Sage 100 Contractor U.S. help, Version 2024, published July 18, 2024
- AccountingTools — Cash basis vs. accrual basis, last updated January 14, 2026
- GuideOne Insurance — Certificate of Insurance - Sample; Instructions for Reading and Understanding a Certificate of Insurance, 06.18.26
- AccountingTools — Accrued expenses payable definition, last updated June 24, 2026