Bill Materials and Labor With the Right Tax
Mark each line on a quote or invoice as a product or as labor, and sales tax only applies where it should. Set your local rate once and every new quote starts with it.
Why lines have a type now
If you install things for a living - cameras, water heaters, roofs - your bill has two kinds of lines: the stuff (parts, materials, equipment) and the time it takes to put it in. In most states, sales tax applies to the stuff but not to the labor. Until now, RadiusOS taxed the whole quote, which meant either overcharging your customer or eating the difference.
Now every line on a quote or invoice is either a Product or Labor, and each line has its own Taxable checkbox. The tax rate you set on the quote only applies to the lines marked taxable. A quote with $720 of cameras and $570 of install labor at 8.1% charges tax on the $720, not on $1,290.
Nothing changes on your old quotes and invoices. Every line created before this feature counts as a taxable product, which reproduces exactly the totals you already sent.
Set your defaults once
Open Settings → Workspace → Tax & labor defaults
Enter your local sales tax rate (for example 7.25). Every new quote and invoice starts with this rate filled in. Leave it blank if you don't charge tax.
Decide whether labor is taxed in your state
Most states don't tax standalone labor, so new labor lines start with Taxable unchecked. If your state taxes services, turn on "Tax labor too" and labor lines will start taxable instead. When in doubt, ask your accountant - RadiusOS applies whatever you choose, it doesn't decide tax rules for you.
Add your labor rates to the Price Book
In the Price Book, create items with the type set to Labor - for example "Install labor - $95/hour". Pick it on any quote and the line comes in as labor with your rate, ready to adjust the hours per job.
Using it on a quote or invoice
Each line in the quote and invoice builders has a small Product/Labor toggle and a Taxable checkbox under the description. Lines you pick from the Price Book carry their type and taxability with them; lines you type by hand start as taxable products until you flip the toggle.
Switching a line to Labor re-applies your workspace default (usually not taxed), and switching back to Product makes it taxable again. The checkbox stays editable either way for the exceptions - a tax-exempt part, or install labor your state does tax.
When some lines aren't taxed, the totals area shows what the rate actually applied to ("Tax applies to $720.00 of taxable items"), and the same note appears on the customer's copy - the emailed quote, the approval page, and the PDF - so nobody has to wonder why the tax line doesn't match the subtotal.
Labor rates aren't one-size-fits-all. The Price Book holds your standard rate, and you can change the price or hours on any individual quote line without touching the saved item - each job gets the rate that job deserves.
Good to know
Quote to invoice carries everything over. Converting an accepted quote to an invoice keeps each line's type and taxability, so the invoice bills exactly what the customer approved.
Revisions keep the split too. Revising a quote copies the labor/product types and tax flags onto the new draft.
Changing your workspace defaults never rewrites existing documents. The rate and labor setting only affect quotes and invoices you create after the change.
Works from Ask RadiusOS and the MCP server too. Tell Claude "quote Sarah 4 cameras at $180 and 6 hours of install labor at $95" and the labor lines come through marked as labor with the right tax treatment.
RadiusOS applies the rate and rules you set; it doesn't look up tax law. Labor taxability varies by state and by the kind of work, so confirm your setup with your accountant.