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)