42 lines
2.0 KiB
Python
42 lines
2.0 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
from odoo import models
|
|
from odoo.addons.account.models.chart_template import template
|
|
|
|
|
|
class AccountChartTemplate(models.AbstractModel):
|
|
_inherit = 'account.chart.template'
|
|
|
|
@template('bg', 'account.tax')
|
|
def _get_bg_saft_account_tax(self):
|
|
return self._parse_csv('bg', 'account.tax', module='l10n_bg_saft')
|
|
|
|
@template('bg', 'account.account')
|
|
def _get_bg_saft_account_code(self):
|
|
company = self.env.company
|
|
|
|
def update_account_code(account_code, saft_code):
|
|
accounts = self.env['account.account'].with_company(company).search([
|
|
*self.env['account.account']._check_company_domain(company),
|
|
('code', '=like', account_code),
|
|
('l10n_bg_saft_account_code', '=', False),
|
|
])
|
|
for account in accounts:
|
|
account.l10n_bg_saft_account_code = saft_code
|
|
|
|
if company.bank_account_code_prefix:
|
|
update_account_code(company.bank_account_code_prefix + "%", '503')
|
|
if company.cash_account_code_prefix:
|
|
update_account_code(company.cash_account_code_prefix + "%", '501')
|
|
if company.transfer_account_code_prefix:
|
|
update_account_code(company.transfer_account_code_prefix + "%", '434')
|
|
if company.default_cash_difference_expense_account_id:
|
|
update_account_code(company.default_cash_difference_expense_account_id.code, '443')
|
|
if company.default_cash_difference_income_account_id:
|
|
update_account_code(company.default_cash_difference_income_account_id.code, '443')
|
|
if company.account_journal_early_pay_discount_gain_account_id:
|
|
update_account_code(company.account_journal_early_pay_discount_gain_account_id.code, '729')
|
|
if company.account_journal_early_pay_discount_loss_account_id:
|
|
update_account_code(company.account_journal_early_pay_discount_loss_account_id.code, '623')
|
|
|
|
return self._parse_csv('bg', 'account.account', module='l10n_bg_saft')
|