Talk to an Expert
Talk to an Expert ✆ +91 945 945 6700
Accounting Glossary · Core / Software

Odoo Fiscal Positions

Odoo Fiscal Positions: Definition

Odoo Fiscal Positions are rules that automatically remap the default taxes and accounts on a transaction based on a customer or vendor's situation — such as inter-state, SEZ or export. They are configured in Odoo Accounting and attached to a contact. They matter because they apply the correct GST treatment (IGST versus CGST/SGST, or zero-rated) automatically, instead of relying on the user to pick the right tax each time.

What Are Odoo Fiscal Positions?

A fiscal position is Odoo's mechanism for saying "for this kind of party, swap the default tax and account for this other one." A product carries a default tax — say GST 18% intra-state — but when it is sold to an out-of-state customer, the fiscal position remaps that to 18% IGST, and to a customer in an SEZ or abroad it remaps to a zero-rated tax. The rule does the substitution so the user does not have to remember it.

An Indian business on Odoo meets fiscal positions the moment it sells across state lines. A Coimbatore textile manufacturer selling within Tamil Nadu charges CGST+SGST, but the same product to a Karnataka buyer must attract IGST; a fiscal position mapped to the customer's state makes Odoo apply the right one automatically. It is the difference between correct GST by design and correct GST by everyone remembering the rule.

Key terms

How Odoo Fiscal Positions Work

A fiscal position sits between the default tax and the transaction, swapping in the correct treatment:

  1. 1Define the mapping

    A fiscal position lists which default taxes and accounts map to which replacements — the rule itself.

  2. 2Attach it to a contact

    The position is set on a customer or vendor (or auto-detected by state/country), telling Odoo when to apply it.

  3. 3Create a document

    An invoice or bill is raised for that contact, carrying products with their default taxes.

  4. 4Remap on the fly

    Odoo substitutes the mapped tax and account — for example IGST in place of CGST/SGST — on each line.

  5. 5Post the correct entry

    The double-entry engine posts the remapped tax to the right GST account, so returns pull correct figures.

How to Set Up Odoo Fiscal Positions in Odoo

Fiscal positions are configured in Accounting and then applied to contacts (Odoo Accounting, v17/18):

  1. 1Open the Accounting app

    From the Odoo apps, open Accounting.

  2. 2Go to Fiscal Positions

    Navigate to Configuration > Fiscal Positions to see existing positions.

  3. 3Create a position

    Click New and name it (for example Inter-State / IGST or SEZ / Zero-rated).

  4. 4Add tax and account mappings

    In the Tax Mapping and Account Mapping tabs, set which default tax/account maps to which replacement.

  5. 5Set auto-detection (optional)

    Enable Detect Automatically and set the country/state so Odoo applies the position based on the customer's location.

  6. 6Apply on the contact

    Open the customer or vendor, go to the Sales & Purchase tab, and select the Fiscal Position under Fiscal Information.

Odoo Fiscal Positions: A Practical Example

ParticularsAmount (INR)Treatment
Sale within Tamil Nadu1,00,000Default: CGST 9% + SGST 9% = ₹18,000
Same sale to Karnataka buyer1,00,000Fiscal position remaps to IGST 18% = ₹18,000
Sale to SEZ unit1,00,000Fiscal position remaps to zero-rated (₹0 GST)
Tax postedvariesCorrect GST account by rule, not by memory

A Coimbatore textile manufacturer sells the same ₹1,00,000 order three ways. Within Tamil Nadu, Odoo applies CGST+SGST of ₹18,000; to a Karnataka buyer, the inter-state fiscal position remaps it to ₹18,000 IGST; to an SEZ unit, the zero-rated position drops GST to nil. The user picks the customer and Odoo applies the right treatment automatically — no manual tax selection, and each posts to the correct GST account.

!
Common error

No position on a contact: An out-of-state customer left without a fiscal position keeps the default intra-state tax → assign the correct position or enable auto-detection.

Common Mistakes With Odoo Fiscal Positions

Fiscal positions misfire when the mappings or triggers are wrong:

  • No position on a contact — An out-of-state customer left without a fiscal position keeps the default intra-state tax → assign the correct position or enable auto-detection.
  • Incomplete tax mapping — Mapping only some taxes leaves others un-remapped → cover every default tax the position should change.
  • Wrong auto-detect geography — A mis-set country/state applies the wrong position automatically → verify the detection rules against real customer locations.
  • Forgetting zero-rated accounts — SEZ/export sales without a zero-rated mapping overstate GST → set up the zero-rated position explicitly.
Quick summary

Odoo Fiscal Positions are rules that automatically remap the default taxes and accounts on a transaction based on a customer or vendor's situation — such as inter-state, SEZ or export. They are configured in Odoo Accounting and attached to a contact. They matter because they apply the correct GST treatment (IGST versus CGST/SGST, or zero-rated) automatically, instead of relying on the user to pick the right tax each time.

Need help with Odoo Fiscal Positions?

Odoo Fiscal Positions sits inside your day-to-day books. Patron's CA-led team keeps them accurate, compliant and audit-ready.

How does an Odoo fiscal position change the tax on an invoice?

A fiscal position maps the default tax and account set on a product to a different one based on the customer record, and Odoo applies it automatically once the partner is selected. A product carrying 18 percent GST as CGST plus SGST switches to 18 percent IGST when the out of state fiscal position applies, without anyone editing the product master.

What is the difference between a fiscal position and a tax in Odoo?

A tax record defines the rate itself, such as GST 18 percent, and how it is reported, while a fiscal position is a rule that swaps one tax or account for another depending on who is being billed. Deleting or editing a tax disturbs entries already posted, whereas a fiscal position change affects only invoices raised afterwards.

Which fiscal positions does an Indian business need in Odoo?

Most Indian setups need at least four: intra state for CGST plus SGST, inter state for IGST, export or SEZ supply at zero rate against a letter of undertaking, and reverse charge for notified inward supplies. Place of supply drives the choice, so the state code in the customer GSTIN must be right or the wrong tax lands in GSTR-1.

Reviewed by the CA & CS Team, Patron Accounting LLP
ICAI & ICSI registered  ·  Reviewed by CA Sundram Gupta (FCA)  ·  Last reviewed 22 Jul 2026  ·  Next review 22 Jan 2027
Official sources: Odoo DocsCBIC GSTGST Portal

Applicable framework: GST place-of-supply and zero-rating under CGST/IGST Acts 2017; product guidance – Odoo Accounting. For general information only, not professional advice. Verify the current position for your entity before acting.