Toggle navigation

How to adapt taxes to my customer status or localization

Most often sales tax rates depend on your customer status or localization. To map taxes, Odoo brings the so-called Fiscal Positions.

Create tax mapping

A fiscal position is just a set of rules that maps default taxes (as defined on product form) into other taxes. In the screenshot below, foreign customers get a 0% tax instead of the default 15%, for both sales and purchases.

The main fiscal positions are automatically created according to your localization. But you may have to create fiscal positions for specific use cases. To define fiscal positions, go to Invoicing/Accounting ‣ Configuration ‣ Fiscal Positions.

Adapt taxes to your customer status

If a customer falls into a specific taxation rule, you need to apply a tax-mapping. To do so, create a fiscal position and assign it to your customers.

Odoo will use this specific fiscal position for any order/invoice recorded for the customer.

Adapt taxes to your customer address (destination-based)

Depending on your localization, sales taxes may be origin-based or destination-based. Most states or countries require you to collect taxes at the rate of the destination (i.e. your buyer’s address) while some others require to collect them at the rate effective at the point of origin (i.e. your office or warehouse).

If you are under the destination-based rule, create one fiscal position per tax-mapping to apply.

  • Check the box Detect Automatically.
  • Select a country group, country, state or city to trigger the tax-mapping.

This way if no fiscal position is set on the customer, Odoo will choose the fiscal position matching the shipping address on creating an order.

Specific use cases

If, for some fiscal positions, you want to remove a tax, instead of replacing by another, just keep the Tax to Apply field empty.

If, for some fiscal positions, you want to replace a tax by two other taxes, just create two lines having the same Tax on Product.