Power BI for Construction

A Power BI construction job costing dashboard, with a WIP schedule that is never stale

Committed cost, cost-to-complete, percent complete, over- and under-billing, change orders, and retainage — pulled from your construction ERP and the estimating spreadsheets around it, into one model your CFO and your project managers both trust.

  • Senior-led (20+ yrs)
  • Hours never expire
  • 3–5 day turnaround
  • No project minimums
  • Full refund — first 4 hrs
Revenue Overview Revenue$4.2M Margin38% Orders12.4k Churn2.1% Monthly performance By segment 64%

Representative dashboard — sample data

Job cost, live

Margin fade is discovered at close — it starts in week three

Most contractors already have the numbers. They are just scattered. Committed cost sits in purchase orders and subcontracts inside the ERP, actual cost lands in accounting a week or two later, the estimate lives in the estimator's workbook, the forecast lives in whatever spreadsheet the project manager likes, and the WIP schedule is rebuilt by hand each month by one person who knows where the bodies are buried. By the time the over/under billing report is signed off, the jobs it describes have moved on. A Power BI construction job costing dashboard closes that gap: one model, refreshed on a schedule, where budget, commitment, actual, and forecast sit side by side at cost-code level.

We build for general contractors, specialty and trade subcontractors, design-build firms, and civil and heavy-highway operators — anyone whose profit is decided project by project rather than at the company P&L. The point is not prettier reporting. It is that a cost code trending 8% over budget in month two is a conversation you can still win, and the same cost code discovered at closeout is simply a loss you write up.

The equation the whole schedule hangs on

Percent complete, honestly

% complete = cost to date ÷ (cost to date + cost to complete) — earned revenue follows from it, and over/under billing is simply what you billed minus what you earned.

What we build

Six views a contractor actually runs on

Each one is tied to a decision someone makes weekly — approve, escalate, rebill, or reforecast.

Job cost by cost code

Original budget, approved revisions, committed cost, cost to date, cost-to-complete, and projected final cost — by division, cost code, and cost type, with variance flags on the codes that are drifting.

WIP schedule

Percent complete, earned revenue, billings to date, and over- or under-billing by contract — the artifact your surety, bank, and CPA all ask for, produced continuously instead of once a month.

Change order pipeline

Approved, pending, and at-risk change orders with the margin each carries, days sitting unapproved, and the exposure if the pending column never converts — so nobody builds on an unsigned CO by accident.

Retainage & cash flow

Retainage receivable by project, owner, and age, retainage payable to subs, plus a cash-flow forecast by project and across the portfolio built from billing schedules, payment terms, and release milestones.

Labor productivity

Installed quantity against budgeted hours, earned versus burned hours, performance factor by crew and cost code, plus overtime and per-diem creep — the earliest warning you get that a job is going sideways.

Equipment, subs & safety

Equipment utilization and cost per hour against internal rental rates, subcontractor cost, schedule and rework performance, compliance expiries, and recordable incidents and near-misses by project and trade.

Which job costing metrics belong on the dashboard?

The short answer: the ones that change a decision before the job closes. That means the four-column job cost view (budget, committed, actual, forecast), the WIP schedule that turns it into revenue and billing position, and the leading indicators — labor performance factor and unapproved change orders — that move before the cost report does. We build these as governed DAX measures (opens in new tab) with definitions your controller signs off, so the same number means the same thing to the CFO, the PM, and the surety.

  • Budget vs committed vs actual — at cost-code and cost-type level, so a $40k PO issued today shows as exposure today, not when the invoice posts.
  • Cost-to-complete & projected final cost — from remaining budget, PM forecast, or unit rates, with the gap between methods made visible rather than averaged away.
  • Percent complete, earned revenue, over/under billing — the WIP schedule, computed continuously and reconciled to the general ledger.
  • Margin fade — projected margin at each month-end versus the margin you bid, per project, so fade is a trend line rather than a closeout surprise.
  • Change order status & exposure — approved, pending, and at-risk value, aging of unapproved COs, and the margin riding on each state.
  • Retainage & cash — retention receivable and payable by age and project, plus projected cash in and out by week across the portfolio.
  • Labor, equipment & subs — performance factor by crew, equipment utilization and cost per hour, and subcontractor cost, schedule, and rework performance.

Where does the data come from, and how often does it refresh?

