Job costing · Software category

Job costing software,
and why the ledger cannot do it alone.

Job costing is the discipline of attributing every dollar and every hour to the job that caused it, coded finely enough to be useful, and reconciled to the accounts. This page covers what the software does, the six structural reasons a general ledger cannot produce it, how labour and overhead are handled, what to look for, the questions worth asking a provider, the honest limits, and how VIABUILD handles it.

01 / The direct answer

What job costing software does

Job costing software attributes every cost a building business incurs to the job that caused it, structured by cost code, so each job has a true cost and the business can tell which work actually makes money. It holds a budget per job, captures costs against codes as they are committed and billed, applies a rule for the overheads that arrive without a job number attached, and reports job profitability and the work in progress position that makes the monthly result meaningful.

It is worth separating this from the neighbouring category, because the two are often sold as the same thing. Job costing asks what did this job cost and what did it make, and it is judged on accuracy and on whether it reconciles to the accounts. Cost tracking and cost control asks where is this job heading and can I still change it, and it is judged on how early it tells you. A builder needs both. Most products lean one way, and knowing which way a product leans predicts where the weakness will be.

The discipline itself, independent of software, is set out in construction job costing and the structure it depends on is in cost codes. This page is about the software category and how to buy it.

02 / The structural gap

Six reasons a general ledger cannot produce job costing

This is the question underneath most searches here, because a builder whose bookkeeper already tags bills with a job is reasonably asking what else there is to buy. None of these are effort problems. They are shape problems.

The chart of accounts is organised by nature, not by job

Accounts answer what kind of cost this was, materials, subcontractors, wages. Job costing answers which job caused it and which part of that job. Those are two different questions about the same transaction, and a structure built for one does not answer the other by reorganising it.

Tracking categories are one dimension, job costing needs two

Tagging a bill with a job is genuinely useful and it gets you a per-job total. Job costing needs job and cost code together, so you can see that job four is fine overall and eleven per cent over on carpentry. One flat dimension cannot carry that, and stacking a second category on top gets unusable fast.

Payroll arrives as a lump

A pay run posts wages, superannuation and on-costs to the business. Job costing needs those hours attributed to the jobs they were worked on, at a rate that includes the on-costs. Nothing in a general ledger connects a Tuesday on site to a job number, which is why labour is the most commonly missing cost in residential job costing.

There is no budget to compare against

A ledger records what happened. Job costing is only useful next to what was supposed to happen, which means the estimate has to arrive as a budget under the same cost codes. Without that comparison you have accurate per-job totals and no way to tell whether they are good or bad.

Commitments do not exist until they are billed

A purchase order is not a ledger transaction, so a job cost position built purely from the accounts is systematically behind by the length of a supplier’s billing cycle. On a nine month build that gap is where the decisions were.

The profit and loss is wrong until WIP is calculated

Costs land as they are billed and revenue lands as claims are raised, and on a partly built job those two are almost never in step. Without a work in progress adjustment, a month with heavy costs and no claim looks like a loss and the following month looks like a windfall. That adjustment is a job costing output, not a ledger one.

None of this makes the ledger wrong. It is doing its job, which is to be the complete and statutory record of the business, organised the way a tax return and a financial statement need it organised. Job costing is a second view of the same transactions, organised the way a builder makes decisions. The useful arrangement is that the two connect and reconcile, not that one replaces the other, which is why the reconciliation question below matters more than any feature.

03 / The hard part

Four kinds of cost, in ascending order of difficulty

Job costing sounds like a single problem and is really four, and products are usually good at the easy ones and silent about the hard ones. Working out which of the four dominate your business tells you what to test.

Subcontract cost is the easiest. The package was scoped, ordered and invoiced against one job, so the attribution is unambiguous and it was decided at the purchase order. Any product that cannot do this well is not in the category.

