Abruf an der Quelle statt Rechnungsexport: 346 Belege fehlten
Warum eine CSV-Datei vollständig aussieht, auch wenn sie es nicht ist – und was ein direkter Abruf der Rechnungen daran ändert
· 4 Min. · E-Rechnung, Schnittstellen, Buchhaltung, Praxisbericht
Ein Rechnungsexport von Hand enthält, was beim Export mitgekommen ist, und niemand sieht, was fehlt. In einem Kundenprojekt haben wir die Rechnungen direkt aus dem staatlichen E-Rechnungssystem geholt, Stand September 2026 sind es 3 048. Beim ersten Abgleich der nachgeholten 2 408 Belege fehlten 346 im manuellen Export.
Der monatliche Rechnungsexport als Arbeitsgrundlage
Die Buchhaltung dieses Kunden arbeitete mit einer Routine, die in vielen Unternehmen genauso aussieht. Einmal im Monat meldet sich jemand im Portal an, wählt den Zeitraum, lädt eine CSV-Datei herunter und spielt sie in die eigene Tabelle ein. Auf dieser Tabelle stehen dann Umsatzübersichten, der Abgleich mit der Bank und die Antworten auf die Fragen der Geschäftsführung.
Das Verfahren hat drei Eigenschaften, die man erst bemerkt, wenn man sie ausspricht. Die Zahlen sind immer so alt wie der Abstand zwischen zwei Exporten. Ob ein Export vollständig war, lässt sich an der Datei selbst nicht erkennen. Und wann zuletzt aktualisiert wurde, weiß nur die Person, die exportiert hat – bei Urlaub oder Krankheit also niemand.
Abruf direkt aus dem E-Rechnungssystem
Statt den Export zu verbessern, haben wir ihn ersetzt. Die Rechnungen kommen über die offizielle Schnittstelle des staatlichen E-Rechnungssystems mit Token-Anmeldung. Ein nächtlicher Lauf holt Einkaufs- und Verkaufsrechnungen, die Historie kam einmalig über den verschlüsselten Paket-Export, den das System dafür vorsieht.
Zwei Entscheidungen waren dabei wichtiger als die Anbindung selbst. Erstens landen die Rechnungen in derselben Tabelle wie zuvor die CSV-Datei. Keine Auswertung und kein Bericht musste angefasst werden; geändert hat sich nur, woher die Zeilen kommen. Zweitens hinterlässt jeder Lauf ein sichtbares Lebenszeichen. Wer auf die Zahlen schaut, sieht, wann sie zuletzt aktualisiert wurden, und merkt es, wenn ein Lauf ausbleibt.
Die Schnittstelle begrenzt, wie viele Anfragen in einer Stunde erlaubt sind. Der nächtliche Abruf ist so geschnitten, dass er unter dieser Grenze bleibt, statt sich auf Wiederholungen nach einer Ablehnung zu verlassen. Solche Grenzen stehen in der Dokumentation der Schnittstelle, und wir lesen sie vor der ersten Zeile Code.
Der erste Abgleich: 346 Belege, die im Rechnungsexport fehlten
Beim Nachholen der Historie kamen 2 408 Belege aus dem E-Rechnungssystem. Wir haben sie mit dem verglichen, was bis dahin aus dem manuellen Export in der Tabelle stand. 346 davon waren im manuellen Export überhaupt nicht enthalten.
Diese Zahl ist unbequem, und gerade deshalb steht sie hier. Niemand hatte diese Rechnungen absichtlich weggelassen. Es gab keinen Fehler, den man einer Person zuordnen könnte, und keine Warnung. Die Datei sah vollständig aus, weil eine Datei immer vollständig aussieht: Sie enthält, was sie enthält, und schweigt über den Rest.
Für die Geschäftsführung heißt das: Jede Zahl, die auf dem Export aufgebaut war, stand auf einer Grundlage mit Lücke. Das betrifft die Umsatzübersicht ebenso wie die Frage, welche Eingangsrechnungen noch zu bezahlen sind, und den Abgleich mit der Bank, der eine Zahlung ohne passende Rechnung als ungeklärt führt.
Warum ein Export Lücken hat, die niemand sieht
Die Ursache haben wir nicht für jeden einzelnen fehlenden Beleg rekonstruiert, und es wäre unredlich, hier eine zu behaupten. Die üblichen Mechanismen sind aber bekannt, und jeder davon reicht allein aus:
- Der Zeitraum. Rechnungen, die nach dem Export mit einem Datum im bereits exportierten Monat eingehen, fallen zwischen zwei Dateien.
- Der Filter. Ein Exportfilter bleibt so eingestellt, wie er einmal war, auch wenn eine neue Rechnungsart oder ein neuer Geschäftspartner dazukommt.
- Die Vertretung. Wer den Export in Abwesenheit übernimmt, macht ihn ein wenig anders, und niemand vergleicht die beiden Dateien.
Der Abruf an der Quelle beseitigt diese Mechanismen nicht durch Sorgfalt, sondern durch Bauweise. Er fragt jede Nacht nach einem Zeitfenster, das sich mit dem vorigen überschneidet, und erkennt Belege wieder, die schon da sind. Eine spät eingegangene Rechnung wird damit beim nächsten Lauf gefunden, nicht beim nächsten Jahresabschluss.
Was der Abruf nicht löst
Ein automatischer Abruf macht die Daten vollständig in Bezug auf eine Quelle, nicht in Bezug auf das Unternehmen. Belege, die nicht über das E-Rechnungssystem laufen, kommen auf diesem Weg nicht an: Quittungen, Rechnungen von Lieferanten, die das System nicht nutzen, Gutschriften, die außerhalb vereinbart werden. Sie brauchen weiterhin einen eigenen Eingang, und dort stellt sich die Frage nach Lücken genauso.
Auch die Übertragung selbst ist keine inhaltliche Prüfung. Ob eine Rechnung sachlich stimmt, entscheidet weiterhin die Buchhaltung; der Abruf sorgt nur dafür, dass sie die Rechnung überhaupt zu sehen bekommt.
Für Unternehmen in Deutschland wird das Thema ohnehin konkret. Seit dem 1. Januar 2025 müssen Unternehmen im B2B-Geschäft E-Rechnungen empfangen können, für den Versand gelten Übergangsfristen bis Ende 2026 beziehungsweise 2027. Was eine E-Rechnung ausmacht und welche Formate zählen, erklärt das Lexikon. Mit strukturierten Rechnungen im Eingang verliert die Handarbeit zwischen Portal und Tabelle ihren letzten Grund.
Anbindungen dieser Art bauen wir als Softwareentwicklung für kaufmännische Abläufe in einer festen Reihenfolge: zuerst die Quelle anbinden, dann in die bestehenden Tabellen schreiben, dann einmal gegen den bisherigen Stand abgleichen und das Ergebnis offen zeigen – auch wenn es heißt, dass die alten Zahlen Lücken hatten.
Weitere Beiträge
Welcher Ablauf soll künftig ohne Nacharbeit laufen?
Beschreiben Sie Ihr Vorhaben in drei bis fünf Sätzen. Wir melden uns mit einem Terminvorschlag und sagen im Gespräch, was möglich ist.