diff --git a/src/pretix/plugins/banktransfer/tasks.py b/src/pretix/plugins/banktransfer/tasks.py index b949b27dae..8fc8162165 100644 --- a/src/pretix/plugins/banktransfer/tasks.py +++ b/src/pretix/plugins/banktransfer/tasks.py @@ -142,7 +142,7 @@ def process_banktransfers(self, job: int, data: list) -> None: pattern = re.compile("(%s)[ \-_]*([A-Z0-9]{%s})" % ("|".join(prefixes), code_len)) for trans in transactions: - match = pattern.search(trans.reference.upper()) + match = pattern.search(trans.reference.replace(" ", "").upper()) if match: if job.event: diff --git a/src/tests/plugins/banktransfer/test_import.py b/src/tests/plugins/banktransfer/test_import.py index 7f21d472ea..46f96657ba 100644 --- a/src/tests/plugins/banktransfer/test_import.py +++ b/src/tests/plugins/banktransfer/test_import.py @@ -143,6 +143,18 @@ def test_autocorrection(env, job): assert env[2].status == Order.STATUS_PAID +@pytest.mark.django_db +def test_random_spaces(env, job): + process_banktransfers(job, [{ + 'payer': 'Karla Kundin', + 'reference': 'Bestellung DUM MY123 45NEXTLINE', + 'amount': '23.00', + 'date': '2016-01-26', + }]) + env[2].refresh_from_db() + assert env[2].status == Order.STATUS_PAID + + @pytest.mark.django_db def test_huge_amount(env, job): env[2].total = Decimal('23000.00')