Most contractors get a chart of accounts from whoever set up their software. It has Income, Advertising, Office Supplies, Meals, and about forty other lines that would fit a consulting firm just as well.
It is not wrong, exactly. It is just built for a business where every dollar of revenue looks like every other dollar. Yours does not work that way. You have jobs, and jobs have costs, and the only question that matters is whether each one made money.
A default chart cannot answer that. Here is what to change.
The split that matters more than anything else
Every dollar you spend goes in one of two buckets:
Job costs. You spent it because of a specific job. If the job had not existed, you would not have spent it.
Overhead. You would have spent it anyway. Rent, insurance, your phone, the truck payment, the bookkeeper.
That is the whole test. Would this cost exist without the job?
Get this split right and your Profit and Loss tells you your gross margin, which is revenue minus job costs. That is the number that says whether your pricing works. Get it wrong and the report averages a great job and a disaster into one meaningless middle.
Most contractors are getting it wrong in one specific way, which is the next section.
What actually belongs in job costs
Under job costs, keep these separate:
- Materials. What went into the work.
- Direct labor. Wages and burden for people on the job. Burden means payroll taxes, workers comp, and benefits, not just the hourly rate.
- Subcontractors. Everything you paid another trade to perform on the job.
- Equipment rental. Rented for a job, not owned.
- Permits and fees. Pulled for a specific job.
- Other job costs. Dump fees, delivery, small tools consumed on site.
Subcontractor payments are the one people miss. They land in general expenses because that is where the default chart puts anything that looks like a service. The result is a Profit and Loss showing a 60 percent gross margin on work that actually ran at 22 percent, and pricing decisions made off a number that was never real.
If you only change one thing after reading this, move sub payments into job costs.
What overhead should look like
Overhead should be boring and short. Rent, utilities, insurance, office, software, marketing, professional fees, owner pay, vehicle costs that are not job specific.
The mistake here is the opposite one: splitting overhead into so many categories that categorizing takes real thought. You do not need eleven kinds of insurance. You need to know what insurance costs you per month.
If you find yourself hesitating over which account a charge belongs in, that hesitation is the signal. Merge the accounts.
Three accounts most contractors are missing
Retainage receivable. When a general contractor holds back 5 or 10 percent until the job closes, that money is earned but not yet collectible. It is not the same as a normal receivable and it should not sit in the same bucket. Contractors who lump it in are constantly surprised by how little of their receivable balance is actually collectible this month.
Over and under billings. If you bill on a schedule rather than on completion, you will spend most of the year either ahead of the work or behind it. Billing ahead is a liability, not revenue you earned. Billing behind is an asset. Without these accounts, a big deposit makes a bad month look great and the correction shows up later as a month that looks terrible for no visible reason.
Owner draws, separate from owner pay. These are different things and they are taxed differently. If they share an account, nobody can tell what you actually took out of the business. This is worth fixing even if nothing else on this list applies to you.
The Texas wrinkle that changes how you code materials
How you write your contracts changes how sales tax works on materials, and your books need to match.
Under a lump-sum contract, you bill one price without separating labor from materials. You generally do not collect sales tax from the customer. Instead you pay the tax when you buy the materials, so tax is part of your material cost.
Under a separated contract, you state labor and materials as separate charges. You collect tax from the customer on the materials, and you can buy those materials tax free for resale.
Both are allowed. Picking one and coding your books the other way is what causes trouble, because in an audit the state can decide your contract was really the other kind. When that happens on materials you bought tax free, the tax gets assessed on the purchase with no credit for what you already collected. Tax on both ends.
So the practical rule: decide which kind of contract you write, then set your material accounts up to match. If you write both kinds, they need to be distinguishable in the books before the invoice is entered, not reconstructed later. Our San Antonio sales tax guide covers the filing side.
Set up sub tracking before January, not during it
Every payment to a subcontractor needs to be attached to a vendor record with a W-9 on file. Not a running total in your head, and not a search through bank statements in January.
The reporting threshold went up. For payments made on or after January 1, 2026, the threshold for Forms 1099-NEC and 1099-MISC is $2,000, raised from $600 by the One Big Beautiful Bill Act. After 2026 it gets adjusted for inflation.
Two things people get wrong about it. The threshold is cumulative for the year, so four $600 jobs cross it. And a higher threshold does not mean you can track less carefully, because you still have to know who crossed it. Our guide to 1099s for contractors walks through the W-9 process end to end.
Collect the W-9 before the first check clears. Chasing one in January from a sub who has moved on is the reliable way to lose a whole afternoon.
How to know your chart is working
Open your Profit and Loss. You should be able to answer, in under a minute:
- What is my gross margin this month?
- Is it better or worse than last month?
- What did overhead cost me?
If any of those takes digging, the chart is the problem, not the report. And if you want the harder version of the same test, ask whether you can tell which job made the most money. If you can, your job costing works.
We cover how to read a Profit and Loss if that report has never quite made sense to you.
The short version
Split every dollar into job costs or overhead based on one question: would this exist without the job? Put subcontractor payments in job costs, where they belong. Add retainage and over and under billings if you bill on a schedule. Match your material coding to the kind of contract you actually write. Keep overhead short enough to be boring.
A contractor with a clean chart of accounts knows which jobs make money. That is the entire point, and the default chart will never tell you.
If your books currently lump sub payments into general expenses, your margins are not what you think they are. Send me three months of statements and I will build you a real Profit and Loss free, with job costs where they belong.