Skip to content
CMS Max Documentation

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:

  1. Check whether the delivery or pickup state is in your configured Tax Locations.
  2. 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 the tax rates you enter for each state. This is fast (no API calls) and lets you control rates precisely. You specify the rate for each state in the States you collect sales tax in list. If you want to use different rates than the defaults, you can edit them per state.

How it works:

  • Tax is calculated using your entered per-state rate (e.g., 7.25% for California)
  • Calculations are instant — no API calls
  • Tax is collected only for states you have configured in "States you collect sales tax in"
  • You're responsible for keeping rates current — review them 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:

  1. Go to eCommerce > Store Settings
  2. Scroll down to the Shipping Origin section
  3. Under Tax method, select TaxJar
  4. 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:

  1. Go to eCommerce > Store Settings
  2. Scroll down to the Shipping Origin section
  3. Under States you collect sales tax in, add each state where you have a sales tax obligation
    • Click Add state, select the state, and enter the Tax Rate %
    • The rate is pre-filled with the state average but you can customize it

You must add a state and specify a rate before tax will be collected for orders going to that state.

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:

  1. The destination state is not in your Tax Locations list.
  2. The destination is a state with no general sales tax (AK, DE, MT, NH, OR).
  3. 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.