raphaelm / python-sepaxml

SEPA Direct Debit XML generation in python
MIT License
112 stars 43 forks source link

Add multiple PaymentInformation into the SEPA SDD #60

Open mans17 opened 10 months ago

mans17 commented 10 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 10 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 8 months ago

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