www/apps/resources/app/commerce-modules/pricing/tax-inclusive-pricing/page.mdx
export const metadata = {
title: Tax-Inclusive Pricing,
}
In this document, you’ll learn about tax-inclusive pricing and how it's used when calculating prices.
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.
The PricePreference data model 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:
{
"attribute": "currency_code",
"value": "USD",
"is_tax_inclusive": true,
}
In this example, tax-inclusivity is enabled for the USD currency code.
As mentioned in the Price Calculation documentation, 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.
The calculatePrices method returns two properties related to tax-inclusivity:
Learn more about the returned properties in this guide.
</Note>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:
is_tax_inclusive enabled.A region’s price preference’s is_tax_inclusive's value takes higher precedence in determining whether a price is tax-inclusive if:
region_id and currency_code are provided in the calculation context;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 guide.