Zum Inhalt springen
xmoo.app

Tool · Büro

E-Rechnung umwandeln

XRechnung in UBL oder CII, ZUGFeRD in XRechnung, XRechnung in ZUGFeRD: Das Tool liest deine E-Rechnung, fragt ab, was das Zielformat zusätzlich verlangt, und prüft das Ergebnis mit den offiziellen Regeln. Was nicht mitkommen kann, nennt es dir einzeln. Deine Rechnung verlässt dabei deinen Browser nicht.

Aus diesem Tool bei Amazon: Rechnungsprogramm mit E-Rechnung*

Mit * markiert: Partnerlinks. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Wofür du das brauchst

Eine E-Rechnung ist seit 2025 eine Rechnung in einem strukturierten Format nach der europäischen Norm EN 16931. Davon gibt es in Deutschland mehrere Spielarten, und nicht jeder Empfänger nimmt jede an:

  • XRechnung ist reine XML und der Standard für Rechnungen an Behörden. Sie gibt es in zwei Syntaxen: UBL und CII. Manche Rechnungseingangsplattformen und Buchhaltungsprogramme lesen nur eine davon.
  • ZUGFeRD (in Frankreich Factur-X) ist ein PDF mit eingebetteter XML in der Syntax CII. Der Kunde sieht ein normales PDF, seine Buchhaltung liest die XML.

Typische Fälle für dieses Tool:

  • Dein Programm schreibt CII, die Plattform will UBL – oder umgekehrt. Inhaltlich ist das dieselbe Rechnung, nur anders aufgeschrieben.
  • Eine Behörde will eine XRechnung, du hast ein ZUGFeRD-PDF. Dann fehlen meist ein paar Angaben, die XRechnung zusätzlich verlangt – vor allem die Leitweg-ID.
  • Du hast eine XRechnung bekommen und willst sie als ZUGFeRD weitergeben, etwa an ein Programm, das nur ZUGFeRD liest.

Ansehen und prüfen kannst du jede E-Rechnung im E-Rechnung-Viewer. Hast du gar keine E-Rechnung, sondern nur ein normales PDF, hilft PDF in ZUGFeRD umwandeln. Ob du überhaupt E-Rechnungen ausstellen musst, klärt der Pflicht-Check E-Rechnung.

So funktioniert es

  1. Datei ablegen. XML oder ZUGFeRD-PDF. Das Tool zeigt, was es gelesen hat: Format, Nummer, Datum, Verkäufer, Käufer, Zahlbetrag.
  2. Ziel wählen: XRechnung 3.0 in UBL, XRechnung 3.0 in CII oder ZUGFeRD im Profil EN 16931 (als PDF oder nur als XML).
  3. Fehlendes ergänzen. Verlangt das Ziel Angaben, die deine Rechnung nicht hat, fragt das Tool sie ab. Es setzt nie selbst etwas ein, das nicht in der Rechnung steht.
  4. Umwandeln und prüfen. Die neue Datei läuft durch XML-Schema und Geschäftsregeln, wie beim Validator der KoSIT. Speichern kannst du sie erst, wenn keine Fehler übrig sind.

Was beim Umwandeln passiert

Die EN 16931 beschreibt eine Rechnung als Liste fester Begriffe: BT-1 ist die Rechnungsnummer, BT-112 der Bruttobetrag, BG-25 eine Rechnungsposition – gut 160 Stück. Für UBL und CII legt die Norm jeweils fest, an welcher Stelle der XML jeder Begriff steht. Das Tool liest deine Rechnung Begriff für Begriff in dieses gemeinsame Modell und schreibt sie in der anderen Syntax wieder hin. Beträge, Mengen und Texte übernimmt es Zeichen für Zeichen, es rechnet nichts neu.

Dabei merkt sich das Tool jedes Element der Datei, das es gelesen hat. Bleibt eines übrig, gehört es nicht zur EN 16931 – dann kann es auch in keinem Zielformat stehen. Solche Angaben listet das Tool einzeln auf, statt sie still wegzulassen. Typisch sind das Teile des ZUGFeRD-Profils EXTENDED, etwa Verpackungsmengen, oder Unterpositionen der XRechnung-Erweiterung.

