diff --git a/message.xml b/message.xml index ce67619d27..87658ffff8 100644 --- a/message.xml +++ b/message.xml @@ -9,6 +9,9 @@ this repository contains the full copyright notices and license terms. --> To process payment "%(payment)s" you must define IBAN for it. + + To process payment "%(payment)s" you must define a bank for the account "%(bank_account)s". + SEPA mandate identification must be unique by company. diff --git a/payment.py b/payment.py index d94654f9d5..934fa47ead 100644 --- a/payment.py +++ b/payment.py @@ -229,13 +229,17 @@ class Group(metaclass=PoolMeta): payment.sepa_mandate = mandate payment.sepa_mandate_sequence_type = sequence_type Payment.save(payments) - else: - for payment in self.payments: - if not payment.sepa_bank_account_number: - raise ProcessError( - gettext('account_payment_sepa' - '.msg_payment_process_no_iban', - payment=payment.rec_name)) + for payment in self.payments: + if not payment.sepa_bank_account_number: + raise ProcessError( + gettext('account_payment_sepa' + '.msg_payment_process_no_iban', + payment=payment.rec_name)) + if not payment.sepa_bank_account_number.account.bank: + raise ProcessError( + gettext('account_payment_sepa' + '.msg_payment_process_no_bank', + payment=payment.rec_name)) to_write = [] for key, payments in self.sepa_payments: to_write.append(payments)