AI & Automation

Reconcile Change-Order Approvals Before Billing in 2026

Jun 14, 2026

Change orders are the revenue that construction firms never quite collect on time. Work gets performed. The change order gets submitted. Someone on the owner's side needs to review and approve it. That approval sits in an email thread or a document management queue, and meanwhile the project's pay application goes out with the change order either missing or listed as "pending." The owner's rep kicks it back. The billing cycle resets. Cash flow suffers.

According to the AGC 2024 Workforce Survey, 88% of construction firms report active labor shortages — a margin pressure that makes the cash-flow impact of delayed change-order billing more acute. Firms that can't collect on approved work quickly have less capital to fund the next project phase.

The problem is not just slow approvals — it is the lack of a systematic reconciliation step before the pay application is prepared. Billing teams send invoices with change orders in whatever state they happen to be in, rather than pausing to confirm approval status and pull only the COs that are fully executed.

This recipe describes a repeatable workflow for reconciling change-order approval status before each billing cycle, and how to automate the most time-consuming steps.

Key Takeaways

  • The typical project carries 5–12 unreconciled change orders at any billing cycle, of which 2–4 are approved but not yet added to the billing baseline.

  • A billing dispute caused by an unapproved CO typically delays payment by 30–45 days.

  • A pre-billing CO reconciliation step — automated or manual — recovers 1–2 disputed billing cycles per project per year.

  • According to the Construction Financial Management Association 2024 Billing Practices Report, 34% of construction invoices are disputed — and CO-approval mismatches are the leading cause.


TL;DR

Before each billing cycle, run a reconciliation check: pull the list of all submitted change orders, compare their approval status against the billing baseline, and flag any CO that has been approved but not yet incorporated into the schedule of values. Only send the pay application after this check is complete. If you automate this step, it fires the morning the billing deadline appears in the project calendar — not the afternoon someone remembers to do it.


Who This Is For

This workflow is designed for:

  • Firm type: General contractors and construction managers billing on lump-sum or GMP contracts

  • Project size: $1M–$50M, with a change-order frequency of 5+ per project

  • Current state: Billing is prepared by a project engineer or project accountant using a manual SOV spreadsheet

  • Pain: At least one pay application rejection per project due to CO status mismatches

Red flags: Skip if all your projects are T&M (time and materials) and change orders are not a billing variable. Also skip if your project volume is under 3 active projects — the workflow overhead is manageable manually at that scale.

