\uD83D\uDCD8 Was ist eine E-Rechnung
Mit E-Rechnungen (elektronische Rechnungen) können Daten einer Rechnung elektronisch übermittelt und verarbeitet werden. Dies kann unter Anderem die Rechnungsstellung vereinfachen, die Bearbeitungszeit durch automatische Verarbeitungsschritte verkürzen und die Daten und Prozess Qualität durch beispielsweise durchführbare Validierungen steigern.
Gesetzliche Grundlage - Änderungen ab 01.01.2025
Ab dem 1. Januar 2025 sind (umsatzsteuerpflichtige) Unternehmen dazu verpflichtet, E-Rechnungen empfangen zu können und später (ab 2027) auch versenden zu können (siehe Wachstumschancengesetz).
\uD83D\uDCCB Welche Formate von E-Rechnungen gibt es?
Die Rechnungsinformationen einer E-Rechnung werden strukturiert in einer XML-Datei abgelegt. Es gibt zwei Standard Formate die für Unternehmen wichtig sind:
XRechnung:
Bei einer XRechnung handelt es sich um einen E-Rechnungs Standard im XML Format, welcher die Richtlinie 2014/55/EU umsetzt. Es enthält die Rechnungsinformationen in einem strukturierten XML, welche maschinell ausgelesen und so weiterverarbeitet werden kann.
ZUGFeRD (Version 2.2.0):
Bei einer ZUGFeRD Datei handelt es sich um ein PDF/A Dokument mit darin eingebetteten Rechnungsdaten im XML-Format. Das PDF Dokument stellt dabei beispielsweise die Rechnungsinformationen in einem lesbaren Format dar. Die eingebettete XML Datei enthält die Rechnungsinformationen in einem strukturierten und maschinell lesbaren XML-Format.
⚙️ Verarbeitung von E-Rechnungen mit jadice
E-Rechnung und jadice flow
Mit jadice flow ist es möglich E-Rechnungen zu erkennen und in ein aufbereitetes PDF zu konvertieren.
Der grundlegende Workflow um E-Rechnungen mit jadice flow zu erkennen und konvertieren sieht wie folgt aus:
Erkennen von E-Rechnungen:
Nach der Analyse eines E-Rechnungsdokuments, lässt sich eine XRechnung anhand des Mimetypes “application/xml; x-rechnung=true; charset=UTF-8” erkennen. Außerdem findet man Informationen zur X-Rechnung in den Stream-Analysis-Details: "x_rechnung":true
ZUGFeRD Dokumente lassen sich anhand der Information “is-zugferd":true, sowie dem Eintrag “ZUGFERD_DETAILS” in den Properties des analysierten Streams erkennen. In den ZUGFERD_DETAILS lassen sich unter Anderem Informationen wie der Dateiname des eingebetteten XMLs oder den ConformanceLevel finden.
Konvertierung von E-Rechnung in ein aufbereitetes PDF:
E-Rechnungs-Informationen eines entsprechenden Eingangsdokuments können in ein aufbereitetes und gut lesbares PDF konvertiert werden. Enthalten Email Anhänge eine E-Rechnung, können diese auch mithilfe von jadice flow in ein aufbereitetes PDF konvertiert werden.
Im folgenden ist ein Ausschnitt einer konvertierten Test XRechnung zu sehen:
Ausblick: Eine Auswahl von verschiedenen Stylesheets um konvertierte E-Rechnungen darzustellen folgen.
E-Rechnung und jadice server
Ab der jadice server Version 5.14.19.2. unterstützt der jadice server 5 ebenso wie jadice flow die Erkennung und PDF-Konvertierung von X-Rechnung und ZUGFeRD Dateien. Für weitere Informationen siehe Erkennung und Konvertierung von E-Rechnungen.
Um E-Rechnungen im jadice server zu konvertieren, kann die XRechnung2PdfNode
in Ihr Jobtemplate eingebunden werden. Außerdem wird über die DynamicPipelineNode
XRechnung automatisch nach PDF konvertiert.
Um bei ZUGFeRD Eingangsdokumenten das eingebettete XML vom PDF zu extrahieren, kann die PortableCollectionDisassemblingNode
eingesetzt werden. Anschließend können das extrahierte XML Dokument, sowie das PDF Dokument über die DynamicPipelineNode
nach PDF konvertiert und wieder zusammengefügt werden.
Enthalten Email Anhänge eine E-Rechnung, können sie über die EmailConversion.groovy
in ein aufbereitetes PDF konvertiert werden.
🏞️ Anzeige von E-Rechnungen mit jadice
Alle jadice Produkte (auch Maintenance-Versionen) unterstützen nativ die Anzeige von XRechnungs-Dokumenten.
Hierzu müssen Sie lediglich die folgende Dependency einbinden:
<dependency> <groupId>com.levigo.jadice.documentplatform.core</groupId> <artifactId>jadice-format-xrechnung</artifactId> </dependency>
Eine Online-Demo hierzu finden Sie hier.
Ausblick: Zeitnah wird ein optimiertes Layout für XRechnung in allen Produkten ausgerollt.
Wenn Sie ein individuell angepasstes Layout benötigen, nehmen Sie gerne Kontakt mit uns auf.
⬅ Annotationen
Es ist aktuell zwar möglich auf XRechnungs-Dokumente Annotationen anzubringen. Da sich Annotationen auf eine Position im Dokument (X/Y-Koordinaten) beziehen, sind diese “nicht stabil”, da sich die Darstellung seitens jadice in Zukunft ändern kann.
Mit der allgemeinen Verfügbarkeit unserer Intention-Basierten Annotationen (diese Beziehen sich unabhängig von der Darstellung auf einen exakten Teil eines Dokuments) wird sich dies ändern. Sobald diese Annotationen verfügbar sind, werden wir Sie gesondert informieren.
Klassische Darstellung
In der klassischen Darstellung der XRechnung werden alle Felder, die in einer XRechnung enthalten sein können in einer tabellarischen Form dargestellt.
Kompakte Darstellung
Mit der kompakten Darstellung der XRechnung wurde das Layout angepasst, um die meisten relevanten Informationen auf einer Seite darstellen zu können, wie man dies von klassischen Rechnungen im PDF Format gewohnt ist.
Die kompakte Darstellung ist Teil von jadice core >= 3.162.0 (Maintenance) und >= 6.31.0.
Dabei werden naturgemäß nicht alle möglichen Felder einer XRechnung angezeigt. Die folgende Tabelle soll eine Übersicht über die Felder einer XRechnung geben, die Teil der kompakten Darstellung sind.
Kategorie | Rechnungsfeld | UBL-Identifier | CII-Identifier | BT-Feld |
---|---|---|---|---|
Rechnungsempfänger | Firmenname | CUSTOMER_REGISTRATION_NAME | BUYER_TRADE_PARTY_NAME | BT-44 |
Straße | CUSTOMER_STREET_NAME | BUYER_POSTAL_TRADE_ADDRESS_LINE_ONE | BT-50 | |
Land+PLZ+Stadt | CUSTOMER_POSTAL_ADDRESS | BUYER_POSTAL_TRADE_ADDRESS | BT-55 & BT-53 & BT-52 | |
Rechnungssteller | Firmenname | SUPPLIER_REGISTRATION_NAME | SELLER_TRADE_PARTY_NAME | BT-29 |
Straße | SUPPLIER_STREET_NAME | SELLER_POSTAL_TRADE_ADDRESS_LINE_ONE | BT-35 | |
Land+PLZ+Stadt | SUPPLIER_POSTAL_ADDRESS | SELLER_POSTAL_TRADE_ADDRESS | BT-40 & BT-38 & BT-37 | |
Telefon | SUPPLIER_CONTACT_TELEPHONE | SELLER_TELEPHONE_UNIVERSAL_COMMUNICATION_COMPLETE_NUMBER | BT-42 | |
Telefax | SUPPLIER_CONTACT_TELEFAX | SELLER_FAX_UNIVERSAL_COMMUNICATION_COMPLETE_NUMBER | ||
SUPPLIER_ELECTRONIC_MAIL | .SELLER_EMAIL_URI_UNIVERSAL_COMMUNICATION_ID | BT-43 | ||
Rechnung | Rechnungsnummer | UBL_ID | EXCHANGED_DOCUMENT_ID | BT-1 |
UmsatzsteuerID | CUSTOMER_PARTY_TAX_COMPANY_ID | BUYER_SPECIFIED_TAX_REGISTRATION_ID | BT-48 | |
Rechnungsdatum | UBL_ISSUE_DATE | ISSUE_DATE_TIME_VALUE | BT-2 | |
Kundenummer | ACCOUNTING_CUSTOMER_PARTY_ID | BUYER_TRADE_PARTY_ID | BT-46 | |
Vorgangsnummer | SALES_ORDER_ID | SELLER_ORDER_REFERENCED_DOCUMENT_ISSUER_ASSIGNED_ID | BT-14 | |
Abrechn.Zeitraum | INVOICE_PERIOD_START_TO_END | BILLING_SPECIFIED_PERIOD_START_TO_END | BT-73 & BT-74 | |
Sachbearbeiter | SUPPLIER_CONTACT_NAME | SELLER_DEFINED_TRADE_CONTACT_PERSON_NAME | BT-41 | |
Artikelliste | INVOICE_LINE | INCLUDED_SUPPLY_CHAIN_TRADE_LINE_ITEM | ||
Bezeichnung | ITEM_DESCRIPTION | SPECIFIED_TRADE_PRODUCTS_DESCRIPTION | BT-154 | |
Steuersatz | ITEM_TAX_CATEGORY_ID | APPLICABLE_TRADE_TAX_CATEGORY_CODE | BT-151 | |
Einzelpreis | PRICE_AMOUNT | NET_PRICE_PRODUCT_TRADE_PRICE_CHARGE_AMOUNT | BT-146 | |
Menge | INVOICE_QUANTITY_QUANTITY | SPECIFIED_LINE_TRADE_DELIVERY_BILLED_QUANTITY | BT-129 & BT-130 (Mengeneinheit) | |
Gesamtpreis | INVOICE_LINE_EXTENSION_AMOUNT | SPECIFIED_TRADE_SETTLEMENT_LINE_MONETARY_SUMMATION_AMOUNT | BT-131 | |
Steueraufschlüsselung | TAX_SUBTOTAL | SETTLEMENT_APPLICABLE_TRADE_TAX | ||
Gesamtbetrag(netto) | TAXABLE_AMOUNT_WITH_CATEGORY | APPLICABLE_TRADE_TAX_TAXABLE_AMOUNT_WITH_CATEGORY | BT-116 & BT-118 | |
Steuern | TAX_CATEGORY_APPLIED_TAXES | APPLICABLE_TRADE_TAX_APPLIED_TAXES | BT-117 & BT-119 | |
Gesamtbetrag(brutto) | TAX_CATEGORY_TOTAL_AMOUNT | APPLICABLE_TRADE_TAX_TOTAL_AMOUNT | (BT-116+BT-117) & BT-118 | |
Zahlungsbedingungen | Notiz | PAYMENT_TERMS_NOTE | PAYMENT_TERMS_DESCRIPTION | BT-20 |
Preiseinzelheiten | Gesamtbetrag(netto) | TAX_EXCLUSIVE_AMOUNT | LINE_TOTAL_AMOUNT | BT-106 |
Summe aller Steuern | INVOICE_TOTAL_TAX_AMOUNT | MONETARY_SUMMATION_TAX_TOTAL_AMOUNT | BT-117 | |
Gesamtbetrag(brutto) | PAYABLE_AMOUNT | DUE_PAYABLE_AMOUNT | BT-115 | |
Bemerkung zur Rechnung | Bemerkung | NOTE_TEXT | INCLUDED_NOTE_CONTENT | |
Fußzeile | Rechtliche Informationen(Geschäftsführer, Amtsgericht...) | SUPPLIER_COMPANY_LEGAL_FORM | DESCRIPTION | BT-33 |
UmsatzsteuerID | SUPPLIER_PARTY_TAX_COMPANY_ID_VAT | SPECIFIED_TAX_REGISTRATION_ID_VA | BT-31 | |
Steuernummer | SUPPLIER_PARTY_TAX_COMPANY_ID_FC | SPECIFIED_TAX_REGISTRATION_ID_FC | ||
Bankname | FINANCIAL_INSTITUTION_NAME | PAYEE_SPECIFIED_CREDITOR_FINANCIAL_INSTITUTION_NAME | ||
BLZ | FINANCIAL_INSTITUTION_ID | PAYEE_SPECIFIED_CREDITOR_FINANCIAL_INSTITUTION_BLZ | ||
BIC | FINANCIAL_INSTITUTION_BRANCH_ID | PAYEE_SPECIFIED_CREDITOR_FINANCIAL_INSTITUTION_BIC | BT-86 | |
IBAN | PAYEE_FINANCIAL_ACCOUNT_ID | PAYEE_PARTY_IBAN_ID | BT-84 |
Aktuell nicht enthaltene Felder
Ausblick: Zeitnah (noch 2024) werden auch in dieser Darstellung sämtliche Werte, die in einer XRechnung vorkommen können, im Anschluss (auf Folgeseiten) an die Kompakte Darstellung angezeigt.
nicht enthalten | enthalten |