raphaelm / python-sepaxml

SEPA Direct Debit XML generation in python
MIT License
109 stars 41 forks source link

Add multiple PaymentInformation into the SEPA SDD #60

Open mans17 opened 7 months ago

mans17 commented 7 months ago

In the "CFONB" (french bank norm concil) it states that the "PaymentInformation" block may be repeated.

Reading the code, it would be quite a remake...

1/ On my side, build several SepaSDD, and "merge" XMLs. 2/ On Project Side, add a layer to code, such as :

import datetime, uuid

config1 = {
    "name": "Test von Testenstein 1",
    "IBAN": "NL50BANK000000001",
    ...
}
config2 = {
    "name": "Test von Testenstein 2",
    "IBAN": "NL50BANK000000002",
    ...
}

## This creates a sepa and adds first creditor as config1.
## This is supposed to be exactly as "before", not breaking working code everywhere :-)
sepa = SepaDD(config1, schema="pain.008.001.02", clean=True)
sepa.add_payment(payment_a)
sepa.add_payment(payment_b)
sepa.add_payment(payment_c)

## we define a new creditor from now on...
sepa.new_creditor(config2)
sepa.add_payment(payment_d)

print(sepa.export(validate=True))
raphaelm commented 7 months ago

even if the spec technically allows it, do regular banks in fact accept such files? German banks tend to reject files for much simpler reasons

mans17 commented 5 months ago

My bank refuses to implement "multiple xml posting at once" because it accepts such files.