Zum Inhalt springen
immoGenio.

immoGenio

E-Rechnung ab 2025: ZUGFeRD, XRechnung — und der unterschätzte IBAN-Swap

Handwerker schiebt nach getaner Arbeit den Werkzeugkoffer zurück in den Transporter

Wer in der Hausverwaltung mit Buchhaltung zu tun hat, kennt die Stichtage mittlerweile: Seit dem 1. Januar 2025 muss jedes Unternehmen in Deutschland E-Rechnungen empfangen und revisionssicher archivieren können. Die Versandpflicht wird gestaffelt scharfgeschaltet — ab dem 1. Januar 2027 für Unternehmen mit mehr als 800.000 Euro Jahresumsatz, ab dem 1. Januar 2028 für alle B2B-Umsätze. Eine PDF-Rechnung per Mail reicht dafür nicht mehr. Verbindlich ist ein strukturiertes XML-Dokument nach der europäischen Norm EN 16931.

Was in fast jeder Diskussion zu diesem Thema fehlt: Die Umstellung ist nicht nur ein Compliance-Thema. Sie öffnet eine neue Angriffsfläche, die in der Branche noch kaum benannt wird.

ZUGFeRD und XRechnung im Überblick

In Deutschland gelten zwei Formate als EN-16931-konform:

  • XRechnung ist reines XML — entweder in OASIS UBL 2.1 oder in UN/CEFACT CII. Es ist der KoSIT-Standard und Pflicht im Rechnungsverkehr mit Bund, Ländern und Kommunen.
  • ZUGFeRD 2.x ist eine hybride PDF/A-3-Datei. Sichtbar ist ein normal aussehendes Rechnungs-PDF — eingebettet liegt darin eine factur-x.xml, die maschinell lesbar dasselbe enthält.

Der entscheidende Punkt: Sobald ein Belegsystem eine E-Rechnung strukturiert verarbeitet, ist das XML die Quelle der Wahrheit, nicht der schöne PDF-Ausdruck darüber. Der Buchungsvorschlag entsteht aus den <cac:PaymentMeans>-Knoten des XML, nicht aus dem, was der Mensch auf dem Bildschirm sieht.

Und genau hier wird es gefährlich.

Der In-Flight-Swap: warum XML allein nicht reicht

Stellen wir uns einen realistischen Angriff vor. Ein Lieferant verschickt eine legitime ZUGFeRD-Rechnung per E-Mail. Unterwegs — über ein kompromittiertes SMTP-Relay, ein gehacktes Lieferanten-Postfach oder einen Man-in-the-Middle irgendwo im Konzern-Maildrop — wird der Anhang abgefangen. Der Angreifer tut nicht das Offensichtliche: Er manipuliert nicht das PDF. Stattdessen tauscht er im eingebetteten XML eine einzige IBAN aus.

Das manipulierte PDF wird weitergeleitet. Die Buchhalterin öffnet den Anhang: Der sichtbare PDF-Layer zeigt die korrekte IBAN des Lieferanten. Alles wirkt unauffällig. Unsere Buchhaltungssoftware liest aber nicht den PDF-Text, sondern den XML-Teil — und bekommt dort die Angreifer-IBAN serviert. Der Buchungsvorschlag läuft automatisch durch die Buchungsregel-Engine, die SEPA-Überweisung wird ausgelöst, das Geld ist weg.

Dieser Angriff hat bereits einen Namen in der Fachszene: In-Flight-Swap. Er funktioniert, weil die Branche die E-Rechnung oft als reinen Import-Durchlauf denkt. XML rein, Buchung raus. Fertig.

Das ist fahrlässig.

Was eine ehrliche E-Rechnungs-Engine leisten muss

Bei ImmoGenio haben wir diese Woche das Architekturdesign für unsere E-Rechnungs-Engine abgeschlossen. Die Reihenfolge der Prüfungen ist kein Zufall — sie spiegelt die Bedrohungsmodellierung wider, mit der wir das Feature angegangen sind:

1. Syntaktische Validierung (XSD). Das XML muss gegen die lokal gepinnten Schemata von XRechnung 3.0 und ZUGFeRD 2.3 validieren. Keine KoSIT-Schemata aus dem Internet zur Laufzeit — sie sind Teil unseres Source-Trees und werden versioniert. Fehler hier beenden den Import sofort mit einem Pointer auf Zeile und Spalte.

