Search 1.9 billion lines of Odoo code on GitHub

account_avatax

Author: Open Source Integrators, Fabrice Henrion,Sodexis, Odoo Community Association (OCA)
License: AGPL-3
Branch: 14.0
Repository: OCA/account-fiscal-rule
Dependencies: account, base, base_geolocalize, product, and sale_stock
Languages: HTML (691, 20.9%), Python (1540, 46.6%), XML (585, 17.7%), and reStructuredText (491, 14.8%)
Other branches: 13.0, 13.0-ocabot-merge-pr-127-by-dreispt-bump-major, and 15.0
Other repositories: Change2improve/account-fiscal-rule, Gabinete-Digital/account-fiscal-rule, Ingeos/account-fiscal-rule, NeatNerdPrime/account-fiscal-rule, SeuMarco/account-fiscal-rule, Tecnativa/account-fiscal-rule, Vauxoo/account-fiscal-rule, acsone/account-fiscal-rule, akretion/account-fiscal-rule, anderswallenquist/account-fiscal-rule, aurestic/account-fiscal-rule, brain-tec/account-fiscal-rule, coopiteasy/account-fiscal-rule, kmee/account-fiscal-rule, legalsylvain/account-fiscal-rule, marclebrun/account-fiscal-rule, and ursais/account-fiscal-rule

