diff --git a/modules/account_payment_sepa/payment.py b/modules/account_payment_sepa/payment.py index 96ce2c9a62..8b750892c4 100644 --- a/modules/account_payment_sepa/payment.py +++ b/modules/account_payment_sepa/payment.py @@ -6,6 +6,7 @@ import unicodedata import uuid from io import BytesIO from itertools import groupby +from operator import attrgetter import genshi import genshi.template @@ -218,7 +219,7 @@ class Group(metaclass=PoolMeta): Mandate = pool.get('account.payment.sepa.mandate') assert self.process_method == 'sepa' if self.kind == 'receivable': - payments = list(self.payments) + payments = sorted(self.payments, key=attrgetter('date', 'id')) mandates = Payment.get_sepa_mandates(payments) Mandate.lock(list(filter(None, mandates))) sequence_types = {}