Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

DATEV XML-Schnittstelle online

Interne ID: agorum.datev.xml.online

Mit diesem Knoten erzeugen Sie eine ZIP-Datei für die DATEV XML-Schnittstelle online, die Rechnungen und XMLs enthält. Sie können über das Mapping steuern, ob Sie Eingangsrechnungen (accountsPayableLedger), Ausgangsrechnungen (accountsReceivableLedger) oder Kassendaten (cashLedger) exportieren möchten.

Aussehen des Knotens

 

Voraussetzungen


Folgende Voraussetzungen müssen erfüllt sein, damit Sie diesen Knoten in der Toolbox des Workflow-Editors sehen können:

  • Die DATEV-Schnittstelle muss aktiviert sein.

Die DATEV-Schnittstelle aktivieren Sie über das agorum core support tool.

Folgende Einträge müssen Sie im agorum core support tool aktivieren:

  • DATEV CSV interface
  • DATEV CSV interface (with positions)
  • DATEV XML interface online
  • DATEV XML interface online (with positions)

Verhaltensweise


Erreicht das System den Knoten im Workflow:

  • prüft es die gesetzten Parameter
  • lädt es die angegebenen Metadaten für die in der Eingangsvariable hinterlegten Objekte gemäß dem Filter
  • transformiert die Objekte mit dem jeweiligen Mapping

Aus den transformierten Ergebnissen erzeugt das System die jeweilige XML-Datei für die Rechnung und speichert die XML-Datei zusammen mit der Rechnung in einer ZIP-Datei. Diese ZIP-Datei legt das System unter dem zuvor angegebenen Pfad ab und stellt sie in der Ausgangsvariable zur Verfügung. Optional ist eine Verlinkung dieser Datei in einen zusätzlichen Ordnerpfad möglich.

Suchfilter


Für diesen Knoten existiert der Filter Fehlgeschlagene Exportdateien (siehe Übersicht vorhandener Knoten).

Endpoints


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

Parameter


Parameter Beschreibung Beispiel
Eingangsvariable Definiert die Variable, in der sich die Rechnungen befinden, die der Knoten verarbeiten soll.
  • Wenn Sie die Variable nicht angeben, verwendet das System automatisch die Anhänge des Workflows aus der internen Variable sys_acw_attachments.
  • Der Aufbau einer Eingangsvariable ist identisch zum Aufbau einer Ausgangsvariable
Eingangsvariable
Zu ladende Metadaten der Rechnung Filtert die Metadaten der Rechnungen anhand des Namens.

Sie müssen alle Metadaten laden, die Sie innerhalb der Mappingdefinition verwenden.
Zu ladende Metadaten der Rechnung
Mapping für Dokumente ohne Positionen Definiert die Mappingdefinition, die das System dazu verwendet, um die Inhalte des Buchungsstapels zu erzeugen.
  • Das Ziel-Mapping muss zwingend DATEV XML Online lauten, damit das System die Daten korrekt transformieren kann.
  • Sie können entweder das generische Mapping oder das Ledger Typ spezifische Zielmapping verwenden.
  • Für das Definieren von Mappings siehe metadata-collection.yml definieren.
Mapping für Dokumente ohne Positionen
Mapping für Dokumente mit Positionen Mapping für Dokumente mit Positionen
Metadatum mit Positionen

Definiert, wie das Metadatum lautet, in dem die Buchungspositionen gespeichert sind.

  • Diese Angabe benötigt der Knoten für das Zusammenführen der positionsbezogenen Daten und die Unterscheidung, welches Mapping der Knoten verwenden soll.
  • Falls das Metadatum in der Eingangsvariable enthalten ist, verwendet das System das positionsbezogene Mapping, ansonsten das Mapping ohne Positionen.
Metadatum mit Positionen
Anzahl der in einem Paket zu bündelnden Rechnungen Definiert die Anzahl der in einem ZIP-Paket enthaltenen Rechnungen.
  • Das ZIP-Paket ist auf 465 MB begrenzt.
  • Falls Sie diese Größe überschreiten, wirft das System einen Fehler.
  • Eine einzelne PDF-Datei (Rechnung) innerhalb des ZIP-Pakets darf 20 MB nicht überschreiten, ansonsten wirft das System auch hier einen Fehler.