<h1 class="title">Avalara Avatax Connector</h1> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/account-fiscal-rule/tree/14.0/account_avatax"><img alt="OCA/account-fiscal-rule" src="https://img.shields.io/badge/github-OCA%2Faccount--fiscal--rule-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/account-fiscal-rule-14-0/account-fiscal-rule-14-0-account_avatax"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/93/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://developer.avalara.com/certification/avatax/sales-tax-badge/"><img alt="Sales Tax Certification" src="https://raw.githubusercontent.com/OCA/account-fiscal-rule/14.0/account_avatax/static/description/SalesTax.png" style="width: 250px;" /></a> <a class="reference external" href="https://developer.avalara.com/certification/avatax/refunds-credit-memos-badge/"><img alt="Refunds Certification" src="https://raw.githubusercontent.com/OCA/account-fiscal-rule/14.0/account_avatax/static/description/Refunds.png" style="width: 250px;" /></a> <a class="reference external" href="https://developer.avalara.com/certification/avatax/address-validation-badge/"><img alt="Address Validation Certification" src="https://raw.githubusercontent.com/OCA/account-fiscal-rule/14.0/account_avatax/static/description/AddressValidation.png" style="width: 250px;" /></a></p> <p>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).</p> <p>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.</p> <p>This module is compatible both with the Odoo Enterprise and odoo Community editions.</p> <p>An Avatax account is needed. Account information to access the Avatax dashboard can be obtained through the Avalara website here: <a class="reference external" href="https://www.avalara.com/products/avatax/">https://www.avalara.com/products/avatax/</a></p> <p>Once configured, the module operates in the background and performs calculations and reporting seamlessly to the AvaTax server.</p> <p>This guide includes instructions for the following elements:</p> <ul class="simple"> <li>Activating your organization's AvaTax account and downloading the product</li> <li>Entering the AvaTax credentials into your Odoo database and configuring it to use AvaTax services and features within Odoo</li> </ul> <p>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.</p> <div class="admonition important"> <p class="first admonition-title">Important</p> <p class="last">This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. <a class="reference external" href="https://odoo-community.org/page/development-status">More details on development status</a></p> </div> <p><strong>Table of contents</strong></p> <div class="contents local topic" id="contents"> <ul class="simple"> <li><a class="reference internal" href="#installation" id="id1">Installation</a></li> <li><a class="reference internal" href="#configuration" id="id2">Configuration</a><ul> <li><a class="reference internal" href="#configure-exemption-codes" id="id3">Configure Exemption Codes</a></li> <li><a class="reference internal" href="#product-tax-codes" id="id4">Product Tax Codes</a></li> <li><a class="reference internal" href="#configure-taxes" id="id5">Configure Taxes</a></li> <li><a class="reference internal" href="#product-category-configuration" id="id6">Product Category Configuration</a></li> <li><a class="reference internal" href="#company-configuration" id="id7">Company Configuration</a></li> <li><a class="reference internal" href="#customer-configuration" id="id8">Customer Configuration</a></li> </ul> </li> <li><a class="reference internal" href="#usage" id="id9">Usage</a><ul> <li><a class="reference internal" href="#customer-invoices" id="id10">Customer Invoices</a><ul> <li><a class="reference internal" href="#create-new-customer-invoice" id="id11">Create New Customer Invoice</a></li> <li><a class="reference internal" href="#validate-invoice" id="id12">Validate Invoice</a></li> <li><a class="reference internal" href="#register-payment" id="id13">Register Payment</a></li> </ul> </li> <li><a class="reference internal" href="#customer-refunds" id="id14">Customer Refunds</a></li> <li><a class="reference internal" href="#sales-orders" id="id15">Sales Orders</a></li> </ul> </li> <li><a class="reference internal" href="#known-issues-roadmap" id="id16">Known issues / Roadmap</a></li> <li><a class="reference internal" href="#bug-tracker" id="id17">Bug Tracker</a></li> <li><a class="reference internal" href="#credits" id="id18">Credits</a><ul> <li><a class="reference internal" href="#authors" id="id19">Authors</a></li> <li><a class="reference internal" href="#contributors" id="id20">Contributors</a></li> <li><a class="reference internal" href="#other-credits" id="id21">Other credits</a></li> <li><a class="reference internal" href="#maintainers" id="id22">Maintainers</a></li> </ul> </li> </ul> </div> <a name="installation"></a> <h2><a class="toc-backref" href="#id1">Installation</a></h2> <p>To install this app:</p> <ul class="simple"> <li>Download the AvaTax Module</li> <li>Extract the downloaded file</li> <li>Upload the extracted directory into your Odoo module/add-on directory</li> <li>Restart your instance of Odoo</li> <li>Log in as an Administrator</li> <li>Navigate to 'Apps' and search 'AvaTax' in the search field</li> <li>Click Install button</li> </ul> <a name="configuration"></a> <h2><a class="toc-backref" href="#id2">Configuration</a></h2> <p>To Configure AvaTax API:</p> <ul class="simple"> <li>Navigate to: Accounting or Invoicing App &gt;&gt; Configuration &gt;&gt; AvaTax &gt;&gt; AvaTax API</li> <li>Click the Create button.</li> <li>Uncheck the Disable AvaTax Calculation box</li> <li><dl class="first docutils"> <dt>Fill out the form with your Company Code, Account Number, and License Key</dt> <dd>as provided with your Avalara account</dd> </dl> </li> <li>Select the proper service URL provided to you by Avalara: test or production.</li> <li>Click the Test Connection button</li> <li>Click the Save button</li> </ul> <p>Other Avatax API advanced configurations:</p> <ul> <li><p class="first">Adapter</p> <ul class="simple"> <li>Request Timeout -- default is 300ms</li> <li>Enable Logging -- enables detailed AvaTax transaction logging within application</li> </ul> </li> <li><p class="first">Address Validation</p> <ul class="simple"> <li>Disable Address Validation</li> <li>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</li> <li>Force Address Validation -- if validation for customer is required but not valid, the validation will be forced</li> <li>Return validation results in upper case -- validation results will return in upper case form</li> <li>Automatically generate customer code -- generates a customer code on creation and update of customer profile</li> </ul> </li> <li><p class="first">Avalara Submissions/Transactions</p> <ul class="simple"> <li>Disable Avalara Tax Commit -- validated invoices will not be sent to Avalara</li> <li>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.</li> </ul> </li> <li><p class="first">Countries</p> <blockquote> <ul class="simple"> <li>Add or remove applicable countries -- the calculator will not calculate for a country unless it's on the list.</li> </ul> </blockquote> </li> </ul> <a name="configure-exemption-codes"></a> <h3><a class="toc-backref" href="#id3">Configure Exemption Codes</a></h3> <dl class="docutils"> <dt>Exemption codes are allowed for users where they may apply (ex. Government entities).</dt> <dd>Navigate to: Accounting or Invoicing App &gt;&gt; Configuration &gt;&gt; AvaTax &gt;&gt; Exemption Code</dd> <dt>The module is installed with 16 predefined exemption codes.</dt> <dd>You can add, remove, and modify exemption codes.</dd> </dl> <a name="product-tax-codes"></a> <h3><a class="toc-backref" href="#id4">Product Tax Codes</a></h3> <p>Create product tax codes to assign to products and/or product categories. Navigate to: Accounting or Invoicing App &gt;&gt; Configuration &gt;&gt; AvaTax &gt;&gt; Product Tax Codes.</p> <p>From here you can add, remove, and modify the product tax codes.</p> <a name="configure-taxes"></a> <h3><a class="toc-backref" href="#id5">Configure Taxes</a></h3> <p>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.</p> <p>Configure AVATAX Tax Type:</p> <ul class="simple"> <li>Navigate to: Accounting or Invoicing App &gt;&gt; Configuration &gt;&gt; Accounting &gt;&gt; Taxes</li> <li>Select AVATAX from the list view (automatically added on module install).</li> <li>Click the Edit button to configure the AVATAX Tax Type with the proper tax account configuration for your system.</li> </ul> <p>Note: Upon initial install the settings will be blank. The image shows the demo configuration.</p> <a name="product-category-configuration"></a> <h3><a class="toc-backref" href="#id6">Product Category Configuration</a></h3> <p>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.</p> <ul class="simple"> <li>Create New Product Category<ul> <li>Navigate to: Inventory &gt;&gt; Configuration &gt;&gt; Products &gt;&gt; Product Categories</li> <li>Click Create button</li> </ul> </li> <li>Configure Product Category Tax Code<ul> <li>Under AvaTax Properties &gt;&gt; Tax Code</li> <li>Select the desired Tax Code</li> </ul> </li> </ul> <a name="company-configuration"></a> <h3><a class="toc-backref" href="#id7">Company Configuration</a></h3> <p>Each company linked to AvaTax and their associated warehouses should be configured to ensure the correct tax is calculated and applied for all transactions.</p> <p>Warehouse Configuration</p> <ul class="simple"> <li>Navigate to: Inventory &gt;&gt; Configuration &gt;&gt; Warehouse Management &gt;&gt; Warehouses</li> <li>Select the warehouse associated with your company</li> <li>Under Address, follow the link to be directed to your warehouse profile</li> </ul> <p>Configure Warehouse Address</p> <ul class="simple"> <li>Enter Warehouse Address</li> <li>Under AvaTax &gt;&gt; Validation, click Validate button</li> </ul> <a name="customer-configuration"></a> <h3><a class="toc-backref" href="#id8">Customer Configuration</a></h3> <p>Properly configuring each customer ensures the correct tax is calculated and applied for all transactions.</p> <p>Create New Customer</p> <ul class="simple"> <li>Navigate to Contacts</li> <li>Click Create button</li> </ul> <p>Configure and Validate Customer Address</p> <ul class="simple"> <li>Enter Customer Address</li> <li>Under AvaTax &gt;&gt; Validation, click Validate button</li> <li>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.</li> </ul> <p>Tax Exemption Status</p> <ul class="simple"> <li>If the customer is tax exempt, check the box under AvaTax &gt;&gt; Tax Exemption &gt;&gt; Is Tax Exempt and</li> <li>Select the desired Tax Exempt Code from the dropdown menu.</li> </ul> <a name="usage"></a> <h2><a class="toc-backref" href="#id9">Usage</a></h2> <a name="customer-invoices"></a> <h3><a class="toc-backref" href="#id10">Customer Invoices</a></h3> <p>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.</p> <p>A validated invoice will have a Committed status and a cancelled invoice will have a Voided status.</p> <p>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.</p> <p>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.</p> <a name="create-new-customer-invoice"></a> <h4><a class="toc-backref" href="#id11">Create New Customer Invoice</a></h4> <ul class="simple"> <li>Navigate to: Accounting or Invoicing &gt;&gt; Customers &gt;&gt; Invoices.</li> <li>Click Create button.</li> </ul> <a name="validate-invoice"></a> <h4><a class="toc-backref" href="#id12">Validate Invoice</a></h4> <ul class="simple"> <li>Ensure that Tax based on shipping address is checked.</li> <li>Line items should have AVATAX selected under Taxes for internal records.</li> <li>To complete the invoice, click the Validate button.</li> <li>The sale order will now appear in the AvaTax dashboard.</li> </ul> <a name="register-payment"></a> <h4><a class="toc-backref" href="#id13">Register Payment</a></h4> <ul class="simple"> <li>Click the Register Payment button to finalize the invoice.</li> </ul> <a name="customer-refunds"></a> <h3><a class="toc-backref" href="#id14">Customer Refunds</a></h3> <p>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.</p> <dl class="docutils"> <dt>Refunded invoice transactions will be indicated</dt> <dd>with a negative total in the AvaTax interface.</dd> </dl> <p>Initiate Customer Refund</p> <ul class="simple"> <li>Navigate to: Accounting or Invoicing &gt;&gt; Customers &gt;&gt; Invoices</li> <li>Select the invoice you wish to refund</li> <li>Click Add Credit Note button</li> </ul> <p>Create Credit Note</p> <ul class="simple"> <li>Under Credit Method, select Create a draft credit note.</li> <li>Enter a reason.</li> <li>Click Add Credit Note button.</li> </ul> <p>Note: You will be taken to the Credit Notes list view</p> <p>Validate Refund</p> <ul class="simple"> <li>Select the Credit Note you wish to validate, review and then click Validate button.</li> </ul> <p>Register Refund Payment</p> <ul class="simple"> <li>Click Register Payment button to complete a refund</li> </ul> <a name="sales-orders"></a> <h3><a class="toc-backref" href="#id15">Sales Orders</a></h3> <p>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.</p> <dl class="docutils"> <dt>The information placed in the sales order will automatically pass to the invoice</dt> <dd>on the Avalara server and can be viewed in the AvaTax control panel.</dd> </dl> <p>Discounts are handled when they are enabled in Odoo's settings. They will be reported as a net deduction on the line item cost.</p> <p>Create New Sales Order</p> <ul class="simple"> <li>Navigate to: Sales &gt;&gt; Orders &gt;&gt; Orders</li> <li>Click Create button</li> </ul> <p>Compute Taxes with AvaTax</p> <ul class="simple"> <li>The module will calculate tax when the sales order is confirmed, or by navigating to Action &gt;&gt; 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.</li> <li>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.</li> </ul> <a name="known-issues-roadmap"></a> <h2><a class="toc-backref" href="#id16">Known issues / Roadmap</a></h2> <p>The development of this module was driven by US companies to compute Sales Tax.</p> <p>However the Avatax service supports more use cases, that could be added:</p> <ul class="simple"> <li>Add support to EU VAT</li> <li>Add support to US Use Tax on Purchases / vendor Bills</li> </ul> <p>Other improvements that could be added:</p> <ul class="simple"> <li>Detect and warn if customers State is not a nexus available for the current account</li> </ul> <a name="bug-tracker"></a> <h2><a class="toc-backref" href="#id17">Bug Tracker</a></h2> <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-fiscal-rule/issues">GitHub Issues</a>. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed <a class="reference external" href="https://github.com/OCA/account-fiscal-rule/issues/new?body=module:%20account_avatax%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <p>Do not contact contributors directly about support or help with technical issues.</p> <a name="credits"></a> <h2><a class="toc-backref" href="#id18">Credits</a></h2> <a name="authors"></a> <h3><a class="toc-backref" href="#id19">Authors</a></h3> <ul class="simple"> <li>Open Source Integrators</li> <li>Fabrice Henrion</li> <li>Sodexis</li> </ul> <a name="contributors"></a> <h3><a class="toc-backref" href="#id20">Contributors</a></h3> <ul class="simple"> <li>Odoo SA<ul> <li>Fabrice Henrion</li> </ul> </li> <li>Open Source Integrators (<a class="reference external" href="https://opensourceintegrators.com">https://opensourceintegrators.com</a>)<ul> <li>Daniel Reis &lt;<a class="reference external" href="mailto:dreis&#64;opensourceintegrators.com">dreis&#64;opensourceintegrators.com</a>&gt;</li> <li>Bhavesh Odedra &lt;<a class="reference external" href="mailto:bodedra&#64;opensourceintegrators.com">bodedra&#64;opensourceintegrators.com</a>&gt;</li> </ul> </li> <li>Serpent CS<ul> <li>Murtuza Saleh</li> </ul> </li> <li>Sodexis<ul> <li>Atchuthan Ubendran</li> </ul> </li> </ul> <a name="other-credits"></a> <h3><a class="toc-backref" href="#id21">Other credits</a></h3> <p>This module was originally developed by Fabrice Henrion at Odoo SA, and maintained up to version 11.</p> <p>For version 12, Fabrice invited partners to migrate this modules to later version, and maintain it.</p> <p>Open Source Integrators performed the migration to Odoo 12 , and later added support for the more up to date REST API , alongside with the legacy SOAP API.</p> <p>With the addition of the REST API, a deep refactor was introduced, changing the tax calculation approach, from just setting the total tax amount, to instead adding the tax rates to each document line and then having Odoo do all the other computations.</p> <p>For Odoo 13, the legacy SOAP support was supported, and additional refactoring was done to contribute the module to the Odoo Community Association.</p> <a name="maintainers"></a> <h3><a class="toc-backref" href="#id22">Maintainers</a></h3> <p>This module is maintained by the OCA.</p> <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> <p>OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.</p> <p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p> <p><a class="reference external" href="https://github.com/dreispt"><img alt="dreispt" src="https://github.com/dreispt.png?size=40px" /></a></p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-fiscal-rule/tree/14.0/account_avatax">OCA/account-fiscal-rule</a> project on GitHub.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>

Dependency Graph