Export einer Datei für SEPA Einzüge #182
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Es soll möglich sein, eine Datei zu exportieren, die in Bankportalen gelesen werden kann um Einzüge zu starten. Dabei sollen alle Ausgangsbelege gefiltert werden auf noch nicht bezahlt sowie Zahlungsmethode SEPA. Das einzuziehende Konto findest du im Kunden. Die Export maske sollte vor dem Export eine Auswahl bereitstellen über die zu exportierende Rechnungen sodass der nutzer vor der erstellung der datei noch an und abwählen kann. es sollten default alle angewählt sein.
KI-AGENT: Plan für die Umsetzung:
frontend/pages/export/create/sepa.vue,backend/src/routes/exports.ts,backend/src/utils/export/sepa.ts.pain.008.001.02XML-Datei erzeugt, in S3 gespeichert und alsgeneratedexports-Eintrag vom Typsepaabgelegt wird.GET /exports/sepa/candidates.type in (invoices, advanceInvoices),state = Gebucht, nicht archiviert,payment_type = direct-debit, nicht vollständig bezahlt/offener Betrag > 0.useSum().hasCancellationInvoice-Logik.infoData.hasSEPA,infoData.sepaSignedAt,infoData.bankAccountIds.entitybankaccounts-Konto laden und entschlüsseln (iban,bic,bankName).sepa.tstenantData.creditorId, das Feld existiert im Tenant-Schema aber nicht sichtbar.frontend/pages/export/create/sepa.vuemit echten Spalten: Auswahl, Rechnungsnummer, Kunde, Belegdatum, offener Betrag, Mandatsdatum, IBAN maskiert, Status/Fehler.GrpHdr.NbOfTxsundCtrlSumkorrekt berechnen.PmtInfmit Gläubigername, Gläubigerkonto, Gläubiger-ID, Collection-Date undCORE/RCURbefüllen.DrctDbtTxInfmitEndToEndId, Betrag, Mandatsreferenz, Signaturdatum, Debtor-Name, IBAN/BIC und Verwendungszweck erzeugen.SEPA_Einzug_YYYY-MM-DD_<uuid>.xml./exports, Download und XML-Struktur.Offene Punkte vor Umsetzung:
customer.infoData.KI-AGENT: Ergänzung zum Umsetzungsplan: Vor dem eigentlichen SEPA-Export sollte zuerst #183 umgesetzt werden.
Der Export soll danach nicht mehr direkt aus verstreuten Kundenfeldern (
infoData.hasSEPA,infoData.sepaSignedAt, Bankkonto-Liste) ableiten, welches Konto und welche Mandatsdaten verwendet werden. Stattdessen sollen Rechnungen und Verträge ein konkretes "Ausgehendes SEPA-Mandat" referenzieren.Angepasste Reihenfolge:
Damit bleibt die Mandatsdefinition sauber von Kundenstammdaten, Verträgen und konkreten Rechnungen getrennt.
KI-AGENT: Der SEPA-Export erzeugt jetzt eine echte pain.008-XML-Datei aus den ausgewählten Lastschrift-Ausgangsrechnungen. Die Daten kommen aus den ausgehenden SEPA-Mandaten inklusive Mandatsreferenz, Mandatstyp, Sequenz, Unterschriftsdatum und Bankverbindung; als Gläubigerkonto wird beim Export ein eigenes Bankkonto ausgewählt. Die erzeugte XML wird wie DATEV-Exporte im Export-Speicher abgelegt und in der Exportliste mit Download-URL gespeichert. Damit ist die Mandatsreferenz in der Datei vorhanden und kann später sehr gut für die automatische Zuordnung importierter Bankbuchungen genutzt werden. Backend- und Frontend-Build wurden erfolgreich ausgeführt.