Committed costs in construction: keep open balances distinct

An invoiced subcontract amount can remain inside the contract total, so adding the total to actual costs can overstate the expected final cost.

Kartik Deshpande··6 min read

Your subcontract shows a revised value of $260,000, and accounting has posted $100,000 against it. The open balance is $160,000 if those actuals cover the same scope and there are no other adjustments. When a cost review adds the full contract value to posted actuals, it counts the $100,000 twice. Define whether committed costs mean the whole agreement or only its remaining balance before adding the amount to actuals.

Procore’s committed-cost explanation connects construction commitments to formal agreements with subcontractors and vendors. The method below follows one agreement through approval, invoicing, and forecast review. It separates the transaction evidence from the project manager’s estimate of work that still has no commitment.

Give each cost column one meaning

Use revised commitment for the original authorized agreement plus the changes included under your reporting policy. Use matched actuals for recognized costs linked to that agreement at the same cutoff. Use open commitment for the remaining amount not already covered by those actuals. Keep the source system’s original column names alongside your reporting definitions so an export labeled committed cost cannot be misread.

Budget is a separate authorization or planning comparison. A $300,000 cost allowance does not prove a $300,000 purchase order exists, and a purchase order does not prove the work has been received or paid. Record the agreement ID, supplier, company, project, cost code, cost type, approval status, and currency before joining its amounts to the ledger.

A forecast of remaining work can include open commitments or exclude them. Choose one basis and name it. If the remaining forecast already includes the committed work still to be performed, adding the open commitment on top duplicates that scope. The construction job cost report assembles the broader job view after these definitions are settled.

Choose which agreement statuses enter the total

Do not treat every drafted purchase order as an authorized commitment. Your cost owner should state which statuses enter the baseline and which remain pending exposure. Procore’s commitment-status documentation shows that its budget treatment varies with status and budget-view configuration; use the configuration in your project rather than assuming a status name has a universal financial meaning.

Preserve proposed, approved, rejected, and voided changes with their source references. If the revised agreement export already includes an approved change, do not add the same change again from a separate register. When a canceled order has an invoice or delivery record, ask the owner to reconcile what remains owed rather than assuming the full obligation vanished.

Use the same currency, tax treatment, cost scope, and cutoff for commitments and actuals. A project export refreshed after the ledger cutoff can contain a change that accounting has not yet included. Record both the effective date and extraction time, then explain the difference or align the snapshots before calculating an open balance.

Reconcile one agreement before rolling up the job

Assume a hypothetical US-dollar job at one cutoff. There is an authorized $240,000 subcontract and one approved $20,000 change, producing a $260,000 revised commitment. Finance has recognized $100,000 of costs matched to that subcontract and $20,000 of other direct costs. There are no taxes, credits, accrual differences, disputes, or additional commitments in this simplified example.

MeasureHypothetical amountCalculation or basis
Revised subcontract commitment$260,000$240,000 original + $20,000 approved change
Actual cost matched to subcontract$100,000Included in total job actuals
Open subcontract commitment$160,000$260,000 - $100,000
Total job actuals$120,000$100,000 subcontract + $20,000 other direct
Remaining uncommitted forecast$30,000Owner estimate excluding the open subcontract
Expected final cost$310,000$120,000 + $160,000 + $30,000

The expected final cost is $310,000 under those assumptions. Adding the full $260,000 revised commitment to $120,000 of actuals and $30,000 of remaining uncommitted work would produce $410,000. The $100,000 difference is the subcontract actual already inside the commitment total. Neither calculation predicts when the remaining payments will clear.

Now assume another $40,000 is recognized against the same subcontract, with no scope or forecast change. Total actuals become $160,000 and the open commitment falls to $120,000. Expected final cost stays at $160,000 + $120,000 + $30,000 = $310,000. A report that increases the forecast by $40,000 needs investigation for an invoice counted without its corresponding reduction in the remaining balance.

Contract value and remaining value answer different questions
Whole agreement
Original scope plus accepted changes
Open balance
Revised amount less matched actuals
Use the remaining value beside actuals only after confirming that both amounts cover the same agreement and cutoff.

Match invoice lines before subtracting actuals

