Avalara Avatax Certified Connector
AVALARA CERTIFICATION PENDING!
Odoo provides integration with AvaTax, a tax solution software by Avalara which includes sales tax calculation for all US states and territories and all Canadian provinces and territories (including GST, PST, and HST).
This module is capable of automatically detecting origin (Output Warehouse) and destination (Client Address), then calculating and reporting taxes to the user's Avalara account as well as a recording the correct sales taxes for the validated addresses within Odoo ERP.
This module is compatible both with the Odoo Enterprise and Odoo Community editions.
An Avatax account is needed. Account information to access the Avatax dashboard can be obtained through the Avalara website here:
Once configured, the module operates in the background and performs calculations and reporting seamlessly to the AvaTax server.
This guide includes instructions for the following elements:
- Activating your organization's AvaTax account and downloading the product
- Entering the AvaTax credentials into your Odoo database and configuring it to use AvaTax services and features within Odoo
Note: Test the module before deploying in live environment. All changes to the AvaTax settings must be performed by a user with administrative access rights.
IMPORTANT - resolving name conflict with Odoo EE
Avatax support was added to Odoo EE 14 and 15. Unfortunately the module names used are the same as the OCA ones, and because of this name collision the OCA modules were forced to change name.
The main module was renamed from account_avatax (now used by Odoo EE) to account_avatax_oca.
To apply this change in your odoo database and continue using the OCA Avalara certified connector:
> 1. Ensure you have the latest version from the OCA, and you see account_avatax_oca > in your Apps list. > > 2. Install the new account_avatax_oca module > > 3. Unistall the account_avatax module > > 4. Confirm that your configurations were kept safe, in particular: > Avatax API, "Avatax" default Fiscal Position, and "Avatax" default > Tax record.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Connect Odoo to Avalara AvaTax to automatically calculate US/Canada sales tax on invoices and sale orders, validate customer addresses, and record or void tax transactions in AvaTax.
This module adds an AvaTax connection to Odoo Accounting. After entering your Avalara account number, licence key and company code in the AvaTax configuration screen, Odoo can send each sales invoice or credit note to AvaTax and get back the correct sales tax.
- On invoices and credit notes you get an AvaTax amount, a per-line AvaTax amount, a warehouse/location code, and a choice to tax the shipping address or the customer address. Buttons let you compute taxes, commit them to AvaTax, or void them when you reset an invoice to draft.
- Customer addresses can be validated against AvaTax from the contact form; the last validation date and method are stored. You can require validated addresses before tax is computed.
- Customers can be marked tax exempt with an exemption number and exemption code, and exemptions are found automatically from the delivery address country and state.
- Products and product categories can carry an AvaTax tax code, and a UPC option can send the barcode instead of the internal reference.
- Configuration options include sandbox or production URL, request timeout, logging of API requests, automatic address validation, automatic customer code generation, disabling tax calculation, and disabling document recording.
- Menus appear under Accounting configuration: AvaTax API, Exemption Code and Product Tax Codes. Wizards are provided to test the connection, pick the AvaTax company code, and validate an address.
The module touches account.move, account.move.line, account.tax, account.fiscal.position, res.partner, res.company, product.template, product.category, stock.warehouse and adds avalara.salestax, exemption.code, product.tax.code and several wizards.
Depends on
Required by other modules
Menus it adds
Models and fields (14)
- account.tax · extends an existing modelis_avatax
- res.company · extends an existing model
- res.partner · extends an existing modeltax_exempt (Is Tax Exempt (Deprecated))), customer_code, date_validation (Last Validation Date), exemption_number (Exemption Number (Deprecated)), exemption_code_id, validated_on_save, validation_method, property_tax_exempt (Is Tax Exempt), property_exemption_number (Exemption Number), property_exemption_code_id, property_exemption_country_wide (Exemption Applies Country Wide)
- account.move · extends an existing modelis_avatax, warehouse_id, avatax_amount (AvaTax), location_code, so_partner_id (SO Partner), exemption_code (Exemption Number), hide_exemption (Hide Exemption & Tax Based on shipping address), invoice_doc_no (Source/Ref Invoice No), tax_address_id, exemption_locked, exemption_code_id, avatax_request_log (Avatax API Request Log), avatax_response_log (Avatax API Response Log), calculate_tax_on_save, tax_on_shipping_address (Tax based on shipping address)
- exemption.code · new modelcode, name
- avalara.salestax · new modelactive, logging (Log API Requests), company_id, upc_enable (Enable UPC Taxability), country_ids, license_key, service_url (Service URL), company_code, account_number, hide_exemption (Hide Exemption & Tax Based on shipping address), request_timeout, use_so_partner_id (Use Sale Customer Code on Invoice), company_partner_id (Company Address), validation_on_save (Automatic Address Validation), result_in_uppercase (Return validation results in upper case), disable_tax_reporting (Disable Document Recording/Commiting), invoice_calculate_tax (Auto Calculate Tax on Invoice Save), disable_tax_calculation (Disable AvaTax Calculation), force_address_validation (Require Validated Addresses), disable_address_validation, auto_generate_customer_code (Automatically generate missing customer code)
- product.category · extends an existing modeltax_code_id, applicable_tax_code_id
- product.tax.code · new modelname (Code), type, description
- product.template · extends an existing modeltax_code_id, applicable_tax_code_id
- account.move.line · extends an existing modelavatax_amt_line (AvaTax Line)
- avalara.salestax.ping · new modelname
- account.fiscal.position · extends an existing modelis_avatax (Use Avatax API)
- avalara.salestax.getcompany · new modelcompany_code (Select a Company)
- avalara.salestax.address.validate · new modelzip, city, state, street, country, street2, original_zip, original_city, original_state, date_validation, original_street, original_country, original_street2, partner_latitude (Latitude), partner_longitude (Longitude), validation_method
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 15.0
Confirmed on 2026-11-03 in branch 15.0 of OCA/account-fiscal-rule.
terminal Installation and usage
OCA documentation · Odoo 18.0Installation
Source · Odoo 18.0Before installing the Avatax app, the Avalara Python client must be installed in your system. It is available at .
Typically it can be installed in your system usin pip:
pip3 install Avalara
The base app, account_avatax_oca, adds Avatax support to Customer Invoices. In the official app store:
The account_avatax_sale extension adds support to Quotations / Sales Orders. In the official app store:
In most cases you will want to download and install both modules.
To install the Avatax app:
- Download the AvaTax modules
- Extract the downloaded files
- Upload the extracted directories into your Odoo module/addons directory
- Log into Odoo as an Administrator and enable the Developer Mode, in 'Settings'
- Navigate to 'Apps', select the 'Update Apps List' menu, to have the new apps listed.
- In the Apps list, search for 'AvaTax'
- Click on the Install button. If available, the
account_avatax_sale_ocamodule will also be installed automatically.
Configuration
Source · Odoo 18.0To configure an Odoo company to use Avatax, follow these steps. Note tha tsome of them might be configured out of the box for the Odoo default company.
- Configure AvaTax API Connection
- Configure Company Taxes
- Configure Customers
- Configure Products
Configure Avatax API Connection
Before you can configure the Odoo Avatax connector, you will need some connection details ready:
- Login to
- Navigate to Settings \>\> All AvaTax Settings. There you will see the company details.
- Take note of the Account ID and Company Code
- Navigate to Settings \>\> License and API Keys. In the "Reset License Key" tab, click on the "Generate License Key" button, and take note of it.
To configure AvaTax connector in Odoo:
- Navigate to: Accounting/Invoicing App \>\> Configuration \>\> AvaTax \>\> AvaTax API
- Click on the Create button
- Fill out the form with the elements collected from the AvaTax website:
- Account ID
- License Key
- Service URL: usually Production, or Sandox if you have that available.
- Company Code
- Click the Test Connection button
- Click the Save button
Other Avatax API advanced configurations:
- Tax Calculation tab:
- Disable Document Recording/Commiting: invoices will not be stored in Avalara
- Enable UPC Taxability: this will transmit Odoo's product ean13 number instead of its Internal Reference. If there is no ean13 then the Internal Reference will be sent automatically.
- Hide Exemption & Tax Based on shipping address -- this will give user ability to hide or show Tax Exemption and Tax Based on shipping address fields at the invoice level.
- Address Validation tab:
- Automatic Address Validation: automatically attempts to validate on creation and update of customer record, last validation date will be visible and stored
- Require Validated Addresses: if validation for customer is required but not valid, the validation will be forced
- Return validation results in upper case: validation results will return in upper case form
- Advanced tab:
- Automatically generate missing customer code: generates a customer code on creation and update of customer profile
- Log API requests: enables detailed AvaTax transaction logging within application
- Request Timeout: default is 300ms
- Countries: countries where AvaTax can be used.
Configure Company Taxes
Each company linked to AvaTax and their associated warehouses should be configured to ensure the correct tax is calculated and applied for all transactions.
Validate Company Address:
- On the AvTax API configuration form, click on the "Company Address" link
- On the company address form, click on the "validate" button in the "AvaTax" tab
Validate Warehouse Address:
- Navigate to: Inventory \>\> Configuration \>\> Warehouse Management \>\> Warehouses
- For each warehouse, open the correspoding from view
- On the Warehouse form, click on the "Address" link
- On the warehouse address form, click on the "validate" button in the "AvaTax" tab
Fiscal Positions is what tells the AvaTax connector if the AvaTax service should be used for a particular Sales Order or Invoice.
Configure Fiscal Position:
- Navigate to: Accounting/Invoicing App \>\> Configuration \>\> Accounting \>\> Fiscal Positions
- Ensure there is a Fiscal Position record for the Company, with the "Use Avatax API" flag checked
When the appropriate Fiscal Position is being used, and a tax rate is retrieved form AvaTax, then the corresponding Tax is automatically created in Odoo using a template tax record, that should have the appropriate accounting configurations.
Configure Taxes:
- Navigate to: Accounting/Invoicing App \>\> Configuration \>\> Accounting \>\> Taxes
- Ensure there is a Tax record for the Company, with the "Is Avatax" flag checked (visible in the "Advanced Options" tab). This Tax should have:
- Tax Type: Sales
- Tax Computation: Percentage of Price
- Amount: 0.0%
- Distribution for Invoices: ensure correct account configuration
- Distribution for Credit Notes: ensure correct account configuration
Configure Customers
Exemption codes are allowed for users where they may apply (ex. Government entities). Navigate to: Accounting or Invoicing App \>\> Configuration \>\> AvaTax \>\> Exemption Code
The module is installed with 16 predefined exemption codes. You can add, remove, and modify exemption codes.
Properly configuring each customer ensures the correct tax is calculated and applied for all transactions.
Create New Customer
- Navigate to Contacts
- Click Create button
Configure and Validate Customer Address
- Enter Customer Address
- Under AvaTax \>\> Validation, click Validate button
- AvaTax Module will attempt to match the address you entered with a valid address in its database. Click the Accept button if the address is valid.
Tax Exemption Status
- If the customer is tax exempt, check the box under AvaTax \>\> Tax Exemption \>\> Is Tax Exempt and
- Select the desired Tax Exempt Code from the dropdown menu.
Configure Products
Create product tax codes to assign to products and/or product categories. Navigate to: Accounting or Invoicing App \>\> Configuration \>\> AvaTax \>\> Product Tax Codes.
From here you can add, remove, and modify the product tax codes.
Products in Odoo are typically assigned to product categories. AvaTax settings can also be assigned to the product category when a product category is created.
- Create New Product Category
- Navigate to: Inventory \>\> Configuration \>\> Products \>\> Product Categories
- Click Create button
- Configure Product Category Tax Code
- Under AvaTax Properties \>\> Tax Code
- Select the desired Tax Code
Usage
Source · Odoo 18.0Customer Invoices
The AvaTax module is integrated into Sales Invoices and is applied to each transaction. The transaction log in the AvaTax dashboard shows the invoice details and displays whether the transaction is in an uncommitted or committed status.
A validated invoice will have a Committed status and a cancelled invoice will have a Voided status.
The module will check if there is a selected warehouse and will automatically determine the address of the warehouse and the origin location. If no address is assigned to the warehouse, the company address is used.
Discounts are handled when they are enabled in Odoo's settings. They are calculated as a net deduction on the line item cost before the total is sent to AvaTax.
Create New Customer Invoice
- Navigate to: Accounting or Invoicing \>\> Customers \>\> Invoices.
- Click Create button.
Validate Invoice
- Ensure that Tax based on shipping address is checked.
- Line items should have AVATAX selected under Taxes for internal records.
- To complete the invoice, click the Validate button.
- The sale order will now appear in the AvaTax dashboard.
Register Payment
- Click the Register Payment button to finalize the invoice.
Customer Refunds
Odoo applies refunds as opposed to voids in its accounting module. As with customer invoices, the AvaTax module is integrated with customer refunds and is applied to each transaction.
Refunded invoice transactions will be indicated with a negative total in the AvaTax interface.
Initiate Customer Refund
- Navigate to: Accounting or Invoicing \>\> Customers \>\> Invoices
- Select the invoice you wish to refund
- Click Add Credit Note button
Create Credit Note
- Under Credit Method, select Create a draft credit note.
- Enter a reason.
- Click Add Credit Note button.
Note: You will be taken to the Credit Notes list view
Validate Refund
- Select the Credit Note you wish to validate, review and then click Validate button.
Register Refund Payment
- Click Register Payment button to complete a refund
Sales Orders
The AvaTax module is integrated into Sales Orders and allows computation of taxes. Sales order transactions do not appear in the in the AvaTax interface.
The information placed in the sales order will automatically pass to the invoice on the Avalara server and can be viewed in the AvaTax control panel.
Discounts are handled when they are enabled in Odoo's settings. They will be reported as a net deduction on the line item cost.
Create New Sales Order
- Navigate to: Sales \>\> Orders \>\> Orders
- Click Create button
Compute Taxes with AvaTax
- The module will calculate tax when the sales order is confirmed, or by navigating to Action \>\> Update taxes with Avatax. At this step, the sales order will retrieve the tax amount from Avalara but will not report the transaction to the AvaTax dashboard. Only invoice, refund, and payment activity are reported to the dashboard.
- The module will check if there is a selected warehouse and will automatically determine the address of the warehouse and the origin location. If no address is assigned to the warehouse the module will automatically use the address of the company as its origin. Location code will automatically populate with the warehouse code but can be modified if needed.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.