Die XML-Datei ist in der UTF-8 Kodierung zu erstellen. Die XML-Datei ist mit dem Tag <eloobjlist ver=“1.0“> zu beginnen und mit </eloobjlist> abzuschließen. Weder XML- noch Dokumentendateiname dürfen Sonderzeichen enthalten.
Es ist auf folgende Eigenschaften bei der Eingabe zu achten:
- Dezimalzahlen müssen nach deutscher Norm, mit max. zwei Nachkommastellen eingetragen werden. Das Komma wird als Trennzeichen zur angebrochenen Zahl und der Punkt als Tausender-Trennzeichen erkannt. Der Punkt wird so weit nach links verschoben bis drei Zahlen rechts vom Punkt stehen. Daraus entstehen unvorhersehbare Konsequenzen für die ganzen Import.
- Datumsfelder müssen nach dem Format "JJJJ-MM-TT" in der XML-Datei eingetragen werden.
- Felder, die mit Ganzzahlen gefüllt werden sollten, könnten auch mit Zeichen gefüllt werden.
Im Bereich des Pfades (Tag: <destination>) werden die einzelnen Ordner mit dem Platzhalter „¶“ vor dem Ordner angesprochen. Wenn der in der XML-Datei angesprochene Pfad im ELO noch nicht angelegt ist, wird der Pfad durch den Import automatisch aufgebaut.
Datei in ELO mit Verschlagwortung ablegen
<eloobjlist ver="1.0">
<obj>
<desc value="Kunden12345"/> <!--Name des Vorgangs, beliebig wählbar, Wiedererkennungswert ist ratsam häufiges Format: {{Lieferant}} - {{Rechnungsnummer}} - {{Rechnungsdatum}} -->
<idate value="20181212"/> <!--Versionsdatum, kann einfach auf das aktuelle Datum gesetzt werden-->
<sreg value="1.0"/> <!--Versionsnummer, kann einfach auf 1.0 festgesetzt werden-->
<type value="Receipt Document"/> <!-- korrekter Maskenname für ELO4DATEV -->
<indexlist>
<index name="INVOICE_STATUS" value="5 - Zum Export"/> <!--Status-->
<index name="INVOICE_TYPE" value="OS - Ausgangsrechnung"/> <!--Dokumententyp-->
<index name="COMPANY_NAME" value="Ihre Firma GmbH"/> <!--MandantInnen-Name-->
<index name="COMPANY_CODE" value="10001"/> <!-- MandantInnen-ID aus Datev-->
<index name="VENDOR_NO" value="10025"/> <!--KreditorInnen-Nummer-->
<index name="VENDOR_NAME" value="Musterlieferunternehmen OHG"/> <!--KreditorInnen-Name-->
<index name="INVOICE_NUMBER" value="RG10720"/> <!--Belegnummer-->
<index name="INVOICE_DATE" value="20190801"/> <!--Belegdatum-->
<index name="INVOICE_NET_AMOUNT" value="1120,00"/> <!--Nettobetrag-->
<index name="INVOICE_TOTAL_AMOUNT" value="1332,80"/> <!--Belegsumme-->
<index name="ACCOUNTING_DATEV_FISCALYEAR" value="20190101"/> <!-- Buchungsjahr, idR. das Jahr der Rechnung-->
<index name="INVOICE_CURRENCY_CODE" value="EUR"/> <!-- Währungscode -->
<index name="INVOICE_DUE_DATE" value="20190830"/> <!-- Fälligkeitsdatum -->
</indexlist>
<destlist>
<destination value="¶FiBu¶Ausgangsrechnung - importiert¶Ihre Firma GmbH¶2019¶M¶Musterlieferunternehmen OHG"/> <!--Pfad zur Ablage im Archiv-Baum, kann beliebig gewählt werden, empfohlen ist sich an ELO Standard zu orientieren-->
</destlist>
<map>
<data key="BUSINESSPARTNER_TYPE" value="D"/> <!-- (D)ebitorischer oder (K))reditorischer Kreditor, bei Ausgangsrechnungen idR. immer Debitorisch -->
<!-- Skonto Daten, können für beliebige Anzahl an Skontos vervielfacht werden, jeweils mit dem Index am Ende des Keys hochgezählt, beginnend bei 1-->
<data key="INVOICE_CASH_DISCOUNT_DAYS1" value="14"/> <!--Skonto 1 Tage-->
<data key="INVOICE_CASH_DISCOUNT_RATE1" value="10"/> <!--Skonto 1 Rabatt-->
<data key="INVOICE_CASH_DISCOUNT_DUE_DATE1" value="20190815"/> <!--Skonto 1 Datum-->
<!-- Zahlungsbedingung -->
<data key="INVI_TERMSOFPAYMENT_CODE" value="10"/> <!--Zahlungsbedingungsnummer-->
<data key="INVI_TERMSOFPAYMENT_DESC" value="14 Tage Skonto 2 Prozent"/> <!--Zahlungsbedinung Beschreibung-->
<data key="INVOICE_CASH_DISCOUNT_AMOUNT" value="26,66"/> <!--Rabattmenge-->
<!-- Positionen, können für beliebige Anzahl an Skontos vervielfacht werden, jeweils mit dem Index am Ende des Keys hochgezählt, beginnend bei 1- -->
<!-- Bsp. Position 1-->
<data key="INVI_POS_NO1" value="1"/> <!--Positionsnummer-->
<data key="INVI_ITEM_DESCRIPTION1" value="Druckerpapier"/> <!--Bezeichnung-->
<data key="INVI_COST_CENTER_NO1" value="6789"/> <!--Kostenstelle 1-->
<data key="INVI_COST_CENTER_DESC_NO1" value="Bürobedarf"/> <!--Kostenstelle 1 Bezeichnung-->
<data key="INVI_COST_OBJECT_NO1" value="4711"/> <!--Kostenstelle 2-->
<data key="INVI_COST_OBJECT_DESC_NO1" value="Papier"/> <!--Kostenstelle 2 Bezeichnung-->
<data key="INVI_GL_ACCOUNT_NO1" value="1234"/> <!--Sachkonto-->
<data key="INVI_GL_ACCOUNT_DESC_NO1" value="Hauptsitz"/> <!--Sachkonto Beschreibung-->
<data key="INVI_TAX_CODE_CODE1" value="9"/> <!--Buchungsschlüssel-->
<data key="INVI_TAX_CODE_VAT_RATE1" value="19,00"/> <!--Steuersatz-->
<data key="INVI_TOTAL_NET_PRICE1" value="1000,00"/> <!--Netto-->
<data key="INVI_GROSS_AMOUNT1" value="1190,00"/> <!--Brutto-->
<!-- Bsp. Position 2-->
<data key="INVI_POS_NO2" value="2"/> <!--Positionsnummer-->
<data key="INVI_ITEM_DESCRIPTION2" value="Fernseher"/> <!--Bezeichnung-->
<data key="INVI_COST_CENTER_NO2" value="3000"/> <!--Kostenstelle 1-->
<data key="INVI_COST_CENTER_DESC_NO2" value="Bürobedarf"/> <!--Kostenstelle 1 Bezeichnung-->
<data key="INVI_COST_OBJECT_NO2" value="4000"/> <!--Kostenstelle 2-->
<data key="INVI_COST_OBJECT_DESC_NO2" value="Unterhaltung"/> <!--Kostenstelle 2 Bezeichnung-->
<data key="INVI_GL_ACCOUNT_NO2" value="1234"/> <!--Sachkonto-->
<data key="INVI_GL_ACCOUNT_DESC_NO2" value="Hauptsitz"/> <!--Sachkonto Beschreibung-->
<data key="INVI_TAX_CODE_CODE2" value="9"/> <!--Buchungsschlüssel-->
<data key="INVI_TAX_CODE_VAT_RATE2" value="19,00"/> <!--Steuersatz-->
<data key="INVI_TOTAL_NET_PRICE2" value="1000,00"/> <!--Netto-->
<data key="INVI_GROSS_AMOUNT2" value="1190,00"/> <!--Brutto-->
</map>
<docfile name="Nettorechnung.pdf"/> <!--Name der abgespeicherten Rechnung im PDF-Format im gleichen Verzeichnis-->
</obj>
</eloobjlist>
Als Container in ELO ablegen:
Um die Rechnung in ELO in einem Container abzulegen, sind leichte Anpassungen nötig:
- Das Feld "dtype" wie unten zu sehen hinzufügen
<obj>
<desc value="Kunden12345"/> <!--Name des Vorgangs, beliebig wählbar, Wiedererkennungswert ist ratsam häufiges Format: {{Lieferant}} - {{Rechnungsnummer}} - {{Rechnungsdatum}} -->
<idate value="20181212"/> <!--Versionsdatum, kann einfach auf das aktuelle Datum gesetzt werden-->
<sreg value="1.0"/> <!--Versionsnummer, kann einfach auf 1.0 festgesetzt werden-->
<type value="Receipt Document"/> <!-- korrekter Maskenname für ELO4DATEV -->
<dtype value="3"/> <!--legt obj als Register(Ordner) an-->
<indexlist> - Das Docfile Attribut ganz entfernen
</map>
<docfile name="Nettorechnung.pdf"/> <!--Name der abgespeicherten Rechnung im PDF-Format im gleichen Verzeichnis-->
</obj> - Einen weiteren <obj></obj> Eintrag hinzufügen
<obj>
<desc value="Kunden12345.pdf"/> <!--Name des Vorgangs, beliebig wählbar, Wiedererkennungswert ist ratsam häufiges Format: {{Lieferant}} - {{Rechnungsnummer}} - {{Rechnungsdatum}} -->
<idate value="20181212"/> <!--Versionsdatum, kann einfach auf das aktuelle Datum gesetzt werden-->
<sreg value="1.0"/> <!--Versionsnummer, kann einfach auf 1.0 festgesetzt werden-->
<type value="Freie Eingabe"/>
<destlist>
<destination value="¶FiBu¶Ausgangsrechnung - importiert¶Ihre Firma GmbH¶2019¶M¶Musterlieferunternehmen OHG¶Kunden12345"/> <!--Pfad zur Ablage im Archiv-Baum, kann beliebig gewählt werden, empfohlen ist sich an ELO Standard zu orientieren, !WICHTIG! am Ende Name des oben angelegten Registers-->
</destlist>
<docfile name="Nettorechnung.pdf"/> <!--Name der abgespeicherten Rechnung im PDF-Format im gleichen Verzeichnis-->
</obj>
Dadurch sollten dann in der fertigen XML-Datei zwei <obj> Einträge existieren. Der erste erstellt den Container (Ordner), der zweite legt dann die PDF in diesen Ordner ab. Für die PDF ist keine weitere Verschlagwortung nötig, da diese auf dem Container liegt.
Hochladen der Dateien:
Diese XML-Datei sowie die Rechnung im PDF-Format ist im Ordner "https://ihrName.ecm.online/webdav/upload/ELOimporter/import" abzulegen. Dies ist über einen Client-Transfer als auch über eine HTTP-PUT-Anfrage möglich.
Per Client (z.B. Cyberduck) ist dieser Ordner über den genannten Pfad, mit den folgenden Zugangsdaten zu erreichen:
Username: service
Passwort: <Siehe webdavPasswort bzw. Sie erhalten das PW vom Support>
Per HTTP-PUT-Request können die Dokumente in das Webdav-Importverzeichnis gesendet werden.
Es ist wichtig, dass erst die PDF-Datei und dann die XML-Datei in das Verzeichnis gesendet wird.
Hier anhand eines Beispiels, mit der Anwendung "Postman":
Die URL ist vollständig mit Datei anzugeben.
Im Unterpunkt "Authorization" die bekannten Zugangsdaten eintragen.
Im Unterpunkt Body -> "binary" die jeweilige XML oder PDF-Datei ablegen.
Daraufhin kann die Anfrage abgesendet werden.
Nach dem Ablegen der XML- und der PDF-Datei, werden diese Dateien innerhalb von einer Minute dort verschwunden sein. Es ist darauf zu achten, dass erst die PDF-Datei und dann die XML-Datei hochgeladen wird.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.