Material cost is harder, because deliveries do not respect job boundaries. A single supplier invoice covering three sites, a load moved from one job to another because a slab was delayed, and a trade account statement that arrives monthly rather than per delivery are all ordinary occurrences. Attribution here depends on line-level splitting and on someone knowing where the timber actually went, which is a site fact rather than an office one.

Labour cost is harder again, and it is where most residential builders quietly stop. Hours have to be captured against jobs, then valued at a rate that includes superannuation, leave, insurance and non-productive time, not the base hourly rate. A business that costs its own carpenters at their pay rate is understating the true cost of every job it self-performs, consistently and invisibly, and then wondering why the estimates that assumed that cost keep coming up short.

Overhead is the hardest, because it genuinely does not belong to a job. Supervision, vehicles, insurance, software, the office and the estimator’s time are all real costs of building the work, and any allocation of them is a convention rather than a fact. The right answer for most residential builders is to choose one convention, write it down, keep the pre-allocation figure visible as well, and never change methods mid-year, because the value of the number is in comparing it with last year rather than in its absolute precision. The reporting shape that comes out the other side is set out in job cost reporting.

04 / Before you buy

Six things to look for

The first two decide whether your cost history is still trustworthy in two years. The fifth decides whether your accountant will use the system or quietly work around it.

One cost code structure, used everywhere

The same codes on the estimate, the budget, the purchase order, the supplier invoice and the report. The moment two systems use different structures, every comparison passes through a translation somebody maintains. Ask whether you can bring your own structure, and what happens to live jobs if you change it later.

Attribution at the point of commitment

The cost code should be decided when the order is raised, not guessed at data entry weeks later by someone who was not there. A tool that only asks for a code at invoice coding is asking the wrong person at the wrong time, and that is where the miscoding that ruins historical cost data comes from.

Labour costed at a rate that includes on-costs

If you employ carpenters, a job costed at base hourly rate understates the true cost of your own labour by a wide margin once superannuation, leave, insurance and downtime are counted. Ask how hours reach a job, who enters them, and whether the charge rate is configurable per employee or per role.

A stated rule for overheads

Site supervision, vehicles, insurance and the office are real costs of building the job and they do not arrive with a job number attached. Ask whether the system allocates overhead to jobs, on what basis, and whether the job profit report shows figures before and after that allocation. A tool with no view on this is asking you to keep a spreadsheet.

A job cost report that ties back to the ledger

The test of a job costing system is whether the sum of its job costs reconciles to the cost of sales in the accounts, and whether someone can explain the difference in one sentence. If nobody can, you have two sets of books and the arguments start at year end.

Work in progress produced from the same data

Earned value against billed value, per job, so over and under billing is visible and the monthly profit figure means something. Ask to see the actual WIP report, and ask whether your accountant has seen the format, because they are the person who has to sign off what it produces.

05 / The conversation

Questions worth asking a provider

Six questions with specific answers. The first is the one that separates a job costing system from a job-tagged report, and the second exposes the most common gap in the category.

  1. 01

    Show me the job cost report reconcile to the profit and loss

    Not a description, the two reports side by side with the difference explained. This is the single most revealing question in the category, because a job costing system that cannot be tied back to the accounts will be quietly overruled by the accountant every year end, and then nobody trusts either number.

  2. 02

    How does an hour worked on site become a cost on a job

    Walk the whole path, from the person on site through to the coded cost. Then ask what rate is applied and where that rate is maintained. Many products that market job costing handle subcontract and material cost well and have no answer at all for your own labour, which is fine if you subcontract everything and a serious gap if you do not.

  3. 03

    What happens to a delivery split across two jobs

    A single supplier invoice covering three sites is an ordinary Tuesday in residential building. Ask to see one split across jobs and cost codes, and ask whether the split survives if the invoice is later credited or amended. The answer tells you whether the coding model is genuinely per line or per document.

  4. 04

    How does an approved variation change the job

    A variation changes both the revenue and the budget, and a job costing system that only moves one of them reports a margin that is wrong in a flattering direction. Ask specifically whether the original contract value stays visible underneath as a baseline once variations are added.

  5. 05

    How are retention, provisional sums and prime cost items treated

    Retention held is revenue earned and not yet received, and provisional sums and prime cost items are budget placeholders that resolve to real numbers later. Ask how each appears in the job profit report, because these three are where residential job costing most often quietly diverges from the ledger.

  6. 06

    What does my accountant have to change, and what comes out at year end

    Ask what the bookkeeper does differently on day one, and what the accountant receives in July. Then ask what you can export, including closed jobs. Historic job cost is the raw material of your next estimate and the evidence behind a warranty insurance eligibility review, so it is worth more to you than to any vendor.

