Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) • Inventory (stock) |
Lines of code | 3033 |
Technical Name |
avatax_connector |
License | AGPL-3 |
Versions | 9.0 10.0 11.0 12.0 |
Sales Tax Calculation Made Easy
Avatax module automates the complex task of sales tax calculation with ease
Overview
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 utilizes core certified modules from Odoo as dependencies. The following dependencies will be installed: base, sale, account, account_accountant, and stock modules. The module also has sandbox data for configuration with demo deployments as needed. Once configured, the module operates in the background and performs calculations and reporting seamlessly to the AvaTax server. Account information to access the Avatax dashboard can be obtained through the Avalara website here:
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.
Installation
- Download the AvaTax Module
- Extract the downloaded file
- Upload the extracted directory into your Odoo module/add-on directory
- Restart your instance of Odoo
- Log in as an Administrator
- Navigate to 'Apps' and search 'AvaTax' in the search field
- Click Install button
To Configure AvaTax API
- Navigate to: Accounting or Invoicing App >> Configuration >> AvaTax >> AvaTax API
- Click the Create button.
- Uncheck the Disable AvaTax Calculation box
- Fill out the form with your Company Code, Account Number, and License Key as provided with your Avalara account
- Fill out proper service URL provided to you by Avalara (developer/testing server or production URL)
- Production: https://avatax.avalara.net
- Developer: https://development.avalara.net
- Click the Test Connection button
- Click the Save button
Some other configuration
Adapter
- Request Timeout -- default is 300ms
- Enable Logging -- enables detailed AvaTax transaction logging within application
Address Validation
- Disable Address Validation
- Address Validation on save for customer profile -- automatically attempts to validate on creation and update of customer profile, last validation date will be visible and stored
- Force Address Validation -- 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
- Automatically generate customer code -- generates a customer code on creation and update of customer profile
Avalara Submissions/Transactions
- Disable Avalara Tax Commit -- validated invoices will not be sent to 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.
Countries
-
Add or remove applicable countries -- the calculator will not calculate for a country unless it's on the list.
Configure Exemption Codes
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.
Product Tax Codes
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.
Configure Taxes
The AvaTax module is integrated into the tax calculation of Odoo. AVATAX is automatically added as a type of taxes to be applied. You can configure how AVATAX integrates within the Odoo system.
Configure AVATAX Tax Type
- Navigate to: Accounting or Invoicing App >> Configuration >> Accounting >> Taxes
- Select AVATAX from the list view (automatically added on module install).
- Click the Edit button to configure the AVATAX Tax Type with the proper tax account configuration for your system.
Product Category Configuration
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
Product Configuration
Individual products default to the tax code assigned to their product category; however, you can change the tax codes if needed. Tax calculations for a specific product can be disabled and will default to the product tax settings for the product category it belongs to.
Create New Product
- Navigate to: Sales >> Products >> Products
- Click Create button
Configure Product Tax Code
- Under General Information >> Product Category, select a Product Category
- Under AvaTax >> AvaTax Properties >> Product Tax Code, you can set a custom tax code to override the product category tax code
Company Configuration
Each company linked to AvaTax and their associated warehouses should be configured to ensure the correct tax is calculated and applied for all transactions.
Warehouse Configuration
- Navigate to: Inventory >> Configuration >> Warehouse Management >> Warehouses
- Select the warehouse associated with your company
- Under Address, follow the link to be directed to your warehouse profile
Configure Warehouse Address
- Enter Warehouse Address
- Under AvaTax >> Validation, click Validate button
Customer Configuration
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 Customer Address
- Enter Customer Address
- Under AvaTax >> Validation, click Validate button
Address Validation
The 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
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 exemptiions 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.
Customer 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.
Tax exemption status is applied to the Invoice, using the exemption information available for the Invoiced Customer, on its main address or on any child Contact/Address. An exemption status lookup is done using the State and Country of the Delivery Address.
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.
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.
Tax exemption status is applied to the Sales Order, using the exemption information available for the Invoicing Partner, on its main address or on any child Contact/Address. An exemption status lookup is done using the State and Country of the Delivery Address.
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.
Please log in to comment on this module
Report comment
Any abuse of this reporting system will be penalizedThere are no ratings yet!
US States threshold
How does this connector handle tax collection when sales to a certain state surpass the state's threshold, requiring the company to start collection?
Will Avalara automatically start to collect sales tax on behalf of the company or is it a manual process?
Roadmap for Odoo13 module
Hello, We are interested in this module for Avalara integration, however we are currently using Odoo version 13. Is there an expected timeline for a v13 release of this module? Thank you! Mike
Re: Does This Module Support Discounts
Hello Andrew, a new version of the module was just published (12.0.2.0.0). This version went through the Avalara's official certification process, and discounts on lines was one of the items checked. Can you please update your version and recheck that use case? If you find any issue, you can report it at https://github.com/sodexis/avatax_connector/issues.
Does This Module Support Discounts
Does this module support the "Negative Amount Line Items" discounts as outlined here: https://developer.avalara.com/avatax/dev-guide/discounts-and-overrides/discounts/