Every rate cycle, the construction software category publishes the same genre of content: where rates are headed, what input costs did last quarter, how contractor sentiment is trending. Read all of it and you will not find a single number you can change. Your real exposure isn't the rate — it's the unapproved change order accruing float at that rate. The market sets the price of a day. Your operating architecture decides how many days you pay for.
Discovering economics content is not running the economics
The construction ERPs and management platforms have discovered economics content. One strand is the macro column: input-cost inflation figures, rate moves, sentiment indices, with a prescription that amounts to stay realistic, sharpen the bid, attend the webinar. Another strand, from the residential construction platforms, is rate optimism: when rates ease, demand returns — and in the meantime, offer targeted incentives and tighten up your invoicing. None of it is wrong. Macro awareness genuinely matters for bidding and backlog planning, and honest forecasting is a legitimate service to a cyclical industry.
But notice what never happens in this genre: the column never connects one macro statistic to an operational metric a contractor actually controls. It quotes an inflation figure and recommends a mindset. It forecasts a rate cut and recommends an incentive — a decision made in a meeting, executed nowhere in particular. That is spectatorship. You cannot approve a rate cut. Rates are weather. The question worth a CFO's time is different: what does a day of operational latency cost you at today's rates — and which latencies do you actually own?
The variable you actually control
Two conversions define a contractor's working capital. How fast an escalation event becomes an approved change order. How fast completed work becomes a released pay application. Between the event and the approval, between the work and the release, sits float — and borrowing cost accrues on float every single day, at whatever price the market has set this cycle.
Run the arithmetic on a hypothetical but entirely ordinary case. A $2 million change order lands on a mid-size job — escalated steel, revised scope. The work proceeds under a change directive while the approval routes. Suppose approval takes 45 days and the GC carries the cost at an 8% cost of capital: $2,000,000 × 8% × 45/365 comes to roughly $20,000 of pure interest carry — on one change order. Before any margin erosion. Before subcontractors price your payment latency into their next bid, as slow payers eventually get priced. Before a single billable hour of dispute cost. Multiply by the change-order count on a capital project, and the float is a line item that appears on no report you currently receive.
Here is what the macro columns miss: rates didn't create that cost — the float did. Rates just repriced it. When money was near-free, a 45-day approval cycle was sloppy. At today's rates, the same latency is a recurring charge you are electing to pay. And carry is only the visible half. The invisible half is the work performed on verbal direction while the change order sits unapproved — the classic seed of the claim you will be arguing about eighteen months from now.
A vocabulary the category lacks
If cycle time on the money actions is the controllable variable, a CFO needs it the way a CFO needs anything: as numbers, with owners and trends. Four metrics, none of which appear on the category's dashboards:
- Change-order approval latency. Elapsed time from escalation event — or pending change notice — to executed change order, cut by project, counterparty, and dollar band.
- Pay-application DSO. Days from work-in-place to cash released, decomposed by where the days dwell: lien waiver collection, progress verification, approval, release.
- Hold dwell time. How long safety holds and commissioning gates keep money and turnover blocked — and whether each was released by authority or simply expired by attrition.
- Unapproved-CO exposure. The dollar value of work performed under pending or verbal change direction, expressed as a percentage of contract value. This is the claim you are currently building, measured while you can still prevent it.
The category doesn't report these. Not for lack of imagination — for lack of jurisdiction. The clocks these metrics read are attached to actions, and the actions do not execute inside the platforms.
Why your stack can't produce the numbers
Say the fair thing first. The document platforms genuinely rescued this industry. Construction ran on email, fax, and binders; a versioned, searchable, single home for RFIs, submittals, drawings, and daily logs is real and hard-won. Neutral document control with immutable transmittals made multi-party recordkeeping fair. Configurable approval workflows with sign-off thresholds are a genuine second layer of governance — real governance of the routing. And the dispute-winning value of a complete, timestamped record is not marketing; documentation has saved contractors real money in real claims.
But look at what a routed approval physically is: a document crossing the owner–GC–subcontractor seam. A signature chase across three companies' separate systems, whose financial consequence is re-keyed into each party's ERP afterward. The authority check is organizational choreography around the document — it is not the execution path of the money. So the timestamps in the record bracket the document: uploaded, transmitted, signed. The latency lives elsewhere — in the email thread, the redlined exhibit, the ERP re-key, the phone call that actually resolved the sticking point. A platform can only instrument actions that happen inside it. When the consequential action — approve against budget authority, release the pay application, enforce the hold — executes as paperwork moving between systems, approval latency and hold dwell time are not in anyone's database as facts. They are in the gaps between databases.
You can see the tell in the category's own success stories: the celebrated outcome is that assembling the report got dramatically faster — days of preparation collapsing into one — while the payment cycle the report describes runs exactly as long as it did before. That is a faster description of the same float.
When the approval is the execution path
Entroid's ConstructOS takes the opposite architectural position: the governed unit is not the document about the project — it is the project action itself. ConstructOS runs on the Composable Process Fabric: five primitives — Deterministic Workflows, Intelligence Orchestration, Atomic Agents, Functions, and Connectors — on a shared semantic ontology, one runtime, an immutable per-action audit. The owner, GC, and subcontractor estates stay where they are; governed Connectors, the only primitive that touches external systems, carry the fabric across the seam. This is not a rip-and-replace claim. It is a claim about where the action commits. Three consequences follow architecturally:
- Compression by construction. Change-order approval executes against live delegated budget authority: the authority check is the execution path — a Deterministic Workflow state, not choreography beside a document. The approval commits the commitment update in the same transaction, so there is nothing to re-key and therefore no re-key latency and no transcription drift. A human still approves — human-in-the-loop is a first-class primitive, not an escape hatch — but the signature and the state change are the same event.
- Instrumentation as a byproduct. Every action writes an immutable per-action audit record, which turns the four metrics above into queries over the log rather than a quarterly data-assembly project. Only a platform where the actions execute can report action latency — that is a definitional point, not a feature comparison. Intelligence Orchestration then runs exposure analytics over those governed actions: unapproved-CO exposure trending by project, which counterparty's authority band dwells longest, where hold time concentrates.
- The dispute doesn't form. Pay-application release is gated inline on lien waivers, verified progress, retention, and hold state; safety holds and commissioning sign-offs are enforced workflow states that block exactly the money and the turnover they should. When approval-against-authority is how the change order executes, "was this approved, by whom, against what budget" is not a reconstruction from correspondence — it is the record the action itself wrote. You shouldn't have to prove what was already approved.
None of this abolishes negotiation. Owners will still push back on scope; pricing will still get argued — that is precisely what the human in the loop is for. What it abolishes is the untimed, unowned float around the decision.
The question for your next operations review
The next time macro commentary crosses your desk, skip the sentiment index and ask your team for four numbers: median change-order approval latency by project, pay-application DSO decomposed by stage, hold dwell time, and unapproved-CO exposure as a percentage of contract value. If producing them requires a two-week reconciliation across three systems, that is the actual finding — your exposure isn't measurable in your current stack because the actions that create it don't happen there. Rates, you watch. Cycle time, you can govern — but only on an architecture where the money actions execute under governance in the first place.
The market sets the price of a day of float. Your architecture decides how many days you pay for.
See what this looks like for your enterprise.
Not a demo. A strategic conversation about how your enterprise could operate
when every process runs on one governed fabric.
