What Is Class Tracking and How Do I Enable It?

A class in QuickBooks is a single-purpose tool to classify income and expense transactions. Class tracking is not used for balance sheet accounts. It’s also not a way to group customers, jobs, or vendors. To do that, use a Type, which can be managed on the Lists->Customer & Vendor Profile Lists menu selection.

To use class tracking, it first must be enabled on the Accounting sub-menu of the Company Preferences tab on the Edit->Preferences menu selection; just check the box for Use class tracking. To have QuickBooks request the appropriate class for a transaction, check the box for Prompt to assign classes.

Keep in mind that class tracking is a single purpose tool – it can’t be used to track unrelated aspects of your business. Proper use of classes depends largely on your business reporting needs. Classes can be used to track:

  • locations
  • product lines or service types
  • partners in a professional services firm
  • funds for a public sector or non-profit enterprise

Since classes can be applied to both income and expense transactions, class tracking enables producing a Profit & Loss statement for each class.

QuickBooks supports sub-classes, or nested classes, up to 5 levels deep.

If you use class tracking, you’ll want to:

  • carefully consider your reporting requirements before you use class tracking
  • assign classes to both income and expenses
  • create a “miscellaneous” or “other” class to classify transactions that don’t fit another, more specific class
  • consistently assign a class to all transactions so that your class-level reports are accurate
  • create an “unclassified” class for transactions not yet classified – QuickBooks reporting won’t allow you to filter for transactions that have no class assigned

To manage your classes, click on the Lists->Class List menu selection.

