# Get B2B tax and VAT right

URL: https://docs.sparklayer.io/help/guides/tax-and-vat

Make sure B2B customers pay VAT or sales tax once: show net prices, allow for tax-inclusive store prices, exempt customers and check the tax at checkout.

> **Quick summary**
>
> - You'll end up with B2B prices shown without tax (net), VAT or sales tax added once at checkout, and tax-exempt customers paying none.
> - Allow about 20 minutes.
> - Tax handling is on every plan. SparkLayer doesn't calculate tax: it uses your platform's tax settings. Most of the settings here are in Shopify; other platforms have their own limits.

By default, SparkLayer shows B2B prices excluding tax, whatever your store's tax setting. On the **Review & Pay** step, it asks your platform for the tax and shows it as its own line. Tax goes wrong, for example VAT added twice, when the prices going in already include it.

## Before you start

- **Your tax rates**, for example 20% VAT, and whether any products are taxed differently.
- **Which customers are tax-exempt**, if any.
- **Whether you use a tax app**, such as Avalara or TaxJar.

## Set up tax

### Step 1. Check whether your store prices include tax

**Shopify only:**

In your Shopify admin, go to **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)). Under **Global settings**, see whether **Include sales tax in product price and shipping rate** is ticked. If it is, your Shopify prices include tax (gross).

**BigCommerce and Wix and WooCommerce and Magento only:**