06 / Honest limits

What job costing software cannot do

Three limits, and the first one is where most implementations actually fail.

It cannot attribute a cost that nobody attributed. Every job costing system depends on someone choosing a job and a cost code, and the further that decision travels from the site and from the moment, the worse the data gets. The damage is insidious because a miscode does not look like an error. It looks like a job slightly over on one code and slightly under on another, permanently, and it corrupts the cost history you were building the system to produce. This is the argument for deciding the code at the purchase order rather than at invoice entry.

It cannot resolve a genuinely shared cost without a rule. A supervisor covering four sites, a scaffold moved between two jobs, a skip shared across a duplex, these are judgements wearing the clothes of data entry, and a system that silently picks one job is producing a confident number from an arbitrary decision. Decide the conventions once, write them down, and make sure whoever codes knows them.

And it cannot tell you what to do. Learning that renovations return four points less than new builds, consistently, is the beginning of a conversation about pricing, scope or which work you take, and no software has a view on that. What job costing gives you is the evidence that the conversation is worth having, which is exactly what profit fade looks like before anyone names it.

07 / How VIABUILD does it

The code decided once, at the commitment

In VIABUILD, job costing is not a separate module you feed. It is what happens because the modules share one data model. The estimate you won on becomes the job budget with its cost codes intact. Purchase orders raised against that budget carry the same codes and move the committed figure the day they are raised, weeks before an invoice exists.

When the supplier invoice arrives in the accounts payable inbox, Oryn™ reads it, matches it to the purchase order with a deterministic score across order number, amount tolerance, remaining balance, date proximity and supplier alias, and suggests the cost code for each line using vocabulary learned from your own estimates and your own past coding. The code is therefore decided once, at the commitment, and inherited by the invoice, which is the single behaviour that keeps historical cost data worth having. Approved bills sync to Xero with tracking categories, so the ledger and the job view agree without a month-end reconciliation.

What we do not claim. VIABUILD does not run payroll and does not cost your own labour hours to jobs from timesheets, so if you self-perform a large share of the work that is a real gap to weigh against products built around a workforce. We do not apply an automatic overhead allocation on your behalf, because the convention should be yours and your accountant’s. And Oryn suggests the coding rather than committing it, every extracted value citing the document and page it came from, waiting for a person to confirm. Full detail is on cost control.

08 / FAQ

Common questions.

Job costing software attributes every cost a building business incurs to the job that caused it, structured by cost code, so that each job has a true cost and the business can tell which work makes money. In practice it does four things. It holds a cost code structure and a budget per job, usually inherited from the estimate. It captures costs against those codes as they are committed and billed, including subcontract, materials, and where relevant your own labour and plant. It applies a rule for the overheads that do not arrive with a job number attached. And it reports job profitability, and the work in progress position that makes the monthly profit and loss meaningful. Construction job costing software and builder job costing software describe the same category.

They overlap heavily and they answer different questions, which is worth keeping straight when you are comparing products. Job costing asks what did this job cost and what did it make, and its natural direction is backwards and downwards, attributing actual dollars accurately to jobs and codes so the result is defensible against the ledger. Cost control asks where is this job heading and can I still change it, and its natural direction is forwards, comparing budget against committed against actual and forecasting the final cost. A builder needs both, and most decent products do both, but they are usually better at one. Products from an accounting lineage tend to attribute beautifully and forecast weakly. Products from a project management lineage tend to forecast well and reconcile to the accounts poorly. Ask which lineage a product came from, because it predicts where the weakness will be. The forward-looking half is covered on construction cost tracking software.

