Classes and Profit & Loss by Class
Classes let you see profit by client, project or location. Each transaction gets one class. To use more than one on a single transaction, split it.
You'll find Classes under Accounting in the left sidebar.
Tour of the page

- Page actions. Import, Export and New class.
- Tabs. Classes, and Profit & loss by class.
- Coverage. How many of your profit and loss transactions have a class, with a link to classify the rest.
- Active and Archived. Switch between classes in use and classes you've archived.
- Sort. Most used, Net profit, Most spent, Name A-Z or Newest.
- Sub-classes. A class can have sub-classes. Its totals include theirs.
- Transactions. How many transactions carry the class. Click the number to see them in Bank feeds.
- Edit, Archive and Delete. These buttons appear when you point at a row.
Income, Expenses and Net show what each class brought in and cost.
Create a class or sub-class
Click New class.

- Name. Up to 50 characters.
- Is sub-class. Tick it to place the class under another one, then choose the Parent class. Reports roll a sub-class up into its parent.
- Description. Optional. Say what the class should be used for.
- Color. The color of the class's label across Tabby.
Click Create class. You can pick it on any transaction straight away.
Open a class's details
Click a class name to open its details.

The panel shows income, expenses and net for the class, its sub-classes with a link to add another, where the money went by category, and its most recent transactions. View all opens the full list in Bank feeds.
Put a class on a transaction
You set a class wherever you record the transaction:
- In Bank feeds, use the Class column, the row menu or the details panel. See Add a class.
- On an invoice, estimate, sales receipt, bill, expense or journal entry, use the Class section of the form.
- To classify many at once, select the transactions in Bank feeds and set the class on all of them.
On the Classes page, the link beside the coverage bar opens Bank feeds filtered to transactions without a class.
Archive, restore or delete a class
When a client or project wraps up, archive its class. It stays on past transactions and in your reports, but stops appearing in your pickers. Sub-classes are archived with it.

Archived classes move to the Archived list, where Restore brings one back.

Delete removes a class for good. It comes off every transaction that used it, and those transactions then count as unclassified. A class with sub-classes can't be deleted until you delete or move them, and Tabby offers to archive it instead.
Profit & loss by class
Open the Profit & loss by class tab, or choose Profit & Loss by Class on the Reports page.

- Period. Year, Quarter, Custom range or All time.
- Classes. All classes, or the ones you pick.
- Basis. Cash, Accrual or Both.
- CSV and PDF. Export the report.
- Unclassified transactions. How many transactions in the period have no class, with a Classify link.
- P&L. Opens the full profit and loss for that class.
- Unclassified. The row for everything without a class, so the report always adds up to your total profit and loss.
Compare classes side by side
Click Classes and tick the ones you want. Ticking a parent ticks its sub-classes too.

The report changes to a statement with a column for each class, a total, an Unclassified column and a grand total. Income and expenses are listed by account.

Click Clear in the picker to go back to all classes.
Import or export classes
Click Import and upload a CSV with a Name column. Add a Parent column to make sub-classes. Missing parents are created for you, and classes you already have are skipped.

Export downloads all your classes with their parent, description, status and color.
Common questions
Should I use a class or a sub-account?
Use a sub-account when you want more detail about what something is, such as splitting Travel into Airfare and Lodging. Use a class when you want to know who or what it was for, such as a client or a project, across all your accounts.
Can a transaction have more than one class?
Each transaction gets one class. To divide one between two classes, split the transaction in Bank feeds and give each part its own class.
Updated on: 07/10/2026
Thank you!