HomeGuides › Job-costing change orders

Guide · Job costing

Job-costing a change order
in QuickBooks Online.

The extra work gets done and gets billed. The cost of doing it disappears. Here is how to stop that happening, and what it is worth.

Contractor bookkeeping guides · Updated July 2026

The problem

The job made money. The change order lost it.

Here is a pattern that runs through contractor books everywhere. A job is bid at $38,000. It finishes at $44,500 because the customer added work along the way. The owner looks at the profit and loss statement, sees a good month, and moves on. What the books never show is that the original scope earned a healthy margin and the three change orders were performed at close to break-even, because the labor and material that went into them were never tied back to the job.

This is not a QuickBooks limitation. QuickBooks Online can track this properly. It happens because change orders arrive in the least convenient way possible — verbally, on a Tuesday, from a customer standing in their own kitchen — and the paperwork catches up later, if at all.

The short version: a change order is not an adjustment to an existing line. It is additional scope with its own revenue and its own costs, and it needs to be visible as such inside the job it belongs to.

Before you touch QuickBooks

Get it in writing, even when it is small.

Bookkeeping cannot fix a documentation problem. If the change is verbal, the amount is disputed at the end of the job and you either eat it or spend a week arguing about it. A change order does not need to be a legal document. It needs four things: what changed, what it costs, what it does to the schedule, and the customer's written approval. A text message reply saying "yes, go ahead, $2,400" is written approval.

Two practical habits that make the accounting side work:

The setup

Projects on, sub-customers structured, items mapped.

Three things have to be true in your QuickBooks Online file before change orders can be costed at all. If any of these are missing, everything below produces categorized transactions rather than job costing.

1. Projects or sub-customers are turned on

QuickBooks Online Plus and Advanced include Projects, which is the cleaner option. It gives you a single view per job showing income, costs, and margin. On lower plans, the sub-customer approach works: the customer is the parent, each job is a sub-customer with "bill with parent" set.

2. You use items, not just accounts

This is the step most files miss. If everything you buy is coded straight to an expense account, you can see that you spent money but not what kind of cost it was. A working trades setup has a small set of service and non-inventory items mapped to income and cost accounts — labor, materials, subcontractor, equipment, permits — and every job transaction uses one.

3. Cost accounts are separated from overhead

Job costs and general and administrative costs are different animals. Truck fuel driving to a job is a job cost. Office rent is not. Permit fees are job costs, not overhead — a point we make on our Charleston bookkeeping page, because tri-county permitting means Lowcountry contractors pay a lot of them and they distort margin badly when lumped into general expenses.

The workflow

Recording the change order, step by step.

Step 1 — Add the change order as new estimate lines

Do not overwrite the original estimate. Either add clearly labeled lines to it ("CO-2: relocate condenser pad") or create a second estimate against the same project. Both work. What matters is that the original bid stays intact and readable, because the comparison between what you bid and what you actually built is the single most useful number a contractor can have.

Step 2 — Tag every cost to the project as it arrives

This is where change orders leak. The supply house invoice for the change order material arrives with everything else and gets coded to Materials with no customer or project attached. It is now invisible to the job.

Every expense, bill, check, and card transaction that belongs to the job needs the project selected and, where it applies, the billable box checked. On bills from subcontractors, the same rule applies, and the sub's invoice should reference the change order number.

Step 3 — Invoice from the estimate, not from scratch

Creating the invoice from the estimate keeps the link between what was quoted and what was billed. Invoicing from scratch breaks it, and the progress-invoicing view stops being reliable.

Step 4 — Read the project profitability report before the job closes

Not after. The value of job costing is that it can change a decision while the decision is still open. If change orders on a job are running at a materially thinner margin than the base scope, that is worth knowing before you price the next three the same way.

Common mistakeWhat it does to your numbers
Change order revenue booked, costs untaggedJob margin looks better than it is. You keep bidding change orders too cheaply because the data says they are profitable.
Change order billed as a separate invoice with no projectRevenue floats free of the job. Project profitability is understated and the customer's total job value is wrong.
Original estimate overwrittenYou lose the bid-versus-actual comparison permanently. There is no way to reconstruct it later.
Deposit for the change order booked to incomeRevenue recognized before it is earned. The month looks strong and the tax position is wrong.

The one that costs real money

Change order deposits are a liability, not income.

When a customer pays up front for added scope, that money is not yours yet. It belongs on the balance sheet as a customer deposit until the work is performed. Booked to income on the day it arrives, it inflates a month you have not earned, and it can create a tax bill on money you might still have to return if the change is canceled.

In QuickBooks Online this means receiving the payment against a liability account rather than recognizing revenue, then moving it to income as the work is completed. It is a two-minute habit that prevents a category of problem that is genuinely painful to unwind a year later.

Trade by trade

What a change order usually looks like in practice.

Want a second opinion on your books?

Send us your QuickBooks Online file and we will tell you exactly what is wrong with it — free, in plain English, with no call required.

Get your free books review →