Skip to content
(832) 702-3325

Guides · setup method

QuickBooks for contractors — set up around the contract.

Generic QuickBooks setups fail contractors twice: cost codes get crammed into the chart of accounts, and the contract's tax treatment gets ignored — even though, where a state's rules turn on how a job is contracted, lump-sum and itemized work run sales tax through the books in opposite directions. This is the setup that handles both: lean chart, items as cost codes, Projects as jobs, and invoices that mirror the contract.

Books structure only — what's taxable on your jobs is for your state's rules and your CPA, and this guide keeps saying so.

Texas example cited to Comptroller Pubs 94-116 · 94-157 Seven steps, contract first
THE JOB WHAT DOES THE CONTRACT SAY? LUMP-SUM tax paid at purchase rides inside job material cost invoice: one price no tax line to the customer liability account doesn't move SEPARATED resale certificate at purchase materials enter cost pre-tax invoice: materials · labor · tax itemized collected tax → liability not revenue Where a state's rules turn on contract form — which treatment applies to a job is your state's and your CPA's call. SAME JOB · TWO TRACKS · THE BOOKS MIRROR THE CONTRACT

Quick answer

Put cost codes in the Products & Services list as items, not in the chart of accounts: accounts hold cost families, items hold codes, Projects hold jobs. Then fix each job's sales-tax track when you create the project: tax paid on materials rides in job cost, while tax collected from the customer posts to a liability, not revenue.

A framework · contract layer

How a contractor's books follow the job paperwork.

The contract-mirror rule: a contractor's books mirror the contract — each job's tax track, invoice structure, and cost treatment is set by what the contract says, decided when the project is created, not reconstructed at invoice time. The reason is sales tax on construction, which states handle very differently. In some, a contractor is generally treated as the consumer of the materials it installs and pays tax when it buys them. In others, the answer turns on how the contract is written — one price for the whole job, or materials and labor itemized. Some tax the construction work itself. Whatever your state's answer, the books carry it on one of two tracks: tax you pay, which rides inside job material cost with no tax line on the invoice, or tax you collect, which is billed to the customer and sits in the sales-tax liability until it's remitted.

The rule earns its name at the failure points. A file with one all-purpose labor item and one invoice template applies somebody's treatment to every job — and by the time the sales-tax liability disagrees with the filings, no one can say which invoices did it. Mirrored setup means the decision happens once, up front, where it's cheap: the job is created on its track, its items and template follow, and the invoice physically can't blur the tracks. And the register stays honest — which treatment a contract gets, whether a given charge is taxable, what today's rates are: your state's rules and your CPA's call, every time. The books don't make those calls; they make the answers trackable.

ACCOUNTS — the families Materials · Direct labor · Subcontractors · Equipment · Overhead ITEMS — the cost codes Framing · Electrical · Plumbing · Concrete · Drywall · Roofing … PROJECTS — the jobs Smith remodel (separated) · Oak St build (lump-sum) · … THE WRONG WAY 5010 Framing 5011 Framing—labor 5012 Elec—rough 5013 Elec—trim … ×60 accounts unreadable P&L ACCOUNTS ANSWER "PROFITABLE?" · ITEMS ANSWER "ON WHAT?" · PROJECTS ANSWER "WHICH JOB?"
Figure data as a table
The three-layer contractor setup in QuickBooks
LayerWhat it holdsThe question it answers
AccountsThe cost families: materials, direct labor, subcontractors, equipment, overheadProfitable?
Products and services (items)The cost codes: framing, electrical, plumbing, concrete, drywall, roofingOn what?
ProjectsThe jobs, each with its contract type set when it is createdWhich job?
The wrong wayCost codes set up as accounts, one per code, until the chart holds about sixtyNone of them in one pass: the P&L is unreadable
The three-layer scaffold: families in the chart, cost codes as items, jobs as projects — each with its contract type set at creation. The dashed box is the classic failure: cost codes crammed into the chart until no report reads in one pass.

The setup

The setup, in seven steps.

Contract inventory first, structure second, rhythm last — QuickBooks Online with Projects (Plus and Advanced carry it as of mid-2026; confirm current editions with Intuit), and the same logic holds in Desktop's contractor editions.

1 · Start from the contracts you actually sign

