Skip to content

Bookkeeping · Financial Statements · Brief · Working level

Classes and locations: segment reporting without the clutter

Classes split one P&L into segments — service lines, locations, programs — without multiplying accounts. They help when segments have different economics and someone acts on the report; they clutter when they duplicate the chart of accounts.

By The Carryforward Desk3 min read · July 1, 2026

Classes exist to answer one question a plain P&L cannot: which part of the business earned or spent this? They add a second dimension — segment — to every transaction line, so one chart of accounts can produce a P&L column per service line, location, or program. Used well, they are the cheapest management reporting a small business can get. Used badly, they are a second chart of accounts that nobody maintains.

When classes help

  • Distinct economics. A design firm with retainer work and one-off projects; a gym with memberships and personal training. Different margins, different decisions.
  • Someone reads the split. A per-class P&L that changes a price, a staffing plan, or a lease decision earns its keep.
  • Direct costs can be assigned honestly. Revenue and direct costs tag cleanly; overhead stays unclassed (or gets allocated by one written rule, or not at all).

When they clutter

  • Classes that mirror accounts ("Payroll", "Rent" as classes) — that's what accounts are for.
  • One class with 95% of activity. No comparison, no decision, pure ceremony.
  • A class per customer or tiny job. That's job costing — a different tool, covered in job costing basics.
  • An abandoned class list — half of transactions unclassed makes every column a lie.

Before and after

The same quarter, without and with two classes:

LineTotal onlyStudioOnlineTotal
Revenue96,00061,00035,00096,000
Direct labor(41,000)(33,500)(7,500)(41,000)
Materials and platform fees(12,400)(5,900)(6,500)(12,400)
Segment gross profit42,60021,60021,00042,600
Gross margin44%35%60%44%
Overhead (unclassed)(28,000)(28,000)
Net profit14,60014,600

The total-only column hides the story: the online segment produces nearly the same gross profit on a third of the revenue. That is the kind of fact that redirects a year — and it costs nothing but consistent tagging.

Keeping it honest

  1. Cap the list. Two to six classes. If you're tempted past that, the structure is wrong.
  2. Class at entry, splitting lines where a bill spans segments — the same at-entry habit as your transaction categorization system.
  3. Leave overhead unclassed on purpose and read segment gross profit, not a fake segment net.
  4. Review the unclassed column monthly. It should hold overhead only; direct costs hiding there flatter every segment.

What to do next

  1. Name your real segments — if you can't name two with different economics, skip classes.
  2. Set up the short list and tag revenue and direct costs from this month forward.
  3. Run a per-class P&L at month end and check the unclassed column before reading the rest.

Frequently asked questions

What are classes in small-business bookkeeping?
Classes (some ledgers say categories, divisions, or locations) are a second dimension on each transaction line, separate from the account. The account says what a transaction is — wages, rent, revenue; the class says which segment it belongs to — retail versus wholesale, Store A versus Store B. Reports can then show a P&L column per class.
When should a small business use class tracking?
Use classes when the business has genuinely distinct segments — different service lines, locations, or programs — whose profitability someone will actually compare and act on. Two to six classes covering revenue and direct costs is the sweet spot. If nobody would change a decision based on the split, classes are clutter.
Should I create separate accounts for each location instead of classes?
No. Duplicating accounts per segment — Rent Store A, Rent Store B, Wages Store A — bloats the chart of accounts, breaks year-over-year comparisons, and still can't produce a clean per-segment P&L. Keep one account per expense type and let the class field carry the segment. Accounts say what; classes say which.

Keep reading