
To split one vendor bill across multiple jobs and classes in QuickBooks Online, set class tracking to one class per row, turn on projects, then give every line its own project and class. The settings take a few minutes, and Intuit's class tracking guide lists them. MakersHub reads every part of every bill, codes each cost to the right place and puts it in front of the right people before it's paid. MakersHub is AP automation for organizations that track spend by project, location, program or entity.
This guide walks through the settings, then codes a sample six-line supplier bill across two jobs and three classes, so you can see exactly what lands where. The steps are the same at 20 bills a month or 1,500. At 1,500, that's hours of picking projects and classes from dropdowns every week, and it's exactly the work MakersHub takes off your team's plate. We show how at the end.
You need three settings turned on before one bill can carry more than one job and more than one class.
| Setting | Where it lives in QuickBooks Online | What it does | Plans |
|---|---|---|---|
| Track classes, one to each row in transaction | Settings, Account and settings, Advanced, Categories | Adds a Class column to every line, instead of one class for the whole bill | Plus, Advanced |
| Organize all job-related activity in one place | Settings, Account and settings, Advanced | Turns on projects, the QuickBooks term for a job | Plus, Advanced, Intuit Enterprise Suite |
| Track expenses and items by customer, Make expenses and items billable, and Show Items table on expense and purchase forms | Settings, Account and settings, Expenses | Adds the Customer/Project column and the Billable checkbox to bill lines | Turn on alongside projects |
Class tracking requires QuickBooks Online Plus or Advanced, according to the same Intuit article. Projects are available on Plus, Advanced and Intuit Enterprise Suite, per Intuit's guide to creating projects. On Simple Start or Essentials, you won't get the Class column or projects. You'd need to upgrade to Plus.
A project, which older QuickBooks users will know as a customer:job, answers which job a cost belongs to. A class answers which part of your business it belongs to: install versus service, residential versus commercial, one department or division versus another. Intuit describes classes as a way to track "important parts of your company, like store departments or product lines."
One bill can need both at once. A plumbing supplier's invoice might carry pipe for a clinic install, a pump for a service call and a box of shop rags that belongs to no job at all. If you code it line by line, that bill feeds two job reports and three class columns. If you enter it as one line, everything goes to one job and one class, and every report it touches is off.
This is job costing, which AccountingTools defines as accumulating the costs of materials, labor and overhead for a specific job. In practice, the materials side of job costing is decided at bill entry, one line at a time.
In QuickBooks Online, go to Settings, then Account and settings. Select Advanced, then Categories, and switch on Track classes. In the Assign classes dropdown, choose One to each row in transaction. Then select Save.
Setting that dropdown is the step most people miss, and it comes up again and again in Intuit Community threads. If it's set to One to entire transaction, QuickBooks gives the whole bill a single class, and you can't split classes across lines. While you're there, turn on Warn me when a transaction isn't assigned a class. It's the cheapest control in this whole guide.
Still in Account and settings, under Advanced, turn on Organize all job-related activity in one place. That switches on projects. Then open Expenses and turn on three settings: Make expenses and items billable, Track expenses and items by customer, and Show Items table on expense and purchase forms. These are the prerequisites listed in Intuit's article on adding expenses to a project.
The second of those settings is what puts the Customer/Project column on each bill line. As Intuit notes, the project you assign to a line is separate from the payee, so the vendor stays the same while each line goes to its own job.
Create classes that match how you actually want to read your profit and loss, not every distinction you could make. Then create a project for each open job, attached to its customer.
Keep the names short and unambiguous. The person entering bills will pick from these lists hundreds of times a month, and two classes called "Service" and "Service Calls" will get mixed up.
Create a new bill and choose the vendor once at the top. Then work down the lines. For each line, enter the account or item, the amount, the project in the Customer/Project column and the class in the Class column. If you'll rebill a line to the customer, check Billable on that line.
If one line on the supplier's invoice belongs to two jobs, such as a single spool of wire used on both, enter it as two lines on the bill and split the quantity or amount between them. Each line can only hold one project and one class, so splitting the line is how you split the cost.
Freight and fuel surcharges. Decide once whether they follow the job or go to overhead, then apply that rule to every bill. Deciding case by case is how two people end up coding the same supplier's bills two different ways.
Credits from the supplier. Code the vendor credit to the same project and class as the original line, or the job report will overstate the cost.
Shared overhead lines. Leave the project blank and use an overhead or shop class. A line with a class and no project still lands in the right column of your profit and loss.
Hart Mechanical, a made-up plumbing and HVAC contractor, receives one bill from a made-up supplier, Ridgeline Supply. Hart has two active jobs (a clinic install at Oak Street and a service call at the Miller Residence) and three classes: Install, Service and Shop.
| Bill line | Amount | Account | Customer/Project | Class |
|---|---|---|---|---|
| 3/4" copper pipe, 200 ft | $620.00 | Job Materials | Oak Street Clinic | Install |
| Ball valves, 12 at $18.50 | $222.00 | Job Materials | Oak Street Clinic | Install |
| R-410A refrigerant, 25 lb | $389.00 | Job Materials | Oak Street Clinic | Install |
| Condensate pump | $164.00 | Job Materials | Miller Residence | Service |
| PEX fittings kit, 2 at $47.25 | $94.50 | Job Materials | Miller Residence | Service |
| Shop rags and thread tape | $56.80 | Shop Supplies | (none) | Shop |
| Bill total | $1,546.30 |
Coded that way, the one bill splits cleanly across both reports:
| Where it shows up | Oak Street Clinic | Miller Residence | No project |
|---|---|---|---|
| By project | $1,231.00 | $258.50 | $56.80 |
| Where it shows up | Install | Service | Shop |
|---|---|---|---|
| By class | $1,231.00 | $258.50 | $56.80 |
Both views add back to $1,546.30. Now imagine the same bill entered as one line, coded to Oak Street and Install because that's where most of it went. The clinic job looks $315.30 more expensive than it was, the Miller service call looks free, and shop supplies vanish from overhead. Nothing in QuickBooks would flag it.
Run Profit and Loss by Class to see each class side by side, and open each project to see its income, costs and profit. If some of a cost shows up on that report without a class, a line was saved without one. The warning setting from Step 1 would have flagged it before you saved.
If the lines are coded wrong, these reports will be wrong too. The GAO's Standards for Internal Control list "complete, accurate, and timely recording of valid transactions" among the control activities every organization needs. At the bill line, that means the right job and the right class, entered when the bill arrives rather than corrected at month-end.
“If you don’t understand your business, you are flying blind; you are haphazard, hoping some luck will catch you.”
Chad Shaules, CEO, Cornerstone Development Company, quoted in Intuit's February 2026 announcementQuickBooks Online handles line-level jobs and classes natively. The limit is the time and attention it takes a person to code every line on every bill. Three things tend to happen as bill volume grows.
QuickBooks handles this fine. It's just a lot of clicking. A 30-line bill means at least 60 dropdown choices, a project and a class on every line, before anyone has checked a price. AccountingTools puts it plainly: with many jobs in progress, "there is a strong chance that costs will be incorrectly assigned."
Owners end up guessing which jobs actually make money. Every dollar has a job, and a dollar coded to the wrong one makes a good job look worse and a bad job look better. Controllers end up re-checking every bill before they can close the month.
MakersHub does the line coding above before the bill ever reaches QuickBooks. Its AI engine, WiseVision, reads every line of the supplier's invoice, capturing 35 or more fields per bill. It codes each line to the right account, class, customer or project, and any custom fields. The coded bill then goes to approval, and only then syncs to QuickBooks Online or QuickBooks Desktop through a two-way QuickBooks integration built in-house.
On the Ridgeline bill, the pipe, valves and refrigerant arrive coded to Oak Street and Install. The pump and fittings go to Miller and Service, and the rags to Shop. You set your coding rules once, and MakersHub applies them everywhere. You can configure MakersHub by talking to it. Prompt WiseVision to code a bill, then ask it to save that decision as a rule it applies from then on.
Because each line is coded before approval, MakersHub can send each line to the person who owns its job. Bills route by vendor, amount or job, so the Oak Street lines can go to the clinic's project manager and the Miller lines to the service lead. Approvers use MakersHub without training. They approve from email in one click, and see only the bills that are theirs. If a bill names a supplier, item or job that isn't in QuickBooks yet, MakersHub creates the record when it syncs. When there's a purchase order, line-level matching against the QuickBooks PO flags quantity and price variances before the bill posts.
MakersHub is set up around how your business already works, and our team configures it with you. MakersHub is SOC 2 Type II certified, with Positive Pay protection on check payments and encrypted collection of vendor bank details. There's no per-user pricing, so every project manager who needs to approve can.
“Recently, I entered 91 bills in 30 minutes. Now I don’t dread my Tuesdays. I don’t even worry about it.”
Patrice Diana, QuickBooks ProAdvisor, in her MakersHub customer storyWe've written about a few related problems: one vendor billing several locations under different account numbers, construction bills split by cost code in our construction accounts payable guide, and moving from classes to dimensions in Intuit Enterprise Suite. For more on how the coding itself works, see automated line-item coding.
Yes. Turn on class tracking and set Assign classes to One to each row in transaction, and each line on a bill gets its own Class column. MakersHub fills that column for you, coding every line of the bill to the right class as it reads the invoice.
Class tracking needs QuickBooks Online Plus or Advanced, and projects are available on Plus, Advanced and Intuit Enterprise Suite. MakersHub syncs that line-level coding with QuickBooks Online, QuickBooks Desktop and Intuit Enterprise Suite.
A project, also called a customer:job, tracks which job a cost belongs to, while a class tracks which part of your business it belongs to, such as install versus service. MakersHub codes both on every bill line, so one supplier invoice can feed several job reports and several class columns at once.
Each bill line holds one project and one class, so enter the shared item as two lines and divide the quantity or amount between the jobs. MakersHub codes each line on the supplier's invoice to its own project and class before approval, so shared costs are split before anyone signs off on the bill.
Turn on Make expenses and items billable in your Expenses settings, then check the Billable box on the line and assign the customer or project. MakersHub carries the customer and project on each line into QuickBooks, so billable costs land on the right job without re-keying.
Class tracking is off, your plan doesn't include it, or Assign classes is set to One to entire transaction, which gives the whole bill a single class. Once the column is there, MakersHub can fill it automatically on every line.
Yes, AP automation software that reads the individual lines of an invoice can code each one to a job and class instead of coding the bill as a whole. MakersHub reads every line, codes each one to the right account, class and project, routes the bill for approval by job and syncs it both ways with QuickBooks.
Want to see your own supplier bills coded line by line? Book a MakersHub demo.
See how MakersHub helps organizations that track spend by project, location, program or entity get every line of every bill coded and approved before it's paid.