Seitenhistorie
Inhalt | ||
---|---|---|
|
Releases
Version | Datum | Hinweise | Kompatibilität | Bemerkung |
---|---|---|---|---|
1.0.0 | 11.03.2021 | Erste veröffentlichte Fassung | ab Nuclos 4.44.1 | siehe Version 1 |
1.1.0 | 2.09.2023 | Aktualisierung auf XRechnung 2.3.1 | ab Nuclos 4.46.9 | |
2.0.0 | 03.07.2024 | Aktualisierung auf XRechnung 3.0.2 XML-Syntax CII ZUGFeRD 2.2 | ab Nuclos 4.2022.14.3 |
Überblick
Das Nuclet ermöglicht die Erzeugung elektronischer Rechnungen im XML- oder PDF-Format, deren offizielle Validierung und deren Darstellung in einer HTML-Datei.
Unterstützt wir das Format XRechnung in der Version 3.0.2 in der XML-Syntax Universal Business Language (UBL) der OASIS in der Version 2.1 und der XML-Syntax Cross Industry Invoice(CII) der UN/CEFACT in der VersionD16B.
Weiterhin wird die Spezifikation ZUGFeRD in der Version 2.2 abdeckt.
Zur Erzeugung der Dateien stehen folgende Möglichkeiten zur Verfügung:
- Die Regel
org.nuclet.xrechnung.ErzeugeERechnung
, die in einem geeigneten Layout eingebunden werden kann und wie bisher (Version 1) eine XRechnung (UBL) erstellt. - Eine eigene Regel, die
org.nuclet.xrechnung.ErzeugeERechnung#erzeugeERechnung(org.nuclet.xrechnung.Rechnungen, boolean, org.nuclos.api.common.NuclosFile)
mit geeigeneten Parametern (siehe weiter unten) aufruft und verarbeitet.
Dabei werden folgende Dateien erzeugt, zurückgegeben und in einem geeigneten Unterformular abgelegt.
- XML-Datei gemäß Standard XRechnung oder PDF-Datei gemäß Standard ZUGFeRD (je nach Methodenaufruf)
- HTML-Datei als Vorschau auf die erzeugten Daten
- HTML-Datei mit Ergebnissen der XML-Validierung
- Falls die Validierung der PDF-Datei nicht erfolgreich war: TXT-Datei mit Ergebnissen der PDF-Validierung
- LOG-Datei mit Ergebnissen der Rechnungserzeugung
Optional ist außerdem eine Validierung der Leitweg-ID im Nuclet enthalten.
Ein Beispiel ist im angehängten Beispiel-Nuclet verfügbar.
Hinweise zu Version 2.0.0
Hinweise zur Methode public static List<XRechnung.XRechnungFile> erzeugeERechnung(Rechnungen rechnungen, boolean formatUbl, NuclosFile pdfFile)
:
rechnungen
: die jeweilige Rechnung alsorg.nuclet.xrechnung.Rechnungen
(Integrationspunkt); muss eine ID und eine Rechnungsnummer habenformatUbl
: steuert die XML-Syntax (bei false: CII)pdfFile
: vorab erzeugte PDF-Datei im Format PDF-A1, in das die XML-Datei eingebettet werden soll - falls angegeben muss das Format CII gewählt werden- Rückgabewert: Liste der erzeugten Dateien inkl. Validierungsergebnissen
Nuclet-Struktur
Es werden zwei Nuclets benötigt:
org.nuclet.xrechnung
: Haupt-Nuclet zur Erzeugung von elektronischen Rechnungenorg.nuclet.xrechnung.datenquellen
: Nuclet zur Definition der Datenquellen, die je Projekt anpasst werden sollten. Dieses Nuclet wird von ersterem benötigt und sollte einmalig als Vorlage importiert werden.
Hinweis |
---|
Sollte beim Nuclet-Import bereits eine vorherige Version 1 mit projektspezifisch angepassten Datenquellen im Zielsystem vorhanden sein, müssen deren Inhalt diese vorab gesichert und im Anschluss an den Import erneut geändert werden. Für zukünftige Aktualisierungen genügt dann der Import des Haupt-Nuclets, bei dem die Datenquellen unverändert bleiben. |
PDF-Erzeugung über ein Formular für ZUGFeRD
Das in Nuclos integrierte JasperReports ermöglicht die Erzeugung von PDF-Dateien im Format PDF-A1. Dafür müssen folgende Einstellungen in der Vorlage vorgenommen werden - Schriftart und ICC-Profil sind bereits im Haupt-Nuclet enthalten.
Codeblock | ||
---|---|---|
| ||
<property name="net.sf.jasperreports.export.pdfa.conformance" value="pdfa1a" /> <property name="net.sf.jasperreports.export.pdfa.icc.profile.path" value="org/xre/icc/sRGB2014.icc" /> <style name="default" isDefault="true" fontName="xreLibSans"/> |
Hinweis |
---|
Beim Erstellen der Jasper-Vorlage sollte darauf geachtet werden, dass keine Schriftarten vorgegeben werden, die nicht eingebettet werden können. So führt beispielweise folgende Angabe zu einem Fehler bei der Erzeugung von PDF-Dateien im Format PDF-A1.
Diese sollte wie folgt ersetzt werden (die mitgelieferten Schriftarten werden über den
|
Integration
Die Integration nach erfolgtem Nucletimport (siehe Nuclet Import) ist wie folgt vorzunehmen.
Schritt | Beschreibung | Screenshot |
---|---|---|
1 | Nach Import beider Nuclets muss die Serverinstanz neu gestartet werden, da das Haupt-Nuclet eigene Extensions enthält. | |
2 | Es werden drei Businessobjekte benötigt, die unter Konfiguration → Integrationspunkt eingebunden werden müssen
| |
3 | Außerdem muss es noch ein Businessobjekt für die Rechnungspositionen geben, dieses wird aber nicht für die Integrationspunkte benötigt. | |
4 | Das zweite Nuclet enthält außerdem drei Datenquellen (Konfiguation → Datenquellen → Report & Formular), die noch an die jeweiligen Gegebenheiten angepasst werden müssen.
Diese liefern die eigentlichen Daten zur Erzeugung der elektronischen Rechnung. Ein Beispiel ist im angehängten Beispiel-Nuclet verfügbar. Die Zuordnung der Datenfelder zu den Inhalten der elektronischen Rechnung erfolgt gemäß Standard XRechnung, es wird jedoch nur ein Teil der verfügbaren Felder unterstützt (siehe Datenquellen bzw. Testfallgruppe_01.xlsx). | |
5 | Danach kann die Regel Die Regeln zur Validierung der Leitweg-ID werden automatisch mit dem Businessojekt Rechnungsempfänger verknüpft. |
|
6 | Im Falle valider Daten werden über den Knopf die oben beschriebenen vier Dateien erzeugt und das Ergebnis in einer Meldung präsentiert. |
|