[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) <jol@odoo.com>
This commit is contained in:
Florian(flg)
2023-11-28 21:20:49 +00:00
parent 2dad97a4f5
commit a1dd02e56d
4 changed files with 25 additions and 7 deletions
@@ -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"
1 id name applicability country_id/id
247 account_tag_6400 6400 accounts base.dk
248 account_tag_6420 6420 accounts base.dk
249 account_tag_6450 6450 accounts base.dk
250 account_tag_6471 6471 accounts base.dk
251 account_tag_6481 6481 accounts base.dk
252 account_tag_6482 6482 accounts base.dk
253 account_tag_6483 6483 accounts base.dk
254 account_tag_6484 6484 accounts base.dk
255 account_tag_6510 6510 accounts base.dk
256 account_tag_6520 6520 accounts base.dk
257 account_tag_6540 6540 accounts base.dk
259 account_tag_6580 6580 accounts base.dk
260 account_tag_6810 6810 accounts base.dk
261 account_tag_6830 6830 accounts base.dk
262 account_tag_6831 6831 accounts base.dk
263 account_tag_6870 6870 accounts base.dk
264 account_tag_6890 6890 accounts base.dk
265 account_tag_6910 6910 accounts base.dk
+6 -2
View File
@@ -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
+8
View File
@@ -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')
@@ -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: