Blog

WooCommerce Sales Tax 101: Tracking and Filing Sales Tax

Cover photo credit: 401kcalculator.org, CC BY-SA 2.0

Accurately assessing, collecting, and remitting sales tax is one of the most tedious challenges that eCommerce businesses face. When you run a brick-and-mortar shop, tax collection is typically pretty straight forward: you collect the tax based on the good you’re selling for your store’s location.

However, online sales make this more challenging. When you sell across state or country borders, you need to determine what tax you may owe across several different sales locations. Tax assessment varies by the type of product sold, and can even vary by city or locale. If you have multiple locations for your eCommerce business, this can be become far more challenging.

When you’re setting up WooCommerce sales tax rates for your site or a client’s site, there are some important questions you’ll need to ask yourself to determine how you set up tax rates, and if you’ll need any additional tools to properly assess taxes.

Tax Rate Checklist

Here are some good questions to ask yourself or your client:

  • Are you registered to collect sales tax in your business location?

    In the US, you’re required to register in each state in which the business operates. There are 45 states in the US collect sales tax.

    If you’re in another country (one in the EU for example), you may be required to collect tax based on the laws of your country or province, such as VAT taxes.

  • In which tax classes do your products fall?

    If the site sells one kind of product, then they may all be subject to the same rates. However, if the site sells items that fall into different tax classes, then tax rates need to be set up differently for each product type within each location.

    You may have run into this before if you sell both physical and digital goods, which tend to be taxed at different rates.

  • Does the business have any other locations?

    The locations in which the business operates affect nexus — having a presence in a certain state can give you nexus for that state. As a result, you must collect taxes in accordance with that state’s laws as well when a purchaser comes from that state.

    However, defining nexus isn’t as simple as “having a retail location” — you can have nexus for a “significant presence”, which is as vague as it sounds. You may have nexus in a state if employees live there, you have a storage warehouse or fulfillment center there, you work with a drop-shipper in the state, or if you regularly have sales or marketing representatives making scheduled visits (such as for trade shows).

    You may even have nexus if you have affiliates in a given state. This guide to nexus from Avalara has some good points to consider.

  • How do states you’re shipping to assess tax?

    This question is moreso geared towards US-based stores, but it may apply internationally. Some US states require tax to be charged based on the origin (sending) address, and some are destination-based.

    For example, in Pennsylvania, we’re an origin-based tax state, meaning we charge PA state tax to anyone in PA, and that’s it. If your origin is in Philadelphia, you charge the state tax + Philadelphia city tax to anyone in the state, as it’s based on the item’s origin.

    Destination-based states require you to charge tax based on the buyer location. Now for example, let’s pretend Pennsylvania was a destination-based state. If I were outside of Philadelphia, and I sold to someone outside Philly, I’d charge the normal state tax. However, if I sold to someone in Philly, I’d also have to assess their city tax. That definitely makes things more complicated.

    In the US, this also varies depending on whether you’re selling in-state or not. Tax Jar has a good overview of origin vs destination-based tax rates as a primer.

  • Do I want to file taxes myself?

    You’ll be collecting sales tax on any applicable sale, and you’ll be required to report and remit this tax yearly or several times per year (depending on your sales volume). You can either track this yourself and submit transactions along with remitting tax from them, or you can use a third-party service to do this for you. This may be an accountant who’s solely in charge of tracking the tax owed, or you could completely automate tax assessment and paperwork with other services.

WooCommerce Built-in Taxes

If your tax needs a pretty basic (or you’re adventurous 😉 ), you may want to use the built-in tax rates within WooCommerce for tax assessment on applicable transactions.

The “Calculate Tax Based On:” setting is a good one to pay attention to:

WooCommerce Sales Tax Options

For US-based stores, you probably want to use the customer shipping address as the address for tax assessment for a lot of set ups. For example, if we’re in Pennsylvania, we can use the customer shipping address to limit tax assessment to other people in Pennsylvania. We’ll set up a PA-only tax rate (since PA is an origin-based state).

WooCommerce state tax rate configuration

When someone outside of PA checks out, they won’t be assessed tax, while PA residents (or shipping addresses) will be assessed state tax.


WooCommerce Outside PA tax assessment

Customer outside PA



WooCommerce PA tax assessment

Customer inside PA


If you’re a Philadelphia-based store, you’d also have to add city tax to the taxes you’re required to assess.

WooCommerce philadelphia tax rate setup

This would be assessed to anyone within Pennsylvania, Philadelphia-based or not.

WooCommerce tax rate assessment

Philadelphia-based store

Now of course, if you sell products that use different tax codes or rates, you’ll need to set these up, and change the tax class for your products as well.

WooCommerce Product tax class

Does your head hurt yet? If you have nexus in multiple locations, and sell products with different rates, then using a tax automation service may be a good option for you or your client.

Tax Automation Services

This kind of problem boggled our minds when we first started looking into sales tax. As digital product retailers (back when we sold plugins independently), we didn’t tend to have to worry about sales tax for our eCommerce store, as most states didn’t require you to collect tax on digital goods.

However, merchants selling physical goods who have nexus in multiple locations can have a bear of a time figuring out what tax to charge. Tracking and remitting tax to multiple states is tedious as well.

That’s why we partnered with companies like Avalara to integrate tax automation services with WooCommerce.

If you use an automation service like AvaTax, you can fetch the appropriate tax rates automatically from a third party service. These transactions will be properly tracked and recorded for you so that returns are easier when you need to file. If you’re in a position where outsourcing tax assessment and filings make sense, or your tax calculations are more complicated then you’d like them to be, using a tax automation service can save you a lot of headache.

For example, our free AvaTax plugin lets you:

  • Automatically calculate tax rates at checkout and for manually-created orders
  • Automatically submit paid orders as AvaTax transactions
  • Set a global product tax code, or override this code on a per category, per product, or per-variation basis as needed
  • Automatically manage partial and complete refund tax adjustments when refunds are marked in WooCommerce

WooCommerce AvaTax settings 1

You can also use more advanced functions like setting tax exemptions on a per-user basis (for those of you who have schools or non-profit organizations who purchase from you).


Regardless of how you choose to manage your WooCommerce sales tax assessment and collection, you’ll want to be sure that the business is registered to collect sales tax in each state for which is has nexus, and that rates are calculated appropriately based on state rates and laws, along with the product type for which the tax is assessed.

One Comment

Submit a Comment