How Sales Tax is Calculated
Understand how CMS Max determines the correct sales tax rate for each order based on fulfillment method and location.
Overview
Sales tax is always calculated based on where your customer physically receives their goods — not where they entered their billing address. This follows state and local tax law, which ties tax liability to the location of the economic activity.
Why the Delivery or Pickup Location Matters
Your customer's billing address is used only for payment processing and fraud prevention. It plays no role in tax calculation. The correct rate is determined by:
- The delivery address for shipped or delivered orders
- The store or pickup location for in-store and curbside orders
Tax by Fulfillment Method
| Fulfillment Method | Tax Calculated At |
|---|---|
| Shipping | Customer's delivery address |
| In-Store Pickup | Store location |
| Curbside Pickup | Store location |
| Local Delivery | Customer's delivery address |
| DoorDash Delivery | Customer's delivery address |
| Uber Eats Delivery | Customer's delivery address |
| Instacart Delivery | Customer's delivery address |
How Tax Locations Control What Gets Taxed
Tax is only collected for states you have added to your Tax Locations list. The system applies a two-step rule for every order:
- Check whether the delivery or pickup state is in your configured Tax Locations.
- If it is, calculate the rate for that location. The rate comes from TaxJar's address-level lookup by default, or from a state-average rate if Summarized Rate Mode is enabled (see Tax Calculation Methods below).
Tax is charged when:
- The delivery or pickup location is in a state you have configured in Tax Locations.
Tax is not charged when:
- The delivery address is in a state you have not added to Tax Locations.
- Your store's pickup location is not within a configured tax zone.
- The destination is one of the states with no general sales tax (Alaska, Delaware, Montana, New Hampshire, Oregon).
Tax Calculation Methods
Default: Fixed Tax Rate (Merchant-Entered Per-State Rates)
By default, CMS Max uses one rate for each selected state. This is fast (no API calls) and lets you control rates precisely. You can enter your own rate or leave it blank to use the displayed state-average default.
How it works:
- Tax is calculated using your per-state override or the state-average default
- Calculations are instant — no API calls
- Tax is collected only for states selected under States where you collect tax
- Review any rates you override regularly
Alternative: TaxJar Address-Level Rates (Precision)
You can switch to TaxJar mode to calculate exact sales tax at the city/county/district level using TaxJar's API. This is more precise but requires an internet connection and TaxJar API calls.
To enable TaxJar:
- Go to eCommerce > Store Settings
- Open Store Information
- Scroll to the Tax section
- Under Tax calculation method, select TaxJar
- Click Save
Note: TaxJar is only available if the TaxJar plugin is installed. The radio option will be greyed out if it's not.
What changes:
- Tax is calculated as exact city/county/district rates from TaxJar's API
- Per-address precision (varies by ZIP code, city, county)
- Completed orders are synced to TaxJar for reporting and AutoFile
- If TaxJar's API is down, the system falls back to your per-state rates
Trade-offs:
- More accurate (TaxJar's precision)
- Slightly slower checkout (API calls)
- Requires TaxJar plugin installed
- Relies on TaxJar service availability (fallback to per-state rates if API fails)
Setting Up Tax Locations
To add or manage the states where you collect tax:
- Go to eCommerce > Store Settings
- Open Store Information
- Scroll to the Tax section
- Select each applicable state under States where you collect tax
- In Fixed Tax Rate mode, enter any overrides in Tax Rates, or leave a field blank to use the displayed state-average default
- Click Save
You must select a state before tax will be collected for orders going to that state. A custom rate is optional.
If you see a "Your store is setup to collect no tax on sales" warning in your dashboard, it means no tax locations have been configured yet. You can quickly set up your store's state by checking Use store address as tax origin and saving — your state will be auto-added with the state-average rate.
Common Questions
A customer says they were charged tax but shouldn't have been — what do I check?
Open the order in the admin and review the Tax Breakdown panel. It shows the exact jurisdiction breakdown (state, county, city, special district) that TaxJar returned. Verify that the delivery address — particularly the city and ZIP code — is correct, as mismatches are the most common cause of unexpected tax amounts.
Why did an order come through with $0 tax when I expected tax to be charged?
The three most common causes are:
- The destination state is not in your Tax Locations list.
- The destination is a state with no general sales tax (AK, DE, MT, NH, OR).
- The product has a tax-exempt product tax code that overrides the default.
Can I charge tax on shipping?
In most states, shipping is automatically taxed according to state law. Whether shipping is taxable is controlled by the Charge Tax on Shipping toggle in Ecommerce > Store Settings > Tax:
- Fixed Tax Rate mode: When the toggle is ON, shipping is taxed at your per-state rate for all states. When OFF, shipping is not taxed.
- TaxJar mode: When the toggle is ON, the shipping cost is sent to TaxJar and included in tax calculation. When OFF, shipping is sent as $0 so TaxJar does not tax it.