Lastschriften zuordnen: SEPA-Mandate und Verträge abgleichen
Nutze die SEPA-Mandatsreferenz, um Lastschriften deinen Verträgen zuzuordnen. Mit Praxisbeispiel und Prüfregeln für deine API-Anbindung.
AI generated Zwei Lastschriften vom selben Mobilfunkanbieter, beide über 29,90 Euro. Eine gehört zum Telefon im Büro, die andere zum Vertrieb. Im nächsten Monat steigt einer der Beträge. Wer die Buchungen anhand von Empfängername und Betrag sortiert, muss jetzt wieder die Rechnungen öffnen.
Die Referenz des SEPA-Mandats kann diese Zuordnung erleichtern. Wenn du sie einmal mit dem
passenden Vertrag verknüpft hast, hilft sie dir, spätere Lastschriften wiederzufinden.
Die Kontoflux.io-API liefert sie als
counterpart.mandateReference, sofern sie für die Buchung vorliegt.
Zusammen mit der Gläubiger-ID unter counterpart.creditorId
kannst du darauf einen Abgleich in deiner eigenen Anwendung aufbauen.
Wie die Referenz ein SEPA-Mandat kennzeichnet
Ein SEPA-Mandat ist die Ermächtigung zum Einzug per SEPA-Lastschrift. Eindeutig wird es durch die Kombination aus Mandatsreferenz und Gläubiger-Identifikationsnummer, wie die Deutsche Bundesbank erläutert. Verschiedene Gläubiger können dieselbe Referenz verwenden. Eine Suche nach der Zeichenfolge allein kann deshalb Buchungen unterschiedlicher Anbieter finden.
Ein SEPA-Mandat kann wiederkehrende Einzüge abdecken. Der European Payments Council beschreibt SEPA-Lastschriften sowohl für einmalige als auch für wiederkehrende Zahlungen. Dieselbe Mandatsreferenz kann also in mehreren Monaten auftauchen. Welche einzelne Rechnung damit bezahlt wurde, ergibt sich erst aus dem Abgleich mit deinen Rechnungsdaten.
Zwei Verträge beim selben Anbieter auseinanderhalten
Nehmen wir eine fiktive Agentur mit zwei Mobilfunkverträgen. In diesem Beispiel hat jeder Vertrag ein eigenes SEPA-Mandat. Das Team hat die Referenzen anhand seiner Vertragsunterlagen geprüft und einer Kostenstelle zugeordnet.
| Buchung | SEPA-Mandatsreferenz | Bestätigter Vertrag | Abbuchung |
|---|---|---|---|
| 5. August | 0001042 | Teamtelefon Vertrieb | 29,90 € |
| 5. August | 0001043 | Telefon Büro | 29,90 € |
| 5. September | 0001042 | Teamtelefon Vertrieb | 34,90 € |
| 5. September | 0001043 | Telefon Büro | 29,90 € |
Obwohl beide Verträge im August gleich viel kosten, lassen sich ihre Buchungen über die bekannten SEPA-Mandate auseinanderhalten. Im September bleibt die Abbuchung über 34,90 Euro beim Vertrag des Vertriebs. Die Differenz von fünf Euro wird zur Rückfrage: zusätzlicher Verbrauch, ein Tarifwechsel oder ein Fehler? Die Rechnung erklärt den Grund.
Prüfe bei deinen eigenen Verträgen, ob diese Trennung tatsächlich besteht. Ein SEPA-Mandat kann mehrere Forderungen oder Verträge abdecken. Dann grenzt die Referenz den Kreis der passenden Vorgänge ein; für die weitere Aufteilung brauchst du zusätzliche Angaben. Dasselbe Vorgehen eignet sich etwa für Stromabschläge mehrerer Standorte, wenn dafür getrennte SEPA-Mandate bestehen.
Die SEPA-Mandatsreferenz aus der API lesen
Über GET /v1/WORKSPACE_ID/transactions erhältst du ein Array mit
Transaktionen. Dieser gekürzte, frei erfundene Ausschnitt zeigt eine einzelne
Buchung aus der Antwort:
{
"id": 123456789,
"accountId": 12456,
"amount": -34.9,
"currency": "EUR",
"bookingDate": "2026-09-05T00:00:00.000Z",
"counterpart": {
"name": "Beispiel Mobilfunk",
"mandateReference": "0001042",
"creditorId": "DE98ZZZ09999999999"
}
} mandateReference und creditorId sind Zeichenketten.
Behalte führende Nullen bei und wandle die Kennungen nicht in Zahlen um.
Wenn kein Wert vorliegt, fehlt das jeweilige Feld
in der Antwort. Auch eine Mandatsreferenz im CSV-Export deiner Bank garantiert
nicht, dass sie über den verbundenen Bankzugang bereitgestellt wird. Die
Dokumentation zur SEPA-Mandatsreferenz
zeigt das Antwortformat und den Umgang mit fehlenden Werten.
Vergleiche Gläubiger-ID und SEPA-Mandatsreferenz mit den geprüften Angaben aus deinen Unterlagen zum SEPA-Mandat oder zum Vertrag. Fehlt eine der beiden Kennungen, bleibt die Zuordnung zur Prüfung offen. Gleicher Empfängername oder gleiche Referenz allein reichen für eine eindeutige Zuordnung nicht aus.
Aus einer bekannten Referenz wird ein Zuordnungsvorschlag
Lege in deiner Anwendung eine Liste der bestätigten SEPA-Mandate an: Gläubiger-ID, Referenz, zugehörige Verträge und bei Bedarf Kostenstelle. Speichere dazu, anhand welcher Unterlagen du die Zuordnung geprüft hast. Neue oder geänderte SEPA-Mandate brauchen eine erneute Prüfung.
Beim Abruf begrenzt du die Transaktionen auf das relevante Konto und den Buchungszeitraum. Lade auch die weiteren Ergebnisseiten. Die API-Codebeispiele erklären den Abruf mit einem Bearer-Schlüssel und die Seitennavigation. Danach kannst du nach exakt übereinstimmender Gläubiger-ID und SEPA-Mandatsreferenz suchen:
// transactions enthält die abgerufenen Transaktionen.
const knownMandate = {
accountId: 12456,
mandateReference: '0001042',
creditorId: 'DE98ZZZ09999999999',
};
const candidates = transactions.filter(transaction =>
transaction.accountId === knownMandate.accountId &&
transaction.counterpart?.mandateReference ===
knownMandate.mandateReference &&
transaction.counterpart?.creditorId === knownMandate.creditorId &&
transaction.amount < 0 &&
transaction.currency === 'EUR'
);
// Kandidaten zur weiteren Prüfung, noch keine Rechnungszuordnung.
console.log(candidates); Dieser Code sammelt ausgehende Euro-Buchungen mit beiden bekannten Kennungen als Kandidaten. Fehlt die Gläubiger-ID oder die SEPA-Mandatsreferenz, nimmt er die Buchung nicht auf. Für die Rechnungszuordnung prüft deine Anwendung anschließend den Betrag und den Abrechnungszeitraum anhand der Rechnungsdaten. Bei mehreren möglichen Verträgen bleibt der Vorschlag zur manuellen Klärung offen.
Für eine bekannte SEPA-Mandatsreferenz ist ein exakter Vergleich sinnvoll. Eine ähnliche Zeichenfolge kann bereits ein anderes SEPA-Mandat bezeichnen. Die Suche nach ähnlichen Zahlungsreferenzen hilft bei der Kandidatensuche, ersetzt diese Prüfung aber nicht.
Jede Lastschrift bleibt eine eigene Buchung
Nutze die Transaktions-ID innerhalb des Workspaces, um bereits verarbeitete Buchungen wiederzuerkennen. Die Mandatsreferenz eignet sich dafür nicht: Die August- und die September-Lastschrift aus dem Beispiel sind zwei eigene Umsätze mit derselben Referenz. Speichere beide mit Datum, Betrag und ihrer jeweiligen Zuordnung. So bleibt auch eine Betragsänderung sichtbar.
Berücksichtige später eingehende Rücklastschriften und Erstattungen als eigene Vorgänge und prüfe ihren Bezug zur ursprünglichen Zahlung. Der European Payments Council beschreibt solche Ausnahmen im Lastschriftverfahren. Ein gefundener Umsatz allein bestätigt deshalb keinen endgültig abgeschlossenen Zahlungsvorgang.
Buchungen ohne SEPA-Mandatsreferenz oder Gläubiger-ID gehören in eine separate Prüfliste. Suche dort mit den übrigen Angaben weiter und halte unsichere Zuordnungen offen. Auch ein fehlender Treffer kann am gewählten Zeitraum oder am Datenstand liegen: Ein API-Abruf liest die bereits importierten Umsätze und startet keinen neuen Abruf bei der Bank.
Mit einem Anbieter und zwei Monaten beginnen
Wähle einen Anbieter, dessen Verträge du kennst. Prüfe die SEPA-Mandatsreferenzen in den vorhandenen Buchungen, bestätige ihre Zuordnung und vergleiche zwei Monate. Damit siehst du, welche Einzüge sich wiederfinden lassen und welche Angaben für deinen Rechnungsabgleich noch fehlen.
Mit der Kontoflux.io-API baust du diesen Ablauf in deine Anwendung ein. Wenn du zunächst deine laufenden Kosten erfassen möchtest, hilft dir der Beitrag zum Erkennen und Prüfen von Abos beim Aufbau einer Vertragsübersicht.
AI generated
AI generated