Use company-scoped agreement and line IDs wherever the sources provide them. Match an invoice line to its purchase-order or subcontract line and preserve the original invoice ID. A supplier name alone cannot distinguish two orders for the same trade on the same project (or agreements held by separate companies). Keep a review queue when a line cannot be allocated with evidence.

A single invoice can cover several cost codes, and several invoices can draw down one line. Store that allocation instead of joining every invoice to every matching cost-code row. After the join, reconcile invoice totals back to the source and count distinct source IDs. An inflated total after a many-to-many join can resemble an overrun even when no new work was approved.

Reconcile credits, returns, and partially canceled lines under the finance-approved basis. Do not hide a negative open balance by replacing it with zero: it can signal an over-invoiced line, an unmatched change, or an incorrect allocation. Record the reason once it is known, and keep unresolved differences visible in the job total.

If your actual-cost basis includes accruals for received work without an invoice, prevent the later invoice from becoming an additional cost for the same scope. Finance owns that accounting treatment. The operational report needs the corresponding identifiers and adjustment basis so commitment and actual records can be reconciled through the transition.

Keep remaining scope outside committed work visible

Give the $30,000 remaining uncommitted estimate an owner, scope description, date, and supporting basis. It can cover work not yet procured or an owner-approved estimate for other unfinished scope. It should not contain the subcontract’s $160,000 open balance if the report adds that balance as a separate component.

Suppose the team identifies a pending $15,000 scope increase. Keep its approval status and forecast treatment explicit; the proposal does not become an approved commitment because someone entered it in a register. The project owner may include supported exposure in a separately defined forecast scenario without changing the authorized agreement total. Preserve both values so a reviewer can see the decision.

Use the construction cost-code crosswalk when project and accounting categories differ. Retain unmapped costs and commitments as visible amounts with an owner. Removing them from a code-level report would make a tidy subtotal look more complete than the underlying records support.

Where Permute fits in commitment reconciliation

Permute sells the context layer that connects business records to AI tools. We can scope reconciliation around permitted Sage or QuickBooks actuals, agreement exports, and Excel forecast inputs. We retain source references while matching company, project, agreement, and cost lines, with ambiguous matches left for review.

We apply the cost owner’s definitions of revised commitment, matched actuals, and remaining uncommitted work. A project controller can ask Claude or ChatGPT why expected final cost changed and inspect whether the movement came from a new commitment, a posting, or a revised assumption. Current permissions determine which supporting records that person can retrieve.

Explore one commitment-to-invoice match

Start with a permitted agreement export and its associated actual-cost records.

Keep forecasts and accounting treatments with their owners

We are not a forecasting engine and do not decide which costs finance should recognize. In this reporting workflow, we read the permitted inputs; we do not approve an order, post an invoice, or write back into the system of record. Your cost and finance owners must approve the reporting basis and investigate exceptions.

Open cost is also different from future cash payment. An amount can be recognized but unpaid, and a retained amount can affect settlement timing. Use a construction cash flow forecast to translate supported obligations into expected payment dates instead of treating the open commitment as a cash calendar.

Report the remaining obligation on a stated basis

Committed costs become useful beside actuals when the report distinguishes the whole agreement from its open balance. Reconcile approved changes and matched costs at one cutoff, then add only remaining scope that the calculation has not counted. Keep invoice allocations and unresolved differences visible. A later invoice should move cost from remaining to actual under the stated basis without creating another copy of the same obligation.

Review a commitment balance that will not reconcile

Bring an agreement, its change history, and the matched cost extract to examine the remaining-balance definition.

Questions about committed costs

Does every cost need a purchase order?

The report should follow the company’s approved purchasing and cost policy. Direct payroll or other internally incurred costs may enter actuals without a supplier commitment. Keep their remaining forecast separate so the absence of a purchase order cannot make unfinished scope disappear.

What if the accounting invoice has no agreement ID?

Preserve the invoice and its amount in an unmatched queue. Use supporting references and an authorized allocation to resolve the link, rather than assuming that supplier and job names identify the agreement. Include the unmatched total when explaining report completeness.

Should a closed purchase order always have a zero balance?

Reconcile the financial records before drawing that conclusion. A closed workflow status can coexist with unresolved invoices, credits, or an incomplete source update. Have the agreement owner explain the remaining amount and document the adjustment rather than deleting it from the report.