Was sind elektronische Rechnungen – einfach erklärt
Elektronische Rechnungen (auch E-Rechnungen genannt) sind Rechnungen, die nicht mehr auf Papier, sondern in einem speziellen digitalen Format erstellt und versendet werden. Sie sehen vielleicht auf den ersten Blick aus wie eine normale Rechnung – aber im Hintergrund stecken strukturierte Daten, die Computer direkt lesen und weiterverarbeiten können.
Warum der Umstieg?
- Öffentliche Auftraggeber (z. B. Behörden) müssen E-Rechnungen annehmen – und verlangen sie oft sogar.
- Weniger Aufwand: Kein Ausdrucken, kein Kuvertieren, kein Porto.
- Schnellere Bearbeitung beim Empfänger.
- Spart Papier und Zeit.
Zwei wichtige Formate in Deutschland: XRechnung und ZUGFeRD
1. XRechnung
- Pflicht für Rechnungen an Behörden (Bund, Länder, Kommunen).
- Reines XML-Datenformat – also kein sichtbares PDF, sondern ein strukturierter Datensatz.
- Wird über spezielle Plattformen hochgeladen oder gesendet (z. B. ZRE oder OZG-RE).
- Sieht nicht hübsch aus, aber Maschinen können sie sofort einlesen und verarbeiten.
2. ZUGFeRD
- Kombiniert PDF und strukturierte Daten:
- Der Empfänger sieht eine ganz normale PDF-Rechnung.
- Im Hintergrund stecken die maschinenlesbaren Daten.
- Gut geeignet für Geschäftskunden und Unternehmen, die noch keine reinen XML-Systeme nutzen.
- Flexibler als XRechnung, aber für Behörden meist nicht ausreichend, wenn XRechnung gefordert ist.
Wie kommt man von der Papierrechnung zur E-Rechnung?
- Prüfen Sie Ihre Programme, mit denen Sie Rechnungen schreiben: KOBOLD CONTROL kann das, aber auch viele andere Programme unterstützen E-Rechnungen (oft mit Zusatzmodul).
- Online-Tools nutzen: Es gibt kostenlose oder günstige Webdienste, mit denen man XRechnungen und ZUGFeRD-Dateien erstellen kann.
Was Sie sonst noch wissen sollten:
- Die E-Rechnung ist nicht einfach ein PDF per E-Mail – das reicht nicht mehr aus, wenn strukturierte Daten verlangt werden.
- Es gibt gesetzliche Anforderungen, wie eine E-Rechnung auszusehen hat.
- Rechnungen an den Bund müssen ab einem bestimmten Betrag zwingend elektronisch übermittelt werden (Stand: 2025 – meist ab 1.000 €).
Wie können E-Rechnungen erfasst werden?
Gute Frage! Wenn Sie bisher Papierrechnungen schreiben (z. B. in Word oder Excel), sind Sie gewohnt, die Infos direkt einzutragen: Empfänger, Rechnungsnummer, Betrag, usw. – bei elektronischen Rechnungen wie XRechnung oder ZUGFeRD funktioniert das ähnlich, aber eben in strukturierter Form.
1. Mit Rechnungssoftware (der einfachste Weg)
So geht’s:
- Sie geben Ihre Rechnungsdaten wie gewohnt über eine Benutzeroberfläche ein.
- Die Software erzeugt daraus automatisch eine XRechnung oder eine ZUGFeRD-Datei.
Beispiele:
- KOBOLD CONTROL, DATEV, u.v.m.
- Auch manche Buchhaltungsprogramme oder ERP-Systeme können das.
Vorteil:
- Sie müssen sich nicht mit dem Dateiformat oder XML-Strukturen auskennen.
2. Mit Online-Tools für XRechnung oder ZUGFeRD
Es gibt kostenlose oder günstige Websites, bei denen Sie ein Formular ausfüllen können.
So geht’s:
- Sie geben z. B. Empfänger, Rechnungsnummer, Positionen etc. ein.
- Das Tool erzeugt daraus eine gültige E-Rechnung im gewünschten Format.
Beispiele:
- io
- ZRE-Webformular (für Rechnungen an den Bund)
- de (für ZUGFeRD-Erstellung)
Welche Infos benötigen Sie generell in jeder E-Rechnung?
Mindestens:
- Absenderdaten (Name, Adresse, Steuernummer)
- Empfängerdaten (Name, Adresse, E-Mail)
- Rechnungsnummer
- Rechnungsdatum
- Zahlungsziel
- Menge, Bezeichnung, Einzelpreis
- Gesamtbetrag, Umsatzsteuer
- Bei Rechnungen an Behörden: die Leitweg-ID (quasi wie eine Adressnummer für E-Rechnungen)
Wie sind E-Rechnungen aufgebaut?
Erst einmal als Beispiel die XRechnung, weil die für Behörden vorgeschrieben ist und rein technisch aufgebaut ist. Aber am Ende wird auch kurz ZUGFeRD erklärt, weil das etwas anschaulicher ist.
Was steckt in einer XRechnung-Datei?
Eine XRechnung ist eine XML-Datei. Das ist ein Textformat, in dem alle Rechnungsdaten streng strukturiert gespeichert sind, so dass ein Computer sie sofort lesen und weiterverarbeiten kann.
Stellen Sie sich vor, Sie würden jede Information in eine eigene Schublade stecken und ganz genau beschriften, was da drin ist – das macht XML.
So sieht eine Rechnung in XRechnung ungefähr aus (vereinfacht):
<Invoice>
<Seller>
<Name>Max Mustermann GmbH</Name>
<VATID>DE123456789</VATID>
</Seller>
<Buyer>
<Name>Stadtverwaltung Musterstadt</Name>
<LeitwegID>123456789012-34</LeitwegID>
</Buyer>
<InvoiceNumber>2025-001</InvoiceNumber>
<InvoiceDate>2025-05-21</InvoiceDate>
<PaymentDueDate>2025-06-20</PaymentDueDate>
<InvoiceLines>
<Line>
<Description>Beratung Webdesign</Description>
<Quantity>5</Quantity>
<UnitPrice>100.00</UnitPrice>
</Line>
</InvoiceLines>
<TotalAmount>595.00</TotalAmount>
</Invoice>
Das ist natürlich stark vereinfacht, aber es zeigt die Idee:
- Wer die Rechnung stellt
- Wer die Rechnung bekommt
- Einzelne Positionen (Leistungen oder Produkte)
- Gesamtsumme inkl. MwSt
Und… Diese einzelnen Struktur-Elemente, wie „TotalAmount“ oder „Quantity„, sind die Namen zu den immer wieder erwähnten „BT-Felder“, welche einzeln nach gewissen Regeln nummeriert werden („BT-14“)!
Die echte Datei ist deutlich länger, enthält z. B. auch Steuerinformationen, IBAN, Währungen, und vieles mehr – aber alles klar benannt und in einer festen Reihenfolge.
Und wie sieht das bei ZUGFeRD aus?
ZUGFeRD ist eine Mischung:
- Sie erhalten eine PDF-Datei, die wie eine normale Rechnung aussieht.
- Im Hintergrund ist eine XML-Datei eingebettet (quasi wie ein „Anhang“ im PDF), die die strukturierten Daten enthält.
Sie können die Datei wie gewohnt ansehen und ausdrucken – ein Computer kann aber auch die XML-Daten im PDF direkt verarbeiten.
Wichtig zu wissen:
- Sie können eine XRechnung oder ZUGFeRD nicht alleine Word oder Excel erstellen – dafür brauchen Sie ein Tool oder eine Software, die den XML-Code automatisch erzeugt.
- In ZUGFeRD-Dokumenten ist die eingebettete XML-Datei führend. Wenn sich also die Werte der Rechnung in dem PDF-Abbild von denen in der eingebetteten XML-Datei unterscheiden würden, gibt der Inhalt der XML-Datei. Das ist auch logisch, weil der Computer nur das lesen und verstehen kann.
- Es gibt verschiedene ZUGFeRD-„Profile“. Diese Profile unterscheiden sich im Umfang der in der XML-Datei hinterlegten Daten:
- Standard: Reicht, wenn Sie mit Firmen oder Einzelkunden arbeiten, die keine besonderen Anforderungen haben.
- Extended: Brauchen Sie, wenn Sie mit Behörden oder größere Firmen mit speziellen Vorschriften zusammenarbeiten. U.a. können in diesem Profil weitere Dateien als rechnungsbegleitende Dokumente (=Anhänge) eingebettet werden.
Hier nun ein echtes Beispiel
Beispiel-XRechnung (gekürzt & kommentiert)
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice xmlns:rsm="urn:ferd:CrossIndustryDocument:invoice:1p0">
<!-- Absender (Rechnungsaussteller) -->
<ram:SellerTradeParty>
<ram:Name>Max Mustermann GmbH</ram:Name>
<ram:PostalTradeAddress>
<ram:PostcodeCode>12345</ram:PostcodeCode>
<ram:LineOne>Musterstraße 1</ram:LineOne>
<ram:CityName>Musterstadt</ram:CityName>
<ram:CountryID>DE</ram:CountryID>
</ram:PostalTradeAddress>
<ram:VATID>DE123456789</ram:VATID>
</ram:SellerTradeParty>
<!-- Empfänger (z. B. eine Behörde) -->
<ram:BuyerTradeParty>
<ram:Name>Stadtverwaltung Beispielhausen</ram:Name>
<ram:PostalTradeAddress>
<ram:PostcodeCode>54321</ram:PostcodeCode>
<ram:LineOne>Rathausplatz 5</ram:LineOne>
<ram:CityName>Beispielhausen</ram:CityName>
<ram:CountryID>DE</ram:CountryID>
</ram:PostalTradeAddress>
<ram:ID schemeID="leitweg">991-12345-67890-01</ram:ID>
</ram:BuyerTradeParty>
<!-- Rechnungsnummer und -datum -->
<ram:ExchangedDocument>
<ram:ID>RE-2025-0001</ram:ID>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20250521</udt:DateTimeString>
</ram:IssueDateTime>
</ram:ExchangedDocument>
<!-- Zahlungsinformationen -->
<ram:ApplicableHeaderTradeSettlement>
<ram:PaymentMeans>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>DE44500105175407324931</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:PaymentMeans>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>500.00</ram:LineTotalAmount>
<ram:TaxTotalAmount>95.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>595.00</ram:GrandTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
<!-- Rechnungsposition -->
<ram:IncludedSupplyChainTradeLineItem>
<ram:SpecifiedTradeProduct>
<ram:Name>Webdesign Dienstleistungen</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:GrossPriceProductTradePrice>
<ram:ChargeAmount>100.00</ram:ChargeAmount>
</ram:GrossPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="HUR">5</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>500.00</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
</rsm:CrossIndustryInvoice>
Was sehen wir hier konkret?
XML-Abschnitt |
Bedeutung |
<ram:SellerTradeParty> |
Der Rechnungssteller mit Name, Adresse und USt-ID |
<ram:BuyerTradeParty> |
Der Rechnungsempfänger mit Adresse und Leitweg-ID |
<ram:ExchangedDocument> |
Rechnungsnummer und Ausstellungsdatum |
<ram:ApplicableHeaderTradeSettlement> |
Zahlungsdaten, Gesamtsumme, IBAN etc. |
<ram:IncludedSupplyChainTradeLineItem> |
Die einzelnen Rechnungspositionen (z. B. Dienstleistungen) |
Tipp: Solche Dateien können Sie in einem Texteditor öffnen (z. B. Notepad++) oder in einem speziellen XML-Viewer, der die Struktur besser lesbar macht.
Beispiel-ZUGFeRD (gekürzt & kommentiert)
- Sie sehen eine ganz normale PDF-Rechnung, z. B. in Adobe Reader.
- Aber im Inneren der Datei ist eine XML-Datei eingebettet – sie heißt meistens zugferd-invoice.xml.
- Diese XML-Datei enthält die gleichen Infos wie bei einer XRechnung, nur nach dem ZUGFeRD-Standard (z. B. ZUGFeRD 2.1 in der Variante „EN16931“).
So sieht der XML-Teil aus (aus einer echten ZUGFeRD-Datei, gekürzt):
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice
xmlns:rsm="urn:ferd:CrossIndustryDocument:invoice:1p0"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100">
<rsm:ExchangedDocumentContext>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:zugferd:2.1:EN16931</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
<rsm:ExchangedDocument>
<ram:ID>INV-2025-0001</ram:ID>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20250521</udt:DateTimeString>
</ram:IssueDateTime>
</rsm:ExchangedDocument>
<rsm:SupplyChainTradeTransaction>
<ram:ApplicableHeaderTradeAgreement>
<ram:SellerTradeParty>
<ram:Name>Max Mustermann GmbH</ram:Name>
</ram:SellerTradeParty>
<ram:BuyerTradeParty>
<ram:Name>Musterkunde AG</ram:Name>
</ram:BuyerTradeParty>
</ram:ApplicableHeaderTradeAgreement>
<ram:ApplicableHeaderTradeSettlement>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>500.00</ram:LineTotalAmount>
<ram:TaxTotalAmount>95.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>595.00</ram:GrandTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
Diese strukturierten Daten werden in eine PDF-Datei eingebettet.