---
title: "Tax-inclusive vs tax-exclusive pricing for US, UK and EU"
description: "How VAT-inclusive and sales-tax-exclusive pricing differ across the US, UK and EU, and how to configure tax-inclusive prices per region in Medusa."
url: https://medusajs.com/kb/international-commerce/tax-inclusive-pricing-international
last_updated: 2026-10-29T06:55:50Z
topic: "international-commerce"
type: "concept"
applies_to: "Medusa v2.x"
related:
  - "https://medusajs.com/kb/international-commerce/multi-region-ecommerce.md"
  - "https://medusajs.com/kb/international-commerce/multi-currency-pricing-api.md"
sources:
  - "https://docs.medusajs.com/resources/commerce-modules/pricing/tax-inclusive-pricing"
  - "https://docs.medusajs.com/user-guide/settings/regions"
  - "https://docs.medusajs.com/user-guide/settings/store"
  - "https://docs.medusajs.com/user-guide/settings/tax-regions"
  - "https://docs.medusajs.com/resources/commerce-modules/tax/tax-region"
  - "https://docs.medusajs.com/resources/commerce-modules/tax/tax-rates-and-rules"
  - "https://docs.medusajs.com/resources/commerce-modules/tax/tax-provider"
  - "https://docs.medusajs.com/resources/commerce-modules/promotion/promotion-taxes"
  - "https://docs.medusajs.com/resources/storefront-development/products/price"
  - "https://docs.medusajs.com/resources/storefront-development/products/price/examples/tax-price"
  - "https://docs.medusajs.com/resources/integrations/guides/avalara"
  - "https://docs.medusajs.com/api/admin/regions/create-region"
  - "https://www.gov.uk/vat-businesses/charging-vat"
  - "https://www.gov.uk/online-and-distance-selling-for-businesses"
  - "https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm"
  - "https://europa.eu/youreurope/citizens/consumers/shopping/pricing-payments/index_en.htm"
  - "https://www.avalara.com/taxrates/en/state-rates.html"
  - "https://help.shopify.com/en/manual/international/tax-inclusive"
---

# Tax-inclusive vs tax-exclusive pricing for US, UK and EU

> US stores usually show prices before sales tax and add tax at checkout, while UK and EU consumer prices include VAT. In Medusa, you enable tax-inclusive pricing per region or per currency, set VAT and sales tax rates in tax regions, and use the Avalara tax provider or a custom one for address-level rates.

## What tax-inclusive and tax-exclusive pricing mean

A tax-inclusive price already contains the tax, so the checkout total equals the shelf price. A tax-exclusive price is the net amount, and tax is added at checkout. For example, a tax-inclusive price of 120 GBP at a 20% VAT rate is 100 GBP net plus 20 GBP VAT.

