Glossary
QuickBooks Class Tracking
Class tracking is a QuickBooks Online feature that lets you tag transactions, or individual lines on them, with a label such as a department or product line, so the same chart of accounts can report profitability by segment.
Also called: classes, QuickBooks classes, class tracking, segment tracking
Definition
Intuit puts it in one sentence: "Classes represent important parts of your company, like store departments or product lines." A class is a label you attach to a transaction, or to individual lines on it, and Intuit frames the purpose as using classes "to track your transactions by departments, product lines, or any other meaningful segments in your business."
The important thing is what a class is not. It is not an account, and it does not change where money is booked. A sale posted to a revenue account posts to that same revenue account whether or not it carries a class. What the class adds is a second axis. Without classes, your profit and loss answers one question: what did we earn and spend? With classes it also answers which part of the business did it. Intuit describes the payoff plainly: "Run reports to check sales, expenses, or profitability by business segment."
It is not free in either sense of the word. Class tracking is available only on QuickBooks Online Plus and QuickBooks Online Advanced, and it requires the discipline to assign a class to every transaction that should carry one. A class list applied inconsistently produces reports that look authoritative and are quietly wrong, which is worse than not having them at all.
Key points
- +Intuit: "Classes represent important parts of your company, like store departments or product lines."
- +A class is a reporting label, not an account. It does not change which account a transaction posts to.
- +Available only on QuickBooks Online Plus and QuickBooks Online Advanced.
- +Turned on under Settings, then Account and settings, then Advanced, then Categories.
- +You choose "One to entire transaction" or "One to each row in transaction" when you enable it.
- +Locations are the separate mechanism for tracking by place, and Projects for job costing.
- +Stripe has no class field, so a class is assigned on the QuickBooks side rather than carried across.
- +In Acodei, classes ride on the mapped QuickBooks product, so each product and class combination needs its own item.
Class, location, or project: three mechanisms people reach for interchangeably
Classes, locations and projects all promise to break the business into parts. Picking the wrong one means rebuilding your reporting later, so it is worth thirty seconds of thought up front.
A class is the general-purpose segment. Intuit names departments and product lines as the examples, and then opens it up to "any other meaningful segments in your business."
A location is for place. Intuit describes it this way: "Location tracking is used to categorize data from different locations, offices, regions, outlets, or departments of the same company." When place is the question, Intuit points you there directly: "If you do business in multiple locations, you can use location tracking instead. This is a more specific way of tracking your sales, purchases, and profitability by business location."
A project is for job costing. Intuit is brief about it: "use the Projects feature to track your job costs and income."
A rule that holds up in practice: if the segment is a what, meaning a product line, a department, a revenue stream, use a class. If it is a where, use a location. If it is a discrete piece of work with a start and an end, use a project. Class tracking and location tracking both require Plus or Advanced.
The reason the distinction earns its space is that classes and locations are separate axes and you can run both at once. Businesses that force one to do the other job end up with class lists like "Retail Chicago" and "Retail Denver", multiplying two dimensions into a single flat list that grows as the product of both instead of the sum.
One class per transaction, or one per line
When you turn class tracking on, QuickBooks asks how granular you want to be. The Assigned classes setting offers two options: "One to entire transaction" or "One to each row in transaction".
Intuit describes the simpler one: "You have the option to assign one class to an entire invoice, receipt, or any other customer transaction. This saves you time if you don’t need to track each product you sell by class." The other option adds a Class column to the transaction so each line carries its own.
Which is right depends on one question: can a single transaction span more than one segment? If every invoice belongs wholly to one product line, per transaction is faster and there is less to get wrong. If one invoice can carry a subscription line and a services line that belong to different segments, per transaction forces you to pick one of them and silently misattribute the rest.
For single-product orders this is a genuine time saver. For anyone with mixed carts or bundled invoices, per row is the only setting that produces correct segment reporting.
QuickBooks offers a safeguard worth enabling at the same time: "Warn me when a transaction isn’t assigned a class." Unclassified transactions are the main failure mode of class tracking, because they do not raise an error. They simply fall out of segment reports while remaining in the totals. That produces the most confusing version of the problem, where your class report and your profit and loss disagree and nothing on either one explains the gap.
Keeping the class list small enough to be useful
Intuit issues its own warning about this, and it is the most practical line in their documentation on the feature: "Too many classes can be time consuming to work with. And the more straightforward your classes are, the easier it is to understand your reports."
A class list is a reporting dimension, and a dimension is useful when it has few enough values that a person can hold them all in mind at once. Five product lines is a dimension. Sixty is a filing cabinet, and nobody reads a sixty-row profit and loss by segment.
The usual sign that a list has gone wrong is compounding: class names that encode two things at once, like a channel plus a region. That is two dimensions crammed into one, and QuickBooks has a second dimension available for exactly that purpose.
A question worth answering before you create a single class: what do you want the profit and loss to tell you that it cannot tell you today? Build the list backwards from that answer, and stop when it does.
Stripe has no class field
This is the part that catches out businesses running on Stripe.
A class is a QuickBooks construct. Stripe objects carry their own dimensions: a product, a price, and whatever metadata you choose to attach. None of those is a class, and nothing in Stripe’s data model corresponds to one. When a Stripe charge becomes a QuickBooks transaction, no class comes with it. The class has to be assigned on the QuickBooks side, by whoever or whatever writes the record.
Two things follow. The first is that the segments you want to report on have to exist as something identifiable in Stripe before they can be translated into anything on the QuickBooks side. A product ID or a metadata key is a durable handle. A pattern in a free-text description is not, and it will break the first time someone edits the wording.
The second is sequencing. If class tracking is switched off in QuickBooks, there is nothing to assign to, so enabling it and designing the class list comes before any question of how Stripe data gets routed. Turn it on first, keep the list short, and decide what identifies each segment on the Stripe side.
How Acodei puts a class on a synced transaction
Acodei Class Tracking is a premium feature, switched on from the Acodei dashboard rather than enabled by default.
The mechanism is worth understanding before you design a class list, because the class is not a separate dimension you map on its own. Acodei’s documentation puts it this way: "In QuickBooks, classes serve as categories linked to your products." At the simplest level, Acodei Class Tracking "will add classes to your sales receipts and invoices, as indicated in your default products." The class travels with the mapped QuickBooks product or service item, and it is the product mapping that selects it.
That has a concrete consequence as soon as you segment more than one product line. Acodei’s own worked example uses two products and two classes, and it is explicit that "each product-class combination needs its own setup": Product A with Class A, Product A with Class B, Product B with Class A, and Product B with Class B. The QuickBooks item list has to carry the two dimensions multiplied together rather than side by side, so two products and two classes means four items, and the count grows the same way from there. This is the strongest practical argument for Intuit’s advice to keep the class list short.
Once the mapping is in place, the documented result is that "you should see classes populate alongside the product on sales receipts and invoices."
One planning note follows from all of this. Because the class comes from the mapped item, the thing that identifies a segment has to be something the product mapping rules can match on, such as a Stripe product, a price, or a metadata key. A segment that exists only in someone’s head, or only as a pattern in free-text descriptions, has nothing durable to attach to.
Want to see this on your own Stripe data?
Start a free trialFrequently asked questions
What is class tracking in QuickBooks?
A way of labelling transactions so the same chart of accounts can report by segment. Intuit describes classes as representing "important parts of your company, like store departments or product lines", and the purpose as tracking "your transactions by departments, product lines, or any other meaningful segments in your business". The class does not change which account a transaction posts to.
Which QuickBooks plans include class tracking?
QuickBooks Online Plus and QuickBooks Online Advanced. Location tracking carries the same requirement, so a business that needs either dimension needs at least Plus.
How do I turn on class tracking in QuickBooks Online?
Go to Settings, then Account and settings, then Advanced, then Categories, and turn on Track classes. You then pick an option from the Assigned classes dropdown and save. It is also worth turning on the option to be warned when a transaction is not assigned a class.
What is the difference between classes and locations in QuickBooks?
Classes are for general segments such as departments or product lines. Locations are for place. Intuit describes location tracking as categorizing "data from different locations, offices, regions, outlets, or departments of the same company", and recommends it directly if you do business in multiple locations, calling it "a more specific way of tracking your sales, purchases, and profitability by business location". They are separate axes and you can use both.
Should I assign one class per transaction or one per line?
Per transaction if every transaction belongs wholly to one segment, which Intuit notes "saves you time if you don’t need to track each product you sell by class". Per line if a single invoice can carry items from different segments, because per transaction would force you to pick one and misattribute the others.
Do Stripe transactions come with a QuickBooks class?
No. A class is a QuickBooks construct and Stripe has no equivalent field. Stripe objects carry a product, a price and any metadata you attach, so whichever of those identifies your segment has to be translated into a class on the QuickBooks side when the record is written.
How does Acodei assign classes to synced Stripe transactions?
Through the product mapping. Acodei documents that classes "serve as categories linked to your products", and that Class Tracking "will add classes to your sales receipts and invoices, as indicated in your default products". Class Tracking is a premium feature enabled from the Acodei dashboard. Because the class rides on the mapped item, Acodei notes that "each product-class combination needs its own setup" in QuickBooks, so two products and two classes means four items rather than two plus two.
What customers say about running Stripe through Acodei

“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
Related reading
More glossary terms
- Undeposited Funds
- Stripe Balance Transaction
- Available vs Pending Balance
- Stripe Dispute
- Stripe Fee
- Stripe Balance Adjustment
- QuickBooks Credit Memo
- Stripe Tax
- QuickBooks Tax Code
- Stripe Reserve
- Stripe Tax Rate
- Stripe Fee Credit
- Stripe Credit Note
- QuickBooks Product/Service Item
- Stripe Payout
- QuickBooks Sales Receipt
- QuickBooks Bank Deposit
- QuickBooks Transfer
- Stripe Authorization Hold
- QuickBooks Refund Receipt
- QuickBooks Payment
- QuickBooks Expense
- QuickBooks Journal Entry
- Stripe Financial Account
- Holding Account
- Accounts Receivable
- Bank Feed
- Deferred Revenue
- Stripe PaymentIntent
- Stripe Checkout Session
- Stripe SetupIntent
- Stripe PaymentMethod
- Stripe Charge
- Stripe Refund
- QuickBooks Invoice
Ready to try Acodei?
Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.