Chart of Accounts Design for a Service Business

Why this matters

A chart of accounts is the spine of every financial report the owner reads. A well-designed COA produces a P&L that answers "where did the money go" in 30 seconds. A poorly designed COA produces a P&L with one line for "Materials" totaling several hundred thousand dollars, no breakout, no insight. Most trade businesses run on a default QuickBooks COA that was never customized, and the owner cannot tell from the report whether the issue is rising material cost, rising subcontractor cost, or rising waste. Designing the COA correctly at startup (or refactoring it once at the next year-end) is a one-time effort that pays dividends every month afterward.

The structural rules

A chart of accounts has five top-level account types:

  1. Assets (1xxx)
  2. Liabilities (2xxx)
  3. Equity (3xxx)
  4. Revenue / Income (4xxx)
  5. Expense (5xxx, 6xxx, 7xxx for further breakdown)

The 4-digit numbering is convention; QuickBooks defaults to it, and the convention scales to a 20-vehicle multi-trade operation without renumbering. Some accountants use 3-digit (101 to 999); same logic.

The structural rule that drives insight on the P&L: separate Cost of Goods Sold (COGS) from Operating Expense. COGS is the direct cost of producing revenue (job materials, technician labor that worked the job, subcontractors). Operating Expense is the overhead of running the business (office rent, owner salary, advertising). The split lets the P&L show Gross Profit (Revenue minus COGS) and Operating Profit separately. Gross Profit margin is the operating diagnostic; Operating Profit is the bottom line.

Recommended COA for a single-trade service business

The structure below scales from a 2-truck operation to a 15-truck regional. Numbers are illustrative; the structure is the point.

1000 - Assets

1010 Operating Checking; 1020 Payroll Checking (separate if outside payroll provider); 1030 Savings (working capital reserve); 1100 Accounts Receivable; 1200 Inventory (truck and warehouse stock); 1300 Prepaid Expenses; 1500 Vehicles (each as sub-account 1510, 1520...); 1600 Equipment (each as sub-account); 1700 Accumulated Depreciation (contra-asset); 1800 Security Deposits.

2000 - Liabilities

2010 Accounts Payable; 2020 Credit Card (one sub-account per card; the QuickBooks default of one lumped card is unhelpful); 2100 Sales Tax Payable; 2200 Payroll Liabilities (federal withholding, state, FICA, FUTA, SUTA); 2300 Customer Deposits (received but not yet earned; liability until performed); 2400 Loans (each as sub-account); 2500 Warranty Reserve.

3000 - Equity

3010 Owner Equity (sole prop) or Common Stock (corp) or Member Equity (LLC); 3020 Owner Draws / Distributions / Member Draws; 3100 Retained Earnings (system-managed).

4000 - Revenue

The revenue side carries the most insight when broken out by service line.

  • 4100 - Service Revenue (the main bucket; sub-account by service category)
    • 4110 - Diagnostic / Service Calls
    • 4120 - Repair Revenue
    • 4130 - Installation Revenue
    • 4140 - Maintenance Plan Revenue (membership / contract)
  • 4200 - Parts and Materials Sold (markup on materials passed to customer)
  • 4300 - Subcontractor Pass-Through Revenue (if billing subcontractor work)
  • 4400 - Other Revenue (referral fees, rebates from manufacturers, scrap metal)
  • 4900 - Sales Discounts (contra-revenue; reduces Revenue)
  • 4950 - Sales Returns / Credits Issued (contra-revenue)

Splitting service revenue by category (4110-4140) lets the P&L show whether maintenance plan revenue is growing as a percentage of total. That number is the leading indicator for recurring-revenue businesses.

5000 - Cost of Goods Sold

COGS is the direct cost of revenue. The COGS vs OpEx split drives the Gross Profit line.

5100 Direct Labor (5110 Technician Wages; 5120 Technician Payroll Taxes; 5130 Technician Benefits; 5140 Workers Compensation technician portion); 5200 Materials and Parts (5210 Parts Cost; 5220 Equipment Sold; 5230 Waste/Adjustments); 5300 Subcontractor Cost; 5400 Vehicle Operating Cost - Direct; 5500 Permits, Disposal, Inspection Fees; 5600 Equipment Rental for Jobs.

Technician wages can be split between billable and non-billable (training, internal work) at month-end with a journal entry; some designs put all wages in COGS and back out non-billable on the management report.

6000 - Operating Expense

Overhead, not directly tied to a job. 6100 Owner/Office Salary and Burden (6110 Owner Salary; 6120 Office Wages; 6130 Office Payroll Taxes; 6140 Office Benefits); 6200 Rent/Facility; 6300 Utilities; 6400 Insurance (general liability, commercial auto, umbrella, E&O); 6500 Vehicle Cost - Indirect; 6600 Marketing (sub-accounts per channel); 6700 Software/SaaS; 6800 Professional Fees; 6900 Office Supplies/Small Tools.

7000 - Other (non-operating)

7100 Depreciation Expense; 7200 Interest Expense; 7300 Bank Charges; 7400 Income Tax; 7500 Other Income/Expense (one-time, asset sale gain/loss).

Sub-account vs class

QuickBooks Online and Xero both support classes (or "tags") in addition to sub-accounts. Use sub-accounts for the chart structure; use classes for orthogonal slicing (by location, by vehicle, by service line).

Example: Marketing - Google Ads is a sub-account. Class "Residential" vs "Commercial" lets the report filter by customer type without polluting the COA with duplicate accounts.

A common over-design is creating separate accounts for every vehicle (Vehicle Operating - Truck 1, Vehicle Operating - Truck 2). Use a single Vehicle Operating account and use Class = Truck 1 / Truck 2 to slice. Same outcome, cleaner chart.

Common COA mistakes

  • Single "Materials" account. No insight into part vs equipment vs subcontractor cost.
  • Owner salary mixed with technician wages. Gross Profit margin distorted.
  • Credit card lump. Five cards rolled into one account; no per-card reconciliation possible.
  • Sales tax in revenue. Sales tax is a liability; the customer's money is held in trust until remitted. Putting it in revenue inflates the top line and creates a tax-remit error.
  • Customer deposits in revenue. Deposits received but not yet earned are a liability. Recognize as revenue when the work is performed.
  • No COGS vs OpEx split. P&L cannot show Gross Profit; impossible to diagnose margin pressure.

When to refactor

Refactoring a chart of accounts is best done at year-end after the books are closed. Mid-year refactors create comparison problems for the trailing twelve months. Plan the refactor with the bookkeeper or CPA, map every existing account to the new structure, run the prior-year reports in both structures to verify, and reset effective January 1.

References

  • IRS Publication 538 - Accounting Periods and Methods
  • IRS Publication 334 - Tax Guide for Small Business
  • FASB Accounting Standards Codification, Topic 605 (Revenue Recognition) and Topic 606 (Revenue from Contracts with Customers)
  • Intuit QuickBooks Online Chart of Accounts documentation
  • AICPA Audit and Accounting Guide, Construction Contractors