OdooWiki OCA HUB

Avalara Avatax Certified Connector for Sales Orders

account_avatax_sale_oca folder_open OCA/account-fiscal-rule open_in_new
Accounting License: AGPL-3

This module is a component of the Avatax Integration with odoo app. Please refer to the corresponding documentation.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Adds Avalara AvaTax tax calculation directly to Sales Orders, so taxes are computed by the AvaTax service and stored on the order and its lines. Users can also manage customer exemption numbers and choose whether tax is based on the shipping or invoice address.

This module connects Sales Orders to the Avalara AvaTax tax service. On a sales order, a "Compute Taxes" button appears when the order uses an AvaTax fiscal position; pressing it sends the order to AvaTax and writes the returned tax amount on each line and on the order total.

  • The order form shows an AvaTax amount, an exemption number and exemption code, a location code, and a "Tax based on shipping address" option. Account managers can edit the exemption fields; other users see them read-only.
  • Exemption numbers and codes are filled automatically from the invoice partner's addresses when the country and state match the tax address, or when the customer is exempt country-wide.
  • A configuration screen adds three settings: use the invoice partner's customer code, automatically calculate tax when a sales order is saved, and let AvaTax replace other taxes on the line.
  • When quantities, prices, discounts or the warehouse change, the previously computed AvaTax amount is reset so the standard Odoo tax is shown until the order is confirmed or recalculated.
  • On confirmation, if address validation is required, the partner addresses must be validated first; otherwise taxes are computed automatically.
  • The module also touches invoices by carrying the exemption code, location code, warehouse and shipping-address tax choice from the sales order to the invoice.
  • A technical "Avatax Log" tab stores the request and response sent to and received from the AvaTax service.

Depends on

Models and fields (5)
  • sale.order · extends an existing modelis_avatax, tax_amount (AvaTax), location_code, exemption_code (Exemption Number), hide_exemption (Hide Exemption & Tax Based on shipping address), tax_address_id, 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)
  • account.tax · extends an existing model
  • account.move · extends an existing model
  • sale.order.line · extends an existing modeltax_amt (AvaTax)
  • avalara.salestax · extends an existing modelsale_calculate_tax (Auto Calculate Tax on SO Save), override_line_taxes, use_partner_invoice_id (Use Invoice partner's customer code in SO)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/account-fiscal-rule.

terminal Installation and usage

OCA documentation · Odoo 18.0

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.
  • Hide Exemption & Tax Based on shipping address -- this will provide this feature support at sale order level.

Tax Exemption Status

  • Tax exemption status can be defined on Contacts.
  • In a multi-company environment, the exemption status is defined per Company, since each individual company is required to secure the exemption certificates to claim for exemption application, and this may not be the case for all Companies.
  • If the customer is tax exempt, in the "Avatax" tab, check the "Is Tax Exempt" checkbox. When checked, the exemption details can be provided. The Exemption Code is the type of exemption, and the Exemption Number is an identification number to use on the customer's State.
  • This exemption status will only be applied for delivery addresses in the State matching the State of the exemption address. The same customer can have exemptions on several states. For this use additional Contact/Addresses for those states, and enter the exempention details there.
  • To make this data management simpler, is it possible to set the customer as exempt country wide, using the corresponding checkbox. In this case the exemption status will be used for delivery addresses in any state. Using this option has compliance risks, so plase use it with care.

No verified information in OCA: Installation, Configuration.

info

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.