If you sell on Shopify into the United States, you probably have sales tax obligations in states you have never registered in. Two things create them: crossing a state's economic threshold (for most states, $100,000 in sales into that state, sometimes with an alternative 200-transaction test), or having physical presence there, which for a D2C brand almost always means inventory sitting in a warehouse. Shopify will calculate and charge the tax once you tell it to. It will not register you, and in most cases it will not file your returns. That part is yours.
There's a reason to check this now rather than in April. Shopify's August tax update changed how US tax is worked out at checkout: it now uses the fulfillment location that order routing assigns to the order, instead of a single default origin. For origin-sourced states and for anyone splitting inventory across more than one warehouse, the rates and the totals in your reports moved. More usefully, it drags the ship-from question into daylight. Merchants who had forgotten they hold stock at a second 3PL are seeing it in their tax numbers for the first time.
Pull the state-by-state report before you read a single statute
Nexus is an operations problem before it's a legal one. You cannot decide anything until you know how much you sold into each state and how many orders that took.
In Shopify admin, go to Analytics → Reports. The two you want are the sales-by-shipping-region report (gives you dollars and order counts by state) and the taxes report under finance. Report availability depends on your plan, so if the region breakdown isn't there, export your orders CSV and pivot on the shipping province column. It takes ten minutes and it's more transparent anyway.
Set the date range twice: the current calendar year to date, and the full prior calendar year. States measure the threshold differently. Some look at the previous calendar year, some at the current, some at a rolling twelve months. Running only a trailing-12 pull will miss a state you crossed in Q4 of last year and have been quietly non-compliant in ever since.
Three things the report won't tell you, and you have to add by hand:
- Marketplace orders. Amazon, TikTok Shop, Etsy and Walmart collect and remit under marketplace facilitator laws, so you don't owe that tax. But a number of states still count those gross sales toward your threshold. A brand doing $40,000 direct and $90,000 on Amazon into one state may be over the line in that state and under it in the one next door.
- Shipping address versus billing address. Sales tax follows the destination in most states. A gift order billed in Ohio and shipped to Arizona is an Arizona sale. Shopify's region reports let you pick; pick shipping.
- What counts as a sale. Some states measure gross sales including exempt and wholesale, others only retail sales. Refunds usually net out, but not everywhere.
Do this pull in January, not December. Q4 is when most US D2C brands cross thresholds, and Black Friday week alone can push three or four states over on its own.
Shopify economic nexus by state: the numbers that actually differ
The mental model most merchants carry is "$100,000 or 200 transactions" everywhere. That was South Dakota's rule in the 2018 Wayfair decision, and dozens of states copied it. It is no longer accurate, and the drift has all been in one direction: states dropping the transaction test and raising or holding the dollar figure.
The ones worth knowing by heart:
- California and Texas: $500,000, no transaction count. The two biggest markets are also the most forgiving for small sellers. A brand shipping 900 orders a year into California owes nothing there until the dollars get serious.
- New York: $500,000 and more than 100 sales. Both, not either. That conjunction saves a lot of brands.
- Florida, Washington, Colorado and a growing list: $100,000 flat, transaction count removed.
- South Dakota itself dropped its 200-transaction test. The state that created the rule no longer uses that half of it.
- Illinois, Georgia, New Jersey, Minnesota and others still run "or 200 transactions." This is where low-AOV brands get caught.
- Delaware, Montana, New Hampshire and Oregon have no state sales tax at all. Ignore them entirely.
- Alaska has no state tax but plenty of local jurisdictions that collect through a shared commission, with its own threshold. Easy to miss because the state column in your report looks harmless.
Legislatures amend these every session. Treat any list, including this one, as a starting point and confirm the current rule on the state revenue department's own site before you register. We check the two or three states a client is closest to crossing rather than re-reading all forty-five.
Does the 200-transaction threshold still matter?
It matters enormously if your average order value is low, and not at all if it's high. Here's the arithmetic.
Take a supplements brand with a $34 AOV. It ships 1,900 orders into Georgia in a year. Revenue: 1,900 × $34 = $64,600. Well under $100,000 — but Georgia's alternative test is 200 transactions, and the brand blew past that somewhere around order 201, probably in February. Nexus established, tax owed on everything after that.
Now a furniture brand with a $780 AOV. It ships 140 orders into Georgia: 140 × $780 = $109,200. Over the dollar threshold, under the transaction count. Also nexus.
Same state, opposite triggers. If your AOV is under roughly $500, run the order-count column first and the revenue column second, because the count will cross earlier in nearly every state that still uses it. Subscription brands are the extreme case: a $29 monthly box hits 200 transactions in a mid-size state with fewer than twenty customers renewing all year.
Inventory in a 3PL is nexus on day one
Physical nexus has no threshold. One pallet in a warehouse in a state, and you're registered-or-delinquent from the first sale into that state. No grace period, no $100,000 runway.
The usual sources, in the order we find them:
- A 3PL that quietly opened a second node and split your inventory to shorten transit times. You agreed to it in an email about two-day coverage and nobody mentioned tax.
- Amazon FBA. If you're multichannel and Amazon has moved your units around, your stock is in several states. Marketplace facilitator laws cover the tax on Amazon's own sales; they do not erase the physical nexus that the inventory creates for your Shopify sales into the same state.
- A returns processor in a different state from the outbound warehouse.
- A remote employee or, in some states, a contractor.
- Trade shows and pop-ups, which a few states treat as nexus-creating even for a weekend.
This is where the August fulfillment-location change earns its keep. Because Shopify now derives US tax from the location order routing picks, the ship-from is visible per order instead of buried in a setting. Open Settings → Locations, list every address, and ask whether you have registered in each of those states. If the answer is no for any of them, that state goes to the top of the pile ahead of anything economic.
Rank the states by exposure, not alphabetically
Every merchant who discovers this problem wants to fix all of it at once. Don't. Registration in a state is permanent administrative work, and back tax in a state where you did $9,000 of sales is a rounding error next to a state where you did $200,000 two years ago.
Rough out the exposure per state like this: taxable sales made after you crossed the threshold, times a combined rate. Use 7% as a first pass for the estimate; real combined state-plus-local rates run somewhere in the 6–10% band in most destination states and you'll refine it later.
A store that crossed Georgia's transaction test fourteen months ago and has shipped $96,000 there since: 96,000 × 0.07 = $6,720 of tax it should have collected and didn't. That money now comes out of margin, because you can't go back and bill 2,800 customers for $2.40 each. A state crossed last month with $9,000 of sales since: 9,000 × 0.07 = $630. Register Georgia first, obviously. Watch the second one and register when it's worth the filing overhead.
For the big back balances, ask about a voluntary disclosure agreement. Most states run one. In exchange for coming forward, they typically cap the lookback period at three or four years and waive penalties, sometimes interest. Two conditions matter: you have to approach them before they contact you, and it generally doesn't cover tax you did collect from customers and never remitted. Collected-but-unremitted is trust fund money and states treat it far more harshly than never-collected. If you have been charging tax in a state you're not registered in, stop and get a SALT specialist on the phone this week.
The unwelcome part: registering in a state where you've done $11,000 of business is often a net loss. You'll file monthly or quarterly forever, including zero returns for dead months, and the software or accountant to do it costs more per year than the tax. There's a real argument for staying under the threshold in marginal states on purpose.
How to register for sales tax in multiple states without losing a week
Each state has its own revenue department portal and its own idea of what a business registration form should ask. Expect your EIN, formation documents, NAICS code, officer details with SSNs, a start date and sometimes a bond.
Practical notes from doing this repeatedly:
- The Streamlined Sales Tax registration system lets you register across its member states in one application, which covers a meaningful chunk of the map. It's free to use and it's the single biggest time saver if several of your priority states are members.
- Pick your effective date deliberately. If you're doing a VDA, the registration date comes out of that agreement. If you're going forward-only in a state where exposure is small, register with a current date rather than backdating and inviting a question about the gap.
- Filing frequency is assigned to you based on expected volume, and states move you between monthly, quarterly and annual without much warning. Put every due date in a shared calendar the day the permit arrives.
- Turn on collection in Shopify the same day the permit is issued, not before. Charging sales tax without a permit is illegal in most states.
Your Shopify sales tax settings, end to end
Settings → Taxes and duties → United States. Add each state where you're registered, enter the sales tax ID, and Shopify starts calculating at checkout using rooftop-accurate rates for that destination. That's the whole core of it. The parts people get wrong sit around the edges.
Product categories. Assign the right tax category to each product so state exemptions apply. Clothing is exempt in Pennsylvania, New Jersey and Minnesota; New York exempts apparel under $110 from the state portion but local rules vary by county. Grocery, candy, supplements and over-the-counter drugs all have their own treatment. If every product in your catalogue is sitting on the default category, you're overcharging some customers and undercharging others.
Shipping. Taxable in some states, not in others, and sometimes only when the goods are taxable. Shopify handles this if the state is configured properly; check a test order against a known rate rather than assuming.
Overrides. Use them sparingly. Most "we need an override" situations are actually a wrong product category.
Shopify Tax also includes liability monitoring: it watches your sales by state and flags where you're approaching or have passed a threshold. It's genuinely useful as an early warning. It is not a substitute for the report pull described above, because it only sees what happens in Shopify. It doesn't know about your Amazon volume, your wholesale invoices raised outside the platform, or the pallet your 3PL moved to Nevada.
Shopify Tax vs Avalara: where the line actually is
Shopify Tax handles calculation, product tax categories, rooftop rates and nexus alerts inside the platform, and it's the default for most stores. Its pricing is free below a set level of annual US sales and then charges a small percentage per taxable order with an annual cap; the current numbers are in your admin and they have changed before, so look rather than assume.
Avalara and TaxJar do calculation too, but what you're really buying from them is the back office: registrations as a service, prepared and filed returns, exemption certificate management, and aggregation across channels so your Shopify, Amazon, TikTok Shop and wholesale numbers land in one threshold calculation.
The dividing line we use: if you're Shopify-only, in under about five states, with a simple catalogue, Shopify Tax plus a bookkeeper filing the returns is enough and anything else is overspend. If you're multichannel, or filing in ten-plus states, or selling B2B with exemption certificates to track, the per-return cost of a filing service is cheaper than the hours and far cheaper than one missed deadline. Brands on Shopify Plus with B2B price lists and exempt customers almost always end up in the second camp, because certificate management alone justifies it.
One caution on the automated filing services: they file what you give them. If your product tax categories are wrong, you've now automated the error and filed it twelve times a year. Fix the data first.
What to do this month
Export the last two calendar years of orders by shipping state with counts. Mark the states where either number is past that state's current threshold. Open your Shopify locations list and mark every state holding inventory. Multiply the post-threshold sales in each flagged state by 0.07, sort descending, and take the top three to a state and local tax specialist before you fill in a single registration form. The rest can wait a quarter.
We're a Shopify build and growth partner, not a tax firm, so we won't file your returns. What we do handle is the surrounding mess: locations and order routing configured so the fulfillment logic and the tax logic agree, product tax categories mapped across a real catalogue, and reporting that tells you where you stand before the threshold is behind you. If you want a second pair of eyes on how your store is set up, our US team does a free store audit that covers the settings side of this.


