The Chart of Accounts
Short version: three revenue accounts (Technician Rendered, Analyst Rendered, Assessments) and two direct-labor cost accounts that mirror them. It takes twenty minutes. It is the difference between a P&L that answers questions and one that just reports that revenue went up.
The problem with one revenue account
Most ABA practices we take over have a single income account called Therapy Income, Patient Revenue, or Service Revenue. Every dollar lands in it. The P&L shows revenue up, payroll up, and net income sideways.
That is not a reporting problem, it is a decision problem. When revenue and labor each sit in one bucket, you cannot answer any of the questions that run the business:
- Is technician delivery profitable at our current pay rate and payor mix?
- Are we paying analysts to do work that bills at a technician rate?
- Did last month's dip come from fewer sessions or fewer assessments?
- What happens to margin if we hire two more BCBAs?
You can get to those answers from a billing report. You should not have to. The general ledger should answer them every month, without a special project.
The rate card is the argument
Here is a live Medicaid book we manage, two managed-care plans under one funder, at contracted rates. Four fifteen-minute units to the hour.
| Code | Rendered by | Plan A / hr | Plan B / hr |
|---|---|---|---|
| 97153 | Technician | $85.00 | $73.00 |
| 97155 | Analyst | $71.00 | $81.16 |
| 97156 | Analyst | $100.00 | $66.04 |
| 97151 | Analyst, assessment | $102.00 | $153.84 |
Read the first two rows. On Plan A, an hour of analyst protocol modification bills fourteen dollars less than an hour of technician treatment. On Plan B it bills eight dollars more. Same practice, same month, opposite relationship.
That is the whole case for splitting the accounts. Technician pay runs $25 to $33 an hour; analyst pay runs $75 to $110. Three to four times the cost, against a rate card that does not reliably pay a premium to cover it. There is no rule of thumb that survives contact with a real fee schedule, which means the only way to know is to read it off the P&L.
Now read the last row. Assessment is the highest-yield hour in the book on both plans, and on Plan B it is nearly double anything else. That is an entirely different business question — pipeline and authorization capacity, not staffing ratio — and it deserves its own line.
Three revenue accounts
Technician Rendered Revenue
Direct treatment delivered by an RBT or behavior technician under supervision. The volume engine, the majority of revenue in almost every practice we work with, and the line where a two-dollar move in the pay rate changes the whole year.
Analyst Rendered Revenue
Service delivered by a BCBA or other qualified health professional. Protocol modification, family guidance, group treatment with protocol modification, and any direct treatment the analyst covered personally. Low volume, high cost, and as the rate card shows, not necessarily high rate.
Assessment Revenue
Behavior identification assessment and supporting assessment. Separate for a different reason: it is episodic, not recurring. It front-loads at intake, it is gated by authorization, and it is the leading indicator for the next six months of treatment revenue. When assessment revenue stalls in March, treatment revenue stalls in June. You want that on the P&L, not discovered later.
Not in this post: contractual adjustments, denials, recoupments, and uncollectible balances. Those sit below the revenue lines in their own contra-revenue accounts and are covered separately. Keep them out of these three. These hold contracted revenue at agreed rates, nothing else.
Cost of goods sold: mirror the revenue
Direct labor is your cost of goods. Break it out the same two ways you broke out revenue so margin is subtraction, not a research project. Include the loaded cost — payroll taxes and benefits on billable staff are direct costs. Give the burden its own account so you can see wages separately, but keep it in COGS.
| Number | Account name | Type | Detail type |
|---|---|---|---|
| 4010 | Technician Rendered Revenue | Income | Service/Fee Income |
| 4020 | Analyst Rendered Revenue | Income | Service/Fee Income |
| 4030 | Assessment Revenue | Income | Service/Fee Income |
| 5110 | Direct Labor – Technician | Cost of Goods Sold | Cost of Labor – COS |
| 5120 | Direct Labor – Analyst | Cost of Goods Sold | Cost of Labor – COS |
| 5130.10 | Payroll Taxes & Benefits – Direct Labor | Cost of Goods Sold | Cost of Labor – COS |
| 5140 | Mileage & Travel – Billable Staff | Cost of Goods Sold | Other Costs of Service – COS |
Turn on account numbers in QuickBooks under Advanced settings. They hold the accounts in the order you intended instead of alphabetical order, and they make every conversation about the books faster.
One mechanical note on payroll: most payroll providers post one lump wage debit. Route it through a payroll clearing liability and split it to 5110, 5120 and overhead wages with a journal entry from the payroll register. If the split does not happen at that step, none of this works — you will have three revenue accounts and one undifferentiated payroll line, which is half a system.
Where assessment labor goes
Assessment revenue does not get its own labor account, deliberately. Assessment work is delivered by the same analysts and technicians who deliver treatment, and splitting payroll a fourth way means an allocation you maintain every pay period. Assessment labor lands in 5110 and 5120 alongside everything else. If you genuinely need standalone assessment margin, use a Class rather than a fourth pair of accounts.
What the P&L looks like when you are done
| Line | Revenue | Direct labor | Gross margin | Margin % |
|---|---|---|---|---|
| Technician rendered | 220,000 | 135,000 | 85,000 | 38.6% |
| Analyst rendered + assessments | 80,000 | 45,000 | 35,000 | 43.8% |
| Total | 300,000 | 180,000 | 120,000 | 40.0% |
Now the questions have answers. The technician line carries 73 percent of revenue, so that is where scale lives and where a pay-rate change hits hardest. If technician margin slides two points next month, look at billable utilization and cancellation rates before anything else. If assessment revenue drops, look at the intake pipeline now instead of reacting to a treatment dip a quarter later. None of that needed a special report.
Two rules that keep it clean
- Nothing but contracted service revenue in the 4000s. Grants, stipends, interest and settlements get their own other-income accounts. If it did not come from a claim, it does not belong here.
- Nothing but direct service delivery in the direct-labor accounts. Clinical director salary, admin, billing, scheduling and non-billable supervision are operating expenses. The moment overhead migrates into COGS to make a number look better, gross margin stops being comparable month over month, which was the point.
Why Qlarity cares
Qlarity syncs your CentralReach billing data into QuickBooks Online grouped by payor, procedure code, location and date of service. Which revenue account a synced line lands in is decided by the product or service item it maps to. This chart of accounts is the target that mapping points at.
Build these accounts first. Then build the items that feed them — which is where it gets interesting, because the same procedure code can be delivered by an analyst or a technician and has to land in two different accounts depending on which. That is the next post.