Skip to main content
The Budget tool is the project’s running financial picture. It pulls from prime contracts, change orders, commitments (subcontracts and purchase orders), direct costs, and forecasts to show — line by line — what was budgeted, what’s been spent, what’s still committed, and what the project is projected to land at. This article is the reference: every column, every formula, every source of truth. For step-by-step workflows (creating modifications, editing forecasts) see the related articles at the end.

How a Budget Line Is Identified

Every budget line is uniquely keyed by:
  • Cost Code — what the work is (e.g., 03-30-00 Concrete)
  • Cost Type — the kind of cost (e.g., Labor, Material, Subcontract, Equipment)
  • Sub Job — optional, used to split a code by phase, building, or area
Two lines can share a cost code as long as their cost type or sub job differs. Source table: budget_lines (one row per line). The Budget table on screen is served from the v_budget_lines view, which joins in approved-CO totals, modification totals, and revised budget for performance. If the view is unavailable, the app falls back to the budget_lines table and computes those columns on the fly.

Columns Reference

The Budget table renders these columns in order. Every dollar value rolls up from the per-line value to a grand total at the bottom of the table.

Budget side (what’s authorized to spend)

Cost side (what’s been spent or committed)

Forecast and variance


Forecast Methods

Each budget line has a forecast method that decides how Forecast to Complete is calculated. The current method is shown on the line item detail page and can be changed by users with Write or Admin permission. If the method is Manual or Monitored Resources but no detail rows have been entered, the system falls back to the last saved manual forecast value, and then to the Automatic calculation. Underlying field: budget_lines.default_ftc_method — one of automatic, manual, monitored_resources.

Statuses

Budget Modification statuses

A budget modification (an internal reallocation between cost codes) moves through these statuses. Only approved modifications affect the Revised Budget.
  • draft — being built, not yet routed for approval
  • pending_approval — submitted, awaiting approver
  • approved — applied to the budget; counted in the Budget Modifications column
  • rejected — not applied; ignored by all budget calculations
Source field: budget_modifications.status

Prime contract Change Order statuses

Affect the Budget table on the budget side.
  • Approved (approved, Approved) → adds to Approved COs, increases Revised Budget
  • Pending (proposed, pending, submitted, under_review, revised) → adds to Pending Changes, increases Projected Budget but not Revised Budget

Commitment statuses

Affect the Budget table on the cost side.
  • Subcontracts: Approved or CompleteCommitted Costs. Out for Signature or PendingPending Cost Changes.
  • Purchase Orders: Approved or CompletedCommitted Costs. Draft, Sent, or AcknowledgedPending Cost Changes.

Commitment Change Order statuses

  • approved, Approved, executed, Executed → counted in Committed Costs
  • pending, Pending, Pending Approval → counted in Pending Cost Changes

Permissions

Locking a budget freezes Original Budget values on every line. Modifications and change orders still apply on top. Only an Admin can unlock.

How Budget Connects to Other Tools

The Budget table is read-only with respect to most of its inputs. The values in the cost-side columns are derived from other tools’ data — change those tools, and the Budget table updates.

Common Questions

Why is my Variance (Projected Over/Under) red? The line’s Estimated Cost at Completion is higher than its Projected Budget. The line is projected to finish over budget. Drill into the line item to see whether the overrun is coming from Direct Costs, Committed Costs, Pending Cost Changes, or the Forecast to Complete. Why don’t my Budget Modifications match what I entered? Only approved modifications count. Drafts and items pending approval are not reflected in the Budget Modifications column. Open the Budget Modifications page and confirm the modification’s status. Why is Direct Costs lower than Job to Date Cost Detail? JTD includes subcontractor invoices; Direct Costs does not. Subcontractor invoices are already counted in Committed Costs (via the commitment’s SOV), so they’re excluded from Direct Costs to avoid double-counting in Projected Costs. Why can’t I edit the forecast? You need Budget Write permission. If you have Write but the forecast field is still read-only, the budget may be locked by an Admin. Why did my Forecast to Complete suddenly change? Two common causes: (1) the forecast method is Automatic and a recent change order or commitment changed the underlying budget or cost projection, recomputing FTC; (2) someone changed the forecast method on this line. Check the line item history. Where does Committed Costs come from? Three sources, all combined: executed subcontract SOV line items, executed purchase order SOV line items, and approved commitment change order lines. Pending versions of those same three feed Pending Cost Changes instead. Can two lines share the same cost code? Yes — as long as they differ by cost type or sub job. Two lines with the same cost code, cost type, and sub job will collide on insert.