Before touching the software, answer one question per line of work: residential or nonresidential, new construction or repair-and-remodel, one price for the job or materials and labor itemized? Under many states' rules those answers decide who pays or collects sales tax on a job — and therefore what the books must track. Which treatment applies to a given job is a question for your state's published guidance and your CPA; the setup's job is to have a home ready for each answer.

2 · Keep the chart of accounts at family altitude

Direct-cost families in COGS — materials, direct labor, subcontractors, equipment, permits and fees — plus ordinary overhead. That's it. The classic contractor mistake is an account per cost code: sixty COGS lines that make every report unreadable. Cost-code detail belongs one layer down, in items — the chart stays lean enough that the P&L reads in one pass.

3 · Build the cost codes as Products & Services items

Framing, electrical, plumbing, concrete, drywall — each becomes a two-sided item that posts purchases to the right COGS family and sales to income. Items are where estimating, invoicing, and job costing meet, so item granularity is the real design decision: add a code only where you'd genuinely bid, buy, or bill at that level.

4 · Turn on Projects and give every job one

One project per job, under the customer, and then the discipline that makes job costing real: every bill, timesheet, and invoice tagged to its project, no exceptions. Do that and the profitability question answers itself from the project P&L; skip it on 'small stuff' and the untagged costs quietly flatter every job they're missing from.

5 · Mirror each job's contract in its items and invoices

The contract-mirror rule, explained above. Tax-paid job: you pay tax when you buy materials, the tax rides in job cost, and the customer invoice carries no tax line. Tax-collected job: materials bought exempt where your state allows it, the invoice itemizes materials and labor, and tax collected lands in the sales-tax liability account — not in revenue. Set the items and invoice templates so each job type does this by default.

6 · Route time and payroll to jobs

Labor is the direct cost that has to be split across jobs by the hour, and the first thing generic setups lose. Hours get tracked against projects so wages land in job costs, not in one undifferentiated payroll line — and the payroll-tax burden on those wages belongs with them. If crews won't tag time, this is the step to make easy before it's the step that fails.

7 · Set the monthly reads — and reconcile the liability

Four reports on a monthly rhythm: P&L by project, estimates vs actuals, open items, and the balance sheet with the sales-tax liability reconciled against what was actually filed — what belongs on each return is for your CPA and your state's rules, but a liability account that matches the filings is the books' job. Close it monthly and the setup stays a setup instead of becoming next year's cleanup.

Two steps have deeper companions: the lean-chart discipline in step two is the chart of accounts template (the one-door rule applies doubly to contractors), and the monthly rhythm in step seven is the month-end close checklist. The construction-specific bookkeeping that runs on this setup — job costing discipline, WIP, retainage, change orders — is its own page.

Worked example · Texas

How does this work under Texas rules?

Texas is a clear case of contract form deciding the track. Under the Comptroller's guidance for real property work (Publication 94-116) and homebuilders (Publication 94-157), a lump-sum contract makes you the consumer of your materials — you pay tax when you buy, the cost rides in the job, the customer sees one price — while a separated contract makes you the retailer — incorporated materials bought with a resale certificate, the invoice itemizing materials and labor with the materials charge at no less than your cost, and the tax you collect landing in a liability account it stays in until it's remitted. Same lumber, same crew, opposite bookkeeping.

The Comptroller's rules also treat residential new construction and nonresidential repair-and-remodel work very differently, so a Texas shop doing both needs separate service items and invoice templates for each, chosen when the project is created. In QuickBooks terms: lump-sum jobs use items that post tax-paid materials to job cost and a template with no tax line; separated jobs split materials from labor, buy incorporated materials through the resale-certificate path, and post collected tax to sales-tax payable. Which treatment a contract gets, whether a nonresidential remodel's charge is taxable, and what today's rates are stay the Comptroller's and your CPA's territory — rules and rates change, so confirm current guidance with the Comptroller. How sales tax, franchise tax, and unemployment tax show up in the books more broadly is covered in the guide to Texas business taxes and your books.

What you actually need

Do you need all of this?

Not necessarily. A small shop whose jobs all land on the same tax track — a handyman operation, a one-crew remodeler working home projects at one price — can genuinely run on the QuickBooks defaults plus Projects and a pruned chart: tax runs through every job the same way, so there's one track and no fork to build. If that's your whole book of business, set up the three layers, skip the ceremony, and spend the saved afternoon on your estimates.

