From a1dd02e56d2a6bfc55f57f4f9536310fd9bdd7b5 Mon Sep 17 00:00:00 2001 From: "Florian(flg)" Date: Mon, 27 Nov 2023 15:00:07 +0100 Subject: [PATCH] [IMP] l10n_dk: Add tags for BS/PnL To be approved for the bookkeeping act, we need to generate reports based on tags instead of account codes. It allows users to link their existing CoA to the one we decide. To do it, they can add the right tags on their own accounts. This commit adds necessary tags to handle auto generated accounts (like suspense account) and assigns these tags to the right account. closes odoo/odoo#143820 Task-id: 3593634 Related: odoo/enterprise#50676 Signed-off-by: John Laterre (jol) --- addons/l10n_dk/data/account.account.tag.csv | 6 ++++++ addons/l10n_dk/models/account_journal.py | 8 ++++++-- addons/l10n_dk/models/template_dk.py | 8 ++++++++ addons/l10n_dk_oioubl/tests/test_xml_oioubl_dk.py | 10 +++++----- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/addons/l10n_dk/data/account.account.tag.csv b/addons/l10n_dk/data/account.account.tag.csv index 651eab6b68c..4fd615de747 100644 --- a/addons/l10n_dk/data/account.account.tag.csv +++ b/addons/l10n_dk/data/account.account.tag.csv @@ -247,6 +247,11 @@ "account_tag_6400","6400","accounts","base.dk" "account_tag_6420","6420","accounts","base.dk" "account_tag_6450","6450","accounts","base.dk" +"account_tag_6471","6471","accounts","base.dk" +"account_tag_6481","6481","accounts","base.dk" +"account_tag_6482","6482","accounts","base.dk" +"account_tag_6483","6483","accounts","base.dk" +"account_tag_6484","6484","accounts","base.dk" "account_tag_6510","6510","accounts","base.dk" "account_tag_6520","6520","accounts","base.dk" "account_tag_6540","6540","accounts","base.dk" @@ -254,6 +259,7 @@ "account_tag_6580","6580","accounts","base.dk" "account_tag_6810","6810","accounts","base.dk" "account_tag_6830","6830","accounts","base.dk" +"account_tag_6831","6831","accounts","base.dk" "account_tag_6870","6870","accounts","base.dk" "account_tag_6890","6890","accounts","base.dk" "account_tag_6910","6910","accounts","base.dk" diff --git a/addons/l10n_dk/models/account_journal.py b/addons/l10n_dk/models/account_journal.py index 571dcf289eb..8b2b08782e9 100644 --- a/addons/l10n_dk/models/account_journal.py +++ b/addons/l10n_dk/models/account_journal.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, models +from odoo import api, Command, models class AccountJournal(models.Model): @@ -16,6 +16,10 @@ class AccountJournal(models.Model): # Ensure the newly liquidity accounts have the right account tag in order to be part # of the Danish financial reports. account_vals.setdefault('tag_ids', []) - account_vals['tag_ids'].append((4, self.env.ref('l10n_dk.account_tag_liquidity').id)) + if vals.get('type') == 'bank': + account_vals['tag_ids'].append(Command.link(self.env.ref('l10n_dk.account_tag_6481').id)) + elif vals.get('type') == 'cash': + account_vals['tag_ids'].append(Command.link(self.env.ref('l10n_dk.account_tag_6471').id)) + account_vals['tag_ids'].append(Command.link(self.env.ref('l10n_dk.account_tag_liquidity').id)) return account_vals diff --git a/addons/l10n_dk/models/template_dk.py b/addons/l10n_dk/models/template_dk.py index f3640e1b77e..d6c585b664e 100644 --- a/addons/l10n_dk/models/template_dk.py +++ b/addons/l10n_dk/models/template_dk.py @@ -36,3 +36,11 @@ class AccountChartTemplate(models.AbstractModel): 'account_purchase_tax_id': 'tax_k1', }, } + + def _setup_utility_bank_accounts(self, template_code, company, template_data): + super()._setup_utility_bank_accounts(template_code, company, template_data) + if template_code == 'dk': + company.account_journal_suspense_account_id.tag_ids = self.env.ref('l10n_dk.account_tag_6482') + company.account_journal_payment_debit_account_id.tag_ids = self.env.ref('l10n_dk.account_tag_6483') + company.account_journal_payment_credit_account_id.tag_ids = self.env.ref('l10n_dk.account_tag_6484') + company.transfer_account_id.tag_ids = self.env.ref('l10n_dk.account_tag_6831') diff --git a/addons/l10n_dk_oioubl/tests/test_xml_oioubl_dk.py b/addons/l10n_dk_oioubl/tests/test_xml_oioubl_dk.py index ef2e3f986b5..7c1b8689d87 100644 --- a/addons/l10n_dk_oioubl/tests/test_xml_oioubl_dk.py +++ b/addons/l10n_dk_oioubl/tests/test_xml_oioubl_dk.py @@ -61,11 +61,11 @@ class TestUBLDK(TestUBLCommon, TestAccountMoveSendCommon): 'company_registry': '123 568 941 00056', 'ubl_cii_format': 'oioubl_201', }) - cls.dk_local_sale_tax_1 = cls.env["account.chart.template"].ref('tax120') - cls.dk_local_sale_tax_2 = cls.env["account.chart.template"].ref('tax110') - cls.dk_foreign_sale_tax_1 = cls.env["account.chart.template"].ref('tax210') - cls.dk_foreign_sale_tax_2 = cls.env["account.chart.template"].ref('tax220') - cls.dk_local_purchase_tax_goods = cls.env["account.chart.template"].ref('tax400') + cls.dk_local_sale_tax_1 = cls.env["account.chart.template"].ref('tax_s1y') + cls.dk_local_sale_tax_2 = cls.env["account.chart.template"].ref('tax_s1') + cls.dk_foreign_sale_tax_1 = cls.env["account.chart.template"].ref('tax_s0') + cls.dk_foreign_sale_tax_2 = cls.env["account.chart.template"].ref('tax_s7') + cls.dk_local_purchase_tax_goods = cls.env["account.chart.template"].ref('tax_k1') def create_post_and_send_invoice(self, partner=None, move_type='out_invoice'): if not partner: