Avalara Avatax Certified Connector for Sales Orders

account_avatax_sale_oca
REPOSITORY
REPOSITORYOCA/account-fiscal-rule
GIT
GIThttps://github.com/OCA/account-fiscal-rule.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-fiscal-rule/tree/18.0/account_avatax_sale_oca
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, oca-ci, kobros-tech
WEBSITE
WEBSITEhttps://github.com/OCA/account-fiscal-rule
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_avatax_oca
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - base_geolocalize
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Avalara
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module is a component of the Avatax Integration with odoo app.
Please refer to the corresponding documentation.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
sale_order_form_view_editable_field sale.order.form.view.editable sale.order field Inherits sale_order_update_form_view
sale_order_update_form_view sale.order.update.form.view sale.order xpath Inherits sale.view_order_form
view_avalara_salestax_form avalara.salestax.inherit avalara.salestax div Inherits account_avatax_oca.view_avalara_salestax_form
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, fixed_multiplicator=1)

New fields (3)
  • override_line_taxes Boolean
    help='When checked, the Avatax computed tax will replace any other taxes that may exist in the document line.'
  • sale_calculate_tax Boolean
    help="Automatically triggers API to calculate tax If changes made onSO's warehouse_id, tax_on_shipping_address, SO line's price_unit, discount, product_uom_qty" args: 'Auto Calculate Tax on SO Save'
  • use_partner_invoice_id Boolean
    default=True help="Use Sales Order's Invoice Address field to determine TaxableStatus" args: "Use Invoice partner's customer code in SO"
Public methods (0)

No public methods.

New fields (11)
  • avatax_request_log Text
    copy=False readonly=True args: 'Avatax API Request Log'
  • avatax_response_log Text
    copy=False readonly=True args: 'Avatax API Response Log'
  • calculate_tax_on_save Boolean
  • exemption_code Char
    compute=_compute_onchange_exemption help='It show the customer exemption number' readonly=False store=True args: 'Exemption Number'
  • exemption_code_id Many2one → exemption.code
    compute=_compute_onchange_exemption help='It show the customer exemption code' readonly=False store=True args: 'exemption.code', 'Exemption Code'
  • hide_exemption Boolean
    compute='_compute_hide_exemption' default=<expr> help='Uncheck this field to show exemption fields on SO/Invoice form view. Also, it will show Tax based on shipping address button' args: 'Hide Exemption & Tax Based on shipping address'
  • is_avatax Boolean
    related='fiscal_position_id.is_avatax'
  • location_code Char
    help='Origin address location code'
  • tax_address_id Many2one → res.partner
    compute='_compute_tax_address_id' readonly=True store=True args: 'res.partner', 'Tax Address'
  • tax_amount Monetary
    string='AvaTax'
  • tax_on_shipping_address Boolean
    default=True args: 'Tax based on shipping address'
