Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Kommentar: Links nachgetragen

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 xmlXML- oder PDF-Format, deren offizielle Validierung und deren Darstellung in einer htmlHTML-Datei.

Unterstützt wir das Format XRechnung in der Version 2.3.1, das den xml-Anteil der Spezifikation ZUGFeRD mindestens 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.0 2 abdeckt.Hinweis: Eine zusätzliche Integration in eine pdf-Datei wäre durch Erweiterung des Nuclets grundsätzlich möglich, allerdings nicht Format PDF/A-3 (notwendig für ZUGFeRD-Rechnungen).

Die Erzeugung erfolgt über einen in einem geeigneten Layout eingebundenen Knopf (Button) und erstellt folgende Dateien in einem geeigneten Unterformular:

⦁ xml-Datei gemäß Standard XRechnung
⦁ html

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
  • HTML-Datei mit Ergebnissen der XML-Validierung
  • Falls die Validierung der PDF-Datei nicht erfolgreich war: TXT-Datei mit Ergebnissen der PDF-Validierung
⦁ log
  • LOG-Datei mit Ergebnissen der Rechnungserzeugung

Optional ist außerdem eine Validierung der der Leitweg-ID im Nuclet enthalten.

Ein Beispiel ist im angehängten  angehängten Beispiel-Nuclet verfügbar.

Hinweise zu Version

1

2.

1.0

Neuer Parameter Ablagepfad

  • Pfad für die temporäre Ablage der Dateien zur Rechnungserzeugung.
  • Bei Angabe von "." wird automatisch ein temporäres Verzeichnis ermittelt.
  • 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"/>
    Bei Angabe eines relativen Verzeichnisses wird ein Unterverzeichnis im Nuclos-Ausführungspfad (../bin) erstellt.


    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 Removed


    Image Added
    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 Removed

    Image Added

    5

    Danach kann die Regel

    ErzeugeXRechnung

    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 Removed

    Image Removed

    Image Added    Image Added

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

    Image Removed

    Image Removed

    Image Added         Image Added


    Image Added   Image Added