Das wurde Dir doch in einem anderen Thread schon beantwortet:
https://www.bundesbank.de/de/a…gebot/sepa
Klare Vorgaben gibt es zwar, aber die helfen oft wenig, da sehr oft jede Bank die anders interpretiert und anders umsetzt. Daraus folgt, dass - gerade bei Onlinedialogen - für viele Banken irgendwelche Sonderlocken eingebaut werden müssen, damit es überhaupt läuft.
Daraus resultiert ein Rat von mir (ich beschäftige mich beruflich mit Onlinebanking auf Kundenseite seit 30 Jahren):
Du solltest so wenig bankspezifisches wie irgend möglich direkt in deine Anwendung programmieren. Hintergrund sind die o.g. Interpretationen der "Standards" und die Komplexität der Materie. Du wirst spätestens zur Übertragung der Datei(en) zur Bank ein Bankingprogramm benötigen, denn die entsprechenden Onlinedialoge wirst Du nicht hinbekommen - es sei denn Du machst nichts anderes im Leben mehr und beschäftigst Dich nur noch damit. Die XML-Dateien ohne Banking-Programm zur Bank bekommen könnte höchstens bei VR-Banken oder Sparkassen klappen, weil die entsprechende Upload-Möglichkeiten in ihrem WebBanking haben.
Zumal da auch regelmäßig Änderungen erfolgen und Du die Anwendung dann ständig nachziehen musst. Das geht so weit, dass sich auch das Format der SEPA-XML-Dateien immer wieder mal ändert, das alte Format noch eine Zeit lang von den Bankrechnern angenommen, dann aber verschmäht wird. Spätestens dann musst Du Dich wieder mit den Neuerungen beschäftigen und das nachziehen. Das gleicht irgendwo der berühmten Sisyphus-Arbeit.
Ein in meinen Augen schnellerer, nervenschonenderer und gangbarerer Weg (auch auf Dauer) ist, dass Du Dir ein entsprechendes Banking-Programm aussuchst (muss keines von den großen sein) und in Deiner Anwendung nur CSV-Dateien mit den Aufträgen schreibst, in einem Format, die das Bankingprogramm importieren kann. Dann musst Du Dich nicht um diese Dinge wie Sortenreinheit und SEPA-XML-Dateiformatversionen kümmern, sondern schreibst einfach Deine anfallenden Aufträge in die CSV-Datei. Diese wird dann ins Bankprogramm importiert und gelöscht, die Anwendung öffnet eine Neue, wenn sie wieder Aufträge absetzen will. Im Bankprogramm werden dann die bankfachlichen Dinge beachtet und SEPA-Dateien mit einem passenden Inhalt in einem aktuellen Format erzeugt und an die Bank gesendet - fertig.
Was meinst Du, warum so gut wie kein Buchhaltungssystem, Hausverwaltungssoftware usw. Onlinebanking selbst macht sondern sich immer eines beigeordneten Bankprogrammes bedient...