Introduction: Why Your Chart of Accounts Is Your Financial Foundation
Financial mismanagement isn’t a minor accounting issue—it’s one of the primary reasons small businesses fail. According to the Small Business Administration, 82% of small business failures trace back to poor cash flow management, and a significant portion of that stems from inadequate financial systems and improperly structured accounting records.
If you run a professional services firm—whether you’re a consulting group, marketing agency, accounting practice, IT services provider, law firm, or recruiting agency—your chart of accounts is arguably the most important financial document you’ll ever create. It’s not just a list of line items. It’s the structural foundation that determines whether you can answer critical business questions: Which service lines are actually profitable? Are we billing enough for the work? Where is our money actually going?
This article will walk you through how to build a chart of accounts that works specifically for professional services firms. By the end, you’ll understand not just which accounts to create, but why each one matters and how to set them up so they integrate seamlessly with your billing, project management, and time-tracking systems. We’ll reference practical tools like QuickBooks Online, and show you how modern integrated systems can automate the data flow from your CRM and project management platforms directly into your GL—eliminating manual entry errors and giving you real financial insight.
Let’s start with the fundamentals and work our way toward a practical, implementable GL structure that will serve your firm for years to come.
Why Your Chart of Accounts Matters More Than You Think
Most business owners think of their chart of accounts as a necessary evil—something the accountant sets up and you don’t touch again until tax time. That’s a costly mindset. In reality, your GL structure is a strategic business tool that directly impacts your ability to make decisions, manage cash flow, and understand profitability.
Here’s the connection: Your chart of accounts drives how financial data flows into your income statement, balance sheet, and cash flow statement. If your GL is poorly structured, those reports become unreliable. And unreliable financial reports lead to poor decisions.
Consider a common example. A consulting firm uses a single “revenue” account for all client work, regardless of service line or billing type. Their P&L shows total revenue, but management can’t see that strategy consulting generates a 45% margin while implementation services only yield 22%. They’ve been pricing implementation work too low for years, but they didn’t know it because their accounting system didn’t segment revenue. Meanwhile, competitors with better GL structures have already optimized their service mix.
That’s just revenue. The impact ripples through your entire financial picture.
When your GL properly segments payroll costs—distinguishing billable staff, administrative staff, and sales staff—you can actually calculate your billable utilization rate and gross margin on client work. Without that segregation, payroll appears as a lump sum that obscures whether your services are actually profitable.
The same principle applies to operating expenses. A professional services firm that doesn’t segment technology costs, facilities costs, and professional development spending can’t answer questions like: “What’s our actual cost-per-billable-hour?” or “Are we spending enough on employee development?” A firm with a well-structured GL answers these questions in minutes.
For professional services firms specifically, proper GL structure serves another critical function: it enables accurate cost allocation to projects and clients. When your GL accounts are designed to feed data from your CRM, project management system, and time tracking (billable hours, project codes, client information), you automatically generate accurate job profitability reports. You know which clients are actually profitable, which projects consumed more time than estimated, and whether specific engagements should be repriced or repositioned.
The numbers support this. Professional services firms lose 15-25% of billable hours due to tracking failures. Across the industry, this translates to approximately $7.4 billion in lost revenue annually. Much of that loss stems from poor integration between time tracking and accounting systems—a gap that starts with inadequate GL design.
Additionally, 89% of professional services firms report that better tool integration is essential for growth, and 95% have adopted accounting automation technologies in the past year. The firms winning in this space aren’t just buying software—they’re structuring their GL in ways that allow proper integration between their CRM, project management, billing, and accounting systems.
Your chart of accounts matters because it’s the backbone of every financial decision you’ll make. Get it right, and your accounting system becomes a strategic asset. Get it wrong, and you’re flying blind.
The 7 Common GL Mistakes Professional Services Firms Make
Before we discuss how to build a proper chart of accounts, let’s identify the pitfalls that trap many professional services firms. Understanding these mistakes will help you avoid them in your own GL setup.
1. Not Segregating Billable Payroll from Overhead Payroll
This is perhaps the most common mistake. Many firms lumped all payroll expenses together under a single account or a few generic accounts. The problem: you can’t calculate actual cost of delivery or gross margin on services.
A professional services firm should maintain separate payroll accounts for billable/client-facing staff versus administrative and support staff. When you integrate your time tracking with your GL (so time entries automatically populate billable payroll accounts), you can answer fundamental questions: What’s our actual cost per billable hour? Are client delivery costs in line with industry benchmarks?
2. Using Generic Templates Without Customization
Some firms simply copy a standard chart of accounts from their accountant or QuickBooks’ default structure. While a baseline template is useful, professional services firms have unique financial structures that generic COAs don’t capture. You need accounts specifically designed to segment revenue by service line, track project profitability, and distinguish between fixed-price and retainer work.
3. Over-Complexity and Too Many Sub-Accounts
The opposite mistake is over-engineering your GL. Some firms create dozens of revenue accounts, nested sub-accounts for every department, and account codes so complex that staff can’t remember them. A bloated GL defeats the purpose—it becomes harder to maintain, easier to mis-code transactions, and slower to run reports.
The right chart of accounts balances specificity with simplicity. You want enough segmentation to answer key business questions, but not so much that the system becomes unwieldy.
4. Including Vendor and Customer Names in Account Codes
Some firms try to track individual clients or vendors by creating accounts like “Revenue - Acme Corp” or “Contractor - Smith.” This approach fails because clients and vendors change, you can’t forecast based on historical accounts, and your GL becomes unmaintainable. Client information belongs in your CRM; vendor information belongs in accounts payable and expenses are recorded by category.
5. Creating Accounts but Never Maintaining Them
A GL that’s set up well but never reviewed drifts over time. Accounts become abandoned, data quality declines, and reports become less reliable. Professional services firms need to establish a quarterly or semi-annual review cadence to archive unused accounts, clean up miscoded transactions, and adjust accounts as the business evolves.
6. Mixing Direct Costs with Indirect Costs
Professional services firms distinguish between COGS (cost of goods sold—the direct costs of delivering client work) and operating expenses (indirect costs of running the business). If these are mixed together in your GL, calculating your actual gross margin becomes impossible. Revenue should be mapped against the direct costs that produced it, not the company’s entire expense structure.
7. No Project or Engagement Coding
Many professional services firms use QuickBooks and their project management system separately. Time entries and project details live in the PM platform, but the GL doesn’t code transactions by project. This means you lose the ability to run project profitability reports, match GL balances to project budgets, or answer client-specific questions about cost and margin.
The solution is a GL structure that includes project or engagement coding—whether through sub-accounts, custom fields, or integration with a PM platform. When your CRM opportunity pipeline, project billing types (fixed-price, hourly, retainer), and time tracking integrate with your QuickBooks GL, project profitability analysis becomes automatic.
The Ideal Chart of Accounts Structure for Professional Services
Now let’s build the right GL for a professional services firm. The standard GL follows the accounting equation: Assets = Liabilities + Equity + (Revenue - Expenses). We’ll walk through each section with guidance specific to service firms.
Assets (Account Numbers 1000-1999)
Assets are what your company owns. For professional services firms, these typically include:
-
Current Assets (1000-1499):
- 1010: Cash/Checking Account
- 1020: Savings Account
- 1200: Accounts Receivable (client invoices not yet paid)
- 1250: Allowance for Doubtful Accounts (reserve for uncollectible invoices)
- 1300: Prepaid Expenses (insurance, software licenses, retainers paid to vendors)
-
Fixed Assets (1500-1999):
- 1500: Office Equipment (computers, furniture, etc.)
- 1510: Accumulated Depreciation—Equipment (contra account)
- 1600: Leasehold Improvements (if you lease office space)
- 1610: Accumulated Depreciation—Leasehold Improvements
Professional services firms typically have minimal inventory or physical assets compared to product businesses. Your primary assets are cash and accounts receivable. The key is ensuring your AR account is accurate—it should always reconcile to your outstanding invoices. This is where proper integration with your CRM and billing system matters. When client records in your CRM feed project information to your PM system, and invoices are generated and tracked there, your GL AR account should reflect that data automatically.
Liabilities (Account Numbers 2000-2999)
Liabilities are what you owe. For most professional services firms:
-
Current Liabilities (2000-2499):
- 2010: Accounts Payable (vendor invoices you haven’t yet paid)
- 2020: Accrued Expenses (costs you’ve incurred but not yet invoiced, like accrued payroll)
- 2100: Credit Card Payable (if you track separately)
- 2200: Sales Tax Payable (if your firm is subject to sales tax)
- 2300: Payroll Taxes Payable (federal, state, and FICA withheld)
- 2400: Deferred Revenue (retainers received but not yet earned)
-
Long-Term Liabilities (2500-2999):
- 2500: Notes Payable
- 2600: Long-Term Debt
The deferred revenue account is particularly important for professional services firms that collect retainers. When a client pays $10,000 upfront for a month of services, that’s not immediately revenue—it’s a liability. As you deliver the services, you move that amount from deferred revenue to actual revenue. Proper retainer accounting ensures your revenue is recognized when earned, not when cash is received, which gives you a more accurate financial picture.
Equity (Account Numbers 3000-3999)
Equity represents the owner’s stake in the business:
- 3010: Owner’s Capital/Contribution
- 3020: Owner’s Draw (if structured as a sole proprietorship or partnership)
- 3100: Retained Earnings (accumulated profit from prior years)
If you have multiple owners or have incorporated, these accounts may differ (e.g., Common Stock, additional paid-in capital). Your accountant can advise on the specifics based on your business structure. The key point: don’t adjust equity accounts directly. Equity changes through owner contributions or retained earnings from profitable operations.
Revenue (Account Numbers 4000-4999)
This is where professional services firms need careful structure. Rather than a single “revenue” account, segment revenue by service line, billing type, or both:
-
Service Line Segmentation (Example):
- 4010: Consulting Services Revenue
- 4020: Strategy Services Revenue
- 4030: Implementation Services Revenue
- 4040: Support Services Revenue
-
Billing Type Segmentation (Example):
- 4100: Fixed-Price Project Revenue
- 4110: Hourly Billing Revenue
- 4120: Retainer Revenue
- 4130: Pass-Through Revenue (client reimbursables)
You might use one approach or combine both. The principle is: your GL should segment revenue in ways that align with how you sell and how you want to analyze profitability. If you want to know whether strategy work is more profitable than implementation, create separate accounts. If you want to track how retainer clients compare to project-based clients, create separate accounts for those too.
This is where integration with your CRM and project management system pays dividends. When a lead moves through your CRM pipeline (lead → qualified → proposal → won), and a project is created with a billing type (fixed-price, hourly, or retainer), that information can be tagged in your project management system. As time entries are logged against projects and invoices are generated, the GL revenue accounts are populated automatically based on the service line and billing type, without manual categorization.
Cost of Goods Sold / Direct Costs (Account Numbers 5000-5999)
COGS for a professional services firm is the direct cost of delivering client services. It primarily includes:
-
5010: Billable Payroll (Salaries & Wages)
- The salary and wages of staff actively engaged in client delivery (project managers, consultants, developers, etc.)
- This account should be fed automatically from your time tracking system when hours are logged as billable
-
5020: Billable Payroll—Taxes & Benefits
- Employer taxes, health insurance, retirement contributions, and other benefits attributable to billable staff
-
5030: Subcontractor/Specialist Costs
- When you bring in external resources to support project delivery
-
5040: Software/Tools for Client Delivery
- Licensed software, tools, or subscriptions used directly in delivering services to clients
-
5050: Direct Client Expenses (Pass-Throughs)
- Out-of-pocket costs you incur on behalf of clients (travel, materials, equipment) that are reimbursed through invoices
The critical principle: COGS includes only costs directly tied to client delivery. When your time tracking system is integrated with your GL and flags hours as “billable” or “non-billable,” billable payroll is automatically categorized to COGS. This allows you to calculate true gross margin on services.
A common mistake is including all payroll in COGS. This inflates COGS and understates operating expenses. Only the payroll of people actively engaged in billable work belongs here. Administrative staff, sales staff, and management belong in operating expenses (covered next).
Operating Expenses (Account Numbers 6000-6999)
Operating expenses are the indirect costs of running your firm:
-
6010: Administrative Payroll (Salaries & Wages)
- Finance, HR, office management, and other non-billable administrative staff
-
6020: Administrative Payroll—Taxes & Benefits
- Employer taxes and benefits for administrative staff
-
6030: Sales & Marketing Payroll
- Sales, business development, and marketing staff (separate from administrative)
- This can be further segmented if you want to track marketing effectiveness separately
-
6040: Rent/Facilities
- Office lease, utilities, maintenance, insurance
-
6050: Technology & Software
- Software subscriptions not directly related to client delivery (QuickBooks, CRM platform, HR system, etc.)
- If you have an integrated CRM + PM + accounting stack, licenses for those tools go here
-
6060: Professional Development
- Training, certifications, conferences for staff
-
6070: Professional Fees
- Accounting, legal, consulting services you purchase
-
6080: Marketing & Advertising
- Ad spend, website, promotional materials
-
6090: Travel & Entertainment
- Non-billable travel and meals
-
6100: Office Supplies & Equipment
- Non-capital items (under $5,000 typically)
-
6110: Insurance
- Professional liability, general liability, disability, life insurance
-
6120: Bad Debt Expense
- Write-offs of uncollectible invoices
You can expand or combine these based on your needs, but the principle remains: operating expenses are the costs required to run the business, separate from the direct cost of delivering services.
Other Income and Expense (Account Numbers 7000-7999)
These accounts capture income or expenses that fall outside your core business:
- 7010: Interest Income
- 7020: Investment Income or Gains
- 7030: Interest Expense
- 7040: Bank Fees
- 7050: Miscellaneous Income
- 7060: Miscellaneous Expense
- 7070: Gain/Loss on Asset Sale
Reference Chart
Here’s a simplified reference table showing the structure:
| Account Range | Account Type | Purpose |
|---|---|---|
| 1000-1999 | Assets | What you own |
| 2000-2999 | Liabilities | What you owe |
| 3000-3999 | Equity | Owner’s stake |
| 4000-4999 | Revenue | Income from services |
| 5000-5999 | COGS / Direct Costs | Cost of delivery |
| 6000-6999 | Operating Expenses | Cost to run business |
| 7000-7999 | Other Income/Expense | Non-core activity |
This structure is the foundation. The specific accounts you create within each range should reflect your business model and the questions you want your financial data to answer.
Setting Up Revenue Accounts That Actually Tell You Something
Many professional services firms make the mistake of lumping all revenue together. They might have a single “Consulting Revenue” account, but they can’t answer whether strategy work is more profitable than implementation, or whether retainer clients generate better margins than project-based clients.
Your revenue accounts should be structured to reveal the financial reality of how you sell.
Segmentation by Service Line
If you offer multiple service lines—for example, strategy consulting, implementation services, ongoing support, and training—create separate revenue accounts for each. This allows you to:
- Run P&L analysis by service line
- Compare margins across different services
- Identify which services are most profitable
- Price new engagements based on historical margins
Example structure:
- 4010: Strategy Consulting Revenue
- 4020: Implementation Services Revenue
- 4030: Ongoing Support Revenue
- 4040: Training & Workshops Revenue
As you grow, you might discover that one service line has much higher margins than others. With proper revenue segmentation, you identify this opportunity quickly and adjust your resource allocation or pricing accordingly.
Segmentation by Billing Type
Professional services firms typically use three billing models:
- Fixed-Price: Client pays a set fee for a defined scope. You keep any profit beyond the cost to deliver.
- Hourly: Client pays an agreed hourly rate for time spent. Revenue varies based on hours logged.
- Retainer: Client pays a recurring monthly or quarterly fee for ongoing availability or services.
Each billing type has different financial implications. Fixed-price work carries execution risk (if it takes longer than estimated, your margin shrinks) but can have higher margins if scoped well. Hourly work is more predictable but may face rate resistance. Retainer work provides revenue stability but requires excellent delivery to maintain margins.
Revenue accounts segmented by billing type:
- 4100: Fixed-Price Project Revenue
- 4110: Hourly Services Revenue
- 4120: Monthly Retainer Revenue
- 4130: Reimbursable Expenses
This segmentation lets you analyze: Are fixed-price projects actually as profitable as we believe? Are our retainer clients sticky and profitable, or are they consuming more support than we anticipated?
Combining Segmentation
Some firms combine both approaches:
- 4010: Strategy Consulting—Fixed Price
- 4011: Strategy Consulting—Hourly
- 4012: Strategy Consulting—Retainer
- 4020: Implementation—Fixed Price
- 4021: Implementation—Hourly
- 4030: Support—Retainer
This is more detailed but more complex. You need clear guidance so staff codes invoices correctly. The right level of detail depends on your business model and analytical needs.
Integration with CRM and Project Management
The power of revenue segmentation is realized when it’s integrated with your CRM and project management system. Here’s how it works:
-
CRM tracks opportunity pipeline: Opportunities move from Lead → Qualified → Proposal → Negotiation → Won/Lost. At the “Won” stage, you record the service type (strategy, implementation, support) and billing type (fixed-price, hourly, retainer).
-
Project management captures billing type and budget: When a project is created, it inherits the service type and billing type from the CRM opportunity. The project includes budget (for fixed-price work or retainer amounts), hourly rates, and time-tracking requirements.
-
Time tracking feeds cost allocation: Team members log time against projects, flagged as billable or non-billable. Billable hours at the specified rate automatically populate the project cost and feed into COGS payroll accounts (as discussed in the previous section).
-
Invoicing generates GL entries: When an invoice is generated from the project (whether fixed-price, hourly, or retainer), the GL is updated automatically. The revenue account is coded based on the service type and billing type, so 4010 (Strategy—Fixed Price) or 4110 (Hourly Services Revenue) are populated without manual intervention.
This automation is why 89% of professional services firms say better tool integration is essential for growth. When your CRM, PM system, time tracking, and accounting system are integrated, your GL populates automatically with correctly categorized data. You don’t rely on staff to remember how to code transactions—the system handles it.
The Three-Tier Payroll Structure Every Service Firm Needs
Payroll is typically a service firm’s largest expense, often 50-70% of revenue. How you structure payroll accounts directly impacts your ability to calculate profitability, utilization rates, and cost per billable hour.
The mistake many firms make is lumping all payroll together. The solution is a three-tier structure that segregates payroll into distinct categories.
Tier 1: Billable/Client Service Payroll (COGS)
This is the salary and wages of staff engaged in billable work—consultants, developers, project managers, and other professionals who log time against client projects. This payroll belongs in COGS (Cost of Goods Sold) because it’s a direct cost of delivering services.
Account structure:
- 5010: Billable Payroll—Salaries & Wages
- 5020: Billable Payroll—Taxes & Benefits (FICA, unemployment tax, health insurance, retirement)
The key to this tier is integration with your time tracking system. When an employee logs billable hours in your project management platform (tagged as billable vs. non-billable), those hours should flow into your payroll tracking. Your accounting system (QuickBooks) can then calculate the portion of that employee’s salary attributable to billable work, based on the percentage of billable hours.
Example: Sarah, a consultant, earns $80,000 annually. She logged 1,600 billable hours and 400 non-billable hours in a year (total 2,000 hours). Therefore, 80% of her salary ($64,000) is billable and goes to COGS. The remaining 20% ($16,000) is administrative and goes to operating expenses (Tier 2). This split is calculated automatically from the time tracking data.
This approach requires discipline in time tracking. Every hour must be coded as billable or non-billable, and ideally tagged to a project. But the payoff is enormous: you know your actual cost of delivery.
Tier 2: Administrative Payroll (Operating Expenses)
This is payroll for staff who don’t log billable hours: accounting, HR, office management, and other administrative roles. This is an operating expense, not part of COGS.
Account structure:
- 6010: Administrative Payroll—Salaries & Wages
- 6020: Administrative Payroll—Taxes & Benefits
Additionally, the non-billable portion of hybrid roles (like a project manager who spends 70% billable and 30% administrative) gets allocated here based on time tracking.
Tier 3: Sales & Marketing Payroll (Operating Expenses)
Depending on your structure, you might want to separate sales and marketing payroll from general administrative payroll. This allows you to track the cost of business development separately and analyze sales efficiency.
Account structure:
- 6030: Sales & Marketing Payroll—Salaries & Wages
- 6031: Sales & Marketing Payroll—Taxes & Benefits
This tier is optional but useful if you want to analyze business development ROI.
Implementation with Time Tracking
The key to making this structure work is a system where time tracking feeds payroll allocation. Here’s how integration works:
-
Project Management System: Employees log time entries with fields for project, task, billable/non-billable flag, and hours.
-
Time Tracking Rollup: System rolls up billable hours by employee and calculates the billable percentage (billable hours ÷ total hours).
-
Payroll Allocation: Based on billable percentage, employee salary is split between COGS and operating expenses. Your accounting system (QuickBooks) automatically distributes the expense.
-
GL Update: COGS and operating expense accounts are populated correctly without manual allocation.
Without this integration, you’re forced to manually estimate what percentage of payroll is billable, which introduces errors and inconsistency. With integration—which is standard in modern CRM/PM/accounting platforms—payroll allocation is objective and data-driven.
This is particularly important for the 15-25% of billable hours lost to tracking failures. When your time tracking system is the single source of truth and feeds directly to both project profitability and payroll allocation, those tracking gaps become visible. You identify the problems and fix them.
Connecting Your CRM and PM Data to Your GL
The real power of a well-structured GL emerges when it’s connected to your CRM and project management system. This is where the theory becomes practice and your financial data becomes truly actionable.
The Data Flow
Here’s how the integration works in a modern professional services firm:
1. CRM Pipeline → Project Opportunity
A prospect enters your CRM as a lead. They move through your CRM pipeline: Qualified, Proposal Sent, Negotiation, Won. At the “Won” stage, the opportunity record includes:
- Service type (strategy, implementation, support, etc.)
- Billing type (fixed-price, hourly, retainer)
- Service line (consulting, development, etc.)
- Client name and record
2. Project Creation with Billing Details
Once an opportunity is won, a project is created in your project management system (or your PM system syncs with the CRM). The project inherits:
- Service and billing type
- Client information
- Budget (for fixed-price: the fee; for hourly: the rate; for retainer: the monthly amount)
- Timeline and milestones
3. Time Tracking Against Projects
Team members log time entries in the PM system, tagged to specific projects and tasks. Each entry includes:
- Hours worked
- Billable/non-billable flag
- Project code
- Task/description
4. Automatic GL Coding
When invoices are generated and posted to QuickBooks, the GL is updated based on the project attributes:
- Revenue Account: Coded to 4010 (Strategy—Fixed Price) or 4110 (Hourly Revenue) or 4120 (Retainer), depending on service and billing type
- COGS—Payroll: Based on logged billable hours and employee rates
- COGS—Other: Direct expenses and software costs allocate based on project coding
5. Project Profitability Reports
With all this data flowing into your GL with proper project coding, you can run reports that answer:
- Which projects are most profitable?
- Are fixed-price engagements actually profitable, or do we underestimate scope?
- Which clients have the best margins?
- Are retainer clients consuming more support than budgeted?
Why This Matters
The alternative—disconnected systems—looks like this:
- Opportunities sit in a CRM that doesn’t talk to your project management tool
- Time entries are logged in the PM tool, but they don’t feed payroll or GL allocation automatically
- Invoices are created in the PM tool, then manually entered into QuickBooks
- Project budget vs. actual doesn’t sync with GL data
- You can’t run accurate project profitability reports
This creates multiple sources of truth, manual data entry errors, and a GL that doesn’t reflect the actual profitability of your work.
The solution is an integrated stack: CRM + Project Management + Accounting. When these systems are connected—whether through direct integration, API, or a platform that natively combines all three—your GL becomes a real-time reflection of your business performance.
For firms using QuickBooks Online, there are several PM and CRM platforms designed to integrate: FirmDesk, for example, combines CRM, project management, time tracking, and billing in a way that feeds directly into QuickBooks. When you log time in FirmDesk, specify whether it’s billable, and tag it to a project, that data flows to QBO. Revenue accounts are coded by service and billing type. Payroll allocation is calculated automatically. Project profitability is instantly available.
This integration is why accounting software adoption is accelerating. The market was worth $8.2 billion in 2024 and is projected to reach $15.8 billion by 2034. Within that market, the professional services segment accounts for 28% of all accounting software spending—because integrated systems deliver real ROI for service firms.
Setting Up Your GL in QuickBooks Online: Step by Step
Now let’s walk through the practical steps to implement this GL structure in QuickBooks Online.
Step 1: Access Your Chart of Accounts
Log into QuickBooks Online. Navigate to the Accounting section on the left sidebar, then select Chart of Accounts. This is where all your accounts are displayed and managed.
Step 2: Understand Account Types
Before creating accounts, understand QuickBooks’s account types:
- Asset: What you own (cash, AR, equipment)
- Liability: What you owe (AP, credit cards, payroll taxes)
- Equity: Owner’s stake in the business
- Revenue: Income from operations
- Expense: Costs to run the business
- Cost of Goods Sold (COGS): Direct cost of delivering products/services
- Other Income/Expense: Non-operational income/expenses
Each account type has different properties. Revenue and COGS accounts affect gross profit. Expense accounts don’t. Understanding these distinctions ensures your P&L reports are accurate.
Step 3: Create Your Account Structure
Start with the high-level structure outlined earlier. For each category (Assets, Liabilities, etc.), you’ll create parent accounts and sub-accounts.
To create an account in QBO:
- Click New (top left) and select Account
- Choose the account type (Asset, Liability, Revenue, Expense, COGS)
- Enter the account name (e.g., “Billable Payroll—Salaries & Wages”)
- Assign an account number (e.g., 5010)
- If this is a sub-account, select the parent account
- Click Save and Close
For a professional services firm, your account structure might look like this:
Assets:
- 1010: Checking Account
- 1020: Savings Account
- 1200: Accounts Receivable
- 1300: Prepaid Expenses
Liabilities:
- 2010: Accounts Payable
- 2020: Accrued Expenses
- 2300: Payroll Taxes Payable
- 2400: Deferred Revenue (Retainers)
Equity:
- 3010: Owner’s Equity
- 3100: Retained Earnings
Revenue:
- 4010: Strategy Consulting—Fixed Price
- 4011: Strategy Consulting—Hourly
- 4012: Strategy Consulting—Retainer
- 4020: Implementation—Fixed Price
- 4021: Implementation—Hourly
- 4030: Ongoing Support—Retainer
- 4099: Other Revenue
COGS:
- 5010: Billable Payroll—Salaries & Wages
- 5020: Billable Payroll—Taxes & Benefits
- 5030: Subcontractor Costs
- 5040: Direct Software/Tools
- 5050: Client Pass-Through Expenses
Operating Expenses:
- 6010: Administrative Payroll—Salaries & Wages
- 6020: Administrative Payroll—Taxes & Benefits
- 6030: Sales & Marketing Payroll
- 6031: Sales & Marketing—Taxes & Benefits
- 6040: Rent & Facilities
- 6050: Technology & Software
- 6060: Professional Development
- 6070: Professional Fees
- 6080: Marketing & Advertising
- 6090: Travel & Entertainment
- 6100: Office Supplies
- 6110: Insurance
- 6120: Bad Debt Expense
Other Income/Expense:
- 7010: Interest Income
- 7030: Interest Expense
- 7040: Bank Fees
Step 4: Enable Custom Fields and Project Coding
To maximize the integration between your PM/CRM and accounting, configure custom fields in QuickBooks:
- Go to Settings (gear icon, top right)
- Select Custom Fields
- Create fields for:
- Project Code: Links transactions to specific projects
- Service Type: Identifies the service line
- Billing Type: Indicates fixed-price, hourly, or retainer
- Client ID: Links to your CRM client record
When these fields are populated automatically from your integrated PM/CRM system, every transaction in QBO includes the information needed for detailed profitability analysis.
Step 5: Set Up Account Hierarchies
In QuickBooks, you can create hierarchical accounts where sub-accounts roll up to parent accounts. This is useful for reporting.
Example:
- 5000: Cost of Goods Sold (Parent)
- 5010: Billable Payroll (Parent)
- 5010-A: Billable Payroll—Salaries
- 5010-B: Billable Payroll—Taxes & Benefits
- 5020: Direct Costs (Parent)
- 5010: Billable Payroll (Parent)
This hierarchy allows you to run reports at different levels of detail.
Step 6: Disable Unused Default Accounts
QuickBooks comes with default accounts you might not need. Delete or deactivate these to keep your COA clean. For example, if you don’t deal with inventory, deactivate inventory-related accounts.
Step 7: Document Your Chart of Accounts
Create a reference document (spreadsheet or PDF) that lists:
- Account number
- Account name
- Account type
- Purpose/description
- Who is responsible for coding transactions to this account
Share this with your team. Clear documentation reduces miscoding errors.
Step 8: Configure Integration with Your PM/CRM
If you’re using a platform like FirmDesk or another integrated system, configure the connection to QuickBooks:
- In your PM/CRM platform, find the QuickBooks integration settings
- Authenticate with your QBO credentials
- Map your GL accounts in the PM system so that when transactions are created, they flow to the correct QBO accounts
- Test the integration with a sample transaction to ensure data flows correctly
The specific steps depend on your platform, but the principle is the same: your PM/CRM system should be able to create or push transactions to QuickBooks with proper GL coding automatically.
Maintenance and Review: Keeping Your GL Clean
Your GL is a living document. It needs regular maintenance to remain accurate and useful.
Monthly Review
At the end of each month, conduct a brief GL review:
- Reconcile Bank Accounts: Compare your QBO bank balances to your actual bank statements. Fix any discrepancies.
- Review AR and AP: Look at accounts receivable aging (older invoices that haven’t been paid). Follow up on overdue amounts. Review accounts payable for any duplicate entries.
- Scan for Miscoded Transactions: Look for transactions coded to unexpected accounts (e.g., large amounts in “Miscellaneous Expense”). Correct obvious errors.
This monthly review catches problems early and maintains data quality.
Quarterly Deep Dive
Every quarter, conduct a more thorough review:
- Review Accruals: Ensure accrued expenses (payroll, utilities, etc.) are accurate. Clear accruals once the actual invoice is paid.
- Analyze Expense Trends: Compare each expense account to budget and to the previous quarter. Investigate significant variances.
- Check for Abandoned Accounts: If accounts have zero activity for a full quarter, consider whether they’re still needed or can be consolidated.
- Update Payroll Allocation: If you’re manually allocating payroll between billable and administrative (because you haven’t automated it yet), recalculate and adjust for any changes in employee roles or time allocation.
Semi-Annual Maintenance
Twice a year:
- Archive Unused Accounts: If accounts have been inactive for 6+ months, mark them as inactive in QBO. This reduces clutter in your COA.
- Review Revenue Accounts: Ensure your revenue segmentation is still aligned with how you’re selling. If you’ve launched a new service line, create a new revenue account.
- Reconcile GL to Subledgers: If you maintain separate records (like project budgets in your PM system), ensure they reconcile to GL balances.
- Update Documentation: Revise your GL reference document if accounts have been added, removed, or repurposed.
Annual GL Audit
Before year-end (or as part of tax preparation):
- Complete Reconciliation: Reconcile all balance sheet accounts (AR, AP, payroll payables, etc.) to supporting documentation.
- Identify Needed Adjustments: Review accruals, prepaid expenses, depreciation, and other items that require year-end adjustments.
- Prepare for Tax Filing: Work with your accountant to ensure your GL is structured in a way that makes tax preparation straightforward. If you’ve made changes during the year, ensure they’re documented.
When to Make Changes
You may need to adjust your GL as your business evolves:
- New Service Line: Create a new revenue account to track it separately.
- New Department: If you’ve expanded to a new functional area (e.g., operations management), create corresponding payroll accounts.
- Change in Organizational Structure: If you’ve moved staff between roles or adjusted your team structure, update payroll allocation methods.
- Acquisition or Merger: Integrate the acquired company’s accounts into your COA as needed.
The key is maintaining balance between consistency (using the same structure over time) and adaptability (adjusting as the business changes).
Key Takeaways
A properly structured chart of accounts is foundational to financial management in professional services firms. Here are the critical points:
-
Your GL directly impacts profitability insights. A well-structured chart of accounts reveals which service lines, clients, and billing types are most profitable. A poorly structured GL obscures these insights, leading to pricing and resource allocation mistakes.
-
Segment revenue by service line and billing type. This allows you to analyze margins across different services and understand how different billing models perform. Revenue accounts should answer the questions you actually care about.
-
Separate billable payroll (COGS) from administrative payroll (operating expenses). This enables you to calculate actual gross margin on services, billable utilization rates, and cost per billable hour. It’s the foundation of cost accounting for service firms.
-
Integrate your CRM, project management, and accounting systems. The firms winning in this space have systems that talk to each other. When opportunity pipeline data, project billing types, time entries, and invoices flow automatically into your GL with proper coding, manual errors disappear and profitability analysis becomes instant.
-
Maintain your GL regularly. Set a cadence for review and cleanup—monthly reconciliations, quarterly deep dives, and semi-annual maintenance. A neglected GL loses value quickly.
-
Document your structure and train your team. A well-designed GL that nobody understands will be miscoded. Clear documentation and training ensure consistent application across your firm.
Starting with the right GL structure saves countless hours of manual accounting work and enables financial decisions based on real data rather than guesses. The upfront investment in proper setup pays dividends for years.
Frequently Asked Questions
Q: How many accounts should my firm have?
A: There’s no magic number, but 30-50 accounts is typical for a professional services firm with 6-25 employees. You need enough detail to answer key business questions (profitability by service line, gross margin, etc.) but not so many that the system becomes unwieldy. Start with the structure outlined in this article and expand as needed.
Q: Should I use sub-accounts or create separate accounts for each category?
A: Sub-accounts are useful for organizing information hierarchically. For example, you might have “Payroll” as a parent account with “Billable Payroll,” “Administrative Payroll,” and “Sales Payroll” as sub-accounts. This allows you to run reports at different levels of detail. However, if you have only 5-6 distinct categories, flat accounts work fine. Choose based on your reporting needs.
Q: How do I handle project coding in QuickBooks?
A: In QuickBooks Online, you can use custom fields to tag transactions with project codes. When invoices or expenses are entered, include the project code as a custom field. This allows you to filter reports by project later. For more sophisticated project profitability tracking, integration with a dedicated PM system (like FirmDesk) automates this process.
Q: What if I’m using retainer billing? How do I account for it?
A: Create a “Deferred Revenue” liability account (e.g., 2400). When a client pays a retainer upfront (e.g., $5,000 for one month), debit Cash and credit Deferred Revenue. As you deliver services, move amounts from Deferred Revenue to actual Revenue accounts. This ensures your revenue is recognized when earned, not when cash is received. Each month, move the earned portion (e.g., $5,000) from Deferred Revenue to your Retainer Revenue account.
Q: How do I handle pass-through expenses (costs I incur on behalf of clients)?
A: Create a “Direct Client Expenses” or “Pass-Through Revenue” account in both expenses (5050) and revenue (4130). When you incur a cost on behalf of a client (e.g., $500 in software licenses they use), record it as an expense. When you invoice the client for reimbursement, record it as pass-through revenue. This way, the cost and revenue offset, and your actual margin (from your own labor and overhead) is clear.
Q: When should I use the “Cost of Goods Sold” account type vs. “Expense” account type?
A: Use COGS for costs directly tied to delivering your service (billable payroll, direct software, subcontractor costs). Use Expense for indirect costs (administrative payroll, rent, marketing). This distinction affects your gross margin calculation. Your P&L shows Gross Profit = Revenue - COGS. Operating Expenses are subtracted separately. This structure reveals whether your core service delivery is profitable before considering overhead costs.
Next Steps: Getting Help with Your Back Office
Setting up a proper chart of accounts is a critical step, but it’s just one piece of a complete back-office system. Many professional services firm owners find that the real challenge isn’t understanding the theory—it’s implementing it across multiple systems and keeping everything maintained as the business grows.
If you’re building your GL structure from scratch, integrating your CRM, project management, and accounting systems, or trying to clean up a GL that’s accumulated years of inconsistent practices, you don’t have to do it alone. Many firms benefit from working with a back-office specialist or accounting consultant who understands professional services businesses specifically. They can help you design a GL structure tailored to your business model, configure your accounting platform (QuickBooks), set up integrations with your CRM and PM systems, and establish maintenance protocols that keep your financial data clean and actionable.
The investment in getting your back office right—including GL setup, system integration, and process documentation—typically returns itself within 12 months through better financial insight, faster month-end close, and improved project profitability management.
Your chart of accounts is the foundation. Build it right, integrate it properly, and maintain it consistently. The result is financial clarity that drives better decisions, better pricing, and better profitability.
Want to see what an integrated stack looks like?
Book a discovery call and we'll walk you through how the FirmDesk Stack could work for your firm.
Book a Discovery Call