Blog

August 14, 2026

min read

Cut Hours Off Your Monthly Pay App: Progress Billing for Electrical Subs in Sage Intacct

Electrical Contractor

Alliance Solutions

Table of contents
Share this post:

The same pay application, rebuilt from scratch every month, until the schedule of values does the work instead.

It’s the 24th of the month, and a billing coordinator at a mid-size electrical sub is rebuilding last month's pay application from a spreadsheet. They update the percent complete on each line item, recalculates the retainage by hand, and cross-checks the total against the change order log to make sure nothing got missed. One wrong cell and the general contractor kicks the whole application back.

This happens every month, on every active job, for most electrical subs still billing on a spreadsheet version of the industry-standard pay application. The form itself is the same everywhere. Building it is not.

The Same Six Numbers, Rebuilt By Hand Every Month

Every pay application is built from the same six pieces of information. The G702 summarizes them at the contract level. The G703 breaks them out line by line against the schedule of values, the itemized list of everything in the job that gets billed.

  • The original contract amount.
  • Any approved change orders.
  • What has been billed previously.
  • What is being billed this period.
  • The retainage percentage withheld.
  • The balance left to finish.

None of those six numbers changes in a way that requires starting over. What changes each month is the percent complete on each line. Everything else, the contract total, the retainage rate, the prior billing history, should carry forward automatically. In a spreadsheet, it usually does not. Someone has to pull it forward by hand, and that is where the wrong version gets used or a line item gets missed.

What It Takes to Set Up a Schedule of Values

The schedule of values only has to be built correctly once, but it has to be built from the right information the first time. Before the first pay application goes out on a job, someone needs to gather:

  • The total contract amount, including any scopes added at signing.
  • Every billable line item broken out by scope or trade, since each line becomes its own row on the G703.
  • The unit price or lump-sum value assigned to each line.
  • The retainage percentage set in the contract, since it can vary by GC or by contract type.
  • Prior billing history, if the schedule of values is being set up mid-contract instead of at kickoff.

Get those five pieces right at the start, and the schedule of values does the same work every month after that without anyone touching the setup again.

Where the Schedule of Values Does the Work

From that point forward, every monthly pay application draws from the same schedule instead of being reconstructed. Enter the percent complete on each line this month, and the application calculates the current billing amount, withholds the correct retainage percentage, and rolls the totals forward automatically. When a change order is approved, it updates the contract total the schedule of values bills against, so the next application already reflects the new total instead of requiring someone to add it in by hand.

Once the schedule of values is entered, Sage Intacct calculates the current billing period, withholds retainage at the percentage set on the contract, and rolls both figures directly into the G702 summary and G703 continuation sheet, the same forms a GC expects to receive, without a separate document to build or format.

Building the Pay App: Excel vs. Sage Intacct

Laid out step by step, the difference between the two processes is not about speed alone. It is about how many places the same number has to be re-entered before it reaches the GC. In a spreadsheet, that re-entry is where things actually break down:

  • The wrong version of last month's spreadsheet gets pulled forward and billed from.
  • A percent complete or dollar figure gets entered on the wrong line.
  • The retainage percentage gets applied inconsistently from one job to the next.
  • A change order gets approved but never makes it into the contract total before the next billing cycle.

None of these are hypothetical. They are the specific, recurring failure points a schedule of values removes once it is set up correctly and left alone.

StepBuilding It in ExcelBuilding It in Sage IntacctSchedule of valuesRebuilt or copied forward from the last job, with a real risk of carrying over the wrong versionBuilt once per contract and reused for every billing cycle on that jobPercent completeEntered and recalculated by hand each month, line by lineEntered once per period. Totals and retainage recalculate automaticallyRetainage withholdingCalculated manually, and easy to misapply the percentage or miss a jobCalculated automatically from the contract terms on every applicationChange order updatesRequires manually rebuilding the contract total before billing againChange orders roll into the contract sum automatically once approvedG702 / G703 outputManually formatted to match the summary and continuation sheetPopulates directly into the summary and continuation sheetWIP feedRe-entered into a separate WIP spreadsheet by handThe same billing data feeds WIP reporting without re-entry

The retainage line matters here specifically because it is one of the easiest steps to get wrong by hand. A percentage applied inconsistently across jobs, or missed on one line item, throws off both the current billing amount and the balance to finish. Because Sage Intacct calculates retainage from the contract terms every time, the percentage withheld cannot drift between one job's spreadsheet and the next.

The WIP feed row matters for a different reason. Once a percent-complete error slips into a pay application, it does not stay contained to that one invoice, it carries forward into every WIP calculation that follows. That is a big enough problem to get its own explanation.

What This Doesn't Fix

Automating the pay application does not fix a schedule of values that was built wrong from the start. If the line items do not match how the job will actually be billed, or a change order never gets added to the contract total, automating the process just means the wrong numbers move faster instead of slower. The schedule of values still has to be set up correctly at kickoff. What changes is everything that happens after that point.

It is also worth being clear about what this does not change: the general contractor still reviews and approves every application the same way. What moves faster is the time between when the work is done and when an accurate application is ready to send.

Frequently Asked Questions

Do I need to rebuild the schedule of values for every project?

Yes. Each contract gets its own schedule of values, built once at kickoff. From there, every monthly billing cycle on that job draws from the same schedule instead of starting over.

Does Sage Intacct produce both the G702 summary and the G703 continuation sheet?

Yes. Once the schedule of values is set up, Intacct populates both the contract-level summary and the line-item detail sheet from the same billing data, so there is no separate document to build or reconcile.

Stop Rebuilding the Same Pay App Every Month

The billing coordinator in this scenario spends an afternoon every month reconstructing a form that should carry most of its own numbers forward. Sage Intacct removes that rebuild by generating the pay application directly from the schedule of values that was already set up, so the next pay period starts from where the last one left off instead of from a blank spreadsheet.

→ Talk to an Alliance expert

Customer Testimonials

They reach out to you proactively. They don't just treat you like a number, they treat you like a true team member. And that's extremely important. When you're kind of staring down a confusing path, you're trying a new software, it's already incredibly overwhelming.
Keith Gulet
Controller American Roofing
We’ve worked with alliance solutions for a number of years, and we had a great experience with them when implementing Sage 300, so when it was time to upgrade our ERP system to Sage Intacct we choose Alliance.
Jonathan Siskey
CFO SafeAir

Join 50,000+ companies
that trust Sage for construction software.

Ready to simplify your operations, sharpen your insights,
and build smarter? Let’s talk.