Public methods (7)
  • action_confirm(self)
  • avalara_compute_taxes(self)
    Use Avatax API to compute taxes. Sets the Taxes on each line, and lets odoo perfomr teh calculations.
  • create(self, vals_list)
    @api.model_create_multi
  • onchange_avatax_calculation(self)
    @api.onchange('order_line', 'tax_on_shipping_address', 'tax_address_id', 'partner_id')
  • onchange_partner_shipping_id(self)
    @api.onchange('partner_shipping_id', 'partner_id')
    Apply the exemption number and code from the Invoice Partner Data We can only apply an exemption status that matches the delivery address Country and State. The setup for this is to add contact/addresses for the Invoicing Partner, for each of the states we can claim exepmtion for.
  • onchange_reset_avatax_amount(self)
    @api.onchange('order_line', 'fiscal_position_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
  • write(self, vals)

New fields (1)
  • tax_amt Monetary
    string='AvaTax'
Public methods (1)
  • onchange_reset_avatax_amount(self)
    @api.onchange('product_uom_qty', 'discount', 'price_unit', 'tax_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
REPOSITORY
REPOSITORYOCA/account-fiscal-rule
GIT
GIThttps://github.com/OCA/account-fiscal-rule.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-fiscal-rule/tree/17.0/account_avatax_sale_oca
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
COMMITTERS
COMMITTERSDaniel Reis, Weblate, OCA-git-bot, Mourad, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/account-fiscal-rule
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:19:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_avatax_oca
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - base_geolocalize
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Avalara
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module is a component of the Avatax Integration with odoo app.
Please refer to the corresponding documentation.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
sale_order_form_view_editable_field sale.order.form.view.editable sale.order field Inherits sale_order_update_form_view
sale_order_update_form_view sale.order.update.form.view sale.order xpath Inherits sale.view_order_form
view_avalara_salestax_form avalara.salestax.inherit avalara.salestax div Inherits account_avatax_oca.view_avalara_salestax_form
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, fixed_multiplicator=1)

New fields (3)
  • override_line_taxes Boolean
    help='When checked, the Avatax computed tax will replace any other taxes that may exist in the document line.'
  • sale_calculate_tax Boolean
    help="Automatically triggers API to calculate tax If changes made onSO's warehouse_id, tax_on_shipping_address, SO line's price_unit, discount, product_uom_qty" args: 'Auto Calculate Tax on SO Save'
  • use_partner_invoice_id Boolean
    default=True help="Use Sales Order's Invoice Address field to determine TaxableStatus" args: "Use Invoice partner's customer code in SO"
Public methods (0)

No public methods.

New fields (11)
  • avatax_request_log Text
    copy=False readonly=True args: 'Avatax API Request Log'
  • avatax_response_log Text
    copy=False readonly=True args: 'Avatax API Response Log'
  • calculate_tax_on_save Boolean
  • exemption_code Char
    compute=_compute_onchange_exemption help='It show the customer exemption number' readonly=False store=True args: 'Exemption Number'
  • exemption_code_id Many2one → exemption.code
    compute=_compute_onchange_exemption help='It show the customer exemption code' readonly=False store=True args: 'exemption.code', 'Exemption Code'
  • hide_exemption Boolean
    compute='_compute_hide_exemption' default=<expr> help='Uncheck the this field to show exemption fields on SO/Invoice form view. Also, it will show Tax based on shipping address button' args: 'Hide Exemption & Tax Based on shipping address'
  • is_avatax Boolean
    related='fiscal_position_id.is_avatax'
  • location_code Char
    help='Origin address location code'
  • tax_address_id Many2one → res.partner
    compute='_compute_tax_address_id' readonly=True store=True args: 'res.partner', 'Tax Address'
  • tax_amount Monetary
    string='AvaTax'
  • tax_on_shipping_address Boolean
    default=True args: 'Tax based on shipping address'
Public methods (7)
  • action_confirm(self)
  • avalara_compute_taxes(self)
    Use Avatax API to compute taxes. Sets the Taxes on each line, and lets odoo perfomr teh calculations.
  • create(self, vals_list)
    @api.model_create_multi
  • onchange_avatax_calculation(self)
    @api.onchange('order_line', 'tax_on_shipping_address', 'tax_address_id', 'partner_id')
  • onchange_partner_shipping_id(self)
    @api.onchange('partner_shipping_id', 'partner_id')
    Apply the exemption number and code from the Invoice Partner Data We can only apply an exemption status that matches the delivery address Country and State. The setup for this is to add contact/addresses for the Invoicing Partner, for each of the states we can claim exepmtion for.
  • onchange_reset_avatax_amount(self)
    @api.onchange('order_line', 'fiscal_position_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
  • write(self, vals)

New fields (1)
  • tax_amt Monetary
    string='AvaTax'
Public methods (1)
  • onchange_reset_avatax_amount(self)
    @api.onchange('product_uom_qty', 'discount', 'price_unit', 'tax_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
REPOSITORY
REPOSITORYOCA/account-fiscal-rule
GIT
GIThttps://github.com/OCA/account-fiscal-rule.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-fiscal-rule/tree/16.0/account_avatax_sale_oca
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
COMMITTERS
COMMITTERSDaniel Reis, Jordi Ballester Alomar, Florian da Costa, Weblate, OCA-git-bot, oca-ci, Patrick Wilson, Nikul-OSI, Guillaume MASSON, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/account-fiscal-rule
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_avatax_oca
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - base_geolocalize
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Avalara
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
sale_order_update_form_view sale.order.update.form.view sale.order xpath Inherits sale.view_order_form
view_avalara_salestax_form avalara.salestax.inherit avalara.salestax div Inherits account_avatax_oca.view_avalara_salestax_form
view_partner_details_form_exempt_country_wide Partner Form: add Exempt Country Wide res.partner field Inherits account_avatax_oca.view_partner_details_form_inherit1
Models touched (6)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, fixed_multiplicator=1)

New fields (3)
  • override_line_taxes Boolean
    help='When checked, the Avatax computed tax will replace any other taxes that may exist in the document line.'
  • sale_calculate_tax Boolean
    help="Automatically triggers API to calculate tax If changes made onSO's warehouse_id, tax_on_shipping_address, SO line's price_unit, discount, product_uom_qty" args: 'Auto Calculate Tax on SO Save'
  • use_partner_invoice_id Boolean
    default=True help="Use Sales Order's Invoice Address field to determine TaxableStatus" args: "Use Invoice partner's customer code in SO"
Public methods (0)

No public methods.

New fields (1)
  • property_exemption_country_wide Boolean
    help='When enabled, the delivery address State is irrelevant when looking up the exemption status, meaning that the exemption is considered applicable for all states' args: 'Exemption Applies Country Wide'
Public methods (0)

No public methods.

New fields (11)
  • avatax_request_log Text
    copy=False readonly=True args: 'Avatax API Request Log'
  • avatax_response_log Text
    copy=False readonly=True args: 'Avatax API Response Log'
  • calculate_tax_on_save Boolean
  • exemption_code Char
    compute=_compute_onchange_exemption help='It show the customer exemption number' readonly=False store=True args: 'Exemption Number'
  • exemption_code_id Many2one → exemption.code
    compute=_compute_onchange_exemption help='It show the customer exemption code' readonly=False store=True args: 'exemption.code', 'Exemption Code'
  • hide_exemption Boolean
    compute='_compute_hide_exemption' default=<expr> help='Uncheck the this field to show exemption fields on SO/Invoice form view. Also, it will show Tax based on shipping address button' args: 'Hide Exemption & Tax Based on shipping address'
  • is_avatax Boolean
    related='fiscal_position_id.is_avatax'
  • location_code Char
    help='Origin address location code'
  • tax_address_id Many2one → res.partner
    compute='_compute_tax_address_id' readonly=True states={'draft': [('readonly', False)]} store=True args: 'res.partner', 'Tax Address'
  • tax_amount Monetary
    string='AvaTax'
  • tax_on_shipping_address Boolean
    default=True args: 'Tax based on shipping address'
Public methods (8)
  • action_confirm(self)
  • avalara_compute_taxes(self)
    Use Avatax API to compute taxes. Sets the Taxes on each line, and lets odoo perfomr teh calculations.
  • create(self, vals_list)
    @api.model_create_multi
  • onchange_avatax_calculation(self)
    @api.onchange('order_line', 'tax_on_shipping_address', 'tax_address_id', 'partner_id')
  • onchange_partner_shipping_id(self)
    @api.onchange('partner_shipping_id', 'partner_id')
    Apply the exemption number and code from the Invoice Partner Data We can only apply an exemption status that matches the delivery address Country and State. The setup for this is to add contact/addresses for the Invoicing Partner, for each of the states we can claim exepmtion for.
  • onchange_reset_avatax_amount(self)
    @api.onchange('order_line', 'fiscal_position_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
  • update_tax_details(self, tax, line, tax_result_line)
    Method to update details in tax
  • write(self, vals)

New fields (1)
  • tax_amt Monetary
    string='AvaTax'
Public methods (1)
  • onchange_reset_avatax_amount(self)
    @api.onchange('product_uom_qty', 'discount', 'price_unit', 'tax_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
REPOSITORY
REPOSITORYOCA/account-fiscal-rule
GIT
GIThttps://github.com/OCA/account-fiscal-rule.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-fiscal-rule/tree/15.0/account_avatax_sale_oca
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
COMMITTERS
COMMITTERSDaniel Reis, Weblate, OCA-git-bot, oca-ci, John Wilson
WEBSITE
WEBSITEhttps://github.com/OCA/account-fiscal-rule
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:32
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_avatax_oca
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale
    - sales_team
    - payment
    - utm
    - base_geolocalize
    - sale_stock
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Avalara
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
sale_order_form_view_editable_field sale.order.form.view.editable sale.order field Inherits sale_order_update_form_view
sale_order_update_form_view sale.order.update.form.view sale.order button Inherits sale.view_order_form
view_avalara_salestax_form avalara.salestax.inherit avalara.salestax div Inherits account_avatax_oca.view_avalara_salestax_form
view_partner_details_form_exempt_country_wide Partner Form: add Exempt Country Wide res.partner field Inherits account_avatax_oca.view_partner_details_form_inherit1
Models touched (6)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False)

New fields (3)
  • override_line_taxes Boolean
    help='When checked, the Avatax computed tax will replace any other taxes that may exist in the document line.'
  • sale_calculate_tax Boolean
    help="Automatically triggers API to calculate tax If changes made onSO's warehouse_id, tax_on_shipping_address, SO line's price_unit, discount, product_uom_qty" args: 'Auto Calculate Tax on SO Save'
  • use_partner_invoice_id Boolean
    default=True help="Use Sales Order's Invoice Address field to determine TaxableStatus" args: "Use Invoice partner's customer code in SO"
Public methods (0)

No public methods.

New fields (1)
  • property_exemption_country_wide Boolean
    help='When enabled, the delivery address State is irrelevant when looking up the exemption status, meaning that the exemption is considered applicable for all states' args: 'Exemption Applies Country Wide'
Public methods (0)

No public methods.

New fields (11)
  • avatax_request_log Text
    copy=False readonly=True args: 'Avatax API Request Log'
  • avatax_response_log Text
    copy=False readonly=True args: 'Avatax API Response Log'
  • calculate_tax_on_save Boolean
  • exemption_code Char
    compute=_compute_onchange_exemption help='It show the customer exemption number' readonly=False store=True args: 'Exemption Number'
  • exemption_code_id Many2one → exemption.code
    compute=_compute_onchange_exemption help='It show the customer exemption code' readonly=False store=True args: 'exemption.code', 'Exemption Code'
  • hide_exemption Boolean
    compute=_compute_hide_exemption default=<expr> help='Uncheck the this field to show exemption fields on SO/Invoice form view. Also, it will show Tax based on shipping address button' args: 'Hide Exemption & Tax Based on shipping address'
  • is_avatax Boolean
    related='fiscal_position_id.is_avatax'
  • location_code Char
    help='Origin address location code'
  • tax_address_id Many2one → res.partner
    compute='_compute_tax_address_id' readonly=True states={'draft': [('readonly', False)]} store=True args: 'res.partner', 'Tax Address'
  • tax_amount Monetary
    string='AvaTax'
  • tax_on_shipping_address Boolean
    default=True args: 'Tax based on shipping address'
Public methods (7)
  • action_confirm(self)
  • avalara_compute_taxes(self)
    Use Avatax API to compute taxes. Sets the Taxes on each line, and lets odoo perfomr teh calculations.
  • create(self, vals)
    @api.model
  • onchange_avatax_calculation(self)
    @api.onchange('order_line', 'tax_on_shipping_address', 'tax_address_id', 'partner_id')
  • onchange_partner_shipping_id(self)
    @api.onchange('partner_shipping_id', 'partner_id')
    Apply the exemption number and code from the Invoice Partner Data We can only apply an exemption status that matches the delivery address Country and State. The setup for this is to add contact/addresses for the Invoicing Partner, for each of the states we can claim exepmtion for.
  • onchange_reset_avatax_amount(self)
    @api.onchange('order_line', 'fiscal_position_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
  • write(self, vals)

New fields (1)
  • tax_amt Monetary
    string='AvaTax'
Public methods (1)
  • onchange_reset_avatax_amount(self)
    @api.onchange('product_uom_qty', 'discount', 'price_unit', 'tax_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
REPOSITORY
REPOSITORYOCA/account-fiscal-rule
GIT
GIThttps://github.com/OCA/account-fiscal-rule.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-fiscal-rule/tree/14.0/account_avatax_sale_oca
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators, Sodexis, Fabrice Henrion
COMMITTERS
COMMITTERSDaniel Reis, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/account-fiscal-rule
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-fiscal-rule:
    - account_avatax_oca
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - base_geolocalize
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Avalara
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
sale_order_form_view_editable_field sale.order.form.view.editable sale.order field Inherits sale_order_update_form_view
sale_order_update_form_view sale.order.update.form.view sale.order button Inherits sale.view_order_form
view_avalara_salestax_form avalara.salestax.inherit avalara.salestax xpath Inherits account_avatax_oca.view_avalara_salestax_form
view_partner_details_form_exempt_country_wide Partner Form: add Exempt Country Wide res.partner field Inherits account_avatax_oca.view_partner_details_form_inherit1
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • override_line_taxes Boolean
    help='When checked, the Avatax computed tax will replace any other taxes that may exist in the document line.'
  • sale_calculate_tax Boolean
    help="Automatically triggers API to calculate tax If changes made onSO's warehouse_id, tax_on_shipping_address, SO line's price_unit, discount, product_uom_qty" args: 'Auto Calculate Tax on SO Save'
  • use_partner_invoice_id Boolean
    default=True help="Use Sales Order's Invoice Address field to determine TaxableStatus" args: "Use Invoice partner's customer code in SO"
Public methods (0)

No public methods.

New fields (1)
  • property_exemption_country_wide Boolean
    help='When enabled, the delivery address State is irrelevant when looking up the exemption status, meaning that the exemption is considered applicable for all states' args: 'Exemption Applies Country Wide'
Public methods (0)

No public methods.

New fields (11)
  • avatax_request_log Text
    copy=False readonly=True args: 'Avatax API Request Log'
  • avatax_response_log Text
    copy=False readonly=True args: 'Avatax API Response Log'
  • calculate_tax_on_save Boolean
  • exemption_code Char
    compute=_compute_onchange_exemption help='It show the customer exemption number' readonly=False store=True args: 'Exemption Number'
  • exemption_code_id Many2one → exemption.code
    compute=_compute_onchange_exemption help='It show the customer exemption code' readonly=False store=True args: 'exemption.code', 'Exemption Code'
  • hide_exemption Boolean
    compute=_compute_hide_exemption default=<expr> help='Uncheck the this field to show exemption fields on SO/Invoice form view. Also, it will show Tax based on shipping address button' args: 'Hide Exemption & Tax Based on shipping address'
  • is_avatax Boolean
    related='fiscal_position_id.is_avatax'
  • location_code Char
    help='Origin address location code' args: 'Location Code'
  • tax_address_id Many2one → res.partner
    compute='_compute_tax_address_id' readonly=True states={'draft': [('readonly', False)]} store=True args: 'res.partner', 'Tax Address'
  • tax_amount Monetary
    string='AvaTax'
  • tax_on_shipping_address Boolean
    default=True args: 'Tax based on shipping address'
Public methods (7)
  • action_confirm(self)
  • avalara_compute_taxes(self)
    Use Avatax API to compute taxes. Sets the Taxes on each line, and lets odoo perfomr teh calculations.
  • create(self, vals)
    @api.model
  • onchange_avatax_calculation(self)
    @api.onchange('order_line', 'tax_on_shipping_address', 'tax_address_id', 'partner_id')
  • onchange_partner_shipping_id(self)
    @api.onchange('partner_shipping_id', 'partner_id')
    Apply the exemption number and code from the Invoice Partner Data We can only apply an exemption status that matches the delivery address Country and State. The setup for this is to add contact/addresses for the Invoicing Partner, for each of the states we can claim exepmtion for.
  • onchange_reset_avatax_amount(self)
    @api.onchange('order_line', 'fiscal_position_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
  • write(self, vals)

New fields (1)
  • tax_amt Monetary
    string='AvaTax'
Public methods (1)
  • onchange_reset_avatax_amount(self)
    @api.onchange('product_uom_qty', 'discount', 'price_unit', 'tax_id')
    When changing quantities or prices, reset the Avatax computed amount. The Odoo computed tax amount will then be shown, as a reference. The Avatax amount will be recomputed upon document validation.
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/account-fiscal-rule
PULL REQUEST
PULL REQUEST[19.0][MIG] account_avatax_sale_oca: Migration to 19.0 (#593)