diff options
Diffstat (limited to 'addons/l10n_ch/models/account_bank_statement.py')
| -rw-r--r-- | addons/l10n_ch/models/account_bank_statement.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/addons/l10n_ch/models/account_bank_statement.py b/addons/l10n_ch/models/account_bank_statement.py new file mode 100644 index 00000000..53c144f3 --- /dev/null +++ b/addons/l10n_ch/models/account_bank_statement.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models, fields, api, _ +from odoo.addons.l10n_ch.models.res_bank import _is_l10n_ch_postal + +class AccountBankStatementLine(models.Model): + + _inherit = "account.bank.statement.line" + + def _find_or_create_bank_account(self): + if self.company_id.country_id.code == 'CH' and _is_l10n_ch_postal(self.account_number): + bank_account = self.env['res.partner.bank'].search( + [('company_id', '=', self.company_id.id), + ('sanitized_acc_number', 'like', self.account_number + '%'), + ('partner_id', '=', self.partner_id.id)]) + if not bank_account: + bank_account = self.env['res.partner.bank'].create({ + 'company_id': self.company_id.id, + 'acc_number': self.account_number + " " + self.partner_id.name, + 'partner_id': self.partner_id.id + }) + return bank_account + else: + super(AccountBankStatementLine, self)._find_or_create_bank_account()
\ No newline at end of file |