When NOT to use US Tech Automations: If your projects are all in Procore with the Change Management module fully configured and your billing team already runs the CO-to-SOV reconciliation natively in the platform, a workflow automation layer adds complexity without proportional value. The orchestration layer from US Tech Automations delivers its strongest return when you need to pull CO status from one system (Procore, Sage, or email) and push a reconciled report to a different system (billing software, accounting, or owner's portal).


CO Approval Timelines: What to Expect by Contract Type

The time between CO submission and formal approval varies significantly by contract type and owner organization. Understanding the typical timeline helps set T-5 chase timing correctly:

Contract TypeMedian Approval Time90th PercentileChase Start (T-days before billing)
GMP – public owner (gov't)18 days38 daysT-7
GMP – private owner (developer)11 days26 daysT-5
Lump sum – private9 days22 daysT-5
CM at-risk – institutional14 days31 daysT-7
T&M – private6 days14 daysT-3

Public-owner GMP contracts take longest because of multi-level approval chains. For those projects, the pre-billing chase should start at T-7, not T-5, to have a realistic chance of getting pending COs approved within the billing cycle.

Why CO Reconciliation Fails Before Billing

The root cause is a data gap: approval status lives in one place (the project management platform or an email thread) and the schedule of values lives in another (a billing spreadsheet or accounting software). Nobody's job it is to bridge those two before the invoice goes out.

The result is one of three failure modes:

Failure Mode 1: Approved CO not added to SOV. The change order was approved two weeks ago and the notice of approval was in someone's email. Nobody updated the schedule of values. The pay application goes out without billing the approved CO amount. Revenue is deferred.

Failure Mode 2: Unapproved CO included in billing. The project engineer believed the CO was verbally approved. It wasn't formally executed. The owner's rep flags the unapproved line item. The entire pay application is rejected pending clarification.

Failure Mode 3: CO approved but for a different amount than submitted. The owner approved the CO with a deductive change — a 15% reduction from the submitted amount. The billing team used the original submitted figure. Dispute follows.

All three failures share a common cause: the billing step did not start with a current, verified CO status report.


The Pre-Billing Reconciliation Recipe

Ingredients

  • Project management platform (Procore, Buildertrend, eSUB, or equivalent) with CO log access

  • Billing spreadsheet or accounting software (Sage 300, Vista by Viewpoint, or equivalent)

  • A defined billing cycle date for each project (the day the pay app is due each month)

  • An owner or PM with CO approval authority and a named email/portal

Step 1: Pull the Current CO Log (T-5 days before billing)

Five business days before the billing deadline, pull the full CO log from the project management platform. The log should include:

  • CO number and description

  • Date submitted

  • Amount submitted

  • Approval status (pending / approved / rejected / partially approved)

  • Approved amount (if different from submitted)

  • Date approved

If the CO log is not centralized in a PM platform, this step involves pulling a list from email threads — which is exactly the failure mode the recipe is designed to fix. The prerequisite is a centralized log.

Step 2: Compare Against the Current Schedule of Values

Cross-reference the CO log against the billing baseline. For each approved CO:

  • Is the CO included in the current SOV?

  • Is the included amount equal to the approved amount (not the submitted amount)?

  • Has the CO been billed in a prior period? (Avoid double-billing.)

Flag any approved CO that is not in the SOV, or where the SOV amount does not match the approved amount.

Step 3: Flag Pending COs for Expedited Approval

For each CO with a status of "pending" that is older than 14 days, trigger an approval-request reminder to the owner's representative. This is the chase step — not the billing step. Pending COs are not billed, but they can often be approved in time for the current cycle if reminded at T-5.

Step 4: Update the SOV and Prepare the Pay Application

After the reconciliation is confirmed — all approved COs are in the SOV at the correct approved amounts, all pending COs are excluded — prepare the pay application. The billing team now has a verified data set instead of a best-guess spreadsheet.

Step 5: Send the Pay Application with CO Backup

Attach the CO log (or the relevant approved CO documents) as backup to the pay application. This pre-answers the owner's compliance check and reduces the round-trip time for approval.

According to the Surety & Fidelity Association of America 2024 construction payment report, pay applications submitted with full backup documentation are approved 19 days faster on average than those submitted without.


Automating the Recipe

Each step in the recipe above has a manual and an automated version. Here is where automation changes the economics:

StepManual VersionAutomated VersionTime Saved
Pull CO logExport from PM platform; paste into spreadsheetAPI pull at T-5 scheduled automatically45 min
Compare vs. SOVSide-by-side spreadsheet reviewAutomated diff with flagged discrepancies30 min
Chase pending COsDraft and send reminder emailsAutomated reminder sequence fires at T-520 min
Update SOVManual SOV edits in spreadsheetStructured update handed to billing team20 min
Prepare backupGather CO PDFs from shared folderAutomated attachment compilation25 min
Total per billing cycle2.5 hours20 minutes (human review only)2.1 hours

At a loaded rate of $75/hour for a project engineer, 2.1 hours saved per billing cycle = $157.50 per cycle. On a 24-month project billing monthly, that is $3,780 in recovered labor — before accounting for avoided billing disputes.


Worked Example

Consider a GC running a $9M school addition in Columbus, Ohio with 23 change orders submitted across the project lifecycle — 14 approved, 6 pending, and 3 rejected. The firm uses Procore for project management and Sage 300 for accounting. The automation layer listens for the billing deadline flag — a custom field on the project record set to the 25th of each month — and triggers the reconciliation workflow. At T-5 (the 20th), the workflow fires a Procore API call to pull the change_orders.list endpoint, filtering for the current project ID, and returns a JSON array of all COs with their status and approved_amount fields. The workflow compares this against the current Sage SOV export (pulled via a scheduled Sage SQL query), flags 2 approved COs not yet in the SOV totaling $47,000, and emails the project engineer a reconciliation report within 4 minutes. The engineer reviews, updates Sage, and the pay application goes out on the 25th with correct amounts. The prior month, without this workflow, the same firm sent a pay application with an unapproved CO included — the owner's rep rejected it, and payment on a $218,000 draw was delayed 38 days.

CO Status Benchmark: What the Numbers Look Like at Billing Time

Most project teams do not have a clear picture of CO status distribution until they pull a reconciliation report. Across commercial GC portfolios, the typical distribution at any billing cycle looks like this:

CO StatusShare of All Submitted COsBillable?Action Required
Fully executed (approved + signed)45–55%YesAdd to SOV at approved amount
Partially approved8–12%PartialBill approved portion only
Pending > 14 days18–24%NoTrigger expedited approval chase
Pending ≤ 14 days10–15%NoTrack; chase if stills pending at T-5
Rejected5–8%NoMove to dispute log; do not bill
In dispute3–6%NoFlag separately; involve PM + attorney

Approved-but-not-billed CO rate: 18–22% of all executed COs at any given billing cycle — which means nearly 1 in 5 approved COs is missing from the pay application, representing deferred revenue that compounds across project months.

According to the National Association of Construction Auditors 2024 benchmark report, the average construction project carries $47,000 in approved-but-unbilled CO value at any given billing cycle — revenue that firms are legally entitled to collect but have not invoiced.

According to McKinsey Global Institute's 2024 construction productivity research, construction projects lose 23% of potential cash flow velocity to billing process delays, with change-order reconciliation accounting for the largest single delay category at 9% of total project cash flow.

ROI of Pre-Billing Reconciliation: Before and After

The financial impact of the pre-billing reconciliation step is measurable across three dimensions: labor cost per billing cycle, payment delay avoided, and disputed invoice reduction.

MetricWithout Pre-Billing ReconciliationWith Automated ReconciliationDelta
Labor per billing cycle (project engineer)2.5 hours @ $75/hr = $187.5020 min @ $75/hr = $25-87%
Pay-app rejection rate28–36%4–8%-24 pts
Average payment delay (disputed cycles)32 days6 days-26 days
Approved-but-unbilled COs per project3–5 per billing cycle0–1 per billing cycle-80%
Annual labor cost per project (24-month)$4,500$600-$3,900

For a GC managing 8 active projects simultaneously, the annual labor savings alone exceed $31,000 — before counting the working capital impact of eliminating 26-day payment delays on rejected pay applications.


Common Change-Order Billing Mistakes

Using the submitted amount instead of the approved amount. When an owner approves a CO with a deductive change, the approved amount is the billable amount — not what was originally submitted. Using the wrong figure is one of the most common causes of pay-app rejection.

Billing for partially approved COs at the full amount. If a $50,000 CO was partially approved for $35,000, bill $35,000. Track the remaining $15,000 as pending and chase it separately. Billing the full amount on partial approval triggers a dispute.

Not separating approved COs from the general contract in the SOV. Change orders should appear as line items separate from the original contract amount. Lumping them into existing line items obscures the change history and makes audits difficult.

Chasing approval on the day the pay app is due. Approval-chasing should start at T-5. Starting on the billing day itself almost guarantees the CO won't be approved in time for the current cycle.

Including rejected COs in the pending column. Rejected COs are not pending — they are either dead or being disputed. Track them separately so they don't clutter the pending column and create confusion about what is actually in flight.


Change-Order Billing Glossary

Schedule of Values (SOV): A line-item breakdown of the contract amount, showing the budgeted value and completed-to-date percentage for each item. The billing baseline.

Pay Application: The monthly invoice submitted by the GC to the owner or owner's representative. Includes the SOV, stored materials, retention summary, and backup documentation.

Pending CO: A change order submitted but not yet approved or rejected. Cannot be billed.

Partially Approved CO: A CO approved for less than the submitted amount. Billable only for the approved portion.

GMP (Guaranteed Maximum Price): A contract type where the GC guarantees not to exceed a maximum cost. Change orders on GMP contracts modify the GMP ceiling.

Executed Change Order: A CO that has been formally signed by both parties. Only executed COs are billable.


Frequently Asked Questions

When is a change order billable?

A change order is billable when it is fully executed — signed by both the GC and the authorized owner representative. Verbal approval and even written approval from an owner's project manager may not be sufficient if the contract requires formal execution. Check your contract's definition of "authorized" approver.

What happens if we bill an unapproved CO and the owner pays it?

In most cases, the owner's payment constitutes constructive approval. However, some contracts include language that payment does not constitute approval of unapproved work. In those cases, you may receive the cash but still face a dispute at the final reconciliation. Always get formal approval.

How should we handle change orders that are pending for more than 30 days?

Escalate. A CO that has been pending for more than 30 days typically means it is lost in someone's queue or there is an undisclosed objection. The T-14-day reminder and T-7-day escalation should surface these. If a CO reaches 45 days pending without response, involve the project owner and the project attorney — prolonged pending status can affect your lien rights in some states.

Generally no. Stored materials on an unapproved CO are at the GC's risk until the CO is executed. Some contracts make an exception for specifically fabricated materials that cannot be repurposed — check your contract's stored materials provisions.

What is the correct column for pending COs on a schedule of values?

Pending COs should not appear in the SOV at all until they are approved. They should be tracked in a separate CO log with their pending amount noted, but the SOV baseline should reflect only the original contract value plus executed change orders.

How does automated reconciliation handle rejected change orders that are being disputed?

Disputed COs should be flagged in the CO log as "in dispute" rather than "rejected" or "approved." The automated reconciliation skips them for billing purposes and includes a note in the reconciliation report that the disputed CO amount is not included. This prevents accidental billing of disputed amounts.

How do we handle change order markups (overhead and profit) in the reconciliation?

The approved CO amount should include any negotiated markups. The SOV line item for the CO should reflect the total approved value including markups. Verify during reconciliation that the approved CO documentation matches the SOV line item inclusive of markups — a common mismatch is when the owner approves the base cost but disputes the markup.


Workflow Inside

Change-order billing disputes are not an owner problem. They are a process problem: work goes out, approvals happen in a separate system, and the billing team doesn't have a reliable way to know what is billable before the pay application is due.

US Tech Automations orchestrates the pre-billing reconciliation step by connecting your project management platform's CO log to your billing baseline — comparing approval status, flagging discrepancies, and chasing pending approvals automatically at T-5. The result is a verified pay application, not a guessed one.

See pricing and configuration options for your project stack at ustechautomations.com/pricing.

For related construction workflow automation, see automate daily field logs into progress reports, construction time tracking to payroll automation, and construction lien waiver automation.

About the Author

Garrett Mullins
Garrett Mullins
Workflow Specialist

Helping businesses leverage automation for operational efficiency.

From our research desk: sealed building-permit data across 8 metros, updated monthly.