export const metadata = {
title: `Tax-Inclusive Pricing`,
}
# {metadata.title}
In this document, you’ll learn about tax-inclusive pricing and how it's used when calculating prices.
## What is Tax-Inclusive Pricing?
A tax-inclusive price is a price of a resource that includes taxes. Medusa calculates the tax amount from the price rather than adds the amount to it.
For example, if a product’s price is $50, the tax rate is 2%, and tax-inclusive pricing is enabled, then the product's price is $49, and the applied tax amount is $1.
---
## How is Tax-Inclusive Pricing Set?
The [PricePreference data model](/references/pricing/models/PricePreference) holds the tax-inclusive setting for a context. It has two properties that indicate the context:
- `attribute`: The name of the attribute to compare against. For example, `region_id` or `currency_code`.
- `value`: The attribute’s value. For example, `reg_123` or `usd`.
Only `region_id` and `currency_code` are supported as an `attribute` at the moment.
The `is_tax_inclusive` property indicates whether tax-inclusivity is enabled in the specified context.
For example:
```json
{
"attribute": "currency_code",
"value": "USD",
"is_tax_inclusive": true,
}
```
In this example, tax-inclusivity is enabled for the `USD` currency code.
---
## Tax-Inclusive Pricing in Price Calculation
### Tax Context
As mentioned in the [Price Calculation documentation](../price-calculation/page.mdx#calculation-context), The `calculatePrices` method accepts as a parameter a calculation context.
To get accurate tax results, pass the `region_id` and / or `currency_code` in the calculation context.
### Returned Tax Properties
The `calculatePrices` method returns two properties related to tax-inclusivity:
Learn more about the returned properties in [this guide](../price-calculation/page.mdx#returned-price-object).
- `is_calculated_price_tax_inclusive`: Whether the selected `calculated_price` is tax-inclusive.
- `is_original_price_tax_inclusive` : Whether the selected `original_price` is tax-inclusive.
A price is considered tax-inclusive if:
1. It belongs to the region or currency code specified in the calculation context;
2. and the region or currency code has a price preference with `is_tax_inclusive` enabled.
### Tax Context Precedence
A region’s price preference’s `is_tax_inclusive`'s value takes higher precedence in determining whether a price is tax-inclusive if:
- both the `region_id` and `currency_code` are provided in the calculation context;
- the selected price belongs to the region;
- and the region has a price preference
---
## Tax-Inclusive Pricing with Promotions
When you enable tax-inclusive prices for regions or currencies, this can impact how promotions are applied to the cart. So, it's recommended to enable tax-inclusiveness for promotions as well.
Learn more in the [Tax-Inclusive Promotions](../../promotion/promotion-taxes/page.mdx) guide.