TL;DR
- QuickBooks Online Projects gives most contractors access to real job costing out of the box. The setup is a few hours of work, not a system overhaul.
- Job costing in QuickBooks breaks down into three predictable places: committed costs, retainage, and labor timing. Native Projects was never built to handle any of them.
- The honest question is not whether QuickBooks can do the job. It almost always can. The question is whether someone is coding every transaction to the right project, every week.
QuickBooks Desktop 2023 lost its last new subscriber on September 30, 2024, and its support ended entirely on May 31, 2026. That deadline pushed thousands of contractors into a QuickBooks Online migration they might not have planned for. Most of them found that job costing in QuickBooks Online works differently from how it did in Desktop.
Job costing means tracking every cost, labor hour, and dollar of income to a specific job that earned it, rather than to the business as a whole. The chart of accounts, how jobs are tracked, and how labor is assigned to a project all change shape when a contractor moves off Desktop.
Skip that setup, and small gaps in how costs are coded can lead to numbers that do not match what is actually happening on the job. This piece walks through the QuickBooks setup that catches gaps before they become discrepancies.
First, Confirm Which QuickBooks You Are Actually On
Desktop and QuickBooks Online are no longer equivalent choices, and the timeline matters more than most guides admit. Intuit stopped selling new Pro Plus, Premier Plus, and Mac Plus subscriptions to US customers on September 30, 2024. Existing subscribers can still renew, but the door is closed to new ones. QuickBooks Online is a cloud accounting technology. It is not a hosted copy of Desktop.
QuickBooks Desktop 2023, meaning Pro Plus, Premier Plus, Mac Plus, and Enterprise Solutions 23.0, lost support on May 31, 2026. Desktop 2024, the final annual Pro and Premier release, was originally set to follow the same three-year cycle, with support ending in May 2027.
Multiple industry sources reported in September 2026 that Intuit reversed that plan, moving Desktop 2024 to continuous support and updates with no announced sunset date. Intuit has not confirmed the change directly on its own policy pages, so treat it as reported but not yet fully settled. For reference, Enterprise is a different product line, sold and supported on its own schedule.
Losing support is not abstract. Bank feeds disconnect, payroll tax tables freeze, and any integration routed through Intuit stops working. A contractor planning that move needs to understand one more thing first.
The two systems organize jobs differently. In Desktop, each job sits nested under its customer record, a structure Intuit calls Customer: Job. QuickBooks Online does not carry that structure over. It tracks jobs through Projects instead. Migrating job costing in QuickBooks Online involves rebuilding the setup, not a lift-and-shift of the old file.
What QuickBooks Online Does Natively
Set the honest baseline before any setup steps. QuickBooks Online Projects provides per-job cost and income tracking, as well as project profitability reporting. It also tracks labor costs using either hourly rates or actual payroll. That is genuine job costing capability, and for many contractors, it is enough on its own.
According to Intuit’s support site, Projects is available on the Plus and Advanced plans. Simple Start and Essentials do not include it, so a contractor on either of those lower tiers will not see the feature, even after enabling it in account settings. Intuit Enterprise Suite carries it too, for contractors who have already moved beyond standard QuickBooks Online.
The Setup, In Order
QuickBooks job costing for contractors starts with a short setup. Turn on Projects in your account settings.
Restructure the chart of accounts so that the cost of goods sold is split into labor, materials, subcontractors, and equipment, rather than a single lump category. Build service items that match the cost codes the field already uses, not new ones invented at a desk. Set hourly cost rates per employee. Then code every bill, expense, and card charge to a project as it comes in, not at month-end.
That is the whole list. The setup is the easy part, and most contractors can finish it in an afternoon. What comes next is where job costing in QuickBooks actually gets tested.
Getting Labor In: Estimated Hourly Cost Versus Actual Payroll
QuickBooks offers two routes for labor, and most guides skip the tradeoff. The actual payroll expense is correct, but a project will not see it until a payroll run has been processed.
That lag is the specific reason a job can look comfortably under budget for two weeks. Then it takes a hit the moment payroll lands. Mid-job labor always reads light until that happens.
Estimated hourly cost rates work differently. Under this method, a preset per-employee rate gets applied to the number of hours logged. That rate is built up front to approximate the full burden of taxes, insurance, and benefits. That keeps the number roughly honest between payroll runs, even though it is an estimate rather than a fact.
Neither route is wrong on its own. The contractors who get this right use both on purpose, actual payroll for the record, and estimated rates for the week-to-week read. They do not default into one and treat the gap as a mystery. Nimbl’s construction job costing guide breaks down burden rate calculations in more depth.
Where QuickBooks Stops
This is the honest boundary, and it is a limitation of scope, not a defect in the software. Native Projects does not track committed costs from open purchase orders or executed subcontracts.
A contractor cannot see money that is already spoken for before the bill arrives. It does not separate retainage from ordinary receivables. A chunk of cash sits mixed in with money that is actually collectible this month. It also has no dedicated forecasting for the cost to complete. Nor does it have a built-in way to apply an internal rate to owned equipment, as it does for a paid subcontractor.
The real constraint sitting underneath all of it is simpler and has nothing to do with features. Every transaction has to be coded to the right project and the right cost code, every single week, by someone who actually knows the difference between them. That is the part that no software supplies.
Native, App, or a Person: How to Tell Which You Need
Native Projects is enough when the job volume is modest, the crew is small, and one person is already coding consistently. An app on top of QuickBooks is warranted when field time is the actual failure point.
That means hours arrive late or uncoded, no matter what system sits underneath them. A person is warranted when coding discipline is the failure point, when nobody owns the cost code structure, or when the reports exist and nobody on the team trusts them.
I rarely need a full set of financials to know which of the three a contractor needs. For most companies, native Projects will work just fine, even as they get closer to $10 million.
What I look at instead is smaller and more specific. I look at the contractor’s actual revenue, how many distinct types of cost of goods sold run through the business, and how they handle estimates. In my experience, the native Projects function almost always can do the job a contractor needs it to do.
The real question is whether the contractor has been using what QuickBooks already provides or has drifted into a workaround system that nobody fully trusts. That distinction, more than revenue size or job count, determines whether the answer is Projects, an app, or a person. It works just as well for a contractor comparing an integrated accounting system against a patchwork of spreadsheets as it does for one deciding between QuickBooks alone and a bolt-on tool.
The stakes are real. If a contractor is building a $500,000 home and is off by a few percent, that can make or break their profitability on the deal.
How Nimbl Runs Job Costing Inside QuickBooks
For contractors who land on the third answer, here is what that actually looks like in practice. Nimbl’s bookkeeping services run job coding on a weekly cadence rather than a month-end scramble. A bill or a card charge gets assigned to the right project and cost code within days of hitting the account, not weeks later when nobody remembers which job it belonged to.
Someone owns the cost code structure itself. It does not drift job to job, or get reinvented by whoever happens to be entering bills that week. Burden rates are set deliberately and refreshed on a schedule rather than guessed once and forgotten. The file stays reconciled on a rhythm tight enough that the job cost report reflects what actually happened last week, not what happened a month ago.
For contractors moving off Desktop, that same team also treats the Customer: Job-to-Projects move as the rebuild it actually is, not a weekend file conversion. This is what financial operations support looks like when the goal is a report a contractor can act on, not just one that closes the books. It is a form of outsourced financial management built specifically around the way construction jobs actually move money.
The Software Is Not the Problem
QuickBooks is an honest ledger. It reports exactly what it is told, nothing more and nothing less. That means the gap contractors feel is almost never the software itself.
The rest of it is almost always the coding behind it. It comes down to whether someone is doing that coding correctly, every transaction, every week.
Job costing in QuickBooks Online or on Desktop will tell a contractor the truth about their jobs, the moment they know the truth about their costs. The only real question left is who is doing that telling, and how often.
If your last few closed jobs surprised you, or your Desktop file is on a clock you have not planned around yet, get Nimbl’s free construction accounting assessment. Find out which of the three answers is actually yours.
Dylan Dean, CMA, is Nimbl’s Construction Accounting Lead and works with construction business owners across the U.S.
Connect with Dylan on LinkedIn
FAQs
Which QuickBooks Online Plan Includes Projects for Job Costing?
Projects are available on the Plus and Advanced subscription tiers of QuickBooks Online. It is not included on the Simple Start or Essentials plans.
Why Do Labor Costs Not Appear on a Project Until Payroll Has Been Run?
A project reflects payroll expense only after the payroll run has been processed, not when the hours were worked. That timing gap is why a job can look comfortably under budget for a week or two. It takes a visible hit the moment payroll lands, bringing the labor up to date.
Should Contractors Use Classes, Projects, or Both to Track Jobs?
Projects are built specifically for job-level cost and income tracking and are the right tool for job costing itself. Classes are better suited to tracking a separate dimension, such as a division or location, alongside jobs. Most contractors who do job costing in QuickBooks should start with Projects rather than repurpose classes for that.
Can QuickBooks Online Track Committed Costs From Open Purchase Orders and Subcontracts?
No. Native Projects shows actual costs once a bill or expense is entered. It does not show money already committed through an open purchase order or an executed subcontract that has not yet been billed. Contractors who need that visibility typically add a bolt-on tool or assign someone to track it manually.
What Happens to Job Costing When a Contractor Moves From Desktop Customer: Job to QuickBooks Online Projects?
The move is a rebuild, not a data transfer. Desktop tracks jobs through a Customer: Job hierarchy, while QuickBooks Online uses Projects, a different structure entirely. Cost codes, service items, and labor tracking all need to be set up again inside Projects rather than being carried over automatically.
