How shipping and tax are calculated
This page explains what the Shipping & Handling and Sales Tax lines on a HubSpot invoice actually are, what order they're calculated in, and why they sometimes don't appear right away. It describes what the system does today — not what it will eventually do. Shipping in particular is a placeholder, not a real carrier rate; see "What this is not, today" below.
What "subtotal" means here
In most order/invoicing systems (this one included), a subtotal is the total price of the actual products/services on the order — after any per-item discount or volume pricing has been applied, but before shipping and tax are added. The total is subtotal + shipping + tax. This app follows that same convention: everywhere "subtotal" is used below, it means the discounted merchandise total, not the undiscounted list-price total.
The order things happen in, today
- You add or edit line items on the invoice in HubSpot, then click Revise Invoice Now — see How to revise invoices using the preview sidebar.
- Any breakout kit lines get expanded into their real component lines, in HubSpot.
- Any line eligible for volume/quantity pricing gets corrected to its tiered price for that quantity — this is the step that makes the subtotal "discounted" rather than list-price.
- Shipping & Handling is added as a placeholder: 10% of the subtotal at this point in the process (so it reflects the already-discounted, tiered pricing from step 3), with a $10.95 minimum — whichever is higher. If the invoice's Free Shipping checkbox is set, this step still runs the same calculation, but the line is charged $0 instead — see "Free shipping" below.
- If volume pricing saved money on this pass, an informational "Volume Pricing Savings" note may also be added — it's always $0 and never changes any total, it's just a summary for the reader.
- Once you open the invoice, HubSpot's own native sync copies it to QuickBooks on its own — see How does sync work for how long that can take.
- QuickBooks calculates real sales tax, per line, based on the ship-to address's state and whether that specific line is taxable.
- The real tax amount comes back and is written to HubSpot as a Sales Tax line.
Because of steps 6–8, a Sales Tax line never appears while an invoice is still a draft, and it can take a few minutes to show up even after opening — that's expected, not a bug.
What is and isn't included in each number
- Shipping is 10% of the merchandise subtotal only. It does not include itself, and it does not include the tax line, even when both already exist on the invoice.
- Shipping itself is never taxed — it's excluded from tax calculation entirely, and it's also never sales-taxable by nature of how it lands in QuickBooks.
- Whether non-physical items (an online class, a webinar registration, a digital download) should be excluded from the shipping calculation at all is an open question, still being verified with real users — today, they are not excluded; every line's dollar amount counts toward the shipping base regardless of whether it's something that actually ships.
Free shipping
Added 2026-08-04. Every invoice has a Free Shipping checkbox (an internal property, not something a customer sees named that way). It's off by default and has to be set manually — nothing detects a promotion or discount automatically. When it's checked, the Shipping & Handling line is never removed — it stays on the invoice, still showing the line-item name, but the charge is $0 and a note appears explaining what happened: the amount that would have been charged, struck through, followed by how much was saved. For example, a line that would have computed to $209.50 shows that figure struck through, with "you saved $209.50" next to it, rather than a $209.50 charge.
The checkbox isn't visible on the main invoice view today — it currently has to be added to a list view's columns to see or set it (a HubSpot record-layout limitation for this property type, not something specific to this feature). Setting it doesn't change anything else about the invoice — the merchandise subtotal and tax calculation are unaffected; only the shipping line's own charge and description change.
How QuickBooks decides tax by state
- Tax is calculated per line, not as one flat invoice-wide rate, based on the ship-to address's state.
- QuickBooks only calculates real tax for states where the business has told it there's a tax-collection obligation (nexus). Today that's Georgia, California, Wisconsin, and Kentucky — see Turn on Sales Tax in QuickBooks Online. A customer shipping to any other state correctly shows $0 tax — that's QuickBooks determining there's no obligation to collect there, not an error.
- Some lines are marked non-taxable regardless of state: anything classified as a Service item (a webinar, an online class, a digital download) always calculates as $0 tax on that line, even for a customer in a taxed state.
- Because tax depends on the ship-to state and each line's own taxability, two invoices with the same dollar total can have very different tax — or none at all.
What this is not, today
- Shipping is a flat 10%-of-subtotal placeholder, not a real carrier rate. The actual business calculates real shipping by package weight and delivery zone — this app doesn't do that calculation yet.
- Almost none of this is configurable per order or per customer today. The 10% rate, the $10.95 minimum, and which items are taxable are all fixed in code, not something anyone can adjust from HubSpot or QuickBooks directly. The one exception is the Free Shipping checkbox above — it's the only per-order override that exists so far.