The line moves the day the work mixes. Jobs that fall on different tax tracks under your state's rules, crews whose payroll needs to land in job costs, or draw schedules and deposits on longer jobs — each of those is exactly where a generic file starts writing next year's cleanup, and where a setup done once, properly, is cheaper than the repair — that's QuickBooks setup work with the contracts in hand. The sales-tax side — a liability tracked, reconciled, and ready for every filing — is its own service, and long-run job-cost discipline is monthly bookkeeping on top of the structure this guide builds.

Not sure whether your file has the fork built — or whether your jobs even need it? The free assessment reads the setup against the contracts you actually sign and tells you plainly.

Free books review

FAQ · Updated October 2026

The questions contractors ask about the file.

Four layers, in order: a lean chart of accounts that holds cost families (materials, direct labor, subcontractors, equipment) rather than cost codes; a Products & Services list that carries the actual cost codes as two-sided items; Projects turned on with one project per job and everything tagged; and items and invoice templates set up to mirror each job's sales-tax track, because where a state's rules turn on contract type, a lump-sum job and an itemized job run tax through the books in opposite directions. A generic setup gets the first layer roughly right and skips the other three, because they only earn their keep once jobs overlap — which is why the fix later is a rebuild rather than a tweak.
No — building one is a fast way to make the file unreadable, because every cost code becomes an account the reports have to list. The chart holds families: one materials account, one direct-labor account, one subcontractors account. The cost codes — framing, electrical, plumbing, roofing — live in the Products & Services list as items that post into those families, and the per-job story lives in Projects. Three layers, each at its own altitude: accounts answer 'is the business making money,' items answer 'on what kind of work,' projects answer 'on which job.' Collapse them into one giant chart and every one of those questions gets harder to answer.
Where a state's rules turn on contract form, they send the same job through the books on different tracks, so the setup needs both tracks ready. Under rules of that kind, on a lump-sum job the contractor pays tax on materials at purchase and doesn't charge the customer tax — so that tax rides inside job material cost and the sales-tax liability account doesn't move. On a separated, itemized job the contractor may buy incorporated materials exempt and collect tax from the customer — so purchases land tax-free in job cost, invoices itemize materials versus labor, and collected tax posts to the liability account, not to revenue. Which treatment a contract gets, and at what rate, is for your state's rules and your CPA; the setup's job is that each answer has its track already built.
As an absence, mostly — and that's the point. When a job qualifies you to buy incorporated materials with a resale or exemption certificate, those purchases enter the books at their pre-tax cost, so the job cost is clean and the tax obligation moves to the customer invoice, where the collected amount posts to the sales-tax liability. Two bookkeeping disciplines keep it defensible: the certificates themselves stay on file and current with each supplier, and the invoice follows whatever itemizing and pricing rules your state attaches to the exemption. Whether a given purchase qualifies is a determination for your state's rules and your CPA, not for the bookkeeper's best guess.
Structurally, not by memory. A shop that runs jobs with different tax treatments side by side — residential alongside nonresidential, new construction alongside remodel, which many states' rules treat differently — needs the difference built into the file: separate service items for each treatment, invoice templates that apply the right one by default, and the job's contract type decided when the project is created, not reconstructed at invoice time. The failure mode is one all-purpose 'labor' item quietly used on every job; by the time the liability account disagrees with the filings, nobody can say which invoices caused it. What's actually taxable on a given job stays a question for your state's rules and your CPA — the file's job is that whichever answer comes back, the invoice can only do it one way.
Money received before the work is earned isn't revenue yet — a deposit or advance draw posts to a liability account until it's applied against an invoice for completed work, and a setup that dumps deposits straight into income makes every job look profitable early and every year-end a surprise. Progress billing runs through estimates: build the estimate from the same items as the job, invoice draws against it, and the books show billed-versus-earned by project. How revenue should ultimately be recognized across long jobs — percentage-of-completion versus completed-contract — is a method question for your CPA; the setup's job is capturing deposits, draws, and costs cleanly enough that either method has real numbers to work from.

Want the file set up with your actual contracts in hand — and kept clean after? That's QuickBooks setup plus construction bookkeeping. More guides: guides by topic →