Anzahl der in einem Paket zu bündelnden Rechnungen
Ausgangsvariable Definiert die Variable, in die das System die XML-Dateien zusammen mit den Rechnungen in einer ZIP-Datei zur Verfügung stellt.
Basisordner (Ordner-ID oder Suche) Definiert einen Basisordner für die Ablage (wenn Haken die obige Eingabe ist eine Suche nicht gesetzt ist) oder ermöglicht eine Suche nach einem bestimmten Ordner (wenn Haken die obige Eingabe ist eine Suche gesetzt ist). Basisordner (Ordner-ID oder Suche)
Pfad Definiert den Pfad, den das System unter dem Basisordner anlegt. Pfad
Basisordner für zusätzliche Verlinkung der Ergebnis-Datei(en) Definiert optional einen Basisordner für die zusätzliche Verlinkung (wenn Haken die obige Eingabe ist eine Suche nicht gesetzt ist) oder ermöglicht eine Suche nach einem bestimmten Ordner für die Verlinkung (wenn Haken die obige Eingabe ist eine Suche gesetzt ist). Basisordner für zusätzliche Verlinkung der Ergebnis-Datei(en)
Pfad für die Verlinkung Definiert den optionalen Pfad für die Verlinkung, den das System unter dem Parameter Basisordner für zusätzliche Verlinkung der Ergebnis-Datei(en) anlegt. Pfad für die Verlinkung
Fehlerhafte Rechnungen überspringen Aktiviert
Schreibt Fehler in eine Log-Datei. Die Log-Datei befindet sich unter:
 /agorum/roi/workspace/agorum.datev/log-files

Die fehlgeschlagenen Dateien können Sie über die beiden Filter Zum Sammeln markierte Dokumente und Fehlgeschlagene Exportdateien in der Suche einsehen. Dabei hängt das System die abgelegte Log-Datei zusätzlich an die betroffenen Dokumente an.

Deaktiviert
Wirft Fehler direkt aus.
Fehlerhafte Rechnungen überspringen

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

Eingangsvariable

Die nachfolgenden Beispiele gelten ebenfalls für eine Ausgangsvariable.

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


Im Editor

Im Editor geben Sie den Namen der Workflow-Variable an. Das System platziert die Variable automatisch in der Variable des Tokens (token.variables).

inputVariable


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variable an, von der das System den eigentlichen Namen der gewünschten Variable lesen soll.

'token.variables.nameOfInputVariable'

Zu ladende Metadaten der Rechnung


Im Editor

Im Editor geben Sie einen String für das Filtern an, wenn ein Array mitgegeben wird. Bei Angabe eines Strings muss der Name vollständig sein.

#{/^name_/}
DocFormType


Als Expression

Wenn Sie diesen Parameter als Expression angeben, verwenden Sie diese Schreibweise:

/^ac_/

Mapping für Dokumente ohne Positionen


Im Editor

Im Editor wählen Sie das gewünschte Mapping.

agorum.datev.csv.with.positions
agorum.datev.csv.without.positions

Über öffnen Sie den Mapping-Editor, können das Mapping bearbeiten und neue Mappings anlegen.


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variablen an, in der das zu verwendende Mapping hinterlegt ist.

token.variables.mappingDefinition

Mapping für Dokumente mit Positionen


Im Editor

Siehe Mapping für Dokumente ohne Positionen.


Als Expression

Siehe Mapping für Dokumente ohne Positionen.

Metadatum mit Positionen


Im Editor

Im Editor tragen Sie das Metadatum ein, das die Positionen enthält.

agorum_accounting_document_item_list


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variable an, in der das Metadatum hinterlegt ist.

token.variables.positionVariable
'agorum_accounting_document_item_list'

Anzahl der in einem Paket zu bündelnden Rechnungen


Im Editor

Im Editor tragen Sie die gewünschte Anzahl an zu bündelnden Rechnungen ein. Wenn Sie nichts angeben, bündelt das System im Standard 5 Rechnungen in eine ZIP-Datei.

