Die XRechnung ist ein standardisiertes Format für elektronische Rechnungen in Deutschland und der EU, das auf der europäischen Norm EN 16931 basiert. Dieses Format ermöglicht eine einheitliche Übermittlung und Verarbeitung von Rechnungsdaten in elektronischer Form. Um Ihnen ein besseres Verständnis der XRechnung zu vermitteln, wird im Folgenden ein vollständiges XML-Beispiel analysiert. Wir erklären die wesentlichen Elemente und geben detaillierte Einblicke in die Struktur.
Jetzt kostenlos XRechnungen erstellen<?xml version="1.0" encoding="UTF-8"?> <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cec="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"> <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID> <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID> <cbc:ID>12345</cbc:ID> <cbc:IssueDate>2024-10-10</cbc:IssueDate> <cbc:DueDate>2024-10-25</cbc:DueDate> <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> <cbc:BuyerReference>Test-ID</cbc:BuyerReference> <cac:AccountingSupplierParty> <cac:Party> <cbc:EndpointID schemeID="EM">test@test.de</cbc:EndpointID> <cac:PartyName> <cbc:Name>Peter Muster</cbc:Name> </cac:PartyName> <cac:PostalAddress> <cbc:StreetName>Musterstraße 22</cbc:StreetName> <cbc:CityName>Berlin</cbc:CityName> <cbc:PostalZone>12345</cbc:PostalZone> <cac:Country> <cbc:IdentificationCode>DE</cbc:IdentificationCode> </cac:Country> </cac:PostalAddress> <cac:PartyTaxScheme> <cbc:CompanyID>DE123456789</cbc:CompanyID> <cac:TaxScheme> <cbc:ID>VAT</cbc:ID> </cac:TaxScheme> </cac:PartyTaxScheme> <cac:PartyTaxScheme> <cbc:CompanyID>12345/12345</cbc:CompanyID> <cac:TaxScheme> <cbc:ID>FC</cbc:ID> </cac:TaxScheme> </cac:PartyTaxScheme> <cac:PartyLegalEntity> <cbc:RegistrationName>Peter Muster</cbc:RegistrationName> </cac:PartyLegalEntity> <cac:Contact> <cbc:Name>Franz Meiertest</cbc:Name> <cbc:Telephone>0123/456789456</cbc:Telephone> <cbc:ElectronicMail>test@test.de</cbc:ElectronicMail> </cac:Contact> </cac:Party> </cac:AccountingSupplierParty> <cac:AccountingCustomerParty> <cac:Party> <cbc:EndpointID schemeID="EM">Testmail@test.de</cbc:EndpointID> <cac:PartyName> <cbc:Name>Firma XYZ GmbH</cbc:Name> </cac:PartyName> <cac:PostalAddress> <cbc:StreetName>Teststraße 22</cbc:StreetName> <cbc:CityName>Teststadt</cbc:CityName> <cbc:PostalZone>12345</cbc:PostalZone> <cac:Country> <cbc:IdentificationCode>DE</cbc:IdentificationCode> </cac:Country> </cac:PostalAddress> <cac:PartyLegalEntity> <cbc:RegistrationName>Firma XYZ GmbH</cbc:RegistrationName> </cac:PartyLegalEntity> </cac:Party> </cac:AccountingCustomerParty> <cac:PaymentMeans> <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode> <cac:PayeeFinancialAccount> <cbc:ID>DE02120300000000202051</cbc:ID> <cbc:Name>Franz Meiertest</cbc:Name> </cac:PayeeFinancialAccount> </cac:PaymentMeans> <cac:TaxTotal> <cbc:TaxAmount currencyID="EUR">9.49</cbc:TaxAmount> <cac:TaxSubtotal> <cbc:TaxableAmount currencyID="EUR">49.95</cbc:TaxableAmount> <cbc:TaxAmount currencyID="EUR">9.49</cbc:TaxAmount> <cac:TaxCategory> <cbc:ID>S</cbc:ID> <cbc:Percent>19</cbc:Percent> <cac:TaxScheme> <cbc:ID>VAT</cbc:ID> </cac:TaxScheme> </cac:TaxCategory> </cac:TaxSubtotal> </cac:TaxTotal> <cac:LegalMonetaryTotal> <cbc:LineExtensionAmount currencyID="EUR">49.95</cbc:LineExtensionAmount> <cbc:TaxExclusiveAmount currencyID="EUR">49.95</cbc:TaxExclusiveAmount> <cbc:TaxInclusiveAmount currencyID="EUR">59.44</cbc:TaxInclusiveAmount> <cbc:AllowanceTotalAmount currencyID="EUR">0.00</cbc:AllowanceTotalAmount> <cbc:PrepaidAmount currencyID="EUR">0</cbc:PrepaidAmount> <cbc:PayableAmount currencyID="EUR">59.44</cbc:PayableAmount> </cac:LegalMonetaryTotal> <cac:InvoiceLine> <cbc:ID>1</cbc:ID> <cbc:InvoicedQuantity unitCode="C62">5</cbc:InvoicedQuantity> <cbc:LineExtensionAmount currencyID="EUR">49.95</cbc:LineExtensionAmount> <cac:Item> <cbc:Description>Das beste Produkt</cbc:Description> <cbc:Name>Testprodukt</cbc:Name> <cac:SellersItemIdentification> <cbc:ID>222</cbc:ID> </cac:SellersItemIdentification> <cac:ClassifiedTaxCategory> <cbc:ID>S</cbc:ID> <cbc:Percent>19</cbc:Percent> <cac:TaxScheme> <cbc:ID>VAT</cbc:ID> </cac:TaxScheme> </cac:ClassifiedTaxCategory> </cac:Item> <cac:Price> <cbc:PriceAmount currencyID="EUR">9.99</cbc:PriceAmount> </cac:Price> </cac:InvoiceLine> </Invoice>
Das XML-Format der XRechnung besteht aus mehreren Elementen, die in einem hierarchischen Aufbau organisiert sind. Jedes Element hat eine bestimmte Funktion und liefert spezifische Informationen, die für die Verarbeitung der elektronischen Rechnung erforderlich sind. Im Folgenden werden die wichtigsten XML-Elemente und deren Bedeutung detailliert beschrieben.
CustomizationID
Dieses Element gibt an, welche Version und welche spezifischen Anforderungen für die Rechnung gelten. In diesem Beispiel steht die CustomizationID
für die Spezifikation der XRechnung Version 3.0. Sie basiert auf der europäischen Norm EN 16931 und stellt sicher, dass die Rechnung den gesetzlichen Anforderungen für elektronische Rechnungen entspricht.
ProfileID
Die ProfileID
beschreibt das Profil, das für die Rechnungsübermittlung verwendet wird. In diesem Fall bezieht sich der Wert auf das Peppol-Netzwerk, ein weit verbreitetes Netzwerk für den sicheren Austausch elektronischer Dokumente in Europa. Es ermöglicht eine standardisierte Übermittlung der Rechnung an den Empfänger.
ID
, IssueDate
und DueDate
InvoiceTypeCode
Dieses Element definiert den Typ des Rechnungsdokuments. Der Code 380
steht hier für eine normale Rechnung. Es gibt auch andere Codes, wie z.B. Gutschriften, die durch unterschiedliche Werte gekennzeichnet werden.
DocumentCurrencyCode
Der DocumentCurrencyCode
gibt an, in welcher Währung die Beträge in der Rechnung angegeben sind. In diesem Fall ist es EUR
(Euro), was in der EU üblich ist.
AccountingSupplierParty
und AccountingCustomerParty
Diese Abschnitte enthalten Informationen zu den beteiligten Parteien:
PaymentMeans
Dieses Element beschreibt die Zahlungsmethode, die für diese Rechnung verwendet wird. Der PaymentMeansCode
58
deutet auf eine Überweisung hin. Zusätzlich enthält dieser Abschnitt Informationen zum Zahlungskonto des Empfängers, wie die IBAN und den Namen des Kontoinhabers, was für die Durchführung der Zahlung benötigt wird.
TaxTotal
und TaxSubtotal
Diese Elemente geben die Gesamtsteuerbeträge und deren Aufschlüsselung an:
LegalMonetaryTotal
Hier werden die Gesamtbeträge der Rechnung zusammengefasst:
LineExtensionAmount
.InvoiceLine
Jede InvoiceLine
stellt eine Position auf der Rechnung dar, die Details zu einem verkauften Artikel oder einer Dienstleistung enthält:
Die Verwendung der XRechnung bringt mehrere Vorteile mit sich: