Esc

↑↓ move↵ openIndex · Pagefind
Concepts / Cost codes and budgets

Cost codes and budgets

How cost codes, cost types and budgets work in job costing, and how os.construction keeps budget, committed cost and actual cost on the same structure.

Preview

This describes how os.construction is being built. Details may change before launch.

On this page

Job costing only works if every dollar lands in the right bucket. Those buckets are cost codes. This page covers how cost codes and budgets work in construction accounting generally, and how os.construction uses one cost structure for the field, the office and the forecast.

Cost codes and cost types

A cost code identifies a piece of the work. Many contractors base theirs on CSI MasterFormat divisions, then add their own detail:

Cost code Description
03-300 Cast-in-place concrete
05-120 Structural steel
09-250 Gypsum board
23-330 HVAC air duct accessories (fire dampers live here)
26-100 Electrical, power distribution

A cost type says what kind of cost it is: labor, material, subcontract, equipment, other. Cost code plus cost type is the most common level at which contractors budget and track cost: “26-100 subcontract” is the Volt Electric subcontract; “03-300 labor” is your own concrete crew.

The four numbers on every cost code

For each cost code on a job, four numbers matter:

  1. Original budget: what you estimated at contract award.
  2. Revised budget: original budget plus approved budget changes, mostly from change orders.
  3. Committed cost: what you have agreed to pay through subcontracts and purchase orders, including their change orders.
  4. Actual cost: what has been posted: AP invoices, payroll, equipment charges, journal entries.

From those you get the numbers PMs and controllers actually manage by:

  • Uncommitted budget = revised budget minus committed cost. Room left to buy out.
  • Cost-to-complete = the PM’s estimate of what it will still cost to finish that scope.
  • Estimated cost at completion = actual cost plus cost-to-complete.
  • Projected over/under = revised budget minus estimated cost at completion.

On Riverside Medical, cost code 26 Electrical (Volt Electric) is running 4% over budget in the sample data. That shows up as a projected overrun on the cost code, and it rolls up into the job’s projected margin of 11.4%.

One structure everywhere

In a disconnected stack, the PM tool and the accounting system each hold a copy of the cost code list and the budget. They drift: a code added in one is missing in the other, or the budget revision for a change order is posted in accounting two weeks after the PM approved it.

In os.construction there is one cost structure per job, and every record that touches money uses it:

A superintendent logging extra work or a hidden condition does not need to pick a cost code. When the log turns into an RFI or a change order, the PM (or an agent proposing a code, for a human to confirm) attaches the cost code, and from then on the cost is visible on the job.

PMs see budget, committed and actual cost by cost code, live. Approving a change order updates the revised budget on the affected codes immediately. Cost-to-complete is entered against the same codes accounting posts to.

AP invoices are coded to job, cost code and cost type, and matched to the commitment they bill against. Payroll and equipment charges post to the same codes. The job cost report and the PM’s budget view are the same numbers, not two reports to reconcile.

Budget revisions

Budgets change for three main reasons:

  • Owner change orders. CO #14 ($86,400 for fire dampers) increases the contract and adds budget to 23-330.
  • Internal transfers. Moving budget from one code to another, for example from contingency to a code that is running short.
  • Buyout adjustments. Recording buyout savings or losses when a subcontract is awarded below or above the budget.

Each revision is its own record with a reason, an approver and a link to what caused it. Original budget is never overwritten, so you can always see how a code got from bid to today.

Commitments against budget

A commitment should never be bigger than the budget it buys without someone deciding that on purpose. os.construction checks commitments and commitment change orders against the revised budget on the cost code and flags overruns before they are approved. The same check runs on invoices: INV-4471 from Volt Electric ($48,200) exceeds the remaining commitment on PO-118 by $6,150, so it is flagged for review instead of posted. See Commitments and change orders.

Next

Read Commitments and change orders to see how buyout and changes flow into these numbers.

Building this with founding contractors.

Help shape how it works on your jobs.

Get early access