Set tax up in your platform, then check its limits in [Set up tax on other platforms](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#set-up-tax-on-other-platforms). For example, on Wix, tax exemptions only apply when the customer pays by card through the Wix checkout.

See [How it works](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#how-it-works) for net and gross prices.

### Step 2. Make your price lists net

| Price list | What to do |
| --- | --- |
| **Manual** | Upload prices excluding tax (ex VAT). |
| **Automatic**, based on tax-inclusive Shopify prices | Work out a percentage that also takes the tax out, and enter it by hand. See [Tax-inclusive prices](https://docs.sparklayer.io/help/pricing/managing-pricing.md#tax-inclusive-prices) for how. |

Open the list at **Pricing > Price lists** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/pricing/lists)), or **SparkLayer Wholesale > Pricing > Price lists** in the Shopify app, change it and click **Save**. [Take the 1-minute tour](https://docs.sparklayer.io/help/pricing/managing-pricing?tour).

### Step 3. Make tax-exempt customers exempt

**Shopify only:**

In your Shopify admin, open the customer, click **Manage tax exemptions**, untick **Collect tax** and click **Save**. If you use a tax app such as Avalara or TaxJar, exempt them there too (in Avalara, add them to the Exemption Customer List with their Shopify customer ID as the **Customer Code**): the two work independently. See [Make a customer tax-exempt](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#make-a-customer-tax-exempt).

**BigCommerce and Wix and WooCommerce and Magento only:**

Set the exemption in your platform's customer settings. See [Set up tax on other platforms](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#set-up-tax-on-other-platforms).

A tax-exempt customer still sees net prices, and pays no tax at checkout.

### Step 4. Handle products with different tax rates

**Shopify only:**

Optional. By default, tax is charged on the cart subtotal. If your products have different rates and Shopify's prices include tax, [contact our support team](https://docs.sparklayer.io/help/support.md) to turn on line item tax. To stop charging tax on a product, untick **Charge tax on this product** on it. See [Charge different tax rates on different products](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#charge-different-tax-rates-on-different-products).

**BigCommerce and Wix and WooCommerce and Magento only:**

Set product tax rates in your platform's tax settings.

### Step 5. Show prices with tax, if your buyers expect it

Optional. Turn on **Tax-inclusive prices** at **Settings > Configurations > Pricing and cart** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/settings/general)), or **SparkLayer Wholesale > Settings > Configurations > Pricing and cart** in the Shopify app and add a `display_tax_rate` column to your price CSV, such as `10` for 10% GST. Buyers see gross prices labelled "inc. tax", but you still upload and charge net. It only works on manual price lists: see [Show tax-inclusive prices](https://docs.sparklayer.io/help/pricing/pricing-display.md#show-tax-inclusive-prices). [Take the 1-minute tour](https://docs.sparklayer.io/help/dashboard/settings?tour).

## Sell to VAT-registered businesses in the EU

**Shopify only:**

A common setup for EU B2B sales: show net prices, add VAT at checkout, and zero-rate VAT-registered customers in other EU countries under the reverse charge.

1. **Show net B2B prices.** Upload prices excluding VAT to a manual price list, or adjust an automatic one. See [Make your price lists net](#make-your-price-lists-net).
2. **Collect VAT in each EU country you sell to.** In **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)), check the **Collecting tax** column for each country. VAT is then added on **Review & Pay**.
3. **Make reverse-charge customers tax-exempt.** For each VAT-registered EU customer who shouldn't pay VAT, open them in Shopify, click **Manage tax exemptions**, untick **Collect tax** and click **Save**. See [Make a customer tax-exempt](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#make-a-customer-tax-exempt).
4. **Test it.** Place a test order as a VAT-registered customer and as one who pays VAT, and check the **Tax** line on each.

Shopify also charges VAT on shipping in the EU and the UK. See [Why is tax charged on shipping?](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#why-is-tax-charged-on-shipping)

## Check it worked

Place a test order as a B2B customer, using a product whose price you know:

- **The product page and cart show the net price**, the same as the price list.
- **On Review & Pay**, **Tax** is its own line, at your rate, and the **Total** is the net price plus tax once.
- **As a tax-exempt customer**, **Tax** is zero.
- **On the order in your store**, the prices and tax match the checkout.

## If something's not right

These fixes are for Shopify. On other platforms, check your platform's tax settings and [its limits](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#set-up-tax-on-other-platforms).

- **VAT or tax is charged twice.** Upload manual price lists excluding tax, and if your Shopify prices include tax, make sure each automatic price list's percentage also takes the tax out. See [Make your price lists net](#make-your-price-lists-net).
- **Tax shows as zero, or VAT is missing at checkout.** Check the customer isn't tax-exempt (**Manage tax exemptions** on the customer in Shopify, with **Collect tax** ticked), the product has **Charge tax on this product** ticked, and you collect tax in the country of their shipping address: in **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)), find the country and check its **Collecting tax** column. If those are right, check the customer record's default address, then place a test order as the customer.
- **An exempt customer is still charged.** A tax app such as Avalara or TaxJar overrides Shopify's settings, so exempt the customer in both. In Avalara, for example, add them to the Exemption Customer List with their Shopify customer ID as the **Customer Code**. See [Tax is charged but I use a third-party tax app](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#tax-is-charged-but-i-use-a-third-party-tax-app-eg-avalara-taxjar).
- **Tax is charged on shipping.** In Canada, the EU, the UK and the US, Shopify taxes shipping whatever its settings say. See [Why is tax charged on shipping?](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#why-is-tax-charged-on-shipping)
- **Order prices differ from the checkout.** The checkout uses whichever is lower, the SparkLayer price or the Shopify price, and that comparison includes tax: if the SparkLayer price after tax is higher than your tax-inclusive Shopify price, the Shopify price is used. Compare the variant's price at **Pricing > Price editor** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/pricing/editor)), or **SparkLayer Wholesale > Pricing > Price editor** in the Shopify app with its **Price** in Shopify. See [Prices on the Shopify order don't match the SparkLayer checkout](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#prices-on-the-shopify-order-dont-match-the-sparklayer-checkout).

For every tax question, see [Troubleshooting](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md#troubleshooting) in Tax and shipping.

## Next steps

- [Set up wholesale prices](https://docs.sparklayer.io/help/guides/set-up-wholesale-prices.md): Create price lists and assign them to customer groups
- [Charge the right B2B shipping](https://docs.sparklayer.io/help/guides/b2b-shipping.md): Set B2B shipping methods and costs
- [How tax works at checkout](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md): Every tax setting, by platform