An wenigen Stellen unterscheiden sich die Syntaxen. Auch das sagt dir das Tool:

  • CII nimmt nur einen Bezug auf eine frühere Rechnung auf (BT-25), UBL beliebig viele.
  • UBL verlangt die Umsatzsteuer gesamt (BT-110) und bei einem Bruttopreis den Preisnachlass (BT-147). Fehlen sie in einer CII-Rechnung, ergänzt das Tool sie aus den Steuerbeträgen bzw. als Bruttopreis minus Nettopreis und nennt das in der Liste der Änderungen.
  • In UBL stehen Verwendungszweck und Lastschriftmandat bei der Zahlungsart. Hat die Rechnung keine Zahlungsart, kommen sie nicht mit.
  • Logistikkosten aus dem Profil EXTENDED zählen dort zu den Zuschlägen auf die ganze Rechnung. Das Tool übernimmt sie als solche Zuschläge (BG-21) und sagt dir das.
XRechnung CII ExchangedDocument/ID RE-2026-0042 GrandTotalAmount 364.60 EN 16931 BT-1 RE-2026-0042 BT-112 364.60 gemeinsames Modell XRechnung UBL Invoice/cbc:ID RE-2026-0042 TaxInclusiveAmount 364.60 Gleicher Inhalt, andere Stelle in der XML: 308,90 € netto + 55,70 € USt = 364,60 €
Umwandeln heißt umschreiben: Jede Angabe wird als Begriff der EN 16931 gelesen und an der Stelle geschrieben, die das Zielformat dafür vorsieht. Zahlen aus der Beispielrechnung unten. Eigene Grafik.

ZUGFeRD-PDF aus einer XRechnung

Eine XRechnung ist reine XML, zum Ansehen gibt es nichts. Für ein ZUGFeRD-PDF zeichnet das Tool deshalb eine Ansicht aus den Daten der Rechnung, aufgebaut wie das Rechnungsblatt im E-Rechnung-Viewer: Absender, Anschrift, Angaben zur Rechnung, Positionen, Summen, Zahlung und Fußzeile, bei langen Rechnungen über mehrere Seiten. Es zeigt nur, was in der XML steht. Unten auf jeder Seite steht, dass die Ansicht aus der XML erzeugt ist und die XML gilt.

Die geprüfte XML hängt als factur-x.xml im PDF, das Ganze ist als PDF/A-3 gekennzeichnet, mit eingebetteter Schrift (DejaVu Sans) und Farbprofil – derselbe Aufbau wie bei PDF in ZUGFeRD umwandeln. Nach dem Erzeugen liest das Tool die XML wieder aus dem neuen PDF und vergleicht sie mit der geprüften. Die automatischen Tests prüfen die erzeugten PDFs zusätzlich mit veraPDF, dem freien Prüfprogramm für PDF/A.

Kam deine Rechnung schon als ZUGFeRD-PDF, etwa im Profil EXTENDED, bekommt auch sie eine neue Ansicht. Die Ansicht des alten PDFs übernimmt das Tool nicht.

Was XRechnung zusätzlich verlangt

XRechnung ist die deutsche Ausprägung der EN 16931 und macht einige Angaben zur Pflicht, die dort freiwillig sind. Fehlt eine davon, fragt das Tool sie ab. Neben jedem Feld steht die Regel, die sonst bei der Prüfung anschlägt:

  • Käuferreferenz (BT-10, Regel BR-DE-15) – bei Behörden die Leitweg-ID, die dir der Auftraggeber nennt
  • Ansprechpartner beim Verkäufer mit Telefon und E-Mail (BG-6, BR-DE-2 sowie BR-DE-5 bis 7)
  • elektronische Adressen von Verkäufer und Käufer (BT-34, BT-49), hier eine E-Mail-Adresse
  • PLZ und Ort beider Parteien (BR-DE-3, -4, -8, -9)
  • eine Zahlungsangabe (BG-16, BR-DE-1) – trägst du eine IBAN ein, wird daraus eine SEPA-Überweisung

Dazu setzt das Tool die Kennung der Spezifikation (BT-24) auf XRechnung 3.0 und, wo sie fehlt, die Kennung des Geschäftsprozesses (BT-23) auf den üblichen Wert. Umgekehrt, von XRechnung nach ZUGFeRD, ändert sich nur die Kennung der Spezifikation; alles andere passt schon.

