From 321cffafb7981896b3ee9fe0ebbe33f94582a3e5 Mon Sep 17 00:00:00 2001 From: asno-odoo Date: Thu, 4 Jan 2024 16:12:11 +0000 Subject: [PATCH] [FIX] account: update repartition lines correctly When repartition_lines are added to an already existing account_tax record, on upgrade, the new repartition lines are inserted with just tags, which results in the insertion of null value in document_type column. To reproduce: 1. Modify l10n_fr/__manifest__.py version to 2.0 2. Create an empty DB 3. Start ./odoo-bin -c ../.myodoorc -i l10n_fr with demo data 4. Stop the database (can dump it for convenience) 5. Start ./odoo-bin -c ../.myodoorc -u l10n_fr 6. Add a couple of repartition lines (invoice + refund) to an existing tax to odoo/addons/l10n_fr/data/template/account.tax-fr.csv 7. Modify l10n_fr/__manifest__.py version to 2.1 8. Start ./odoo-bin -c ../.myodoorc -u l10n_fr closes odoo/odoo#149733 X-original-commit: 8dfdc6f9abe490f46d3df92bf056e334e1a02750 Signed-off-by: Aslam Noman (asno) --- addons/account/models/chart_template.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/account/models/chart_template.py b/addons/account/models/chart_template.py index 43b13575d0e..37adeeef7c8 100644 --- a/addons/account/models/chart_template.py +++ b/addons/account/models/chart_template.py @@ -264,6 +264,7 @@ class AccountChartTemplate(models.AbstractModel): return ( tax.amount_type != template.get('amount_type', 'percent') or tax.amount != template.get('amount', 0) + or len(tax.repartition_line_ids) != len(template.get('repartition_line_ids', [])) ) obsolete_xmlid = set()