Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core workflow 3.0 > Übersicht vorhandener Knoten


Knoten „E-Rechnung validieren“ verwenden

Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins agorum core electronic invoicing. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.

Interne ID: agorum.electronic.invoicing.validateInvoice

Mit diesem Knoten können Sie überprüfen, ob es sich bei einer E-Rechnung in PDF- oder XML-Format um eine valide E-Rechnung handelt. Wenn es sich um ein ZUGFErD-PDF handelt, wird die darin enthaltene XML-Struktur validiert. 

Die Überprüfung erfolgt gegen das XML-Schema für das jeweilige E-Rechnungsformat, UBL oder CII. Es handelt sich also um eine technische Validierung, dass die Struktur der XML-Datei korrekt und vollständig gemäß dem jeweiligen Schema ist.

Aussehen des Knotens

Verhaltensweise


Der Knoten überprüft eine E-Rechnung auf Basis der übergebenen Daten. Er validiert die XML-Struktur gegen das formatspezifische XML-Schema und gibt das Ergebnis als Variable zurück.

Die übergebene XML-Struktur wird gegen die aktuell vorhandenen, offiziellen Definitionen der verschiedenen Formate validiert. Die offiziellen Definitionen sind:

  • XML Schema für XRechnung CII (CrossIndustryInvoice_100pD16B.xsd)
  • XML Schema für XRechnung UBL (UBL-Invoice-2.1.xsd)

Der Knoten erkennt, um welches XML-Format es sich handelt.

Wenn die Prüfung erfolgreich ist, ist das Ergebnis etwa:

 "validationResult": [],

 

Wenn die Prüfung nicht erfolgreich ist, ist das Ergebnis etwa:

  "validationResult": [
    {
      "level": "Error",
      "line": 2,
      "column": 122,
      "message": "cvc-complex-type.2.4.a: Invalid content was found starting with element 'cac:DespatchDocumentReference'. One of '{\"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\":AdditionalDocumentReference, \"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\":ProjectReference, \"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\":Signature, \"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\":AccountingSupplierParty}' is expected."
    }
  ]

Anwendung


Beispiel

Sie können diesen Knoten in Workflows integrieren, um zu prüfen, ob eine E-Rechnung eine formal korrekte XRechnung ist. Dazu können Sie etwa nach der erfolgreichen Prüfung, dass es sich bei einer Eingangsrechnung um eine E-Rechnung handelt, prüfen, dass sie formal korrekt bzw. valide ist, bevor sie sie weiterverarbeiten. Ein entsprechender Workflow könnte wie folgt aussehen:

 

Beispielworkflow mit dem validateInvoice-Knoten

Endpoints


Standard Veränderbar? Weitere Endpoints möglich?
Default (Inlet) Nein, kann nur ausgeblendet werden. nein, nicht nötig
true (Outlet) Nein, kann nur ausgeblendet werden. nein, nicht nötig
false (Outlet) Nein, kann nur ausgeblendet werden. nein, nicht nötig

Parameter


Parameter Beschreibung Beispiel
Eingangsvariable

Mit diesem Parameter geben Sie die Rechnungsdaten an, die validiert werden müssen.

Der Parameter Eingangsvariable enthält ein Array von Elementen, die mit diesem Knoten verarbeitet werden sollen. Wird die Variable leer gelassen, werden automatisch die Attachments des Workflows genommen. Diese Attachments sind in der internen Variable sys_acw_attachments vorhanden.

Für die generelle Schreibweise von Variablen im Editor oder als Expression siehe Schreibweise von Variablen.

 
Datenvariable

Die Daten beinhalten das Resultat der Prüfung, ob es sich um ein schemavalides XML handelt.

Sollte es sich bei dem Objekt nicht um eine valide XML-Struktur gemäß dem Schema handeln, werden die Validierungsfehler als Inhalt zurückgegeben.

Für die generelle Schreibweise von Variablen im Editor oder als Expression siehe Schreibweise von Variablen.

validationResult

 

Für ein Beispiel einer fehlschlagenden Validierung siehe Verhaltensweise.

Rechte Siehe Rechte auf Knoten vergeben  

Tipp: Verwenden Sie die Variablenauswahl, um einen Überblick über alle nutzbaren Variablen zu erhalten.