2. Semantische Validierung (Schematron). Die europäischen Kernregeln (BR-01 bis BR-99 aus EN 16931) und die deutschen CIUS-Verschärfungen der XRechnung werden als vorkompilierte XSLT gegen das Dokument gefahren. Wer hier schludert, riskiert bei einer Betriebsprüfung böse Überraschungen.

3. IBAN-Whitelist pro Lieferant. Das ist das Herzstück gegen den Swap-Angriff. Jede IBAN, die wir je für einen Lieferanten gesehen haben, wird in einer mandantenspezifischen Whitelist geführt. Die erste IBAN eines Lieferanten löst eine Vier-Augen-Bestätigung aus: Der Buchhalter muss aktiv bestätigen, dass er die IBAN außerhalb der Rechnung verifiziert hat — per Rückruf, Briefkopf-Abgleich, Vertragsunterlagen. Kommt später eine neue IBAN desselben Lieferanten rein, ohne dass die alte widerrufen wurde, lehnt das System den Buchungsvorschlag kategorisch ab. Kein Override, kein „einmal durchwinken”.

4. Kreuzprüfung PDF-Layer gegen XML. Nur bei ZUGFeRD — aber hier nicht optional. Wir extrahieren den sichtbaren Text des PDF-Layers, suchen nach IBAN-Mustern und vergleichen sie mit der XML-IBAN. Stimmt das nicht überein, ist das per Definition ein Swap-Versuch. Keine Warnung, kein „vielleicht” — direkter Fehler.

5. Append-only Audit-Log. Jeder einzelne Validierungslauf wird in einer eigenen Tabelle protokolliert. Kein Update, kein Löschen. Wer wann was freigegeben hat, ist für die nächsten zehn Jahre nachvollziehbar.

Was der legitime Bankwechsel bedeutet

Der häufigste Einwand gegen eine harte IBAN-Whitelist lautet: „Lieferanten wechseln doch manchmal die Bank.” Stimmt. Genau deshalb haben wir den Widerrufs-Workflow als erstklassige Funktion modelliert: Ein bekannter Lieferant kommt mit einer neuen IBAN — die UI zeigt die alte und die neue IBAN direkt nebeneinander mit Diff-Highlight, der Buchhalter markiert die alte als widerrufen mit Begründung, bestätigt die neue nach externer Verifikation. Ganzer Vorgang: unter einer Minute. Der Unterschied zum Swap-Angriff? Bei legitimen Wechseln weiß der Buchhalter vorher, dass der Lieferant wechselt. Bei Angriffen weiß er es nicht. Deshalb ist die explizite, dokumentierte Bestätigung kein Schikane, sondern der Kontrollpunkt, der genau hier trennt.

Warum das für Hausverwaltungen relevanter ist als für viele andere Branchen

In einer typischen Hausverwaltung laufen Handwerker-Rechnungen, Energie-Nachzahlungen, Hausmeister-Abrechnungen, Versicherungen und Behörden-Bescheide gebündelt ein. Die Volumen sind oft nicht riesig — aber die Frequenz ist hoch, die Lieferantenvielfalt ebenfalls, und die Buchhaltung läuft häufig mit wenig Personal und hohem Durchsatz. Exakt die Konstellation, in der ein sauberer Swap-Angriff lange unentdeckt bleibt, weil niemand Zeit hat, jede einzelne Überweisung manuell zu kontrollieren.

Wer hier eine E-Rechnungs-Engine einführt, die „nur” importiert, hat die Compliance-Anforderung erfüllt und gleichzeitig ein Betrugs-Einfallstor geöffnet. Wer den Validierungs-Stack oben implementiert, hat die Compliance-Anforderung erfüllt und die SEPA-Überweisung gegen den wahrscheinlichsten Angriffsvektor der nächsten Jahre gehärtet.

Wo wir stehen

Das Epic zur E-Rechnungs-Engine ist als Teil unserer Buchhaltungs-Roadmap beschlossen. Die Sub-Tasks — Schema, Parser für UBL + CII + ZUGFeRD-PDF-Extraktion, Validator mit Anti-Swap-Logik, Generator für Ausgangsrechnungen, Portal-UI mit Vier-Augen-Dialog — sind geschnitten und in der Umsetzungs-Pipeline. Wenn Sie ImmoGenio bereits einsetzen, kommt das Modul ohne zusätzliche Konfiguration in Ihren Mandanten. Wenn Sie die E-Rechnungs-Thematik noch vor sich haben: Der 1. Januar 2027 ist näher, als er sich liest.