Vote This Post DownVote This Post Up (+1 rating, 9 votes)


  1. Using 14.0 quickbooks enterprise. The owner wants to track the customers by regions (north valley, south valley. etc) How do I do that? He wants it set up that anytime I invoice that customers name it will show up in a region area so we know what areas of town are more profitable then others.

  2. We have premier nonprofit edition 2014, I would like to assign a class to specific accounts in the COA … In our edition under Preferences, it has a section “Use class tracking for transactions” and a check box for “prompt to assign classes” but does not have a drop down box. classes are not listed as a potential column in the chart of accounts editing?

    not sure how to assign currently active accounts to specific class?

  3. Karen Hunt says

    If you are using classes to track locations, how can you create a balance sheet for just one class if class tracking doesn’t work for balance sheet accounts?

  4. If I am just trying to track expenses for specific sales people but I don’t want to track income, is class tracking the best option? I was thinking that each salesperson would be their own “class” but I’m not sure if there is a different way to handle this since it is solely for tracking expenses.

  5. Marc Foreman says

    I am changing the way we track our expeses and adding classes. Historically we have dual accounts (one named utilities and another named construction) for each type of expense. There are quite literally thousands of transactions in 20 different accounts. Changing (adding) a class designation to each one takes forever. If there anyway I can change an entire account at once?

    • Chief Mechanic says

      Unfortunately, not within QB itself. There are ways to edit multiple list entries, but not transactions. You can either a) use class tracking at the start of a new FY (saving you the trouble of editing prior transactions) or b) explore data export tools to export the data, fix it in Excel, and then re-import it in a new company file.

  6. Hi,
    I work for a non-profit organization that partners with many programs. Basically, what we do here is take their registration fees and pay out their expenses. We have a class list in place that our previous bookkeeper set up, but it’s not properly done. I’d like to set up an extensive class list to track each program we partner with separately. This would entail making all current classes inactive and essentially re-building the class list from scratch. My question is – we’re right in the middle of our fiscal year. Are there ramifications to changing the class list mid-way through? Should I wait until we start our next fiscal year?

    • Chief Mechanic says

      We’d discourage an extensive active class list.

      First, you can rename or merge classes if the current names don’t fit, and that will only interrupt your current FY reporting if you merge classes, because you’ll lose the details of the separate classes.

      Classes are hierarchical in that you can have parent and child classes. If you’re going to have a lot of classes, make use of a structure so that you don’t make transaction entry overly complicated.

      On the ramifications of changing classes in the middle of your FY, when you report on any program, you’ll have to be sure to select all of the classes that apply. If the classes are currently inactive, that means you’ll need to re-activate them to report on them. Beyond reporting in the middle of the year, changing classes will complicate reporting over several years, because the class used in an earlier year will now be inactive. Therefore, you’re best served by editing your current classes to match your needs as closely as possible and to use sub-classes to refine what you have if necessary.

  7. I’m using Classes to track project funds for a non-profit. All my income and expense is assigned to Project A, Project B, and so on, or Undesignated.

    I would like to create a report to that lists the projects and their balances. For example, as of today…
    Project A $100
    Project B $350
    Undesignated $120

    I have done this many times in the past with QB Pro, but for some reason, with the new company I set up, I can’t figure out how to do it. None of the memorized reports seem able to be modified to get what I want. Can you help me?

    • Chief Mechanic says

      The balance of a class is the P & L of that class over all time, ie, the earliest date of your transactions to the most recent. You can substitute a date that is not the most recent, and that is the balance of that class up that date.

      A custom summary report can do this if you use the income statement format, but it’s often easier to simply use a P & L statement where you set a filter for the classes you want to appear on the report. You can also skip the step of setting a class filter but set the report to total by class if you have a small number of classes.

  8. Using QB Pro 2011 (to upgrade soon) for a church, there is a loan and one checking account. We use the classes for designated funds (building, missions ect) for income/expenses to keep separate from the general budget expenses and contributions.
    Have recently made an online transfer of $20,000 within our bank moving funds from checking to apply to the loan. In QB, I used the transfer function to transfer $20,000 from checking to reduce the loan liability. Checking balance and loan liability balance adjusted correctly, but I need to reduce the balance in the building fund class by $20,000. Is there another transfer needed, or is a journal entry needed to properly move funds within the class?

    • Chief Mechanic says

      Why wouldn’t you simply put a class on the transfer? That’s supported in QB 2014, and it’s been a while since we’ve had to open QB 2011, so perhaps its not supported. If it’s not supported, then you’d be better off to void the transfer, and use a general journal entry, which does support classes.

      We’re not big fans of using class tracking on balance sheet accounts. That’s something that was added to QB after class tracking was already established, but support for it is not as robust as for income/expense accounts. For a situation such as yours, we’d recommend having at least 2 sub-accounts on your 1 bank account (which would total to the 1 bank account). One sub account would represent the building fund and another the operating fund, and for this transaction, we’d do the transfer from the building fund sub-account. When you reconcile the bank account, you’d reconcile the parent account. We find that method to be easier to understand and maintain (since a balance sheet reports on segregated funds) for small non-profits with a limited number of balance sheet accounts that involve segregated funds.

      • Thank you for the quick reply and the advice. I did use the Building Fund class, so it is possible that it isn’t supported. I will use your advice and void the transfer and book a journal entry with the proper class. Thank you again for your help.

  9. Hi,

    I set up some new classes and forgot to put them on the invoices. When I added them to the invoice it still did not pull the amounts through to the corrected class. Any ideas on what I did wrong or how I can fix it? Thanks!

    • Chief Mechanic says

      Where you did you enter class information – in 1 instance for the entire invoice or on a per line invoice? For the per line, you’d need to modify the standard invoice form.

  10. I have added many classes in the past. I added one today, and it shows in the drop down list, but when I select it, it says the class is not set-up.

    • Chief Mechanic says

      If the error is from QB itself, one possibility is data corruption. Try running the rebuild utility 2x in succession, then check the class. If that doesn’t work, try deleting the class. If you’re running QB POS, and the error you see is similar to “class not registered,” then take a look at this Intuit support article. Some operating system/programming language errors might be in a form similar to “class not registered”, but this is not a reference to a QB class. Instead, it’s a reference to a class in the program that is running. It’s helpful if you can identify exactly what is reporting the error and exactly what the error message is.

  11. Hi Good day! Im using QB premier retail edition 2013 and I’m new to this. Our company is a start up so I have to set up QB from whatever data my boss has. He wanted me to set up various funding in QB using class tracking. I’m not sure how to do this. Can you help me out. Plus I also need to use multicurrency for our bank accounts. How should I go thru this? Thanks.

    • Chief Mechanic says

      This article covers class tracking. If you have existing transactions already recorded, once you’ve created your classes, you can edit the existing transactions to include your new classes. You can also create a report of all income & expense transactions to make sure that all transactions have been assigned a class.

      Multi-currency is a separate topic. Creating a bank account in QB in a currency other than your home currency involves enabling the multi-currency feature, creating the bank account, and choosing the appropriate currency for it. If you have more questions on multi-currency, have a look at our articles on that topic and please post them there.

  12. Jamie Plott says

    We are using two companies in Quickbooks Pro 2011. In one when pulling an Account Quickreport, I can add class to the columns and the class will show up. In the other company they will not but when I click a transaction the class is there. Any tips? Is it a setup issue?

    • Chief Mechanic says

      By an Account Quickreport, do you mean you opened the Account Listing, right clicked on an account, and chose the last item on the context menu, which is to produce a Quickreport? I believe the class column is never shown by default on this report, and in none of my tests did it appear. The class column is available to display, however. Can you point to other differences? For example, are you trying to produce a report for the same account type? Classes are most commonly used for income & expense accounts, but beginning with QB 2011, balance sheets by class were supported, but only in QB Premier and Enterprise Solutions, not QB Pro. You may have stumbled on a situation where Intuit has blocked class reporting in QB Pro, even though the underlying data is there.

  13. I’m revamping my quickbooks and using its features more this year. I’m starting to understanding the Class associations. My company is construction/remodeling. Instead of tracking profit and overhead by job in regular excel I’d like to use quickbooks for this now. One accountant told me to start using the class feature. So I’ve created an invoice to a customer name, now I need to assign it to a class. Do I create a class with the customer name (or job reference is repeat customer)? And do this for every job that comes in this year? Is that okay? I’m pretty sure I already know the answer to this question since class is only used to track individual things. I still allocate an entry, for example, a material purchase for a job as “construction material costs” while I also class it to the job name. This won’t mess with my monthly statement download and reconciles will it?

    • Chief Mechanic says

      In my experience, class tracking for construction/remodeling firms is best used to track revenue/expenses by region/locale (where each class might represent a city/county/state/geographic area). There are other tools in QB for other tracking commonly used by construction firms. Class tracking would not be used for construction job costing. For job costing, you’d set up items for the different products/services that go into a construction project (e. g., framing materials), and transactions would flow through those items.

      If you want to create classes for the geographic area where you work, you’d manage the class list on the Lists menu. THen, assign each revenue and expense transaction to its appropriate class. Adding classes is a little more work, but it won’t disrupt your other accounting work.

  14. New to QB. We are using the Non-Profit program. I would like to use the Class List as a way to track ‘budgets’ for each department….the first entry would be “Budget 2013” and the rest expenses. How do I get the first entry in. I know how the expenses come out – I’ve got the spending part down. LOL I just am trying to figure out how to put the money in there.

    • Chief Mechanic says

      You don’t want to use the class list to track a budget. Instead, use the budgeting feature for that. See Company->Planning & Budgeting. Classes can only be used to track 1 thing, and classes don’t allow you to enter a budget. You’d be better served to use classes to track programs or projects. You can budget by class, so you can compare your budgeted to actual expenses by program or project if you use classes in this manner.

  15. We are a distribution company with various locations around the country. Is there a way to setup classes to track income and expenses by brands and also by branches (locations). We need reports by brands as well as by locations.

    • Chief Mechanic says

      Unfortunately, not with classes. Keep in mind that classes can only be used to track one thing, so you can use classes to track brands OR locations, but not both. However, take a look at some of the other customer profile lists, such as Sales Rep or Customer Type. If you’re not otherwise using 1 of these list elements, you could use class tracking for brands and either Sales Rep or Customer Type for location. Keep in mind these list elements are associated with a customer, so you can track revenue and expense that is connected with a customer, but you won’t be capturing data on expenses without that connection. For example, inventory that might be in 1 location that is damaged and written off as an expense won’t be captured as an expense using customer types unless you connect the expense to a customer using a form such as a zero-dollar invoice.

      • Thanks for the info and for a quick reply. Your are correct in saying not all expenses are connected to customers. What if use classes for the locations and for the brands create the same subclass for each of the locations. E.g. Create class called “location1”, “location2”, “location3” and for each of these locations (class) create brands with the same subclass “Red”, “Green”, “Blue”, “Yellow”. On the report, will it show income and expenses for brands red, green, blue , yellow and a total for location1, then the same for location2 etc. Your reply would be greatly appreciated.

  16. Quickbooks Premier 2011 allows me to run a P&L by class and by unclassified. I can modify the report to filter by class whereby I am able to exclude or include multiple classes. However, unclassified is not included in the list of classes. In other words, I use several classes and lots of unclassified data. I would like to be able to exclude 1 class from the report and still have unclassified data included in the report. Any suggestions?

    • Chief Mechanic says

      Unfortunately, you can’t get what you want with the reporting in QB. Reporting in QB sets filters only using the concept of include, not exclude. Further, it only uses the concept of conditionals combined with an “and”, not an “or”. You may want to check out XpandedReports, which is an extra-cost add-on for QB that gets around some of the limitations in reporting.

      For dealing with unclassified data, we typically recommend that you add a new class with a name similar to “Not Yet Assigned”. You want to avoid “Unassigned” because QB itself makes use of that term. Then, you’d set the preference to Prompt to assign classes on the Company tab on the Accounting sub-menu in Edit->Preferences. With that class, you’d make sure every income/expense transaction had a class, so you could easily find the transactions that were “Not Yet Assigned” a class. In effect, this is manually applying a fix for a limitation in QB reporting.

  17. Don Henderson says

    On the report “Profit & Loss by Class” I have set up employees to track income. One employee terminated a year ago but still shows up with all zeros . How do I eliminate employee from the heading – I deleted employee from the class list .

    • Chief Mechanic says

      I’m not clear on how your report is set up. The Profit & Loss by Class report has columns that represent your classes, not your employees. Did you create classes in the name of your employee, so that in effect, this report is a P & L by employee? If so, you can set a filter for Class and choose Multiple Classes, then only select the classes you want to appear. You can also click the Advanced… button on the Display tab of the report and make adjustments to whether zero balances are reported. However, keep in mind that if you have any non-zero amount in any class for any GL account, that account will be reported even for classes for which it has a zero balance. That’s necessary just so every class has the same GL accounts in the report.

  18. I’m a not-for-profit who is just starting to use classes. I have funds that have been donated to a specific purpose. Each purpose gets a class.

    we have a program where by a donor can give money to a specific fund to gift someone else. Money comes in via class… how do I track the cost of the inventory going out as the gift?

    • Great question. When you enable class tracking, you’ll also need to edit the forms (e. g., invoice, credit memo, or sales receipt) that you plan to use to sell your inventory items. You do that on the Lists->Templates menu. You want to be sure that your form allows you to specify the class on each line item in the screen version, but you don’t necessarily need to print that class on your form.

      With that modification in place, your sales revenue and inventory expenses for an item will go to the class specified.