It comes from the systems you already pay for, plus the spreadsheets nobody will admit to. Our construction clients typically run an ERP or accounting platform such as Sage 300 CRE, Viewpoint Vista, Foundation, or QuickBooks; a project management or field system such as Procore; a payroll or timekeeping tool; and a folder of estimating and forecast workbooks. We consolidate those into one model — connecting by supported API, ODBC, database, or scheduled export — rather than asking you to replace anything. If Vista is your system of record, our Viewpoint Vista Power BI dashboard page covers that build in detail, and if the accounting runs on Timberline, our Sage 300 CRE Power BI dashboard page explains how the data leaves the Pervasive data folder. We are an independent consultancy: these are simply systems our clients use, not partners of ours.

Refresh is scheduled to match how the data actually moves: job cost and commitments nightly, timecards and field quantities daily or per shift, billings and AR on your billing cycle. Where a system sits behind your firewall we run it through the on-premises data gateway (opens in new tab). Row-level security is set by project, division, or region, so a PM sees their jobs and the executive team sees the portfolio. Every transformation is documented, so a controller can trace any figure back to the source record when the auditor asks.

How does a Power BI WIP compare with the spreadsheet version?

Not on looks — on latency, traceability, and who can produce it. The spreadsheet WIP is accurate on the day it is finished and decaying every day after. The modeled version recalculates whenever the source data lands, and every cell can be clicked through to the transactions underneath it.

Construction KPI The question it answers Where the data comes from
Committed vs budget by cost code Have we already spent this job's contingency without posting a single invoice? ERP purchase orders, subcontracts, and job budgets
Cost-to-complete / projected final cost What will this job actually cost, and is the bid margin still there? ERP job cost, PM forecast workbooks, unit-rate estimates
Over- / under-billing (WIP) Are we financing the owner, or borrowing against work we have not earned? Billing applications, GL revenue, job cost to date
Change order exposure How much margin depends on change orders nobody has signed yet? Project management / field system, ERP contract module
Labor performance factor Are the crews installing quantity faster or slower than we bid? Timekeeping / payroll, field quantity reporting
Retainage receivable by age How much of our cash is being held back, and when should it release? AR ledger, contract terms, closeout milestones

Who is this for, and what do you walk away owning?

It is for the contractor CFO who wants a WIP that is current, the controller who is tired of rebuilding it, and the project controls lead who wants one truth instead of eleven PM spreadsheets. At handover you own the report, the semantic model, the DAX, and the credentials outright — no license to us, no lock-in, no hostage data model. If you later want to bring it in-house, everything is documented for whoever inherits it.

We are remote-first and work with contractors across the United States. If you happen to be in Southern California, on-site working sessions are available — useful for a first workshop with PMs and the accounting team — but nothing about the engagement requires it.

Most-requested builds

  • Four-column job cost report by cost code
  • Automated WIP schedule with over/under billing
  • Change order log with margin exposure
  • Retainage aging and portfolio cash forecast
  • Labor performance factor by crew and cost code

How it works

From a month-old WIP to a job cost view that keeps up

  1. 1

    Scope & connect

    On a free demo we walk your cost-code structure, contract types, and the way you compute percent complete. You submit the task, we reply by email with a scope estimate and the hours it needs, and once you approve we connect the ERP, the field system, payroll, and the estimating workbooks — hours deducted only for approved work.

  2. 2

    Model & reconcile

    We build a star schema (opens in new tab) around job, cost code, cost type, and date, then write the DAX for committed cost, cost-to-complete, earned revenue, and over/under billing. Your controller ties the output to the last signed WIP, line by line, until it agrees.

  3. 3

    Launch & hand over

    We publish to your workspace, set scheduled refresh and row-level security by project or division, and train the PMs and the accounting team. Most tasks are delivered in 3–5 business days of approval; larger multi-system builds get a timeline up front. You own everything at handover.

Representative perspective

Our WIP was always two weeks behind the jobs it described. Having percent complete and over/under billing recalculate off the cost ledger changed what we could argue about in the monthly review — and how early.
CFO, general contractor

Representative perspective

Every PM had their own forecast tab. One model with committed cost and cost-to-complete in it meant we stopped debating whose spreadsheet was right and started dealing with the cost codes that were actually drifting.
Project controls lead, specialty subcontractor

Stop rebuilding the WIP by hand

