We use cookies to keep you signed in and to see what's working and what breaks. No advertising cookies, nothing sold. Details in our Cookie Policy.

CaliforniaUpdated 20 August 202611 minute read

Try this on a real business

Open a seeded business in your trade. Nine jobs on the pipeline, a quote sent and viewed, a deposit paid, and an invoice already overdue.

Open the demo business

No card, no form. Sign in later and everything you built stays on the same account.

Consumer of the materials, retailer of the fixtures: the California tax rule that decides what your job cost

Your supplier charged tax on the ductwork and on the rooftop unit. You installed both. Your customer got one lump sum price with no tax line anywhere on it. Your bookkeeper wants to know whether you are a retailer, and your accountant says it depends. Nobody in that chain is wrong.

California does something to construction contractors it does not do to almost anyone else. It taxes you as two different kinds of business, on the same job, on the same delivery truck, decided item by item. On the things you install that become part of the building, you are the consumer, and tax runs on what you paid. On the things you install that stay recognizably themselves, you are the retailer, and tax runs on a selling price, unless your contract is lump sum, in which case it runs on your cost price instead. That is Regulation 1521, and it is the most consistently mispriced rule in the state.

All of it is knowable before you sign. This page is the split, the test that decides which side an item falls on, how the contract form picks your tax base, a worked example with real dates and real dollars, the trap that catches anyone who fabricates what they install, and why the rate is a street address rather than a number in your template.

One job, two tax identities

Regulation 1521 sorts everything you bring to a jobsite into three boxes, and the box decides who you are.

What you installWho you areTax runs onWhat you do about it
MaterialsThe consumerYour costYou pay it when you buy. It is a cost in your price, not a line on your invoice
FixturesThe retailerThe selling price, or the cost price under a lump sum contractIt is a sale you made, and it is reported
Machinery and equipmentThe sellerThe selling priceSold, not consumed. It never became part of the structure

Read the first row again, because it is the one that gets priced wrong. When you are the consumer of materials, the tax is not something you collect from the customer. It is something you already paid, and if it is not sitting inside your price it came out of your margin.

The second row is where the arithmetic gets interesting, and where the contract you signed starts making the decisions for you.

Which box an item lands in is a list, not an opinion

The test Regulation 1521 uses is about identity after installation.

A material is something that combines with other things and loses its own identity to become an integral and inseparable part of the finished structure. Poured, nailed, wired in, buried, taped, painted over. It stops being a thing and becomes part of a building.

A fixture is an accessory to the structure that does not lose its identity when it is installed. It is bolted or connected in, it can be pointed at, and if you took it out the building would still be a building with a hole in it.

The pairs inside one trade make the line obvious. The regulation's own lists put ducts on the materials side and an air conditioning unit on the fixture side. They put electric wiring on the materials side and a lighting fixture on the other. The same crew, on the same day, working with a truck that carries both.

The regulation resolves it with lists rather than leaving it to argument, so the hour that actually pays is the one you spend reading your own trade's usual bill of materials against them once. After that, classification stops being a judgment call on any job. Most contractors never do it, which is exactly why it is worth your afternoon.

The contract form picks your tax base, and the invoice cannot change it

Here is the sentence that surprises people. For fixtures, the taxable measure depends on how the contract is written, not on how the invoice is broken out.

  • Lump sum contract. You are still the retailer of the fixture, but the measure is the cost price of the fixture. Your markup on it is not in the tax base.
  • Contract that states the fixture price separately. The measure is the selling price you named. Your markup on it is in the tax base.

And now the part that people get wrong in both directions: an itemized invoice does not convert a lump sum contract into an itemized one. If you signed a lump sum contract and then sent a broken out invoice because the customer likes to see where the money went, the contract is still lump sum and the measure is still cost price. Going the other way, a contractor who wrote a time and materials contract naming the equipment price does not get back to cost price by sending a one line bill at the end.

The document that governs is the one that was signed. The billing describes it. Keeping those two straight is the same discipline that makes the rest of your billing work, and it is laid out in how to bill a California job.

One job, both ways, with the dates on it