Beispiel: die Rechnung einer Elektrowerkstatt

Die Beispielrechnung im Tool ist eine erfundene XRechnung in der Syntax CII: Rechnung RE-2026-0042 vom 15.10.2026 an eine Gemeinde, Leitweg-ID 04011000-12345-03, drei Positionen:

  • 100 m Mantelleitung zu 0,89 € = 89,00 € (19 %)
  • 3 Stunden Montage zu 65,00 € = 195,00 € (19 %)
  • 1 Fachbuch zu 24,90 € (7 %)

Netto 89,00 + 195,00 + 24,90 = 308,90 €. Umsatzsteuer 19 % auf 284,00 € = 53,96 € und 7 % auf 24,90 € = 1,74 €, zusammen 55,70 €. Zahlbetrag 364,60 €.

Wandelst du sie in XRechnung UBL um, fragt das Tool nichts ab – alle Pflichtangaben sind schon da. Es meldet „Alle Angaben unverändert übernommen“: Nummer, Daten, Beträge und Texte stehen Zeichen für Zeichen so in der UBL-Datei wie vorher in der CII-Datei, nur an anderer Stelle. Die Prüfung nach XML-Schema UBL 2.1, EN 16931 und XRechnung 3.0 meldet keine Fehler.

Wandelst du sie in ZUGFeRD um, ändert sich genau eine Angabe: die Kennung der Spezifikation (BT-24) wird urn:cen.eu:en16931:2017. Geprüft wird dann nach den Regeln von ZUGFeRD 2.5.2 im Profil EN 16931. Dieselben Abläufe spielen die automatischen Tests des Tools bei jeder Änderung durch, dazu 98 Rechnungen aus den Testsammlungen der KoSIT und des ZUGFeRD-Projekts Mustang.

Grenzen

  • Die Ansicht im ZUGFeRD-PDF ist schlicht und folgt immer demselben Aufbau – ohne Logo und ohne die Gestaltung deines Briefbogens. Willst du dein eigenes Layout, macht das PDF-zu-ZUGFeRD-Tool aus deinem PDF eine E-Rechnung.
  • Aus einem ZUGFeRD-PDF wird nur die eingebettete XML umgewandelt. Die Ansicht aus dem PDF kommt nicht mit – für die E-Rechnung zählt ohnehin die XML.
  • Zeichen, die es in der Schrift DejaVu Sans nicht gibt (etwa chinesische Schriftzeichen), erscheinen in der Ansicht als Kästchen. In der XML stehen sie richtig.
  • MINIMUM und BASIC WL haben keine Positionen und sind keine vollständige E-Rechnung. Daraus lässt sich keine machen, ohne Angaben zu erfinden.
  • Angaben außerhalb der EN 16931 kommen nicht mit (siehe oben). Hängt die Gültigkeit daran – etwa Vorauszahlungen der XRechnung-Erweiterung, die den Zahlbetrag ändern –, schlägt die Prüfung an und das Ergebnis lässt sich nicht speichern.
  • Hat schon die Ausgangsrechnung Fehler, hat sie auch das Ergebnis. Das Tool repariert keine Inhalte.
  • Geprüft wird nach XRechnung 3.0. Eine ältere XRechnung wird beim Umwandeln auf 3.0 gesetzt und muss deren Regeln erfüllen.
  • Dateien bis 50 MB, keine verschlüsselten PDFs.

Steuerlich bleibt alles beim Alten

Die Umwandlung ändert das Format, nicht den Inhalt. Für die Rechnung bleibt der Aussteller verantwortlich. Bei einem hybriden Format wie ZUGFeRD ist nach dem Umsatzsteuer-Anwendungserlass die XML maßgeblich, nicht das PDF (Abschnitt 14.4 UStAE). Bewahre die Rechnung so auf, wie du sie bekommen oder verschickt hast. Die umgewandelte Fassung ist eine Arbeitskopie für das Programm, das sie braucht. Vor dem Speichern bestätigst du, dass dir das klar ist.

Wie deine Rechnung geschützt ist