Book a free demo. We’ll walk your cost codes, contracts, and systems, then scope the task and tell you the hours it needs before any work begins. Prepaid Flex hours start at $2,500 for 20 hours — and they never expire.

What else connects to a job cost model?

Job costing sits inside a wider finance stack, so most construction builds borrow from the rest of our work. The consolidation, cash forecasting, and board-pack side comes from our Power BI for finance and accounting practice; if you bill time as well as build, the utilization and AR patterns on our professional services dashboards page pair naturally with a WIP. Contractors running their books in QuickBooks usually start with a QuickBooks Power BI dashboard and layer job cost on top. The underlying build is our Power BI dashboard development service, and if you are retiring an Excel or legacy reporting stack, migration to Power BI carries the history across without losing it. The full process and Flex pricing are on our how it works page. When job data lives in Procore, our Procore Power BI dashboard page shows how budgets, change orders, and RFIs come across. Custom home builders and remodelers running the residential side of the business have a different record set — selections and allowances, client-approved change orders, daily logs, and a task schedule — and that build is covered on our Buildertrend Power BI dashboard page. Service-side contractors in HVAC, plumbing, and electrical should start with Power BI for HVAC and field service instead. Service divisions running ServiceTitan can see the custom ServiceTitan Power BI dashboard build. Contractors whose federal work runs on Deltek Costpoint have a different reporting problem again — indirect cost pools, contract funding against ceiling, and prevailing-wage labor visibility — and that build is covered on our Deltek Costpoint Power BI dashboard page. And if the equipment is a revenue line rather than a cost line — you rent fleet out to other contractors rather than only consuming it on your own jobs — the economics are per asset, not per job, and that build is covered on our Power BI for equipment rental companies page, which tracks utilization, rate achievement and return per unit instead of job margin. If that fleet is managed in Point of Rental, the field mapping and the routes out of the system are on our Point of Rental Power BI dashboard page. Contractors building well pads, facilities and gathering lines for energy clients often need the owner's side of the same capital as well — authorization for expenditure against actual cost by cost code, with commitments and field ticket accruals — and that reporting, together with production and lifting cost, is covered on our Power BI for oil and gas companies page.

Why it’s low-risk

Prepaid hours, you own everything

Every task is scoped and approved before work starts, and hours are deducted only for work you approve. Hours never expire, there are no project minimums, and there is a full refund within your first 4 hours. At handover the report, model, and credentials are yours.

FAQ

Contractor questions, answered

Yes. We rebuild the WIP schedule as measures: percent complete from cost-to-date over total estimated cost, earned revenue, billings to date, and the resulting over- or under-billing by contract. It reconciles to your accounting system and refreshes on a schedule, so the schedule is current between closes instead of two weeks stale.

We pull purchase orders and subcontracts as commitments, add costs actually posted, and compare both to the budget at cost-code level. Cost-to-complete is modeled from your estimating method — remaining budget, PM forecast, or unit rates — so projected final cost and projected margin update as commitments and actuals land.

Those are the systems our construction clients typically run, and we consolidate them into one model. We connect by supported API, ODBC, database, or scheduled export, blend in the estimating and forecast spreadsheets PMs keep, and document every transformation so controllers can trace any figure back to its source record.

Yes. We track change orders as approved, pending, and at-risk, showing the margin each state adds or exposes and how long approvals sit. Retainage receivable is reported by project, owner, and age, alongside retainage payable, so you can see how much cash is being held back and when it should release.

You buy a block of prepaid senior-led hours that never expire: Starter is 20 hours at $125/hour ($2,500), Growth 40 hours at $115/hour ($4,600), Power 80 hours at $100/hour ($8,000). We scope each request before work starts and deduct hours only for approved work. Most tasks land in 3–5 business days, and there is a full refund within your first 4 hours.

Book a free demo

Get senior Power BI help, on demand

Tell us the task. We scope it, you approve, and a senior consultant delivers — typically in 3–5 business days. Prepaid hours that never expire.

  • Prepaid hours from $100/hour — and they never expire
  • Senior-led delivery — 20+ years on the Microsoft platform
  • Typical 3–5 business day turnaround
  • Full refund if you’re unhappy in your first 4 hours

The fastest way to reach us is the form — tell us the task and we'll reply within one business day.

All fields are required.

We reply within one business day. No newsletters, no drip campaigns.

Book a Free Demo