# How tax works at checkout

URL: https://docs.sparklayer.io/help/ordering/tax-and-shipping

See how SparkLayer shows net prices and adds tax at checkout, set up tax on Shopify and other platforms, and fix common tax and shipping cost issues.

> **Quick summary**
>
> - SparkLayer shows B2B prices excluding tax (net pricing) unless you turn on **Tax-inclusive prices**. Tax is added at the last step of the checkout.
> - SparkLayer doesn't calculate tax: it uses your eCommerce platform's tax settings. On Shopify, that's **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)).
> - Most tax options here are for Shopify. Other platforms use their own settings, with the limits in [Set up tax on other platforms](#set-up-tax-on-other-platforms).
> - Shipping is set up separately, at **Settings > Shipping** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/shipping)), or **SparkLayer Wholesale > Settings > Shipping** in the Shopify app. See [Shipping rules](https://docs.sparklayer.io/help/ordering/shipping-rules.md).

## How it works

A B2B price is either net or gross:

| Price type | What it means |
| --- | --- |
| **Net** | The price excludes tax. A $20.00 price is $20.00 before tax. |
| **Gross** | The price includes tax. A $20.00 price already contains the tax. |

By default, SparkLayer shows net prices, whatever tax setting your website uses. Customers see exactly the price in their [price list](https://docs.sparklayer.io/help/pricing/managing-pricing.md): if it has SKU `EEEAR` at 7.99, the product page shows $7.99.

On the **Review & Pay** step, SparkLayer asks your platform for the tax and shows it as its own line: **Sub-total**, **Shipping**, **Tax** and **Total**. Here's how that works with Shopify:

**How tax works with SparkLayer and Shopify**

1. **Your B2B customer browses your store.** All prices shown by SparkLayer exclude tax — customers always see the net price, whatever your Shopify tax settings.
2. **The B2B price comes from your price list.** Customers see the wholesale price from their SparkLayer price list.
3. **Customer goes to checkout.** SparkLayer works with Shopify to calculate the tax to add.
4. **Different tax rates per product?** If our team has enabled this, SparkLayer creates a preliminary Shopify order (tagged `b2b-pending`) when the shipping address is selected to get exact per-product tax. Otherwise tax is calculated as a single rate across the order when checkout completes.
5. **Is the customer tax-exempt?** Tax-exempt customers (Customers › [Customer] › Manage tax exemptions) pay no tax; otherwise Shopify checks "Charge tax on this product" per product.
6. **Tax rate based on shipping country.** Managed in Shopify under Settings › Taxes and duties.
7. **Your wholesale price is sent to Shopify,** replacing the retail price.
8. **Do your Shopify prices include tax?** If yes, manual price lists need no change; for automatic price lists tick "adjust percentage to account for tax". If no, no special setup is needed.
9. **Prices are shown as net + tax,** with tax as a separate line item.
10. **Customer completes their order.** The preliminary draft order is updated, or a new order is created.
11. **The order appears in your Shopify admin.** With "include tax in price" on, Shopify shows tax-inclusive prices with a tax summary — the totals match checkout.

For a step-by-step setup, from checking your store's prices to testing an order, follow the guide [Get B2B tax and VAT right](https://docs.sparklayer.io/help/guides/tax-and-vat.md). This page is the reference for each setting.

### Show prices including tax

To show prices including tax, labelled "inc. tax", 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 on the price lists that need it, and give each product a `display_tax_rate` in your [price CSV](https://docs.sparklayer.io/help/pricing/csv-upload.md), such as `10` for 10% GST. It changes what buyers see, not what they pay. Because the rate comes from a price CSV, it has no effect on automatic price lists. For the steps and limitations, see [Show tax-inclusive prices](https://docs.sparklayer.io/help/pricing/pricing-display.md#show-tax-inclusive-prices).

## Set up tax on Shopify

**Shopify only:**

In Shopify, you set tax rules for the whole store, then make exceptions for customers and products.

Before you start:

- **Check your current tax setup** in **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)).
- **Read Shopify's guide** to [setting up tax](https://help.shopify.com/en/manual/taxes/registration/setup).
- **Check the effect on retail customers** if your store serves both retail (B2C) and B2B. Many of these settings apply to both.

### Make a customer tax-exempt

**Shopify only:**

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

1. In the Shopify admin, go to **Customers** ([open in the Shopify admin](https://admin.shopify.com/customers)) and open the customer.
2. In the customer's details, click **Manage tax exemptions**.
3. Untick **Collect tax**, then click **Save**.

With a third-party tax app such as Avalara or TaxJar, also mark the customer as exempt in that app. See [Tax is charged but I use a third-party tax app](#tax-is-charged-but-i-use-a-third-party-tax-app-eg-avalara-taxjar).

### Turn tax on or off for a product or variant

**Shopify only:**

1. In the Shopify admin, go to **Products** ([open in the Shopify admin](https://admin.shopify.com/products)) and open the product.
2. In **Pricing**, tick or untick **Charge tax on this product**. When ticked, the product uses your Shopify tax rules.
3. For a single variant, open the variant and tick or untick **Charge tax on this variant** (**Taxable** in newer versions of the Shopify admin).
4. Click **Save**.

Products that don't charge tax are left out of the tax total at checkout.

### Set tax by country

**Shopify only:**

Shopify applies tax rules by the customer's shipping country, at the last step of the checkout.

1. In the Shopify admin, go to **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)).
2. Under **Regional settings**, check the **Collecting tax** column for each country or region. A region needs a [shipping zone](https://help.shopify.com/en/manual/shipping/setting-up-and-managing-your-shipping) before you can collect tax there.
3. Select a country or region to manage its tax settings.

You can also manage these from **Settings > Markets** ([open in the Shopify admin](https://admin.shopify.com/settings/markets)).

### Remove tax from a draft order

**Shopify only:**

If orders arrive in Shopify as draft orders, you can change the tax before you complete them.

1. In the Shopify admin, open the draft order.
2. Click **Estimated tax**.
3. Untick **Charge taxes**, then click **Apply**.

**Estimated tax** then shows **Not collected** and 0.00. Only the tax total changes, not the product prices.

### Charge different tax rates on different products

**Shopify only:**

By default, tax is charged on the cart subtotal. If your products have different tax rates in one tax jurisdiction, SparkLayer can work out tax per line instead ("line item tax"). Our team turns it on for you.

Line item tax applies when **Include sales tax in product price and shipping rate** is on in Shopify. To check:

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

If it's ticked and your products have different tax rates, [contact our support team](https://docs.sparklayer.io/help/support.md) to turn on line item tax. It's the **Create a draft order on calculate** setting at **Integrations > Platform > Shopify order actions** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform > Shopify order actions** in the Shopify app, which only our team can change. To stop charging tax on some lines, untick **Charge tax** on those variants in Shopify.

> **Draft orders are created before the order is complete**
>
> With line item tax on, SparkLayer creates the Shopify draft order when the customer reaches the shipping and payment step, before they complete the order. The draft is tagged `b2b-pending`, which changes to `b2b` when the customer completes the order.

**Why line item tax is needed**

SparkLayer applies a discount to each line item so the customer pays their B2B price.

| Include sales tax in product price and shipping rate | How SparkLayer calculates the discount |
| --- | --- |
| **Off** | The difference between the Shopify price and the SparkLayer B2B price. |
| **On** | The discount also has to account for tax. Without line item tax, SparkLayer uses one tax rate (the rate of the first line item) for every line. Shopify only gives SparkLayer each line item's tax rate when it creates a draft order. |

For example, two products with the same £6.00 B2B price, one at the default tax rate and one at 5%:

| Product | Shopify price | Without line item tax | With line item tax |
| --- | --- | --- | --- |
| Default tax product | £12.00 | £6.00 (discount £6.00) | £6.00 (discount £6.00) |
| 5% tax product | £10.50 | £6.00 (discount £4.50), incorrect | £5.25 (discount £5.25), correct |

### Adjust automatic price lists for tax-inclusive Shopify prices

**Shopify only:**

If **Include sales tax in product price and shipping rate** is on in Shopify, an [automatic price list](https://docs.sparklayer.io/help/pricing/managing-pricing.md#set-up-automatic-pricing) based on **Shopify Price** takes its percentage off a price that already includes tax. Work out a percentage that also takes the tax out, or customers pay tax twice: see [Tax-inclusive prices](https://docs.sparklayer.io/help/pricing/managing-pricing.md#tax-inclusive-prices). [Manual price lists](https://docs.sparklayer.io/help/pricing/managing-pricing.md) don't need this if you upload net prices.

## Set up tax on other platforms

On BigCommerce, Wix, WooCommerce and Magento, SparkLayer uses your platform's tax rules. Set tax up there, then check these limits:

| Platform | Where tax is set up | Limits |
| --- | --- | --- |
| BigCommerce | BigCommerce tax settings | Multi-zone tax only works if prices are entered exclusive of tax, or if tax outside the default zone is set to update product prices. If you change **How are prices displayed on your storefront** on its own, contact us so SparkLayer can resync. See [BigCommerce limitations](https://docs.sparklayer.io/help/platforms/bigcommerce/limitations.md). |
| Wix | **Settings > Tax** in your Wix dashboard ([setup guide](https://docs.sparklayer.io/help/platforms/wix/install.md#adjusting-tax-settings)) | Tax exemptions only apply when the customer pays through the Wix checkout (upfront payment). With manual payment methods, tax is charged. See [Wix limitations](https://docs.sparklayer.io/help/platforms/wix/limitations.md). |
| WooCommerce | WooCommerce tax settings ([setup guide](https://docs.sparklayer.io/help/platforms/woocommerce/install.md#adjusting-tax-settings)) | None documented. |
| Magento | Magento tax settings ([setup guide](https://docs.sparklayer.io/help/platforms/magento/install.md#adjusting-tax-settings)) | None documented. |

**Shopify only:**

On Shopify, orders that mix taxable and tax-exempt products aren't handled, and duties aren't supported. See [Shopify limitations](https://docs.sparklayer.io/help/platforms/shopify/limitations.md).

## Show tax information on your storefront

Change any tax wording in the [frontend interfaces](https://docs.sparklayer.io/help/storefront/interfaces.md) without code at **Storefront > Options > Translation overrides** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/storefront/options)), or **SparkLayer Wholesale > Storefront > Options > Translation overrides** in the Shopify app: add an override for the key, enter your text and click **Save and publish**. See [Change checkout text](https://docs.sparklayer.io/help/ordering/cart-and-checkout.md#change-checkout-text). A developer can set the same keys in your [Core Script](https://docs.sparklayer.io/help/storefront/storefront-options.md#add-a-core-script-setting) instead: see [Languages and international](https://docs.sparklayer.io/help/storefront/languages-and-international.md).

### Change the word "tax"

These keys set the tax wording in the cart and checkout:

| Key | Default text |
| --- | --- |
| `global.totals.tax` | Tax |
| `cart.tax-shipping-note` | Tax and shipping costs calculated during checkout |
| `cart.tax-shipping-message` | Tax and shipping costs shown on next step |

**Core Script code for your developer**

```javascript title="Core Script"
translations: {
  en: {
    "global.totals.tax": "Tax",
    "cart.tax-shipping-note": "Tax and shipping costs calculated during checkout",
    "cart.tax-shipping-message": "Tax and shipping costs shown on next step"
  }
},
```

### Add a tax note next to prices

Add text such as "Excluding tax: " before the product page price, or "(ex. tax)" after the unit price in the [My Cart](https://docs.sparklayer.io/help/storefront/interfaces/my-cart.md), as in "US$6.99 per unit (ex. tax)". Set these keys in **Translation overrides**:

| Key | Example text | Where it shows |
| --- | --- | --- |
| `pdp.price.from-prefix` | Excluding tax: | Before the price on the product page |
| `global.per-unit` | `{price}` per unit (ex. tax) | The unit price in the cart. Keep `{price}`, which is replaced with the price. |

**Core Script code for your developer**

```javascript title="Core Script"
translations: {
  en: {
    "pdp.price.from-prefix": "Excluding tax: ",
    "global.per-unit": "{price} per unit (ex. tax)",
  }
},
```

### Collect a tax ID for international shipping

Some countries require the customer's tax ID (or equivalent) at checkout, so orders comply with local tax law and aren't held up or fined at customs. Collecting it means the order can be processed and converted from a draft to a completed order in Shopify.

Countries that may need a national tax number (such as CPF/CNPJ, RFC or Resident ID) include Brazil, Chile, Colombia, Costa Rica, Ecuador, Guatemala, Indonesia, Italy, Mexico, Malaysia, Peru, Portugal, Paraguay and Turkey. Formats and rules vary, so check the regulations for each destination.

When it's needed, the **Details** step shows an **Additional Tax ID** field above **Additional Information**.

To change the field's label and placeholder, set these keys in **Translation overrides**:

| Key | Default text |
| --- | --- |
| `checkout.notes.tax-id-label` | Additional Tax ID |
| `checkout.notes.tax-id-placeholder` | Tax ID |

**Core Script code for your developer**

```javascript title="Core Script"
translations: {
  en: {
    "checkout.notes.tax-id-label": "Additional Tax ID",
    "checkout.notes.tax-id-placeholder": "Tax ID",
  }
}, 
```

If you already collect a tax ID with a [custom checkout field](https://docs.sparklayer.io/help/ordering/checkout-fields.md), we recommend turning that field off.

## Set up shipping

Use your eCommerce platform's shipping rates, or create B2B shipping methods in SparkLayer at **Settings > Shipping** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/shipping)), or **SparkLayer Wholesale > Settings > Shipping** in the Shopify app. See [Shipping rules](https://docs.sparklayer.io/help/ordering/shipping-rules.md).

## Why is tax charged on shipping?

SparkLayer uses Shopify's tax calculation, so shipping is taxed whenever Shopify taxes it. B2B orders can show tax on shipping even when your retail checkout looks different, for one of these reasons.

| Reason | What happens |
| --- | --- |
| **The customer is in Canada, the EU, the UK or the US** | Shopify charges tax on shipping in these regions whatever its **Charge tax on shipping rates** setting says. Our development team has confirmed this is how Shopify behaves. |
| **Include sales tax in product price and shipping rate is on** | Your Shopify shipping rates already contain tax. SparkLayer shows net amounts, so it has to charge that tax when it creates the order. |

For example, with 20% VAT in the UK:

| Line | Net | VAT at 20% | Total |
| --- | --- | --- | --- |
| Products | £500.00 | £100.00 | £600.00 |
| Shipping | £95.00 | £19.00 | £114.00 |
| **Order** | £595.00 | £119.00 | £714.00 |

The customer sees £95.00 shipping, and £114.00 once VAT is added.

**Shopify only:**

To change this:

- **Use SparkLayer shipping rates**, entered as net values, such as 95 for £95.00 before tax. See [Shipping rules](https://docs.sparklayer.io/help/ordering/shipping-rules.md#set-up-sparklayer-shipping-rules).
- **Make the customer tax-exempt**, where that's right for them, so their order has no tax on products or shipping. See [Make a customer tax-exempt](#make-a-customer-tax-exempt).

## Troubleshooting

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

**Diagnose: Prices or tax looking wrong?** Check your Shopify tax settings against your price lists.

1. **What looks wrong?** Pick the closest match.
   - B2B prices are too high, or tax is charged twice: go to question 2
   - Tax is added to shipping in the B2B checkout: go to fix A (Shopify taxes shipping in some regions)
   - I want B2B prices shown including tax: go to fix B (Tax-inclusive display has three parts)
   - VAT or tax is missing at checkout: go to question 3
2. **Is “Include sales tax in product price and shipping rate” turned on?** It’s under Global settings. It decides whether Shopify treats your prices as including tax, which is common for UK, EU and Australian stores. Where to look: Settings > Taxes and duties (Shopify admin).
   - On: go to question 4
   - Off: go to question 5
3. **Is the customer marked as tax exempt in Shopify?** Reverse charge for VAT-registered EU customers uses Shopify’s customer tax exemption. Where to look: Customers > select the customer > Tax settings (Shopify admin).
   - Yes: go to fix C (That’s why tax isn’t added)
   - No: go to fix D (Check the customer’s address and test their checkout)
4. **Which type of price list does the customer use?** Manual lists are uploaded by CSV or set in the Price editor. Automatic lists apply a percentage to your Shopify prices. Where to look: Pricing > Price lists (SparkLayer).
   - Manual (CSV or Price editor): go to question 5
   - Automatic (a percentage): go to question 6
5. **Are the prices in the price list excluding tax (net)?** All SparkLayer prices are net. Tax is added at checkout. Where to look: Pricing > Price editor (SparkLayer).
   - Yes, net: go to fix E (Your tax setup looks right)
   - No, they include tax: go to fix F (Upload your prices excluding tax)
   - Not sure: go to fix G (Compare one product in the Price editor)
6. **Has the list’s percentage been raised to take the tax out too?** An automatic list based on tax-inclusive Shopify prices needs its percentage adjusted for tax. For example, with 20% VAT and a 10% trade discount, use 25% off. Where to look: Pricing > Price lists (SparkLayer).
   - Yes: go to fix E (Your tax setup looks right)
   - No: go to fix H (Adjust the percentage for tax)

**Fixes**

- **A. Shopify taxes shipping in some regions** SparkLayer uses Shopify’s tax calculation. In Canada, the EU, the UK and the US, Shopify charges tax on shipping whatever its “Charge tax on shipping rates” setting says, so the B2B checkout can show tax on shipping. If that’s a problem, use SparkLayer shipping with your rates entered without tax. See [Tax and shipping](https://docs.sparklayer.io/help/ordering/tax-and-shipping.md).
- **B. Tax-inclusive display has three parts** Buyers see gross prices once three things are in place: Tax-inclusive prices turned on for your store (if you don’t see the setting, ask us), the price lists chosen, and a `display_tax_rate` column in the price CSV, for example 10 for Australian GST. It works on manual price lists only, not automatic ones, so use a manual list for those customers. See [Show tax-inclusive prices](https://docs.sparklayer.io/help/pricing/pricing-display.md#show-tax-inclusive-prices).
- **C. That’s why tax isn’t added** Tax-exempt customers check out without tax. Remove the exemption if they should pay it. Where: Customers > select the customer > Tax settings (Shopify admin).
- **D. Check the customer’s address and test their checkout** Tax follows the customer’s default address and your Shopify tax regions. Check their default address, that you collect tax in that country, and that the products are set to charge tax. Then place a test order as the customer. Where: Settings > Taxes and duties (Shopify admin).
- **E. Your tax setup looks right** The SparkLayer checkout shows net prices with tax on its own line. If “Include sales tax” is on, the Shopify order shows tax-inclusive prices instead. The totals are the same: it’s just shown differently.
- **F. Upload your prices excluding tax** Prices that already include tax get tax added again at checkout, so customers pay it twice. Convert them to net prices and upload the list again. Where: Pricing > Price lists (SparkLayer).
- **G. Compare one product in the Price editor** Pick a product, work out its price without tax, and check it matches the Price editor. If it doesn’t, your list includes tax and needs uploading again as net prices. Where: Pricing > Price editor (SparkLayer).
- **H. Adjust the percentage for tax** Without it, the percentage comes off your tax-inclusive Shopify prices, so B2B prices come out too high and tax is added again at checkout. Where: Pricing > Price lists (SparkLayer). See [Adjust automatic price lists for tax](https://docs.sparklayer.io/help/pricing/managing-pricing.md#tax-inclusive-prices).

**Tax is charged when it shouldn't be**

**Shopify only:**

If the customer should be tax-exempt, open them in **Customers** ([open in the Shopify admin](https://admin.shopify.com/customers)), click **Manage tax exemptions** and untick **Collect tax**. With a third-party tax app, also see the next question.

**Tax is charged but I use a third-party tax app (e.g. Avalara, TaxJar)**

**Shopify only:**

Tax apps such as Avalara and TaxJar override Shopify's tax settings, so a customer set to "Don't collect tax" in Shopify can still be charged. SparkLayer only passes through the tax that Shopify and your tax app return, so the cause is almost always the tax app's setup. Exempt the customer in both places:

1. In your tax app, add the customer to its exemption list. For example, in Avalara, go to the Exemption Customer List and add the customer with their Shopify customer ID as the Customer Code.
2. In Shopify, open the customer in **Customers** ([open in the Shopify admin](https://admin.shopify.com/customers)), click **Manage tax exemptions** and check that **Collect tax** is unticked.

The two exemptions work independently, so if either is missing, tax may still be charged. For help in your tax app, see its documentation or support team.

**Tax isn't charged when it should be**

**Shopify only:**

Check the customer isn't tax-exempt: open them in **Customers** ([open in the Shopify admin](https://admin.shopify.com/customers)), click **Manage tax exemptions** and make sure **Collect tax** is ticked.

**Prices on the Shopify order don't match the SparkLayer checkout**

**Shopify only:**

1. In **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)), check whether **Include sales tax in product price and shipping rate** is on. If it is, check each automatic price list's percentage allows for tax: see [Tax-inclusive prices](https://docs.sparklayer.io/help/pricing/managing-pricing.md#tax-inclusive-prices).
2. Check the SparkLayer price is lower than the Shopify price. Go to **Pricing > Price editor** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/pricing/editor)), or **SparkLayer Wholesale > Pricing > Price editor** in the Shopify app, search for the variant SKU and note its price in each price list, then compare it with the product's **Price** in Shopify.

If the Shopify price is lower, the checkout uses it. This includes tax: if the SparkLayer price after tax is higher than your tax-inclusive Shopify price, the checkout also uses the Shopify price.

**Tax is wrong when shipping to a different country**

**Shopify only:**

In **Settings > Taxes and duties** ([open in the Shopify admin](https://admin.shopify.com/settings/taxes)), find the customer's country and check whether you're collecting tax there.

**Tax is charged twice**

- **Manual price lists use net prices.** Upload [manual price list](https://docs.sparklayer.io/help/pricing/managing-pricing.md) prices excluding tax, so tax is added correctly at checkout.
- **Automatic price lists allow for tax.** If **Include sales tax in product price and shipping rate** is on in Shopify, an [automatic price list](https://docs.sparklayer.io/help/pricing/managing-pricing.md)'s percentage must also take out tax. See [Tax-inclusive prices](https://docs.sparklayer.io/help/pricing/managing-pricing.md#tax-inclusive-prices).

**Some products should be taxed and others not**

**Shopify only:**

[Contact our support team](https://docs.sparklayer.io/help/support.md) to turn on line item tax, then untick **Charge tax** on the variants that shouldn't be taxed. See [Charge different tax rates on different products](#charge-different-tax-rates-on-different-products).

**Shipping costs don't match the SparkLayer shipping rules**

With [SparkLayer shipping rates](https://docs.sparklayer.io/help/ordering/shipping-rules.md), the costs at **Settings > Shipping** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/shipping)), or **SparkLayer Wholesale > Settings > Shipping** in the Shopify app should always match the checkout. If they don't, [contact our support team](https://docs.sparklayer.io/help/support.md).

**Can I show gross (tax-inclusive) prices to B2B customers?**

Yes. 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 pricing CSV. Buyers see gross prices, labelled "inc. tax", but pay the same. 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), including its limitations.

If that doesn't suit your tax setup, try one of these:

| To show | Workaround |
| --- | --- |
| **Net and gross prices** | Show an extra price to signed-in customers with custom theme code, for example from [metafields](https://docs.sparklayer.io/developers/data/metafields.md) on Shopify or BigCommerce. Or use the [RRP (MSRP) feature](https://docs.sparklayer.io/help/pricing/pricing-display.md) to set a price separate from the B2B price. |
| **Gross prices only** | Make the customer tax-exempt in Shopify so their orders are zero-rated, and upload gross amounts to their price lists (though tax isn't technically included). Report on tax afterwards, for example in your accounting system. |
