How-to

How to Set Up Job Costing in QuickBooks for Contractors

Key takeaways
  • A company-wide P&L shows whether the business made money. Job costing shows which jobs made money, which is the number contractors actually need to bid and grow.
  • QuickBooks Online handles job costing through Class or Location tracking, a trade-native chart of accounts, and properly set-up products and services items.
  • The setup is straightforward: turn on tracking, build the chart of accounts, tag every transaction to a job, and run a Profit and Loss by Class each month.
  • The discipline of closing every month is what keeps the report accurate. Skip a month and the numbers drift until the report is no longer usable.

Why a company-wide P&L is not enough

Every QuickBooks Online account can produce a Profit and Loss statement. Most contractors look at that report and see a single gross margin for the whole business. That number tells you whether money came in and went out. It does not tell you whether the roofing jobs are profitable and the siding jobs are not, or whether a particular crew is running material costs above estimate, or whether your largest customer is actually your worst margin account.

Job costing is the practice of assigning revenue and costs to individual jobs so you can see a separate profit line for each one. For a contractor who bids work, manages materials, and runs crews, that job-level view is the number that drives decisions. The company-wide P&L is a summary. Job costing is the detail underneath it.

The building blocks in QuickBooks Online

QuickBooks Online does not have a dedicated "job costing" module that you switch on. It is built from four pieces that you configure together: a trade-native chart of accounts, Class or Location tracking, products and services items, and the discipline of tagging every transaction.

  • Chart of accounts: separate income accounts for each revenue type (labor, materials, subcontractors) and cost accounts that mirror them, so the report maps clearly
  • Class tracking: the mechanism that tags a transaction to a specific job, job type, or crew, and makes the Profit and Loss by Class report possible
  • Location tracking: an alternative to Class, useful if you organize by physical site or division rather than by job category
  • Products and services items: the line items you use on invoices and bills, each mapped to the correct income or cost account so every transaction lands in the right bucket automatically

Step-by-step setup at a high level

The sequence matters. Build the chart of accounts and turn on tracking before you start tagging transactions, otherwise you will be cleaning up retroactively.

First, turn on Class tracking. In QuickBooks Online, go to Settings, then Account and Settings, then the Advanced tab. Under Categories, enable Track classes. If your workflow fits better by physical location than by job type, enable Track locations instead. You can use both, but most contractors find one dimension is enough to start.

Second, build a trade-native chart of accounts. The default QuickBooks chart of accounts is not wrong, but it is generic. For a contractor you want separate income accounts for labor revenue, materials revenue, and subcontractor revenue if you bill those separately. On the cost side, mirror that structure: labor costs, materials and supplies, subcontractor costs, and equipment. Keep tools and small equipment separate from materials so you can see each line clearly. Your bookkeeper or accountant can help you decide the right level of detail for your volume.

Third, set up your products and services items to map to those accounts. Every invoice line and every bill line in QuickBooks flows through an item. If your items are all pointing to a single "income" or "expense" account, the detail you built into the chart of accounts goes to waste. Map each item to the matching account so the transaction lands correctly without any manual override.

Fourth, tag every transaction to a job class when you enter it. On invoices, on bills, on time entries, on checks paid to a sub, select the class that represents that job. This is where most setups break down: the tagging has to happen on every transaction, every month, or the Profit and Loss by Class report fills with unclassified rows that hide your real numbers.

Fifth, run the Profit and Loss by Class report at month-end close. In QuickBooks Online, go to Reports and search for Profit and Loss by Class. Set the date range to the current month and review each job column. You will see revenue, cost of goods sold by category, and gross profit for each class. That is your job costing view.

The monthly discipline that keeps the report accurate

Setup is a one-time project. Accuracy is a monthly habit. A job costing report is only as good as the data that goes into it, and data quality degrades fast when reconciliation slips.

At month-end close, every bank and credit card account should reconcile to the statement. Every transaction should have a class assigned. Every subcontractor payment should be tagged to the job it belongs to. Bills for materials should be split across jobs when a single delivery covers more than one. If you skip a month and catch up two months later, the class assignments often get lost or guessed, and the report loses its precision.

A clean monthly close takes the same amount of work whether you do it on the 5th of the following month or the 30th. The only difference is whether the numbers are usable when you need them. Delivering a CPA-reviewed close by the 15th gives you usable job numbers while the job is still fresh enough to act on.

  • Reconcile every account to the statement before closing the month
  • Audit unclassified transactions: any row without a class is a gap in your job report
  • Split bills and receipts across jobs when a single purchase covers multiple sites
  • Run the Profit and Loss by Class as a final check before marking the month closed

What the finished job profit view tells you

Once the setup is solid and the monthly close is running clean, the Profit and Loss by Class becomes one of the most useful reports in the business. You can see which job types carry the best margin, which crews are running material costs above the average, and which customers generate the most profitable work versus the most revenue. Those are different lists, and knowing which is which changes how you bid and who you pursue.

You can also spot problems early. A job class with a compressed margin partway through the month is a signal to look at the bills before the work is finished, not after. A subcontractor cost that looks high relative to the revenue on that class is worth a conversation before you bring that sub back. The report does not make those decisions for you, but it surfaces the questions at a point when you can still do something about them.

If job costing setup or the monthly close feels like more than you want to manage yourself, that is exactly the work we do. We set up Class tracking and the chart of accounts inside your own QuickBooks Online file, tag transactions every month, and deliver a reviewed Profit and Loss by Class by the 15th. Your file stays yours. You get the job-level numbers without doing the books yourself.

FAQ

Should I use Class tracking or Location tracking for job costing in QuickBooks Online?

Class tracking works well when you want to organize by job type, crew, or individual project. Location tracking fits better when you have distinct physical sites or divisions. Most residential and light commercial contractors start with Class tracking because it maps naturally to the way they think about jobs. You can enable both if your workflow requires two dimensions, but one is usually enough to get a clean Profit and Loss by Class report.

Can I set up job costing in QuickBooks Online without a bookkeeper?

Yes, the setup steps are available to any QuickBooks Online user. The harder part is the monthly discipline: reconciling every account, tagging every transaction to a class, and running the close on time each month. Many contractors set up Class tracking correctly and then let the tagging slip, which leaves the Profit and Loss by Class full of unclassified rows that hide the real numbers. A bookkeeper keeps that discipline consistent so the report stays usable.

Will I keep my QuickBooks file and job data if I use a done-for-you bookkeeping service?

You should. We work inside your existing QuickBooks Online subscription, so you own the file and retain full access at all times. Your job classes, chart of accounts, and transaction history stay in your file. Be cautious with any service that migrates you onto a proprietary ledger you cannot take with you, because that creates dependency on that service to access your own numbers.

Want this handled for you?

Trade-native categories, job costing, and a CPA-reviewed close by the 15th. You keep your QuickBooks file.

100% Contractor FocusCPA-Reviewed Monthly ClosesBooks by the 15th GuaranteeClass-Preservation SLAYou Own Your QuickBooks FileFSM-to-QuickBooks Sync100% Contractor FocusCPA-Reviewed Monthly ClosesBooks by the 15th GuaranteeClass-Preservation SLAYou Own Your QuickBooks FileFSM-to-QuickBooks Sync