5


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variable an, in der die zu verwendende Anzahl hinterlegt ist.

token.variables.chunkSize

Basisordner (Ordner-ID oder Suche)


Ordner-ID

Angabe eines Basisordners als ID im Editor (Haken die obige Eingabe ist eine Suche nicht gesetzt):

/agorum/roi/Files/Lieferantenakten/${test_lieferantennummer}

In diesem Beispiel wurde eine feste ID / ein fester Ordner inklusive Workflow-Variable als Platzhalter angegeben (${test_lieferantennummer}). Die Variable muss zuvor existieren, Sie können die Variable etwa im Knoten Skript erstellen und befüllen:

/*global sc, sca, token, instance, outlets, inlet, parameters */

token.variables.test_lieferantennummer = '123456';

token.leave('');

Der Ordner /Lieferantenakten/123456 muss ebenfalls zu diesem Zeitpunkt schon bestehen, er wird also durch diesen Knoten nicht angelegt.
 

Suche

Angabe eines Basisordners im Editor (Haken die obige Eingabe ist eine Suche gesetzt):

identifier:lieferanten test_lieferantennummer:(${test_lieferantennummer})

In diesem Beispiel wurde die Suche aktiviert. Das System sucht nach allen Objekten, die den identifier lieferanten gesetzt haben. Außerdem wird der Ordner test_lieferantennummer mit der Nummer aus der Variablen test_lieferantennummer gefüllt. Der identifier und test_lieferantennummer sind Metadaten auf einem Objekt:

Metadatum identifier im Objekt

Sie können des Weiteren beliebige agorum core smart search-Anfragen beim Basisordner angeben.

Pfad


Im Editor

Im Editor geben Sie den Pfad an.

Ordner1/Unterordner1

In diesem Beispiel legt das System die Ordner Ordner1/Unterordner unterhalb des Basisordners an oder sucht dort nach der angegebenen CSV-Datei.

Der vollständige Pfad lautet:

<Basisordner>/Ordner1/Unterordner1


Datum als Platzhalter verwenden

Sie können im Editor das aktuelle Datum als Platzhalter verwenden:

Ordner1/${date:yyyy/MM/dd}

In diesem Beispiel legt das System folgende Ordnerstruktur an (am Beispiel 17.09.2020)

Ordner1/2020/09/17


Workflow-Variable als Platzhalter verwenden

Sie können im Editor Workflow-Variablen als Platzhalter verwenden:

Ordner1/${nameDerVariable:f}

Wenn die Workflow-Variable nameDerVariable etwa den Inhalt Test: Ein Ordner enthält, legt das System diesen Ordner an:

Ordner1/Test_ Ein Ordner

Die Funktion :f ersetzt automatisch nicht erlaubte Pfad-Zeichen durch _. Für die Variablen-Ersetzung verwendet das System die Standardfunktion der JavaScript-Bibliothek common-templates.


Als Expression

Wenn Sie diesen Parameter als Expression angeben, muss das Ergebnis den Pfad als String enthalten. Sie können dabei auch eine Berechnung durchführen.

'Ordner1/' + new Date().getFullYear()

Das Ergebnis dieser Expression lautet (im Jahr 2020):

Ordner1/2020

In diesem Beispiel legt das System die Ordner Ordner1/2020 unterhalb des Basisordners an oder sucht dort nach der angegebenen CSV-Datei.

Der vollständige Pfad lautet:

${Basisordner}/Ordner1/2020

Basisordner für zusätzliche Verlinkung der Ergebnis-Datei(en)


Im Editor

siehe Basisordner (Ordner-ID oder Suche)


Als Expression

siehe Basisordner (Ordner-ID oder Suche)

Pfad für die Verlinkung


Im Editor

siehe Pfad


Als Expression

siehe Pfad

Fehlerhafte Rechnungen überspringen

Im Editor

Im Editor wählen Sie die Funktion per Anhaken oder entfernen den Haken.


Als Expression

Wenn Sie diesen Parameter als Expression angeben, geben Sie den vollständigen Pfad zur Variable an, in der der boolesche Wert hinterlegt ist.

token.variables.failSilent
true