XRechnung 3.0 · CII
XRechnung Pflichtfelder: was ein eigenes Programm liefern muss
Die Tabelle stammt aus einer Beispielrechnung, die gegen die offiziellen Regeln geprüft ist: 0 Verstöße gegen EN16931 (Validation Artefacts v1.3.17) und gegen das KoSIT-Schematron 2.6.0 für XRechnung 3.0. Jede Zeile nennt die Geschäftsregel-Nummer (BT), was hineingehört und wo das Feld in der CII-XML steht. Wer Rechnungen mit VB, VBA, Access oder Excel schreibt, kann die Felder damit eins zu eins seinen Tabellenspalten zuordnen.
Kurzform der Pfade: ram:-Präfixe weggelassen. Kopf = ExchangedDocument, Vereinbarung = ApplicableHeaderTradeAgreement, Abrechnung = ApplicableHeaderTradeSettlement.
| BT | Feld | Inhalt / Regel | CII-Element |
|---|---|---|---|
| Rechnung | |||
| BT-1 | Rechnungsnummer | eindeutig, fortlaufend | Kopf/ID |
| BT-2 | Rechnungsdatum | Format 102 = JJJJMMTT | Kopf/IssueDateTime/udt:DateTimeString |
| BT-3 | Rechnungsart | 380 Rechnung, 381 Gutschrift | Kopf/TypeCode |
| BT-5 | Währung | EUR | Abrechnung/InvoiceCurrencyCode |
| BT-10 | Käuferreferenz | Leitweg-ID bei Behörden, sonst Vorgabe des Kunden. Fehlt sie: BR-DE-15 | Vereinbarung/BuyerReference |
| BT-24 | Spezifikation | urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0 | GuidelineSpecifiedDocumentContextParameter/ID |
| BT-72 | Leistungsdatum | Lieferdatum (oder Leistungszeitraum) | ApplicableHeaderTradeDelivery/ActualDeliverySupplyChainEvent |
| Verkäufer (SellerTradeParty) | |||
| BT-27 | Name | Firmenname | Name |
| BT-31 / BT-32 | USt-IdNr. oder Steuernummer | schemeID VA bzw. FC | SpecifiedTaxRegistration/ID |
| BT-34 | Elektronische Adresse | Pflicht seit XRechnung 3.0, z. B. E-Mail mit schemeID EM | URIUniversalCommunication/URIID |
| BT-35, 37, 38, 40 | Straße, Ort, PLZ, Land | Ort und PLZ: BR-DE-3, BR-DE-4 | PostalTradeAddress |
| BT-41, 42, 43 | Kontakt: Name, Telefon, E-Mail | alle drei Pflicht: BR-DE-5, 6, 7 | DefinedTradeContact |
| Käufer (BuyerTradeParty) | |||
| BT-44 | Name | Name | |
| BT-49 | Elektronische Adresse | Pflicht seit XRechnung 3.0 | URIUniversalCommunication/URIID |
| BT-52, 53, 55 | Ort, PLZ, Land | BR-DE-8, BR-DE-9 | PostalTradeAddress |
| Zahlung und Summen | |||
| BT-81 | Zahlungsart | 58 = SEPA-Überweisung | SpecifiedTradeSettlementPaymentMeans/TypeCode |
| BT-84 | IBAN | ohne Leerzeichen | PayeePartyCreditorFinancialAccount/IBANID |
| BT-9 / BT-20 | Fälligkeit oder Zahlungsbedingung | mindestens eins, wenn ein Betrag offen ist (BR-CO-25) | SpecifiedTradePaymentTerms |
| BT-116 bis 119 | Steueraufschlüsselung je Satz | Basis, Steuer, Kategorie S, Satz; eine Gruppe je Steuersatz | Abrechnung/ApplicableTradeTax |
| BT-106, 109, 110, 112, 115 | Summen | Positionen netto, Gesamt netto, USt (mit currencyID), Brutto, Zahlbetrag. Brutto = Netto + USt (BR-CO-15) | SpecifiedTradeSettlementHeaderMonetarySummation |
| Je Position (IncludedSupplyChainTradeLineItem) | |||
| BT-126 | Positionsnummer | AssociatedDocumentLineDocument/LineID | |
| BT-153 | Bezeichnung | SpecifiedTradeProduct/Name | |
| BT-129, 130 | Menge, Einheit | C62 Stück, HUR Stunde, DAY Tag | BilledQuantity/@unitCode |
| BT-146 | Nettopreis | NetPriceProductTradePrice/ChargeAmount | |
| BT-151, 152 | Steuerkategorie, Satz | S und 19 bzw. 7 | SpecifiedLineTradeSettlement/ApplicableTradeTax |
| BT-131 | Positions-Nettobetrag | Menge × Preis, kaufmännisch gerundet | LineTotalAmount |
Eigene Datei gegen diese Regeln testen, ohne Upload: XRechnung prüfen.
Die häufigsten Fehler aus eigenen Programmen
- Reihenfolge: Die CII-XML hat eine feste Elementreihenfolge. Ein Feld an der falschen Stelle ist ungültig, auch wenn der Inhalt stimmt.
- Dezimalpunkt: Beträge mit Punkt, nicht mit Komma. Unter deutschen Ländereinstellungen schreiben VB und VBA sonst „85,00“.
- Rundung: Steuer je Steuersatz aus der Summe der Positionen rechnen, nicht je Position runden und addieren. Sonst greift BR-CO-15.
- Elektronische Adressen: BT-34 und BT-49 sind seit Version 3.0 Pflicht und fehlen in vielen älteren Vorlagen.
Für VB6, VB.NET, VBA und Access
Ein geprüftes VB-Modul, das genau diese Felder schreibt, liegt als Muster auf der Startseite, mit Beispielrechnung und Prüfprotokoll. Das Startpaket passt das Modul an die Felder des eigenen Programms an und prüft drei echte Rechnungen gegen EN16931 und XRechnung: 149 € inkl. MwSt.