Partly, and the limits are structural rather than a matter of effort. Tracking categories in Xero, or jobs in MYOB, will get you a per-job total of what has been billed, which is genuinely useful and more than most builders had ten years ago. What they will not give you is a second dimension, so you can see the job total but not carpentry within it without stacking categories in a way that becomes unusable. They also have no budget to compare against, no committed cost before the invoice arrives, no way to attribute your own labour hours, no overhead allocation rule, and no work in progress calculation. The practical arrangement most Australian builders end up with is the ledger staying where the accountant works and a construction layer on top doing the job costing, connected so bills are entered once. That pattern is set out in construction software for Xero.

Decide a rule, write it down, and apply it consistently, because consistency matters more than which rule you pick. There are three common approaches. Leave overheads out entirely and report job gross margin, then cover overheads from the total, which is the simplest and the most honest for a small builder. Allocate overheads to jobs as a percentage of direct cost, which is easy and slightly unfair to short cheap jobs. Or allocate by time on site, which is more accurate for a business where supervision is the main overhead and jobs run at very different durations. The trap is switching methods between years, because it makes your own history incomparable and you lose the ability to tell whether last year’s jobs were better than this year’s. Whatever you choose, keep the pre-allocation figure visible as well, since that is the number that compares cleanly to your estimate.

Because the company result is an average, and averages hide the thing you need to act on. A year that finishes at seven per cent net can be four good jobs at fifteen and two that lost money, and only job costing tells you which was which and why. The consequence is practical rather than academic. If you cannot see which jobs made money, you cannot tell which client type, which build style, which estimator or which supplier is carrying the business, so pricing decisions are made from impression. Job costing is also what makes your cost database improve, because comparing estimated against actual by code at close-out is the only mechanism that corrects your rates from evidence rather than opinion. The discipline itself is set out in the construction job costing reference.

Three limits, and the first one catches most implementations. It cannot attribute a cost nobody attributed. Every job costing system depends on a cost code being chosen by somebody who knows which job the delivery went to, and the further that decision moves from the site and the moment, the more the data degrades. A miscoded invoice does not look wrong. It looks like a job that is slightly over on one code and slightly under on another, forever. Second, it cannot resolve a cost that genuinely belongs to two jobs without a rule, and shared plant, shared deliveries and a supervisor covering four sites are all judgements dressed as data entry. Third, it cannot tell you what to do. Knowing a job style consistently returns four per cent less than you priced is the start of a conversation about pricing, scope or clients, and no system has a view on which.

VIABUILD is the Construction Operating System for residential builders, and job costing runs through it rather than sitting in a separate module. The estimate you won on becomes the job budget with its cost codes intact, purchase orders raised against the budget carry those codes and move the committed figure the day they are raised, and Oryn reads supplier invoices in the accounts payable inbox, matches them to the purchase order deterministically and suggests the cost code for each line, using vocabulary learned from your own estimates and past coding. That means the code is decided once at commitment and inherited by the invoice, which is the arrangement that keeps historical cost data usable. Bills sync to Xero with tracking categories so the ledger and the job view agree. What we do not claim. VIABUILD does not run payroll and does not cost your own labour hours to jobs from timesheets, so if you self-perform heavily that is a gap to weigh, and we do not apply an automatic overhead allocation on your behalf. Full detail is on the cost control feature page.

09 / Keep reading

Keep reading on job cost and profitability

The discipline behind job costing, the cost code structure it depends on, WIP and profit fade, and the other category guides.

Know what each job made, not what the year averaged.

VIABUILD carries one cost code structure from the estimate to the budget to the purchase order to the coded invoice, with Oryn matching bills to orders deterministically and Xero staying the ledger.