Use QuickBooks Online Plus or Advanced, switch on Projects (Account & settings, then Advanced), open one project for each job worth tracking, and give every supplier bill line and timesheet a project. Then email or upload supplier bills so QuickBooks pre-fills them with AI, check the category and project on each line, and review project profit weekly.
The AI reads the bill. It cannot know which job the copper was for. A counter invoice covering three jobs and your van stock still needs a person to split it line by line, and that split is where plumbing job costing is won or lost. Treat the pre-fill as a draft from a fast but careless temp. Every figure from here on belongs to an illustrative four-person firm (the owner, two plumbers and an apprentice, with two vans) and its bathroom replumb, job J2611, traced from quote to margin.
Which QuickBooks plan does job costing, and what the AI costs on top
Projects, the QuickBooks job costing feature, sits on the Plus and Advanced plans. Intuit's job costing page says so, and its help article on creating projects repeats it. These are the plans as Intuit's pricing page showed them on 1 November 2026, as monthly USD list prices. Intuit was advertising 50% off for the first three months, so budget on the list price.
| Plan | List price a month | Users | What it means for a plumbing firm |
|---|---|---|---|
| Simple Start | $38 | 1 | Fine for a solo plumber with no jobs to cost. No Projects. |
| Essentials | $85 | 3 | Adds Accounting AI and more users, still no Projects. |
| Plus | $140 | 5 | Projects with basic profitability tracking, purchase orders and class tracking. The sensible home for a four-person firm. |
| Advanced | $340 | 25 | Enhanced project financials and a construction financials solution (job costing, change orders and work-in-progress reports among its features), plus a beta Project Management AI that Intuit describes as auto-creating projects and allocating costs. |
The decision rule is simple. If more than a handful of jobs a month run past one visit, take Plus. Move to Advanced only when you bill in phases against budgets, or when commercial clients expect construction-style billing. Here is the sum that settles most arguments: Plus costs $55 a month more than Essentials, which is $660 a year at list price. One job where a $1,150 water heater lands in overhead instead of on the job hides more profit than that, as the worked example further down shows.
Intuit presents its AI as Intuit Intelligence. Its pricing page labels the chat and several automations as beta with limited capacity, and the AI features cannot currently be switched off one by one. If that matters to you, read the tutorial on whether you can turn off Intuit Intelligence in QuickBooks Online before you commit. For bigger jobs with retainage and work in progress, the tutorial on AI in construction accounting covers what a general ledger can and cannot do.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowStage 1: decide what counts as a job (30 minutes)
Not every call-out deserves a project. A project takes minutes to set up, and every bill line afterwards has to be assigned to something, so spend that effort where the margin is uncertain. The firm used one rule: open a project when a job meets any one of these tests.
- It is quoted at $1,500 or more.
- It will take more than one visit.
- It includes special-order parts, or a water heater or boiler.
- A subcontractor is involved.
- It will be invoiced in stages.
| Type of work | Project? | How its costs are tracked instead |
|---|---|---|
| Bathroom or kitchen replumb | Yes | One project per job, with the quote attached |
| Water heater swap, one visit, stock unit | No, unless over $1,500 or special order | Parts assigned to the customer on the bill; labour from timesheets |
| Emergency call-out repair | No | A class for service calls, so the profit and loss report shows them apart from installs |
| Maintenance plan visits | One project per plan year, only if you want to know whether plans pay | Otherwise a class for plan work |
Stage 2: set up accounts, items and settings (about 90 minutes)
Do this once, ideally with your bookkeeper on screen. Rename nothing in the chart of accounts without asking them first, because history moves with the account.
The chart of accounts, before and after
Most plumbing books start with one Materials account and one Subcontractors account sitting among the overheads. That makes every job look more profitable than it is, because real job costs are mixed in with rent and insurance. The fix is a short run of cost-of-sales accounts, so job costs sit above the gross profit line and overhead sits below it.
| Before (typical) | After (built for job costing) |
|---|---|
| Materials, as an expense | Job materials, as cost of sales |
| Subcontractors, as an expense | Subcontractors, as cost of sales |
| No account | Permits and disposal, as cost of sales |
| No account | Equipment hire, as cost of sales |
| Freight, as an expense | Delivery and freight, as overhead |
| Supplies, as an expense | Van stock and consumables, as overhead |
| Wages, all in one place | Job labour allocated through project timesheets (stage 6), with office wages kept as overhead |
The settings that make bill lines assignable
- Open Account & settings, choose Advanced, and turn on the switch for organising all job-related activity in one place (Intuit spells its label with a z). This is what makes Projects appear.
- Stay in Account & settings, choose Expenses, and turn on "Make expenses and items billable", "Track expenses and items by customer" and "Show Items table on expense and purchase forms".
- Create each homeowner or builder as a customer, because every project hangs off a customer.
- Decide now whether staff will log time in QuickBooks Time or in QuickBooks timesheets (stage 6).
These are the labels in Intuit's help articles as of October 2026. Intuit moves menus around, so use the in-app search bar if one has shifted.
Hourly cost rates come before any timesheet
Intuit's article on labour costs warns that an hourly cost rate only applies to time tracked after the rate is set. Enter the rates first. A rate should be fully burdened: the wage plus employer taxes, insurance and anything else an hour of that person costs you. For the firm, a plumber on $32 an hour with 28% on-costs is $32 × 1.28 = $40.96, entered as $41. The apprentice on $19.50 is $24.96, entered as $25. The 28% is an illustrative figure, so take yours from payroll.
One rule for van stock
Anything bought for a named job goes to that job. Only genuine consumables used across many jobs, such as flux, solder, PTFE tape and washers, go to Van stock and consumables, and the quote carries a small consumables allowance to recover them. This one rule stops the commonest leak in plumbing job costs: a $1,150 water heater coded as stock because it arrived on the same invoice as the solder. The tutorial on van stock lists and reorder levels covers the stock side.
Stage 3: one project per job, with the quote on file
Take job J2611, a bathroom replumb with a new water heater, quoted at $9,600. In QuickBooks go to All apps, then Projects, then Projects, and select New project. Enter a project name, choose the customer, add a start date (the end date can wait) and leave the status on In progress, which is the default. The firm names projects with the job number, the customer's surname and the work, for example "J2611 [surname] bathroom replumb", so a bill line sorts correctly even when two customers have the same surname.
Then attach the quote. Open the project, choose the Add to project dropdown and pick Estimate. Intuit's help article lists estimate, invoice, timesheet and bill among the transaction types that dropdown can create. Intuit's job costing page lists enhanced project profitability tracking as an Advanced feature (Plus gets the basic version), so on Plus the safe habit is to write the planned costs down yourself, somewhere you will see them. The firm used the project's notes field:
| J2611 planned cost at quote time (illustrative) | Amount |
|---|---|
| Materials | $2,300 |
| Subcontractor (drain work) | $850 |
| Labour: 40 plumber hours at $41 plus 16 apprentice hours at $25 | $2,040 |
| Permit and disposal | $140 |
| Total planned cost | $5,330 |
| Quoted price | $9,600 |
| Planned profit and margin | $4,270, or 44.5% |
One caution for firms that move up to Advanced. With Intuit's construction features switched on, the project form can offer a choice between Basic and Detailed project costing, plus a Phases section. Read Intuit's current help article on that choice before you make it, because a costing method can be hard or impossible to undo once transactions sit under it, and try it on a test project before you use it on a live one.
Stage 4: let the AI read the bill, then assign the jobs yourself
Two routes put a supplier bill in front of QuickBooks's AI. You or your supplier can email a copy to the forwarding address QuickBooks sets up for your company. Or you can go to Bills, open the Add bill dropdown and choose Upload from computer (PDF, JPEG, JPG, GIF or PNG files). Either way the bill arrives as a draft for you to review, and uploads land in the For review tab. Intuit's help article says QuickBooks detects the key information and fills it in, and that you should correct anything missed or wrong, including the category. Intuit's Bill Pay page is bolder: AI pulls the details and creates pre-filled bills with dates, terms, category and line items, and you review, save and pay.
Two cautions before you rely on it. Intuit's help article on accounts payable automation says the feature may not be available in every account yet, so check your own Add bill menu for the upload option. And the review step is yours, which is the only reason this stage is safe to automate at all.
Card and cash counter purchases take a different route. Snap the receipt in the QuickBooks mobile app, then open Receipts, create the expense and set the Customer/Project column. If you email receipts instead, Intuit asks for one receipt per image or file, attachments of up to 20 MB, and a sender with at least Vendor access writing from the address they use to sign in to QuickBooks. The tutorial on QuickBooks receipt capture covers what the photo reader misses.
Now the part the AI cannot do. This is a counter invoice from the firm's wholesaler: one document, two jobs, a consumables line, a delivery charge and a return. Every figure is illustrative.
| Invoice line | Amount | Typical AI pre-fill | What the firm set it to |
|---|---|---|---|
| Copper tube, 6 lengths | $186.00 | Job materials, no project | Job materials, J2611 |
| Press fittings, assorted | $142.90 | Job materials, no project | Job materials, J2611 |
| Isolation valves (4) | $96.00 | Job materials, no project | Job materials, J2611 |
| Flux, solder, PTFE | $38.50 | Job materials, no project | Van stock and consumables, no project |
| Pipe clips and brackets | $27.00 | Job materials, no project | Job materials, J2611 |
| Waste trap and pipe | $54.00 | Job materials, no project | Job materials, J2612 |
| Tap connectors, pair | $19.00 | Job materials, no project | Job materials, J2612 |
| Delivery | $25.00 | Job materials, no project | Delivery and freight (two jobs on the order) |
| Credit: fittings returned | -$18.00 | Read as +$18.00 | -$18.00, Job materials, J2611 |
The pre-filled total came to $606.40 against $570.40 printed on the paper invoice. A gap of exactly twice one line (here $36, twice the $18 credit) usually means a sign was flipped, and that one comparison catches more errors than any other check. After correction the invoice splits into J2611 $433.90, J2612 $73.00, Van stock and consumables $38.50 and Delivery and freight $25.00. Those four add back to $570.40.
To assign a line, use the Customer/Project column on the bill. Intuit's help article notes that each expense line is assigned to a project separately, and that the project on a line is different from the payee for the whole expense. That is exactly what a multi-job counter invoice needs. If the column is missing, recheck the expense settings from stage 2.
Three checks before you press Save
- Does the pre-filled total equal the total printed on the invoice?
- Does every line carry a category and either a project or a deliberate overhead code?
- Is this invoice already in Bills? Search the supplier and invoice number first, because an emailed copy and a portal copy of the same invoice both exist.
Stage 5: pre-sort a pile of bills with ChatGPT or Claude (optional)
QuickBooks's own pre-fill handles one bill at a time. A chat assistant earns its place when you have a pile: a backlog from a quiet month, a supplier statement with 40 lines, or an apprentice entering bills who needs a coding sheet. The assistant produces a coding table and a person still enters it. The prompt below pins the AI to your accounts, your open jobs and your rules, and tells it to say NEEDS HUMAN rather than guess.
You are coding supplier invoice lines for a plumbing firm's job costing in QuickBooks Online.
For each line return: line | amount | category | job code or OVERHEAD | confidence (High, Medium, Low) | reason.
Categories allowed: Job materials; Subcontractors; Permits and disposal; Equipment hire; Delivery and freight; Van stock and consumables.
Open jobs: J2611 bathroom replumb (new shower, basin, wall-hung WC); J2612 basin replacement (one visit).
Rules:
- Use only the categories and job codes above.
- A line bought for a named job goes to that job. Genuine consumables used across jobs (flux, solder, PTFE, tape, washers) go to Van stock and consumables.
- Delivery goes to the job if the order names one job, otherwise to Delivery and freight.
- A credit or return keeps its negative sign and the job of the item returned.
- If you cannot tell the job, write NEEDS HUMAN and say what you would need to know. Never guess a job code.
- After the table, add up all the lines and compare the sum with the invoice total I give you.
INVOICE TOTAL: $796.10
LINES:
[paste the lines here]
The firm ran it on a second wholesaler invoice. This is what came back, with the firm's rulings alongside. As ever, the figures are illustrative.
| Line | Amount | AI's code | The firm's ruling |
|---|---|---|---|
| Thermostatic shower valve set | $312.00 | Job materials, J2611 (High) | Agreed |
| Basin mixer tap | $148.50 | NEEDS HUMAN: both open jobs include a basin | J2611, because the bathroom job sheet lists a basin mixer |
| Wall-hung WC frame and cistern | $198.00 | Job materials, J2611 (High) | Agreed |
| Concealed trap and waste kit | $64.60 | Job materials, J2611 (High) | Agreed |
| Silicone and fixing kit | $41.00 | Van stock and consumables (Medium) | J2611. It was bought for this bathroom, so it is a job cost under our rule |
| Flexible hoses (3) | $32.00 | NEEDS HUMAN | J2611, because the job sheet lists all three hoses |
The AI's closing line said the six lines added up to $796.10, matching the invoice. Three of the six needed a human ruling, which is the point of the exercise. The AI did the typing and the first sort, and the firm made the three calls that depend on knowing the jobs. Allow 10 to 15 minutes for a 40-line statement, most of it spent on the NEEDS HUMAN rows. The same supplier lines can also keep your price book current, which the tutorial on updating a plumbing price book from supplier invoices covers.
Paste lines, not bank details or the supplier's account number. ChatGPT Business and Claude Team say they do not train on your content by default, whereas free and personal plans have a training setting you should check before any financial data goes in.
Stage 6: put labour on the job
Labour is usually the biggest cost on a plumbing job and the easiest to leave out. Intuit's help article describes two ways to get it onto a project. Payroll expenses show up after you run payroll. Estimated hourly costs show up straight away, calculated from timesheet hours and the burdened rates you set in stage 2, which makes them the better choice for a weekly check while a job is still open. Both work whether you use Intuit's payroll or another provider, and you can switch between them.
Each person logs time against the project. If you use QuickBooks Time, your workers can track time to the project and you approve and export it into QuickBooks. Paper timesheets keyed in on a Friday work too, provided the project is on every line.
One setting needs care. The dropdown that switches projects between Payroll Expenses and Hourly Costs changes the view for every project, including the ones you are not looking at, although Intuit says it does not change your books. If a job's labour suddenly looks like zero, check that dropdown before you blame the timesheets, because payroll costs only appear after payroll has run. On J2611 the plumber logged 40 hours and the apprentice 18, which is $1,640 plus $450, or $2,090 of labour against $2,040 planned.
The finished job: J2611 from quote to margin
Three supplier documents, one subcontractor and two sets of timesheets later, J2611 closed. Open the project and Intuit's overview shows income, costs and profit margin, with labour separated from the other costs. Here is the picture set against the plan from stage 3.
| J2611 (illustrative) | Planned at quote | Actual | Difference |
|---|---|---|---|
| Materials (three invoices: $433.90 + $796.10 + $1,150.00) | $2,300 | $2,380 | +$80 |
| Subcontractor | $850 | $850 | $0 |
| Labour (40 plumber hours, 18 apprentice hours) | $2,040 | $2,090 | +$50 |
| Permit and disposal | $140 | $140 | $0 |
| Total cost | $5,330 | $5,460 | +$130 |
| Income | $9,600 | $9,600 | $0 |
| Profit | $4,270 | $4,140 | -$130 |
| Margin | 44.5% | 43.1% | -1.4 points |
A $130 overrun and a margin that slipped 1.4 points is the result you want to see: small, explained and visible in the week the job closed. The apprentice's two extra hours account for $50, and the $80 of extra materials is a line the firm can check against the quote.
Now the sum that justifies the whole exercise. Suppose the $1,150 water heater on the third document had been coded to Van stock and consumables because it arrived alongside the solder. J2611's recorded cost would fall from $5,460 to $4,310. Profit would show as $5,290, a margin of 55.1%, which flatters the job by 12 points. The next bathroom quote would be priced from a margin the firm never earned, and the $1,150 would sit in overhead where nobody compares it with a job.
A 15-minute check every Friday
- Open Bills and the For review tab. It should be empty. Anything sitting there is a cost no job can see yet.
- Open the Projects list and read the income and cost bars. Open any job where costs are close to income, or where the margin is under your own floor (35% on installs, say, but that number is yours to set).
- Check that the Payroll Expenses or Hourly Costs dropdown is set the way you intend for this review.
- Pick one supplier and compare its latest bill in QuickBooks with the paper or PDF: total, signs and projects.
- List finished jobs with no invoice. A job with costs and no invoice is money you have not yet asked for.
Once a month, open the Project profitability report from a project's Project Reports tab. Intuit's help article is not entirely consistent about whether this report follows the hourly setting, so compare its labour line with the project overview before you trust it.
Where plumbing job costs go wrong
- Rates entered late. Hourly cost rates only apply to time tracked after they are set, so the first weeks of a job can show labour at zero. Ask your bookkeeper how to handle the gap, because the older timesheets will not recalculate.
- Payroll lag. With the dropdown on Payroll Expenses, a job's labour does not appear until payroll runs. Use Hourly Costs for weekly checks.
- Flipped credits. A return read as a purchase inflates the bill. The total comparison in stage 4 catches it.
- The same invoice twice. It arrives once by supplier email and once from a portal download. Search before saving.
- Costs left on the customer, not the project. Open the expense and set the Customer/Project column on each line. Intuit's article on existing expenses covers it.
- Bank-feed mislabels. The AI that categorises bank transactions makes its own mistakes, and the tutorial on recategorising transactions after AI mislabels them shows how to fix them.
- Trusting beta features. If you are on Advanced and try the beta Project Management AI, test it on a handful of jobs and compare its project allocations with the paper before you rely on it.
To know the setup works, pick one finished job and rebuild its cost from the paper: every supplier invoice, every timesheet, every permit. QuickBooks should match to the dollar. If it does not, the missing amount is almost always a bill without a project or a timesheet without a rate, and finding it once teaches you which stage of your own routine leaks.
Further reads
- HVAC Accounting Software: Recurring Agreements, Supplier Bills and AI — The same bookkeeping questions for an HVAC firm, with supplier bills and agreements.
- Does QuickBooks Have AI Agents? Plans, Prompt Limits and Add-Ons — Which QuickBooks plans carry which AI features, and the limits.
- Plumbers AI: Turn Supplier Price Lists Into a Parts Markup Sheet — Turn the costs you now track into a parts markup sheet.
- Plumbing Change Orders: Four Worked Examples Drafted With AI — Bill extra work properly so job costs match the invoice.
- How to Match Supplier Invoices to Purchase Orders Automatically — Match supplier invoices to purchase orders before they are paid.
- How to Track Profit per Project in a Service Business With AI — A spreadsheet route to profit per project if you stay on a cheaper plan.
- Roofing Accounting Software: Deposits, Progress Invoices, Job Costing, AI — Deposits, staged invoices and job costing for roofers, tested on one $16,800 re-roof across QuickBooks and Xero, with what each AI feature really does.
- Construction Job Costing With AI: Find Which Jobs Actually Made Money — Export costs from Xero or QuickBooks, add timesheet labour, build a margin table by job and let AI flag the coding errors that hide losses.
- Plumbing Flat-Rate Pricing: A Worked 30-Task Price List Built With AI — A small plumbing firm's 30 most-quoted tasks priced from labour minutes and parts, margin-checked and tested against time-and-materials on three jobs.
- Can AI Tools Help With Plumbing Design? What Needs a Qualified Person — What AI can draft in a plumbing layout, what a licensed designer must verify, and a sign-off checklist for the contractor.
- Can AI Tools Read Construction Drawings? What to Check Afterwards — What AI gets right and wrong on a plan PDF, with a scale check, a schedule cross-check and a worked room-by-room example.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Intuit QuickBooks Online pricing page, job costing page and Bill Pay page; Intuit help articles on creating projects, adding transactions and expenses to projects, tracking labour costs by project, entering bills, uploading bills and emailing receipts and bills (all read 1 November 2026).