Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalt
maxLevel5

Releases

VersionDatumHinweiseKompatibilitätBemerkung
1.0.011.03.2021Erste veröffentlichte Fassungab Nuclos 4.44.1siehe Version 1
1.1.02.09.2023Aktualisierung auf XRechnung 2.3.1ab Nuclos 4.46.9
2.0.003.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 D16B (CII) der UN/CEFACT.
Weiterhin wird die Spezifikation ZUGFeRD in der Version 2.2 abdeckt.

Zur Erzeugung der Dateien stehen folgende Möglichkeiten zur Verfügung:

  1. Die Regel org.nuclet.xrechnung.ErzeugeERechnung, die in einem geeigneten Layout eingebunden werden kann und wie bisher (Version 1) eine XRechnung (UBL) erstellt.
  2. 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 als org.nuclet.xrechnung.Rechnungen (Integrationspunkt); muss eine ID und eine Rechnungsnummer haben

  • formatUbl: 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 Rechnungen
  • org.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.

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
languagexml
	<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"/>


Integration

Die Integration nach erfolgtem Nucletimport (siehe Nuclet Import) ist wie folgt vorzunehmen.

SchrittBeschreibungScreenshot
1

Nach Import beider Nuclets muss die Serverinstanz neu gestartet werden, da das Haupt-Nuclet eigene Extensions enthält.

Image Modified

2

Es werden drei Businessobjekte benötigt, die unter Konfiguration Integrationspunkt eingebunden werden müssen

  • Rechnung
  • Rechnungsdokument
  • Rechnungsempfänger (Kunde) [optional]

Image ModifiedImage ModifiedImage Modified

3

Außerdem muss es noch ein Businessobjekt für die Rechnungspositionen geben, dieses wird aber nicht für die Integrationspunkte benötigt.


Image Modified
4

Das zweite Nuclet enthält außerdem drei Datenquellen (Konfiguation → Datenquellen → Report & Formular), die noch an die jeweiligen Gegebenheiten angepasst werden müssen.

  • Ausgangsrechnung XRechnung
  • Ausgangsrechnung XRechnung Positionen
  • Ausgangsrechnung XRechnung Kommentare

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).

Image Modified

5

Danach kann die Regel ErzeugeERechnung oder eine eigene Implementierung (hier: ErzeugeBeispielERechnung) mit dem entsprechenden Businessobjekt verknüpft (Konfiguration → Server Regelmanager) und über einen Knopf (Button) im Layout (Konfiguration → Layout) eingebunden werden.

Die Regeln zur Validierung der Leitweg-ID werden automatisch mit dem Businessojekt Rechnungsempfänger verknüpft.

Image Modified

   Image Modified

6Im Falle valider Daten werden über den Knopf die oben beschriebenen vier Dateien erzeugt und das Ergebnis in einer Meldung präsentiert.

Image Modified         Image Modified


Image Modified   Image Modified