Bank transfer: Auto-ignore all 0-valued transactions (fixes #5168) (#5620)

* Bank transfer: Auto-ignore all 0-valued transactions (fixes #5168)

* Fix failing test
This commit is contained in:
Raphael Michel
2025-12-09 08:50:04 +01:00
committed by GitHub
parent e06f281f1e
commit 165a47b593
2 changed files with 6 additions and 1 deletions

View File

@@ -419,6 +419,11 @@ def process_banktransfers(self, job: int, data: list) -> None:
) )
for trans in transactions: for trans in transactions:
if trans.amount == Decimal("0.00"):
# Ignore all zero-valued transactions
trans.state = BankTransaction.STATE_DISCARDED
trans.save()
continue
# Whitespace in references is unreliable since linebreaks and spaces can occur almost anywhere, e.g. # Whitespace in references is unreliable since linebreaks and spaces can occur almost anywhere, e.g.
# DEMOCON-123\n45 should be matched to DEMOCON-12345. However, sometimes whitespace is important, # DEMOCON-123\n45 should be matched to DEMOCON-12345. However, sometimes whitespace is important,
# e.g. when there are two references. "DEMOCON-12345 DEMOCON-45678" would otherwise be parsed as # e.g. when there are two references. "DEMOCON-12345 DEMOCON-45678" would otherwise be parsed as

View File

@@ -504,7 +504,7 @@ def test_valid_plus_invalid_match(env, orga_job):
'payer': 'Karla Kundin', 'payer': 'Karla Kundin',
'reference': 'Bestellungen DUMMY-1Z3AS DUMMY-99999', 'reference': 'Bestellungen DUMMY-1Z3AS DUMMY-99999',
'date': '2016-01-26', 'date': '2016-01-26',
'amount': '.00' 'amount': '2.00'
}]) }])
with scopes_disabled(): with scopes_disabled():
job = BankImportJob.objects.last() job = BankImportJob.objects.last()