Skip to main content

Budget & Billing Widgets

Seven widgets that answer the questions: are we on budget? are we billing fast enough? are we making margin? They share two prerequisites — a contract value entered on Budget Entry, and (for the billing widgets) at least one payapp on Billing Tracker. Without one or both, several widgets show "no data yet — go enter X" empty states rather than real numbers.

tip

Two prerequisites unlock most of these widgets — enter a contract value on Budget Entry, and at least one payapp on Billing Tracker. Until you do, you'll see "enter X to see Y" messages.

At a glance

WidgetBest forPage(s)Needs
Budget vs Actual"Which categories are over?"Job Detail › BudgetBudget
Cost to Complete"Where is the rest of the budget going?"Job Detail › BudgetBudget
Job Health Gauge"How much of contract value have we spent?"Job DetailContract value
Gross Margin"Is this job paying?"Job Detail, Job Detail › BudgetContract value
Billing Waterfall"Where are we in the billing flow?"Job Detail › BudgetPayapps
Billing Efficiency"Are we billing as fast as spending?"Job Detail › Budget, All JobsPayapps
Retainage Exposure"How much is held back?"Job Detail › Budget, AnalyticsPayapps

JCI Dashboard Job Detail Budget tab showing four budget and billing widgets together: Budget vs Actual on the upper left with horizontal variance bars, Cost to Complete on the upper right with stacked category bars, Billing Waterfall in the middle showing five named steps, and Gross Margin in the corner with a large green percent reading.


Budget vs Actual

One-line purpose — Category-level variance from budget — see which categories are over or under and by how much.

Where you'll see it — Job Detail › Budget.

What it shows — One horizontal bar per category that has either a budget or actual amount over $0, sorted by absolute variance descending. Bars to the right of the zero-line are under budget (green); bars to the left are over budget (red). The tooltip always shows Budget, Actual, and Variance together — in both dollars and percent — so you can sanity-check a sign before acting on it.

Tier 2 controls — A $ Variance / % Variance segmented toggle (pinnable).

Drill — Click any bar to emit a category filter chip; the PO Detail table on the same job narrows to that category.

Empty state — "No budget entered yet — use the Budget Entry tab to add estimates for this job."

info

Sign convention: positive variance = under budget = green. The tooltip always shows Budget, Actual, and Variance together so you can sanity-check the sign before acting. This matches construction-finance convention but reverses the math instinct that "actual minus budget" should be the figure of interest.


Cost to Complete

One-line purpose — Per-category snapshot of how much you've spent, how much budget is left, and any overrun.

Where you'll see it — Job Detail › Budget.

What it shows — One stacked bar per category. Spent (dark slate) caps at the budget amount. Remaining Budget (light slate) is whatever's left. Overrun (red) only appears when actual exceeds budget — and visually extends the bar past the budget line so you can see how much over you are. Sorted by total exposure (budget + overrun) descending.

Tier 2 controls — None.

Drill — None.

Empty state — "No budget entered yet — use the Budget Entry tab to add estimates so we can project cost to complete."

Reading note — The "Remaining Budget" segment is budget headroom, not a forecast of remaining spend. If a category is already over budget, remaining shows as $0 and any overspend lives in the red Overrun segment.


Job Health Gauge

One-line purpose — One-glance share of contract value spent.

Where you'll see it — Job Detail.

What it shows — A half-doughnut gauge from 0 to 100% with three color zones — green under 70% (On Track), amber 70–90% (Caution), red 90% and above (Critical). The percentage is shown big in the gauge color.

Tier 2 controls — None.

Drill — None.

Empty state — "No contract value set — enter it on the Budget Entry tab to see health."

warning

Thresholds are finance-tight: green / amber / red zones change at 70 and 90, not at 80 and 100. Don't memorize "green = good" alone — the cutoff matters.

JCI Dashboard Job Health Gauge widget showing a half-doughnut gauge filled to about seventy-eight percent in amber, with the percentage value seventy-eight percent shown large in amber below the gauge and a Caution label, indicating the job is in the 70 to 90 percent zone.


Gross Margin

One-line purpose — Contract value minus actual cost, shown as a dollar figure and a percent.