Lesen, Umwandeln und Prüfen laufen vollständig in deinem Browser. Es gibt keinen Upload, und nichts wird bei xmoo.app gespeichert. Die Bearbeitung läuft in einem abgeschotteten Rahmen mit eigenem, abgeschirmtem Ursprung: Diese Seite zeigt Werbung, aber deren Skripte kommen an die Rechnung nicht heran, und im Rahmen selbst läuft weder Werbung noch Statistik. Eine Sicherheitsrichtlinie verbietet dem Rahmen, irgendetwas ins Netz zu schicken. Er lädt nur feste Programmdateien von xmoo.app nach, etwa die Prüfregeln.

Rechnungsprogramm oder dieses Tool?

Musst du nur ab und zu eine Rechnung in ein anderes Format bringen, reicht dieses Tool. Wenn dein Kunde oder die Plattform dauerhaft ein anderes Format will, ist ein Rechnungsprogramm bequemer, das beide Syntaxen der XRechnung und ZUGFeRD direkt ausgibt. Achte beim Kauf darauf, dass es XRechnung in UBL und CII ausdrücklich nennt.

Rechnungsprogramm mit E-Rechnung (ZUGFeRD und XRechnung)*

Mit * markiert: Partnerlinks. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Häufige Fragen

Was ist der Unterschied zwischen UBL und CII?

Zwei XML-Sprachen für denselben Inhalt: UBL kommt von OASIS, CII von UN/CEFACT. Die EN 16931 erlaubt beide, XRechnung auch. ZUGFeRD nutzt immer CII. Welche Syntax ein Empfänger annimmt, steht in seinen Vorgaben.

Geht bei der Umwandlung etwas verloren?

Was zur EN 16931 gehört, nicht – das zeigen die Tests mit allen Rechnungen der KoSIT-Testsammlung: hin und zurück kommt dieselbe Rechnung heraus. Angaben außerhalb der Norm kann kein Zielformat aufnehmen. Das Tool listet sie vor dem Umwandeln einzeln auf.

Ist das Ergebnis eine gültige E-Rechnung?

Das Format ja, wenn die Prüfung keine Fehler meldet: XML-Schema und Geschäftsregeln sind dieselben wie beim Validator der KoSIT und von FeRD. Ob der Inhalt steuerlich stimmt, prüft keine Software.

Wird meine Rechnung hochgeladen?

Nein. Alles läuft in deinem Browser (siehe oben).

Quellen

Verwendete Software und Lizenzen

  • Lesen, Umwandeln, Schreiben und die Ansicht im PDF sind eigener Code von xmoo.app.
  • pdf-lib 1.17.1 baut das ZUGFeRD-PDF. Copyright Andrew Dillon, MIT-Lizenz. fontkit 1.1.1 (Fassung für pdf-lib) bettet die Schrift ein, Copyright Devon Govett und Andrew Dillon, MIT-Lizenz.
  • DejaVu Sans 2.37, Copyright Bitstream (Bitstream Vera), Änderungen des DejaVu-Projekts gemeinfrei, Lizenz. Ins PDF kommt nur ein Ausschnitt mit den verwendeten Zeichen.
  • Das sRGB-Farbprofil ist selbst berechnet und frei.
  • SaxonJS 2.7 führt die Prüfregeln aus. Copyright Saxonica Ltd, unverändert weitergegeben nach der SaxonJS-Lizenz (dort auch der Haftungsausschluss). Enthält big.js, Copyright Michael Mclaughlin, MIT-Lizenz.
  • EN 16931 Validation Artefacts 1.3.17, © Europäische Union, unter der EUPL 1.2; XRechnung-Schematron 2.6.0 der KoSIT und ZUGFeRD 2.5.2 / Factur-X 1.09.2 von FeRD und FNFE-MPE, jeweils unter der Apache License 2.0, als kompilierte Fassung (SEF); ZUGFeRD-Dateien entnommen aus factur-x von Alexis de Lattre (Akretion), BSD-Lizenz. Einzelheiten im Lizenzabschnitt des E-Rechnung-Viewers.
  • XML-Schemata OASIS UBL 2.1, UN/CEFACT CII D16B (Copyright UN/CEFACT) und die ZUGFeRD-Schemata, unverändert mit ihrem Copyright-Vermerk; xmllint-wasm 5.3.0 prüft sie, Copyright die Autoren von libxml und libxml.js, MIT-Lizenz.