Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core Module und Plugins > agorum core electronic invoicing
| Format-ID | Bezeichnung | Standard | Beschreibung |
|---|---|---|---|
xrechnung_ubl |
XRechnung UBL | UBL 2.1 | Deutsche XRechnung im UBL-Format (Universal Business Language) |
xrechnung_cii |
XRechnung CII | UN/CEFACT CII | Deutsche XRechnung im CII-Format (Cross Industry Invoice) |
zugferd_cii |
ZUGFeRD | UN/CEFACT CII | ZUGFeRD 2.0+ / Factur-X (PDF mit eingebettetem XML) |
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 Pflichtfelder für die Erstellung von E-Rechnungen mit der Funktion createInvoice() bzw. createInvoiceRaw().
| Feldname (Metadatum) | Beschreibung | XRechnung UBL | XRechnung CII | ZUGFeRD | Peppol UBL |
|---|---|---|---|---|---|
| Rechnungskopf / Allgemeine Daten | |||||
| agorum_accounting_document_number | Rechnungsnummer | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_date | Rechnungsdatum | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_due_date | Fälligkeitsdatum | – | ✓ | ✓ | – |
| agorum_accounting_document_type_code | Rechnungstyp-Code | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_currency | Währung | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_buyer_reference_number | Leitweg-ID / Käuferreferenz | ✓ | ✓ | ✓ | ✓ |
| Verkäufer (Supplier) | |||||
| agorum_accounting_document_supplier_name | Name des Verkäufers | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_street | Straße | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_city | Stadt | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_zip | Postleitzahl | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_country | Land | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_contact_name | Kontaktperson | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_phone | Telefon | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_supplier_mail | ✓ | ✓ | ✓ | ✓ | |
| agorum_accounting_document_supplier_vat_id | USt-IdNr. | – | ✓ | ✓ | – |
| agorum_accounting_document_supplier_endpoint_id | Elektronische Adresse (Endpoint) | – | ✓ | ✓ | – |
| agorum_accounting_document_supplier_bic | BIC | – | ✓ | ✓ | – |
| Käufer (Customer) | |||||
| agorum_accounting_document_customer_name | Name des Käufers | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_street | Straße | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_city | Stadt | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_zip | Postleitzahl | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_country | Land | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_customer_endpoint_id | Elektronische Adresse (Endpoint) | – | ✓ | ✓ | – |
| Zahlungsinformationen | |||||
| agorum_accounting_document_payment_method | Zahlungsart | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_payment_iban | IBAN | ✓ | ✓ | ✓ | ✓ |
| Steuerinformationen | |||||
| agorum_accounting_document_tax_id_1 | Steuer-ID (1. Steuersatz) | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_tax_schema_id_1 | Steuerschema-ID | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_tax_rate_1 | Steuersatz (%) | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_tax_amount_1 | Steuerbetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_net_amount_1 | Nettobetrag (1. Steuersatz) | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_tax_total_amount | Gesamtsteuerbetrag | ✓ | ✓ | ✓ | ✓ |
| Beträge | |||||
| agorum_accounting_document_total_net_amount | Gesamtnettobetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_gross_amount | Gesamtbruttobetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_due_payable_amount | Zahlbetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_discount_amount | Rabattbetrag | ✓ | ✓ | ✓ | ✓ |
| agorum_accounting_document_total_discountable_amount | Rabattierbarer Betrag | ✓ | ✓ | ✓ | ✓ |
| Rechnungspositionen | |||||
| agorum_accounting_document_item_list | Liste der Rechnungspositionen | ✓ | ✓ | ✓ | ✓ |
Hinweis: Diese Felder müssen für jede Position in agorum_accounting_document_item_list vorhanden sein. Es muss mindestens eine Position angegeben werden. Diese Tabelle zeigt die Pflichtfelder für die Erstellung von E-Rechnungen mit der Funktion createInvoice() bzw. createInvoiceRaw().
| Feldname | Beschreibung | XRechnung UBL | XRechnung CII | ZUGFeRD | Peppol UBL |
|---|---|---|---|---|---|
| number | Positionsnummer | ✓ | ✓ | ✓ | ✓ |
| description | Beschreibung/Artikelname | ✓ | ✓ | ✓ | ✓ |
| quantity | Menge | ✓ | ✓ | ✓ | ✓ |
| unit | Einheit (z.B. "C62", "HUR") | ✓ | ✓ | ✓ | ✓ |
| net_price | Nettopreis pro Einheit | ✓ | ✓ | ✓ | ✓ |
| net_amount | Nettobetrag der Position | ✓ | – | – | ✓ |
| line_total_amount | Positionsgesamtbetrag | ✓ | ✓ | ✓ | ✓ |
| tax_rate | Steuersatz (%) | ✓ | ✓ | ✓ | ✓ |
| tax_type | Steuertyp | ✓ | ✓ | ✓ | ✓ |
| tax_category | Steuerkategorie (z.B. "S", "Z") | ✓ | ✓ | ✓ | ✓ |
| invoice_currency | Währung der Position | ✓ | ✓ | ✓ | ✓ |
parse() (Parameter
validate: true) auch 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"
}]
}]
}