mirror of
https://github.com/pretix/pretix.git
synced 2026-08-11 10:57:00 +00:00
Upgrade mt-940 to 4.* (#2331)
This commit is contained in:
@@ -182,11 +182,11 @@ def parse(file):
|
||||
transaction_details = parse_transaction_details(td.replace("\n", ""))
|
||||
|
||||
payer = {
|
||||
'name': transaction_details.get('accountholder', ''),
|
||||
'name': transaction_details.get('accountholder', '') or t.data.get('applicant_name', ''),
|
||||
# In reality, these fields are sometimes IBANs and BICs, and sometimes legacy numbers. We don't
|
||||
# really know (except for a syntax check) which will be performed anyways much later in the stack.
|
||||
'iban': transaction_details.get('accountnumber', ''),
|
||||
'bic': transaction_details.get('blz', ''),
|
||||
'iban': transaction_details.get('accountnumber', '') or t.data.get('applicant_iban', ''),
|
||||
'bic': transaction_details.get('blz', '') or t.data.get('applicant_bin', ''),
|
||||
}
|
||||
reference, eref = join_reference(transaction_details.get('reference', '').split('\n'), payer)
|
||||
if not eref:
|
||||
@@ -200,11 +200,19 @@ def parse(file):
|
||||
**{k: payer[k].strip() for k in ("iban", "bic") if payer.get(k)}
|
||||
})
|
||||
else:
|
||||
payer = {
|
||||
'payer': t.data.get('applicant_name', ''),
|
||||
# In reality, these fields are sometimes IBANs and BICs, and sometimes legacy numbers. We don't
|
||||
# really know (except for a syntax check) which will be performed anyways much later in the stack.
|
||||
'iban': t.data.get('applicant_iban', ''),
|
||||
'bic': t.data.get('applicant_bin', ''),
|
||||
}
|
||||
result.append({
|
||||
'reference': "\n".join([
|
||||
t.data.get(f) for f in ('transaction_details', 'customer_reference', 'bank_reference',
|
||||
t.data.get(f) for f in ('transaction_details', 'customer_reference', 'bank_reference', 'purpose',
|
||||
'extra_details', 'non_swift_text') if t.data.get(f, '')]),
|
||||
'amount': str(round_decimal(t.data['amount'].amount)),
|
||||
'date': t.data['date'].isoformat()
|
||||
'date': t.data['date'].isoformat(),
|
||||
**{k: payer[k].strip() for k in ("iban", "bic", "payer") if payer.get(k)}
|
||||
})
|
||||
return result
|
||||
|
||||
+1
-1
@@ -198,7 +198,7 @@ setup(
|
||||
'lxml',
|
||||
'markdown==3.3.4', # 3.3.5 requires importlib-metadata>=4.4, but django-bootstrap3 requires importlib-metadata<3.
|
||||
# We can upgrade markdown again once django-bootstrap3 upgrades or once we drop Python 3.6 and 3.7
|
||||
'mt-940==3.2',
|
||||
'mt-940==4.23.*',
|
||||
'oauthlib==3.1.*',
|
||||
'openpyxl==3.0.*',
|
||||
'packaging',
|
||||
|
||||
@@ -215,23 +215,23 @@ EXPECTED = [
|
||||
'payer': 'MUELLER',
|
||||
'iban': '234567',
|
||||
'bic': '10020030',
|
||||
'reference': 'Miete November'},
|
||||
'reference': 'NONREF//55555\nMiete November'},
|
||||
{'amount': '3000.00',
|
||||
'date': '2002-11-02',
|
||||
'payer': 'MUELLER',
|
||||
'iban': '0847564700',
|
||||
'bic': '50060400',
|
||||
'reference': 'Gehalt Oktober Firma Mustermann GmbH'},
|
||||
'reference': 'NONREF//55555\nGehalt OktoberFirma Mustermann GmbH'},
|
||||
],
|
||||
[
|
||||
{'amount': '-400.62',
|
||||
'date': '2012-02-02',
|
||||
'payer': 'MARTHAMUELLER',
|
||||
'bic': '20020020',
|
||||
'reference': 'RECHNUNGSNR. 1210815 KUNDENNR. 01234 22222222 DATUM 01.02.2012'},
|
||||
'reference': 'NONREF\nRECHNUNGSNR. 1210815 KUNDENNR. 01234 22222222'},
|
||||
{'amount': '-1210.00',
|
||||
'date': '2012-02-03',
|
||||
'reference': 'MIETE GOETHESTR. 12',
|
||||
'reference': 'NONREF\nMIETE GOETHESTR. 12',
|
||||
'payer': 'ABC IMMOBILIEN GMBH',
|
||||
'bic': '30030030',
|
||||
'iban': '3333333333'},
|
||||
@@ -239,24 +239,25 @@ EXPECTED = [
|
||||
'date': '2012-02-03',
|
||||
'payer': 'STEFAN SCHMIDT',
|
||||
'bic': '40040040',
|
||||
'reference': 'RECHNUNG 20120188 STEFAN SCHMIDTKUNDENR. 4711,'},
|
||||
'reference': 'NONREF\nRECHNUNG 20120188STEFAN SCHMIDTKUNDENR. 4711,'},
|
||||
{'amount': '89.97',
|
||||
'date': '2012-02-03',
|
||||
'payer': 'PETER PETERSEN',
|
||||
'iban': '5555555555',
|
||||
'bic': '50050050',
|
||||
'reference': 'RECHNUNG 20120165 PETER PETERSEN'}
|
||||
'reference': 'NONREF//00000000\nRECHNUNG 20120165PETER PETERSEN\n0001'}
|
||||
],
|
||||
[
|
||||
{'amount': '5000.00', 'date': '2002-03-17', 'reference': '68790452'},
|
||||
{'amount': '5000.00', 'date': '2002-03-17',
|
||||
'reference': '68790452\nVerwendungszweck 1\nVerwendungszweck 2\nEmpfänger\nBuchungstext\n12345\n1000\n4711'},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': '3037010000'},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': ''},
|
||||
{'amount': '-50000.00', 'date': '2002-03-24', 'reference': ''}
|
||||
{'amount': '20000.00', 'date': '2002-03-22', 'reference': 'Meyer + Schneider\nTestkonto\n37010000\n87132101'},
|
||||
{'amount': '-50000.00', 'date': '2002-03-24', 'reference': 'bekannt\n12345'}
|
||||
],
|
||||
[
|
||||
{'amount': '12.00',
|
||||
@@ -264,19 +265,19 @@ EXPECTED = [
|
||||
'payer': 'Peter Schneider',
|
||||
'iban': 'DE13495179316396679327',
|
||||
'bic': 'NOTABIC',
|
||||
'reference': 'Democon-Abcde (Peter Schneider ), Kategorie: Alles - E innahmen - Veranstaltungen Democon #1111'},
|
||||
'reference': 'NONREF\nDemocon-Abcde (Peter Schneider), Kategorie: Alles - Einnahmen - Veranstaltungen Democon #1111'},
|
||||
{'amount': '12.00',
|
||||
'date': '2017-08-23',
|
||||
'payer': 'Peter Schneider',
|
||||
'iban': 'DE13495179316396679327',
|
||||
'bic': 'NOTABIC',
|
||||
'reference': 'Democon-Abcde (Peter Schneider ), Kategorie: Alles - E innahmen - Veranstaltungen Democon #1111'},
|
||||
'reference': 'NONREF\nDemocon-Abcde (Peter Schneider), Kategorie: Alles - Einnahmen - Veranstaltungen Democon #1111'},
|
||||
{'amount': '12.00',
|
||||
'date': '2017-08-24',
|
||||
'payer': 'Peter Schneider',
|
||||
'iban': 'DE13495179316396679327',
|
||||
'bic': 'NOTABIC',
|
||||
'reference': 'Democon-Abcde (Peter Schneider ), Kategorie: Alles- E innahmen - Veranstaltungen Democon #1111'},
|
||||
'reference': 'NONREF\nDemocon-Abcde (Peter Schneider), Kategorie: Alles- Einnahmen - Veranstaltungen Democon #1111'},
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user