Where you'll see it — Job Detail and Job Detail › Budget.

What it shows — A big percent (for example, 8.3%), the dollar figure next to it, then a horizontal progress bar in the zone color. Zones are green above 15% (Healthy), amber 5–15% (Tight), red below 5% (At risk).

Tier 2 controls — None.

Drill — None.

Empty state — "No contract value set — enter it on the Budget Entry tab to see margin."

warning

Thresholds at 5 and 15 — not round numbers. At risk under 5%, Tight 5–15%, Healthy above 15%. These are industry-tight cutoffs; quote them exactly when discussing.

Reading note — Gross Margin sums across everything that's been spent, including auto-confirmed labor lines. So margin is reported against actual cost, not just formally costed cost. If you're looking for a "what if pending POs land?" number, that's a separate calculation.


Billing Waterfall

One-line purpose — Five-bar walk from contract value to remaining-to-bill.

Where you'll see it — Job Detail › Budget.

What it shows — Five bars side by side: Contract (blue), Billed (green), Retainage (amber), Net Collected (green), Remaining (blue). Each bar has its dollar value labeled on top.

Tier 2 controls — None.

Drill — None.

Empty state — "No billing periods recorded — use the Billing Tracker tab to add payapps and see the waterfall."


Billing Efficiency

One-line purpose — One-number ratio of billed dollars over spent dollars, shown as a bullet chart.

Where you'll see it — Job Detail › Budget, All Jobs.

What it shows — A horizontal bullet chart, scale 0 to 1.6×. The background is split into three colored zones: red below 0.8× (Behind on billing), amber 0.8–1.0× (Keeping up), green at or above 1.0× (Ahead on billing). A black vertical line marks the 1.0× target. The ratio (1.04×, 0.86×, etc.) is shown big above the chart in the zone color, with the raw billed and spent dollars next to it.

Tier 2 controls — None.

Drill — None.

Empty state — "No billing data yet — enter the first payapp on the Billing Tracker tab."

note

The bullet chart caps visually at 1.6×. A job billing 2.0× ahead will look like its bar runs off the end of the chart — that's the visual cap, not a data error. The ratio reading above the chart still shows the true number.

JCI Dashboard Billing Efficiency widget showing a bullet chart with three colored zones, a black vertical line at one point zero, a teal-colored bar extending past the line into the green zone, and the ratio label one point zero four times displayed prominently above.


Retainage Exposure

One-line purpose — Dollars held as retainage on this job, plus the percent of billed value being held back.

Where you'll see it — Job Detail › Budget, Analytics.

What it shows — A big dollar figure of total retainage held (in amber), then a horizontal progress bar showing what fraction of billed value that represents.

Tier 2 controls — None.

Drill — None.

Empty state on Job Detail — "No retainage recorded — use the Billing Tracker tab to enter payapps with retainage held."

Empty state on Analytics — "Portfolio retainage summary needs billing data entered across jobs. For now, open a specific job to see its retainage."

note

On the Analytics page, this widget shows an "open a specific job" message instead of a portfolio number. Portfolio aggregation is a planned future enhancement, not a missing feature.


Variance color convention

Across every variance widget on this page, green = under budget / on the upside, red = over budget / behind. This is intentional but counter to a reader's instinct that "green up = bigger." For the threshold widgets (Job Health Gauge, Gross Margin, Billing Efficiency), the relationship is non-linear — each has its own cutoffs:

WidgetGreenAmberRed
Job Health GaugeUnder 70%70–90%90%+
Gross MarginAbove 15%5–15%Under 5%
Billing EfficiencyAt or above 1.0×0.8–1.0×Under 0.8×

When in doubt, hover any bar — the tooltip carries the absolute numbers and the explicit sign so you can read the truth instead of the color.


A note on data freshness

note

Cost data refreshes every 4 hours; budget and billing entries you type in update immediately. So a fresh payapp shows up in the billing widgets at once, but the matching cost increase from new POs may lag a few hours. See data refresh rates for the full cadence.

Hiding and showing widgets

Widget visibility is controlled per-page via the gear icon. See the widgets overview.