A C-20 mechanical contractor replacing four rooftop package units and the associated ductwork on a private commercial building in Anaheim.

DateWhat happens
3 August 2026Lump sum contract signed at $198,000
24 August 2026Units ordered. Cost price $14,200 each, $56,800 for four
8 September 2026Sheet metal and hangers picked up, cost $19,400
14 to 18 September 2026Units set and connected
30 September 2026Job complete

Under that lump sum contract, Regulation 1521 gives you two positions on one job.

The ductwork, hangers and sheet metal are materials. You are the consumer. Tax ran on the $19,400 you paid, at the supply house, in September, and it is a cost you either carried in your bid or did not.

The rooftop units are fixtures. You are the retailer. Because the contract is lump sum, the measure is the cost price, $56,800.

Now write the identical job as a contract that names the units at $19,900 each, $79,600 for four, with the labor and the sheet metal priced separately. Same units, same crew, same building, same September.

Lump sum contractContract naming the fixture price
Materials measure, taxed on cost$19,400$19,400
Fixture measure$56,800, the cost price$79,600, the selling price
Total taxable measure$76,200$99,000

The measure moved $22,800 on a decision made on 3 August, before anyone picked up a wrench. Every full percentage point of combined rate on that difference is $228, and California's combined rates run to several points above the statewide base depending on where the roof is. Repeat that across a year of fixture heavy work and it is not a rounding error, it is a truck.

Neither form is the right answer for every job. Lump sum keeps your markup out of the fixture measure; an itemized contract is often exactly what a commercial client wants to see. The point is that it is a priced decision made at contract stage, and most contractors make it without knowing money was attached.

If you build the fixture yourself, you pay tax on a profit you never charged

This one catches sign shops, sheet metal shops, millwork shops and anyone else who fabricates rather than only installs.

When you self manufacture a fixture and install it under a lump sum contract, the measure is the cost price of that fixture, and Regulation 1521 says the taxable cost price of a self manufactured fixture carries a deemed manufacturing profit. Your build cost is not the number.

Take a C-45 sign contractor fabricating an illuminated channel letter set in its own shop and installing it under a lump sum contract. Shop materials $11,300, shop labor $7,900, build cost $19,200. An estimator who budgeted tax on $19,200 budgeted on a figure the regulation does not use, because the measure includes a manufacturing profit on top of what the fabrication cost you.

That gap hides for years, because it never shows up as a missing invoice. It shows up as a shop that is slightly less profitable than the spreadsheet says, on the exact jobs it is proudest of. If you fabricate, this is the one line on this page to settle with your accountant, and it belongs in your shop rate before it belongs on a tax return. The trade that lives on it is worked through in the C-45 sign contractor guide.

Machinery and equipment is a sale, not an improvement

The third box is the smallest and the cleanest. Machinery and equipment is sold, not consumed. It does not become an integral part of the structure, so it is a retail sale on the selling price and it does not ride on the construction contract rules at all.

Settle this classification before quoting, because it changes both who owes the tax and what the number is. It also usually means you need to be registered to make retail sales in the first place, which is the CDTFA seller's permit guide.

One more category worth naming and then leaving alone: United States government construction contracts are treated differently under Regulation 1521. If federal work is coming, that is a conversation to have before the bid rather than after the award.

The rate is an address, so stop keeping one in your template

There is no single California rate to memorize, and a contractor who keeps one number in an estimating template is wrong on most jobs by a little and on some by a lot. District taxes ride on top of the statewide rate, they are set locally, and they change. The rate that applies to your job is read from the jobsite address.

Two habits fall out of that. Put the full jobsite address on the estimate, the contract and every invoice, so the rate is a lookup rather than a memory. And do the lookup at bid time, not at billing time, because the tax you pay as the consumer of materials is a cost you either recovered in the price or gave away. Nobody bills a customer for a tax they forgot to include three months ago.

Where this actually shows up in your money

Everything above lands in one place: your price. Tax on materials is a cost sitting inside your cost of goods. Tax on fixtures is a base you can move by how you write the contract. Tax on self manufactured work is higher than your build cost. All of it is knowable before you sign, which makes it one of the few costs in construction that never has to surprise you.

