LGPL-3.0-or-later OR AGPL-3.0-or-later Beta Odoo 16 / 17 / 18 / 19
Replace Odoo's static US sales-tax rate tables with destination-based
calculation against an
OpenSalesTax
engine instance. The connector hooks Odoo's tax pipeline (the new
batch tax engine on 18+, legacy compute_all on 16/17) to
call the engine for US customers with a valid 5-digit ZIP, returning
the per-jurisdiction breakdown (state / county / city / district) on
every sales order, customer invoice, credit note, and POS order.
The engine is a self-hostable Python service maintained by the same author. No SaaS, no per-transaction fees, no data leaves your infrastructure.
This module is the free, self-hostable alternative to Avalara on Odoo Community Edition. For Enterprise users, it is designed to coexist with the proprietary Avalara module on a per-fiscal-position basis.
account.move lists.res.partner.pip install 'odoo-addon-account-ostax>=18.0,<19.0' # for Odoo 18 # (use >=16.0.0.1.12,<17.0 / >=17.0,<18.0 / >=19.0,<20.0 # for the other branches)
Then in Odoo: Apps → search "OpenSalesTax" → Install, then Settings → Accounting → OpenSalesTax to configure the engine URL and click Test Connection.
Tested against OpenSalesTax engine v0.54.1+. Minimum: v0.22. The connector requires the v1 HTTP API.
Tax calculations are provided as-is for convenience. The merchant is solely responsible for tax-collection accuracy and remittance to the appropriate jurisdictions. Verify against your state Department of Revenue before remitting.
This module does NOT file returns, remit collected tax, validate addresses, or provide legal/tax advice.
Dual-licensed under your choice of either
LGPL-3.0-or-later OR AGPL-3.0-or-later.
SPDX expression: LGPL-3.0-or-later OR AGPL-3.0-or-later.
Issue tracker:
github.com/ejosterberg/opensalestax-odoo/issues.
DCO sign-off required on every commit; no AI co-author trailers. See
CONTRIBUTING.md.