Fragen, Rückmeldungen oder eigene Erfahrungen mit dem Thema? Wir freuen uns über Ihre Nachricht an info@immogenio.de.

Häufige Fragen zum Thema

Ab wann gilt die E-Rechnungspflicht in Deutschland?

Empfangen und revisionssicher archivieren muss jedes Unternehmen E-Rechnungen bereits seit dem 1. Januar 2025. Die Versandpflicht wird gestaffelt scharfgeschaltet: ab dem 1. Januar 2027 für Unternehmen mit mehr als 800.000 Euro Jahresumsatz, ab dem 1. Januar 2028 für alle B2B-Umsätze.

Reicht eine PDF-Rechnung per E-Mail als E-Rechnung aus?

Nein. Eine bloße PDF-Datei erfüllt die Vorgaben nicht mehr, verbindlich ist ein strukturiertes XML-Dokument nach der europäischen Norm EN 16931. In Deutschland gelten dafür XRechnung und ZUGFeRD 2.x als EN-16931-konform.

Was ist der Unterschied zwischen XRechnung und ZUGFeRD?

XRechnung ist reines XML in OASIS UBL 2.1 oder UN/CEFACT CII, der KoSIT-Standard und Pflicht im Rechnungsverkehr mit Bund, Ländern und Kommunen. ZUGFeRD 2.x ist eine hybride PDF/A-3-Datei mit einem sichtbaren Rechnungs-PDF und einer eingebetteten factur-x.xml, die maschinenlesbar denselben Inhalt trägt.

Was ist ein In-Flight-Swap bei E-Rechnungen?

Beim In-Flight-Swap fängt ein Angreifer eine legitime ZUGFeRD-Rechnung ab und tauscht im eingebetteten XML eine einzige IBAN aus, ohne das sichtbare PDF zu verändern. Da die Buchhaltungssoftware das XML als Quelle der Wahrheit aus den PaymentMeans-Knoten liest, läuft die SEPA-Überweisung auf das Angreifer-Konto, obwohl der PDF-Layer die korrekte IBAN zeigt.

Wie schützt man sich vor manipulierten IBANs in E-Rechnungen?

Wirksam ist eine mandantenspezifische IBAN-Whitelist pro Lieferant: Die erste IBAN wird per Vier-Augen-Bestätigung außerhalb der Rechnung verifiziert, eine später ohne Widerruf eintreffende neue IBAN wird kategorisch abgelehnt. Bei ZUGFeRD kommt die Kreuzprüfung des sichtbaren PDF-Layers gegen die XML-IBAN hinzu, ergänzt um XSD-Validierung gegen XRechnung 3.0 und ZUGFeRD 2.3, Schematron-Prüfung der Regeln BR-01 bis BR-99 und ein append-only Audit-Log.

Was passiert, wenn ein Lieferant legitim seine Bankverbindung wechselt?

Der Bankwechsel läuft über einen dokumentierten Widerrufs-Workflow: Alte und neue IBAN werden mit Diff-Highlight nebeneinander gezeigt, der Buchhalter markiert die alte als widerrufen und bestätigt die neue nach externer Verifikation. Der Unterschied zum Angriff ist, dass der Buchhalter beim legitimen Wechsel vorher weiß, dass der Lieferant die Bank wechselt.

Themen

Rhein-MainSie suchen eine Verwaltung für Ihre Eigentümergemeinschaft oder Ihr Mietobjekt? Wir verwalten selbst, von Offenbach aus im ganzen Rhein-Main-Gebiet. Hausverwaltung in Offenbach · alle Orte

Beitrag als PDF laden

Einmal im Monat, was sich bei Recht und Fristen geändert hat

Kein Marketing, keine Produktneuigkeiten. Abmeldung mit einem Klick.

Mit Ihrer Anmeldung stimmen Sie unseren Datenschutzbestimmungen zu. Sie können sich jederzeit über den Link am Ende jeder Ausgabe wieder abmelden.

Alle Beiträge im Ratgeber