Load it in properly and it disappears into your number. The markup and margin calculator is free, needs no signup and will show you what an unrecovered percentage on your material spend does to a job, which is usually more than the margin you were arguing about with the customer. Building the whole overhead figure with this cost inside it rather than beside it is what to charge as a California contractor, and the other fixed annual cost of holding a California entity is in the franchise tax guide.

Settle it once, on a Sunday, for your whole trade

Three jobs of work and this subject is closed for good. Read your standard bill of materials against Regulation 1521's lists and mark every line as material, fixture or equipment. Decide, deliberately, whether your standard contract is lump sum or names fixture prices, and know what that choice does to the measure. And if you fabricate anything you install, get the deemed manufacturing profit into your shop rate rather than discovering it later.

Contractors lose money on this rule by treating it as an accounting problem that happens after the work. It is a pricing decision that happens before it, and the whole thing is written down in advance, which is the entire competence gap on the subject.

On AEC Stack there is no monthly subscription. The platform fee is 2.5 percent of each invoice processed through the platform, so the jobsite address, the fixture lines and the materials cost sit in the same record as the billing they came out of.

Take your last fixture heavy job, split the bill of materials into the three boxes above, and see which side your markup was taxed on. Then open a working demo business file and get the next contract written knowing what the form is worth.

Keep going

Also on sales tax and the cdtfaC-6 Cabinet and millworkHow CDTFA Regulation 1521 splits materials from fixtures and taxes a shop built cabinet on a cost price carrying deemed manufacturing profit, and how to build a delivery milestone payment schedule around the $1,000 deposit cap on a $60,000 kitchen.Also on sales tax and the cdtfaC-15 Flooring and floor coveringCDTFA Regulation 1521 sorts what you install into materials, fixtures and equipment, and the sort decides whether tax lands on your cost or on the selling price. Plus the $1,000 deposit cap and 65 percent CALGreen waste diversion.Also on sales tax and the cdtfaC-36 PlumbingCDTFA Regulation 1521 measures tax on your $1,500 cost under a lump sum contract or on the $2,400 selling price when the fixtures are stated separately, a $900 swing on one bathroom. Covers the Cal/OSHA trench permit at 5 feet, egress at 4 feet, CALGreen 65 percent waste diversion and the $25,000 bond.Also on pricing and estimatingFranchise tax and LLC feeThe $800 minimum every California entity owes, the LLC gross receipts fee tiers from $900 at $250,000 to $11,790 at $5,000,000, why each step is a cliff, and how to carry $6,800 a year as $200 a job in your overhead.Also on sales tax and the cdtfaCDTFA seller permitRegulation 1521 makes you the consumer of materials and the retailer of fixtures, so lighting, plumbing and cabinets put you on the retail side. The three question test, resale certificates at the supply counter, and a Q3 return due 31 October.Also on sales tax and the cdtfaC-23 Ornamental metalThe C-23 scope, plus CDTFA Regulation 1521 and the deemed manufacturing profit on metal you fabricate yourself, special inspection on field welds and anchorage, and the $1,000 deposit cap on a $46,500 stair and rail package.
Read next
California home improvement contracts
The BPC s.7159 contract shape: the $500 written threshold, a down payment capped at the lesser of $1,000 or 10 percent, a stage schedule where money never runs ahead of value in place, and how to count the three business day cancellation window.

Someone in your trade group needs this. Send it to them.

The dates that cost California contractors money

One email a month. The lien deadline and prompt payment and retention arithmetic this site already does for you, the dates it turns on, and every new guide the day it goes up.

  • California lien deadline calculator: The 20-day preliminary notice, and what a recorded Notice of Completion does to your 90 days. It compresses them to 30 or 60.
  • California prompt payment and retention calculator: Two clocks, not one. Progress payments from the demand, and retention from completion rather than from your final invoice.
  • Every new guide the day it goes up. 88 are live for California right now, the most recent being "Do you need a license" on 20 August 2026.

No account. AEC Stack sends this and every email carries a one-click unsubscribe. Privacy policy.