Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core Module und Plugins > Dokument | E-Rechnung
Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins Dokument | E-Rechnung. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.
Diese Seite zeigt, welche normalisierten Felder Sie für die Erstellung einer E-Rechnung je Format mindestens angeben müssen. Die Bedeutung aller Felder beschreibt Normalisierte Daten für die E-Rechnung, das Vorgehen beim Erstellen undefined>E-Rechnungen erstellen.
| Format-ID | Bezeichnung | Standard | Beschreibung |
|---|---|---|---|
xrechnung_ubl |
XRechnung UBL | UBL 2.1 | XRechnung 3.0 im UBL-Format (Universal Business Language) |
xrechnung_cii |
XRechnung CII | UN/CEFACT CII | XRechnung 3.0 im CII-Format (Cross Industry Invoice) |
zugferd_cii |
ZUGFeRD | UN/CEFACT CII | ZUGFeRD / Factur-X (PDF/A-3 mit eingebetteter XML); gelesen ab Version 2.0.1, erstellt im Profil EXTENDED oder EN 16931 |
peppol_ubl |
Peppol BIS Billing | UBL 2.1 | Peppol BIS Billing 3.0 im UBL-Format |
Hinweis: ZUGFeRD 1.0 wird nicht unterstützt! Bei der Verarbeitung von ZUGFeRD 1.0-Dokumenten wird folgender Fehler ausgegeben: No supported e-invoicing format found. The given invoice is ZUGFeRD 1.0. ZUGFeRD 2.0 and newer are supported.
Hinweis: Diese Tabelle zeigt die Felder, die checkRequiredFields() sowie createInvoice() und createInvoiceRaw() vor der Erstellung prüfen. Der KoSIT-Validator prüft anschließend weitere, bedingte Regeln der EN 16931 und des jeweiligen Formats, etwa den Befreiungsgrund bei steuerfreien Positionen (Kategorien E, AE, K, G) oder die Rechnungsreferenz bei einer Rechnungskorrektur. Eine vollständige Vorprüfung ersetzt die Tabelle daher nicht.
Tipp: Für die Codelisten-Felder Dokumenttyp (UNTDID 1001), Zahlungsart (UNCL 4461), Steuerkategorie (UNCL 5305) und Einheit (UN/ECE Rec. 20) finden Sie die gültigen Werte in den Referenztabellen der normalisierten Daten. Die Bibliothek prüft Codewerte nicht; ungültige Werte meldet erst der Validator.
| Feldname (Metadatum) | BT-Feld | Beschreibung | XRechnung UBL | XRechnung CII | ZUGFeRD | Peppol UBL |
|---|---|---|---|---|---|---|
| Rechnungskopf / Allgemeine Daten | ||||||
| agorum_accounting_document_number | BT-1 | Rechnungsnummer | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_date | BT-2 | Rechnungsdatum | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_due_date | BT-9 | Fälligkeitsdatum | – | ✓ | ✓ | – |
| agorum_accounting_document_type_code | BT-3 | Rechnungstyp-Code | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_currency | BT-5 | Währung | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_buyer_reference_number | BT-10 | Leitweg-ID / Käuferreferenz | ✓ | ✓ | ✓ | ✓ |
| Verkäufer (Supplier) | ||||||
| agorum_accounting_document_supplier_name | BT-27 | Name des Verkäufers | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_street | BT-35 | Straße | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_city | BT-37 | Stadt | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_zip | BT-38 | Postleitzahl | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_country | BT-40 | Land | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_contact_name | BT-41 | Kontaktperson | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_phone | BT-42 | Telefon | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_mail | BT-43 | ✓ | ✓ | ✓ | ✓ | |
| agorum_accounting_document_supplier_vat_id | BT-31 | USt-IdNr. Die Vorprüfung verlangt das Feld nicht; dass USt-IdNr. (BT-31) oder Steuernummer (BT-32) vorhanden ist, prüft der KoSIT-Validator. | – | – | – | – |
| agorum_accounting_document_supplier_endpoint_id | BT-34 | Elektronische Adresse (Endpoint) | – | ✓ | ✓ | – |
| agorum_accounting_document_supplier_bic | BT-86 | BIC | – | ✓ | ✓ | – |
| Käufer (Customer) | ||||||
| agorum_accounting_document_customer_name | BT-44 | Name des Käufers | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_street | BT-50 | Straße | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_city | BT-52 | Stadt | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_zip | BT-53 | Postleitzahl | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_country | BT-55 | Land | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_endpoint_id | BT-49 | Elektronische Adresse (Endpoint) | – | ✓ | ✓ | – |
| Zahlungsinformationen | ||||||
| agorum_accounting_document_payment_method | BT-81 | Zahlungsart | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_payment_iban | BT-84 | IBAN | ✓ | ✓ | ✓ | ✓ |
| Steuerinformationen | ||||||
| agorum_accounting_document_tax_id_1 | BT-118 | Steuer-ID (1. Steuersatz – Kategorie-Code, z. B. 'S') | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_tax_schema_id_1 | – | Steuerschema (UBL: TaxScheme, CII: TypeCode), in der Regel VAT | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_tax_rate_1 | BT-119 | Steuersatz (%) | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_tax_amount_1 | BT-117 | Steuerbetrag pro Aufgliederung | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_net_amount_1 | BT-116 | Nettobetrag pro USt-Kategorie | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_tax_total_amount | BT-110 | Gesamtsteuerbetrag | ✓ | ✓ | ✓ | ✓ |
| Beträge | ||||||
| agorum_accounting_document_total_net_amount | BT-106 (CII) / BT-109 (UBL) | Gesamtnettobetrag. Im CII-Format als Summe der Positionsbeträge (BT-106) geschrieben, im UBL-Format als Betrag ohne Umsatzsteuer (BT-109) | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_gross_amount | BT-112 | Gesamtbruttobetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_due_payable_amount | BT-115 | Zahlbetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_discount_amount | BT-107 | Rabattbetrag (Gesamtsumme Nachlässe Rechnungsebene) | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_discountable_amount | BT-106 (UBL) | Summe der Positionsbeträge; im UBL-Format als LineExtensionAmount geschrieben | ✓ | ✓ | ✓ | ✓ |
| Rechnungspositionen | ||||||
| agorum_accounting_document_item_list | BG-25 | Liste der Rechnungspositionen (Business Group) | ✓ | ✓ | ✓ | ✓ |
Hinweis: Diese Felder gehören in jede Position in agorum_accounting_document_item_list. Es muss mindestens eine Position angegeben werden.
| Feldname | BT-Feld | Beschreibung | XRechnung UBL | XRechnung CII | ZUGFeRD | Peppol UBL |
|---|---|---|---|---|---|---|
| number | BT-126 | Positionsnummer | ✓ | ✓ | ✓ | ✓ |
| description | BT-153 | Beschreibung/Artikelname | ✓ | ✓ | ✓ | ✓ |
| quantity | BT-129 | Menge | ✓ | ✓ | ✓ | ✓ |
| unit | BT-130 | Einheit (z.B. "C62", "HUR") | ✓ | ✓ | ✓ | ✓ |
| net_price | BT-146 | Nettopreis pro Einheit (inkl. Rabatt) | ✓ | ✓ | ✓ | ✓ |
| net_amount | – | Nettobetrag der Position. Nur bei der Vorprüfung für UBL Pflicht, wird dort aber nicht in die XML geschrieben. BT-131 entsteht in beiden Syntaxen aus line_total_amount; im CII-Format wird net_amount zusätzlich als Nettobetrag geschrieben (nur EXTENDED). Wird in der Plausibilitätsprüfung mit quantity × net_price verglichen. | ✓ | – | – | ✓ |
| line_total_amount | BT-131 | Positionsgesamtbetrag | ✓ | ✓ | ✓ | ✓ |
| tax_rate | BT-152 | Steuersatz (%) auf Position | ✓ | ✓ | ✓ | ✓ |
| tax_type | – | Steuertyp (Teil der TaxCategory-Struktur, kein eigenes BT) | ✓ | ✓ | ✓ | ✓ |
| tax_category | BT-151 | Steuerkategorie (z.B. "S", "Z") | ✓ | ✓ | ✓ | ✓ |
| invoice_currency | BT-5 | Währung der Position (identisch zum Rechnungskopf) | ✓ | ✓ | ✓ | ✓ |
Hinweis: Bei der Vorprüfung wird nur die erste Position auf diese Felder geprüft. Fehlen sie in einer weiteren Position, meldet das erst der KoSIT-Validator.
Zusätzlich zur Prüfung mit dem KoSIT-Validator werden beim Lesen mit parse() (Parameter validate: true) inhaltliche Plausibilitätsprüfungen auf Positionsebene durchgeführt.
| Regel | Beschreibung | Fehlermeldung |
|---|---|---|
| net_price ↔ net_amount Abhängigkeit | Wenn net_price gesetzt ist, muss auch net_amount vorhanden sein (und umgekehrt). |
net_amount is missing although net_price is set. |
| Brutto ≠ Netto bei Steuersatz > 0 | Wenn ein Steuersatz > 0% angegeben ist, dürfen net_amount und gross_amount nicht identisch sein. |
net_amount and gross_amount are same value. This is not valid because tax_rate is X%. Please check if there are allowance for the position. |
| Berechnungskonsistenz (1-Cent-Toleranz) | quantity × net_price muss innerhalb von ±0,01 € (1 Cent) dem net_amount entsprechen. |
net_price (X) multiplied with quantity (Y) is differing more than one cent from net_amount: Z |
Die Validierungsergebnisse werden im Abschnitt content des Validierungsobjekts zurückgegeben. Beispiel:
"content": {
"item": [{
"itemId": "d8a0cce0-b89b-4c80-8439-cb9e97dca4a9",
"name": "Position 2",
"errors": [{
"level": "ERROR",
"message": "net_price (6000) multiplied with quantity (2) is differing more than one cent from net_amount: 6000"
}]
}]
}
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0, sonst entsteht eine XRechnung-Kennung.