Skip to content

How to Configure Tax Groups and Tax Management in Odoo 19

DeployMonkey Team · March 24, 2026 9 min read

Overview

Tax management in Odoo 19 handles multiple tax rates, computation methods, tax groups for reporting, fiscal positions for tax mapping, and government reporting tags. The account.tax model defines individual taxes while account.tax.group groups them for display and reporting on invoices.

Prerequisites

  • Odoo 19 with Accounting module installed
  • Chart of accounts configured (country-specific localization installed)
  • Accounting Manager access

Step 1: Review Existing Taxes

Navigate to Accounting > Configuration > Taxes. Your localization package creates default taxes. Review what exists before creating new ones.

Step 2: Create a New Tax

Click New and configure:

  • Tax Name — Descriptive name (e.g., "VAT 20%", "GST 18%", "Sales Tax 8.25%")
  • Tax Type — Sales (for customer invoices), Purchases (for vendor bills), or None
  • Tax Computation — How the tax is calculated:
    • Percentage of Price — Most common, applies a percentage to the base amount
    • Fixed Amount — A fixed amount per unit regardless of price
    • Group of Taxes — Combines multiple taxes into one line (e.g., federal + state)
    • Python Code — Custom computation via Python expression (requires account_tax_python)
  • Amount — The rate or fixed amount
  • Tax Group — Assign to a tax group for invoice display and reporting

Step 3: Configure Tax Groups

Navigate to Accounting > Configuration > Tax Groups. Tax groups control how taxes are displayed on invoices and reports:

  • Name — Group label shown on invoices (e.g., "VAT", "GST", "Sales Tax")
  • Country — Country this group applies to
  • Preceding Subtotal — Text shown before the tax group subtotal on invoices

All taxes assigned to the same group appear as a single subtotal line on printed invoices. Create separate groups if you need to show different tax types separately.

Step 4: Tax Included vs. Excluded

Configure how prices are displayed:

  • Tax Excluded — Prices shown without tax. Tax is added on top. Common for B2B
  • Tax Included — Prices shown with tax included. Tax is extracted from the price. Common for B2C retail

Set the display mode under Accounting > Configuration > Settings > Taxes. Choose between:

  • Tax-Excluded — Shows subtotals without tax
  • Tax-Included — Shows subtotals with tax

On individual taxes, the Included in Price checkbox determines whether the tax is computed on top of or extracted from the line price.

Step 5: Configure Tax Tags

Tax tags link taxes to government reporting lines. Navigate to the tax form and check the Tax Report tab:

  • Assign tags that map to your country's tax return boxes
  • Tags determine where tax amounts appear in VAT/GST returns
  • Your localization package configures default tag mappings

Step 6: Tax Rounding

Under Accounting > Configuration > Settings, configure the Tax Computation rounding method:

  • Round per Line — Tax is computed and rounded on each invoice line individually
  • Round Globally — Tax is computed on all lines, then rounded once. Can produce different totals due to rounding accumulation

Step 7: Group Taxes

For jurisdictions with compound taxes (e.g., federal 5% + state 7%):

  1. Create individual taxes for each component
  2. Create a "Group of Taxes" type tax
  3. Add the component taxes as children
  4. Assign the group tax to products

On invoices, the group shows a single line but computes each component tax correctly.

Step 8: Assign Taxes to Products

On the product form, set default taxes:

  • Customer Taxes — Taxes applied on sales (under the General Information tab or Sales tab)
  • Vendor Taxes — Taxes applied on purchases (under the Purchase tab)

These defaults can be overridden by fiscal positions, which map taxes based on customer location.

Best Practices

  • Use your localization package as the starting point — it includes country-specific tax rates and reporting tags
  • Create tax groups that match how you want taxes displayed on invoices
  • Test tax computation with both tax-included and tax-excluded scenarios
  • Keep tax names consistent and descriptive for easy identification
  • Review tax configuration with your accountant before processing live transactions