account_avatax_oca
Integrates Odoo with Avalara AvaTax to compute, report, and manage North American sales taxes with automated configuration and validation tools.
Key Features
- avalara.salestax: Stores AvaTax credentials per company, manages address validation and document reporting options, and wraps the REST API for tax transactions.
- res.company: Retrieves the active AvaTax configuration per company and warns when setups are missing or duplicated.
- exemption.code: Provides a catalog of Avalara exemption codes with display names combining short codes and descriptions.
- account.fiscal.position: Adds a toggle to mark fiscal positions that should trigger AvaTax tax computation.
- account.move: Automatically assigns customer exemptions based on shipping addresses and fiscal positions while invoices remain in draft.
- account.move: Sends invoices and refunds to AvaTax for tax calculation, updates line taxes accordingly, and stores request and response logs.
- account.move: Commits transactions to AvaTax on posting, handles voids when reverting to draft, and supports unvoiding when documents already exist remotely.
- account.move: Recomputes AvaTax taxes automatically when configurable fields change or when invoices are saved if auto-calculation is enabled.
- account.move: Propagates warehouse codes, shipping address flags, and origin references needed for AvaTax location-based tax determination.
- account.move.line: Prepares AvaTax payload lines using product codes or UPCs, preserves per-line tax amounts, and resets them on price changes.
- account.tax: Generates AvaTax tax records per computed rate from a template and reuses AvaTax amounts when taxes are recomputed.
- res.partner: Adds fields for AvaTax exemption data, customer codes, and validation metadata with automatic generation of unique customer codes.
- res.partner: Supports automatic or manual address validation through AvaTax, updating coordinates and capturing validation dates and methods.
- res.partner: Warns users when marking exemptions as country-wide to highlight compliance risks.
- avalara.salestax.address.validate: Presents a wizard that displays the original and validated address returned by AvaTax and lets users accept the corrected data.
- avalara.salestax.ping: Provides a wizard action to ping the AvaTax service and confirm connectivity.
- avalara.salestax.getcompany: Fetches available AvaTax companies through the API and lets administrators assign the company code.
- product.tax.code: Introduces an AvaTax code model categorizing product, freight, service, digital, or other taxability codes.
- product.template: Allows assigning AvaTax tax codes on products and computes fallback codes from the product category hierarchy.
- product.category: Stores AvaTax code defaults that cascade down the category tree for use on products.
- security: Enforces multi-company record rules for AvaTax configurations and removes obsolete access rules.
- installation: Keeps legacy AvaTax identifiers intact when migrating from the renamed module via a pre-init hook.