In Medusa v2, a tax-inclusive price is one where Medusa calculates the tax amount from the price instead of adding it on top ([Tax-Inclusive Pricing](https://docs.medusajs.com/resources/commerce-modules/pricing/tax-inclusive-pricing)).

## Which convention the US, UK and EU use

The table summarizes widely documented rules for consumer sales. It is general information, not tax advice; confirm your obligations with the tax authority or an adviser.

| Market | Tax | Who sets the rate | Consumer price display |
| --- | --- | --- | --- |
| United States | Sales tax | States and local jurisdictions. Rates can vary within a county, a city or a ZIP code. | Commonly shown before tax, with tax added at checkout |
| United Kingdom | VAT | UK government: standard 20%, reduced 5%, zero 0% | Price including all taxes before the order is placed |
| European Union | VAT | Each member country, with a standard rate of at least 15% | Total price including all taxes |

Sources: US rates from [Avalara's state rate table](https://www.avalara.com/taxrates/en/state-rates.html), UK rates from [GOV.UK](https://www.gov.uk/vat-businesses/charging-vat), UK display rules from [GOV.UK online selling](https://www.gov.uk/online-and-distance-selling-for-businesses), and EU rules from Your Europe on [VAT rates](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) and [consumer pricing](https://europa.eu/youreurope/citizens/consumers/shopping/pricing-payments/index_en.htm).

The practical result for a store selling in all three: show US prices tax-exclusive, and show UK and EU prices tax-inclusive.

## How to configure tax-inclusive pricing per region or currency in Medusa

Medusa stores the setting as a price preference. A price preference targets either a `region_id` or a `currency_code` and has an `is_tax_inclusive` flag. Only those two attributes are supported.

You set it in two places in the Medusa Admin:

- **Per region**: the "Tax inclusive pricing" toggle when you create or edit a region ([Manage Regions](https://docs.medusajs.com/user-guide/settings/regions)), or `is_tax_inclusive` on the Create Region API route.
- **Per currency**: the tax-inclusive toggle next to a currency in the store settings ([Manage Store](https://docs.medusajs.com/user-guide/settings/store)).

When a price matches both, the region's preference wins if the price belongs to that region. If you use tax-inclusive prices, Medusa's docs note that tax-inclusive promotions (v2.8.5+) are most useful with tax-inclusive prices, because the discount amount you enter is then treated as including tax ([Tax-Inclusive Promotions](https://docs.medusajs.com/resources/commerce-modules/promotion/promotion-taxes)).

## How Medusa calculates the tax amount

Medusa's Tax Module calculates tax lines from tax regions. A tax region is the tax setup for one country.

- Each tax region has a default rate, and override rates for specific product types or other rules.
- Countries such as the US have sublevel tax regions for states or provinces. Sublevel rates can be combined with the parent's rate.
- Each tax region uses a tax provider. The default `tp_system` provider applies the rates you enter.

| Need | Medusa feature | Status |
| --- | --- | --- |
| Fixed VAT rate per country | Tax region with a default rate | Native |
| Reduced rate for a product type | Tax rate override with a rule | Native |
| US state rates | Sublevel tax regions | Native |
| Address-level US rates and tax codes | Avalara tax provider | Official guide |
| Another tax engine | Custom tax provider implementing ITaxProvider | Custom |
| Filing and remittance | Not in Medusa; handled by your tax provider or accountant | Custom |

The [Avalara guide](https://docs.medusajs.com/resources/integrations/guides/avalara) builds a tax provider that returns tax lines from AvaTax, creates an Avalara transaction when an order is placed, and syncs products to Avalara.

## How to show the right price in the storefront

The Store API returns tax-aware prices when you pass both `region_id` and `country_code` with `fields=*variants.calculated_price`. Each variant then has:

- `calculated_amount_with_tax`: the price including tax.
- `calculated_amount_without_tax`: the net price.
- `is_calculated_price_tax_inclusive`: whether `calculated_amount` already includes tax.

Show `calculated_amount_with_tax` in the UK and EU, and the net price in the US with tax added at checkout ([Show Price with Taxes](https://docs.medusajs.com/resources/storefront-development/products/price/examples/tax-price)).

## When Medusa is not the right choice

- You want tax filing and remittance handled inside the commerce platform. Medusa calculates tax lines; filing needs a provider such as Avalara or your accountant.
- You have no developer to connect a tax engine and need address-level US rates on day one. A hosted platform with a built-in tax service is faster to start.

## Common questions

### Can Medusa use tax-inclusive prices in the EU and tax-exclusive prices in the US at the same time?

Yes. Medusa stores the tax-inclusive setting per region or per currency, so an EU region can include VAT while a US region adds sales tax at checkout.

### Does Medusa include VAT and sales tax rates out of the box?

Medusa's default tax provider applies the rates you enter in each tax region. For address-level rates, connect a tax provider such as Avalara using the official guide.

### Does Medusa file or remit taxes?

No. Medusa calculates tax lines for carts and orders. Filing and remittance are handled by a tax service such as Avalara or by your accountant.

### How does Medusa handle promotions on tax-inclusive prices?

Medusa supports tax-inclusive promotions (v2.8.5+), which the docs describe as most useful with tax-inclusive prices: the discount amount you enter is treated as including tax.

## Documentation

- [Tax-Inclusive Pricing](https://docs.medusajs.com/resources/commerce-modules/pricing/tax-inclusive-pricing)
- [Manage Regions in Medusa Admin](https://docs.medusajs.com/user-guide/settings/regions)
- [Manage Tax Regions in Medusa Admin](https://docs.medusajs.com/user-guide/settings/tax-regions)
- [Example: Show Product Variant's Price with Taxes](https://docs.medusajs.com/resources/storefront-development/products/price/examples/tax-price)
- [Integrate Avalara (AvaTax) for Tax Calculation](https://docs.medusajs.com/resources/integrations/guides/avalara)

## Related

- [How to sell in multiple countries from one ecommerce backend](https://medusajs.com/kb/international-commerce/multi-region-ecommerce.md)
- [Multi-currency pricing via API](https://medusajs.com/kb/international-commerce/multi-currency-pricing-api.md)
