[IMP] account: Avatax module installation
Auto install AvaTax module for countries that use AvaTax ('US','BR').
Add a checkbox in settings to easily install the module if needed
task ID: 3398637
closes odoo/odoo#136490
Related: odoo/enterprise#47979
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
This commit is contained in:
@@ -35,9 +35,22 @@ def _auto_install_l10n(env):
|
||||
if module_ids:
|
||||
module_ids.sudo().button_install()
|
||||
|
||||
def _auto_install_avatax(env):
|
||||
""" Install the avatax module automatically if the company is in a country that uses avatax """
|
||||
avatax_country_codes = ['US', 'BR']
|
||||
|
||||
country = env.company.country_id
|
||||
country_code = country.code
|
||||
|
||||
if country_code in avatax_country_codes:
|
||||
module = env['ir.module.module'].search([('name', '=', 'account_avatax')])
|
||||
if module.state == 'uninstalled':
|
||||
module.sudo().button_install()
|
||||
|
||||
def _account_post_init(env):
|
||||
_auto_install_l10n(env)
|
||||
_set_fiscal_country(env)
|
||||
_auto_install_avatax(env)
|
||||
|
||||
# imported here to avoid dependency cycle issues
|
||||
# pylint: disable=wrong-import-position
|
||||
|
||||
@@ -114,6 +114,7 @@ class ResConfigSettings(models.TransientModel):
|
||||
module_product_margin = fields.Boolean(string="Allow Product Margin")
|
||||
module_l10n_eu_oss = fields.Boolean(string="EU Intra-community Distance Selling")
|
||||
module_account_taxcloud = fields.Boolean(string="Account TaxCloud")
|
||||
module_account_avatax = fields.Boolean(string="Account Avatax")
|
||||
module_account_invoice_extract = fields.Boolean(string="Document Digitization")
|
||||
module_snailmail_account = fields.Boolean(string="Snailmail")
|
||||
tax_exigibility = fields.Boolean(string='Cash Basis', related='company_id.tax_exigibility', readonly=False)
|
||||
|
||||
@@ -62,6 +62,10 @@
|
||||
documentation="/applications/finance/accounting/taxation/taxes/taxcloud.html">
|
||||
<field name="module_account_taxcloud" widget="upgrade_boolean"/>
|
||||
</setting>
|
||||
<setting id="avatax_settings" string="AvaTax" help="Automatically compute tax rates"
|
||||
documentation="/applications/finance/accounting/taxation/taxes/avatax.html">
|
||||
<field name="module_account_avatax" widget="upgrade_boolean"/>
|
||||
</setting>
|
||||
<setting id="eu_service" title="If you sell goods and services to customers in a foreign EU country, you must charge VAT based on the delivery address. This rule applies regardless of where you are located." documentation="/applications/finance/accounting/taxation/taxes/eu_distance_selling.html" help="Apply VAT of the EU country to which goods and services are delivered.">
|
||||
<field name="module_l10n_eu_oss"/>
|
||||
</setting>
|
||||
|
||||
Reference in New Issue
Block a user