AIA Billing in QuickBooks: Schedule of Values, G702, G703
Convert a PDF bank statement to a QuickBooks file
Drop in a PDF statement and get a QBO (Web Connect) or IIF file you can import into QuickBooks Online or Desktop.
QuickBooks does not produce an AIA G702 or G703 pay application on its own. There is no built-in form, and no amount of setup will make one appear. What QuickBooks can do is hold the schedule of values as an estimate, bill progress against it line by line, and carry retainage in its own account, so the numbers behind the pay application are right and the ledger agrees with what you submitted. Most contractors end up with a two-part workflow: QuickBooks for the accounting, and a separate document (a spreadsheet or a billing tool) for the reviewer-facing G702 and G703 package.
That split surprises people, because AIA billing is the standard on almost every commercial job of any size, and QuickBooks is the most common construction accounting system in the country. You would expect the two to meet. They do not, and pretending otherwise is how contractors end up with a pay application that says one thing and a profit and loss that says another. This guide covers what the forms actually are, how to structure QuickBooks so the underlying numbers hold up, and the four places the two records usually drift apart.
What is AIA billing?
AIA billing is progress billing on a construction contract using the standardized American Institute of Architects forms, principally G702 and G703. Instead of invoicing for hours or materials as you go, you bill for the percentage of each contract line item you have completed to date, minus what you have already billed, minus retainage. The architect or owner's representative reviews and certifies the application before payment is released. It exists so an owner, architect, lender, and contractor can all read the same numbers the same way.
What is a schedule of values?
A schedule of values, usually called the SOV, is the breakdown of the total contract price into line items, submitted and approved at the start of the job. It is the backbone of everything that follows. Each billing period you report progress against those same line items, so the SOV is what makes month three comparable to month one. A typical SOV for a commercial interior job might run twenty to sixty lines: general conditions, demolition, framing, drywall, mechanical rough-in, electrical rough-in, finishes, and so on, each with a dollar value that sums to the contract amount.
Two practical notes on building one. First, the level of detail matters more than most people expect, because you can only bill at the granularity of your own SOV. If framing is one line worth $180,000, you have to argue a percentage for the whole thing every month. Split it into deck framing, wall framing, and blocking and each becomes a defensible number. Second, front-loading (assigning extra value to early line items so cash comes in sooner) is common and is also the thing reviewers look for hardest, so expect the SOV to be negotiated before it is approved.
Does QuickBooks do AIA billing?
No. QuickBooks Online and QuickBooks Desktop do not generate a complete AIA G702 and G703 pay application package natively. Neither product has the forms, and the percent-complete invoicing that QuickBooks does offer produces an ordinary invoice, not a certified application for payment. Contractors generally keep QuickBooks as the accounting system and produce the pay application in a spreadsheet or in AIA-style billing software, then record the resulting invoice in QuickBooks.
That is a workable arrangement as long as one rule holds: the pay application and the QuickBooks invoice must be built from the same schedule of values and must agree line for line. When contractors get into trouble it is almost always because the spreadsheet drifted, a change order went into one record and not the other, or retainage was handled differently in the two places.
How to set up a schedule of values in QuickBooks
Set the SOV up as an estimate on the customer or project, with one line per SOV item. This works in both QuickBooks Online (with Progress Invoicing turned on in Account and Settings, under Sales) and in QuickBooks Desktop's contractor editions.
- Create the customer, then a sub-customer or project for the specific job. Every contract gets its own project, even for a repeat customer, because the SOV and retainage are per contract.
- Build one service item per SOV line. Reuse the same item names across jobs so your income reporting stays comparable, and point them at income accounts that mean something (labor, materials, subcontract) rather than one Construction Income catch-all.
- Enter the estimate with each SOV line and its scheduled value. The estimate total should equal the original contract sum exactly. Do not round.
- Turn on progress invoicing so you can invoice a percentage of that estimate rather than the whole thing.
- Add a Retainage Receivable account (other current asset) and a retainage item that posts to it, so the holdback can come off each invoice as a negative line.
The setup detail for the retainage side is covered in full in recording retainage in QuickBooks, and the mechanics of billing part of an estimate are in progress invoicing in QuickBooks.
How to bill a progress payment against the schedule of values
Each billing period, decide the percent complete for every SOV line, then invoice the difference between that and what you have already billed. In QuickBooks, create a progress invoice from the estimate and enter the percentage or dollar amount per line. QuickBooks tracks what has been invoiced against each estimate line, so the remaining balance stays visible as the job runs.
The G703 continuation sheet is where those numbers live on the reviewer's side. Here is how its columns map onto what you should be able to pull out of QuickBooks:
| G703 column | What it holds | Where it comes from in QuickBooks |
|---|---|---|
| Scheduled value | The approved contract value of that SOV line | The estimate line amount, plus approved change orders |
| From previous applications | Everything billed on that line before this period | Prior progress invoices against the estimate line |
| This period | Work completed in the current billing period | The current progress invoice line |
| Materials presently stored | Delivered but not yet installed | A separate stored materials line or item |
| Total completed and stored to date | Previous plus this period plus stored | Cumulative invoiced against the estimate line |
| Percent complete | Total to date divided by scheduled value | Calculated, and it should match the percentage you entered |
| Balance to finish | Scheduled value minus total to date | The remaining estimate balance QuickBooks shows |
| Retainage | The holdback on completed and stored work | Retainage Receivable balance for the project |
If any of those eight numbers cannot be produced from QuickBooks in under a minute, the setup is wrong somewhere, usually because the SOV was never entered as an estimate and someone is typing invoices from scratch each month.
What is the difference between G702 and G703?
The G702 is the Application and Certificate for Payment, a one-page summary of the whole job: original contract sum, net change by change orders, contract sum to date, total completed and stored to date, retainage, total earned less retainage, less previous payments, and the current payment due. The G703 is the Continuation Sheet, the line-by-line detail behind those totals, with one row per schedule of values item. The G702 is signed and certified; the G703 supports it. Every number on the G702 should foot to the G703.
How do you calculate retainage on an AIA pay application?
Retainage is commonly 5 to 10 percent of completed and stored work, set by the contract. On the AIA forms you apply it line by line on the G703 and carry the total up to the retainage line on the G702, so the amount you request is total earned less retainage less previous payments. Some contracts retain on stored materials at a different rate than on installed work, and many reduce or stop retainage after the job passes 50 percent complete, so read the retainage clause before assuming a flat percentage across the whole job.
In the ledger, retainage is revenue you have earned and invoiced but cannot collect yet. Invoice the gross amount and subtract retainage as a negative line that posts to Retainage Receivable, so income is stated correctly and the holdback does not sit in ordinary accounts receivable aging past due for a year. Release it with a final invoice when the contract says it is due.
How do you bill stored materials on a G703?
Stored materials are billed in their own column, separate from installed work, and they cover material delivered to the site or to bonded storage but not yet incorporated into the job. You bill them at cost with documentation, typically the supplier invoice plus proof of delivery and sometimes proof of insurance or a bill of sale transferring title. As those materials get installed, the value moves out of the stored column and into work completed, so the total to date does not double count. Reviewers watch this column closely, and an application that leaves value sitting in stored materials for months after installation is the fastest way to get a pay application kicked back.
How do change orders affect the schedule of values?
An approved change order adds a line to the schedule of values (or increases an existing line) and increases the contract sum on the G702. Add it as a new line on the QuickBooks estimate at the same time you add it to the G703, and use the change order number in the line description so the two records can be reconciled later. The rule is that nothing gets billed until it is approved. Work performed on a verbal instruction with no signed change order has no scheduled value, cannot be billed on the pay application, and is exactly the cost that ends up in dispute at closeout.
Why does my pay application not match my QuickBooks income?
Four causes account for nearly all of it. Retainage is the first: if you invoice net of retainage in QuickBooks but report gross completed work on the G702, your books understate revenue by the holdback. The second is change orders entered on one side only, which is the most common single cause. The third is stored materials, which are billable on the pay application but are not always recognized as revenue at the same moment depending on your revenue recognition method. The fourth is timing, since a pay application dated the 25th and certified two weeks later can land in a different month than the invoice.
The fix is a monthly reconciliation between the pay application log and the project income report in QuickBooks. Any difference should be explainable by one of those four things. If it is not, something got typed twice or not at all.
Getting the cash side of the job right
Pay applications describe what you earned. The bank statement describes what actually arrived, and on a construction job the two run weeks apart. Owner payments land as ACH or check deposits with reference numbers that rarely match your invoice numbers, joint checks arrive with the supplier already named, lender draws come through a title company, and subcontractor payments and material drafts go out on their own rhythm. Matching those deposits back to specific pay applications is the job that turns a pile of certified applications into a reconciled ledger.
That is much easier when every line of the bank statement is actually in QuickBooks with the correct date. If your bank feed only reaches back 90 days, or you took over a job mid-stream, you can convert the PDF bank statement to a QBO file and import the whole period at once rather than typing deposits by hand. Contractors doing this across several active jobs usually convert the operating account and the material card together, which is covered on the contractor bank statement page and, for trade-specific work, the roofing company page. Once the transactions are in, categorizing them to the right job and account is what makes job costing meaningful.
The other half of the problem is collection speed. A certified pay application is a strong document, and it still sits unpaid for 30 to 60 days on most commercial jobs, longer if the owner is waiting on a lender draw. Tracking which applications are certified, which are approved, and which are genuinely overdue is a discipline of its own, and plenty of contractors run it out of a spreadsheet until the job count makes that impossible and they move to something that follows up on unpaid invoices automatically. Either way, the number to watch is days from certification to deposit, because that is the gap your operating line is financing.
A workable month-end routine
Walk the job and set percent complete per SOV line before you touch any paperwork, ideally with the project manager rather than from a desk. Update the G703 and the QuickBooks progress invoice from that same set of percentages in one sitting so they cannot drift. Add any approved change orders to both the estimate and the SOV, with the change order number in the description. Apply retainage per the contract, remembering the reduction threshold if there is one. Then reconcile: the pay application total, the QuickBooks invoice total, and the Retainage Receivable balance should tie, and where they do not, the difference should trace to change orders, stored materials, or timing.
Do that every month and closeout is a formality. Skip it for two quarters and closeout becomes a forensic exercise across a spreadsheet, a stack of certified applications, and a general ledger that never agreed with either. If you are already in that situation, start from the bank statements and rebuild forward, because the bank is the one record nobody edited.
Skip the manual entry
Upload a PDF bank statement and get a QBO or IIF file ready to import into QuickBooks.
Convert a Statement Free