Entering tax rates one row at a time in WooCommerce gets old fast, especially if you sell across multiple states or countries. WooCommerce ships with a CSV importer for exactly this, so you can load dozens of rates in a single upload. This guide covers the columns it expects and where the import actually lives.
Enable taxes first
The Tax tab does not appear until taxes are switched on. Go to WooCommerce > Settings > General, tick Enable taxes, and save. A new Tax tab shows up in the Settings menu, and that is where the importer waits.
The columns WooCommerce expects
A WooCommerce tax CSV uses ten columns, in this order:
- Country code - two-letter code like
US, or blank for all countries. - State code - like
CA, or blank for all states. - Postcode - a specific postcode, ranges, or blank.
- City - a specific city, or blank.
- Rate % - the percentage, like
7.25. - Tax name - what shows at checkout, like
Sales Tax. - Priority - usually
1; only one rate per priority matches. - Compound -
1to stack on top of other taxes, else0. - Shipping -
1if the rate applies to shipping, else0. - Tax class - blank for Standard, or a slug like
reduced-rate.
Blank fields act as wildcards, so a row with an empty Country code applies everywhere. Getting Priority and Compound right matters most, since they decide how rates combine.
Build the CSV without spreadsheet headaches
Hand-formatting a tax CSV is where small mistakes creep in: a stray header row, the wrong column order, a percentage with a % sign. The WooCommerce Tax Rate CSV Generator lays out the fields for you and exports a file in the exact format WooCommerce reads.
- Open the WooCommerce Tax Rate CSV Generator and add a row for each rate.
- Fill in Country code, State code, Rate %, Tax name, and Priority, leaving wildcards blank.
- Set Compound, Shipping, and Tax class as needed for each row.
- Download the CSV. Everything runs in your browser, so nothing is uploaded.
Run the import
In your store, go to WooCommerce > Settings > Tax, then open Standard rates (or a specific rate class like Reduced rate). At the bottom you will see an Import CSV button. Click it, choose your file, and WooCommerce reads each row into the table.
A few things to check after importing:
- Confirm rates landed in the right class. Each class has its own table, so a reduced rate imported into Standard will not behave as expected.
- Spot-check Priority. Two matching rows at the same priority will conflict.
- Place a test order to confirm the right tax shows at checkout.
If something looks off, you can clear the table and re-import a corrected CSV.
Related tools
- WooCommerce Tax Calculator - check what a given rate adds to an order total.
- WooCommerce Product CSV Generator - bulk-build products in the same CSV-first way.
- WooCommerce SKU Generator - create clean, consistent SKUs for those products.
Build the CSV once, import it, place a test order, and your tax setup is done.