AIDEX - Administratorhandbuch

Einleitung

Dieses Handbuch richtet sich an Systemadministratoren, die vor der Aufgabe stehen die Rechnungsdatenextraktion mit AIDEX(-P) einrichten und konfigurieren möchten.

Vorraussetzungen

  • ein fertig konfiguriertes und eingerichtetes docuvita System
  • Lizenz Workflow-Server und mindestens eine Workflow-Client Lizenz für das docuvita System, eingespielt und aktiviert
  • (optional) Lizenz Lookup-Plugin für das docuvita System, einfgespielt und aktiviert
  • der docuvita Server muss Zugriff auf das Internet haben
  • Zugriff auf die docuvita Datenbank (lesen/schreiben)
  • einen gültigen AIDEX API Key
  • das aktuelle AIDEX-Pack aus dem Download-Bereich

Installation

Sie benötigen für die Installation das aktuelle AIDEX-Pack. Alle benötigten Komponenten sind in dieser .zip gepackten Datei enthalten. Entpacken Sie die Datei in einen Ordner Ihrer Wahl.

Objekttypen anlegen

Im Ordner ObjectType Definitions befinden sich die Objekttypdefinitionen für die Objekte “Eingangsbeleg” und “Lieferant”. Diese enthalten alle notwendigen Felder für die Benutzung des AIDEX-P.

Führen Sie die Aidex Installation auf einem neuen System aus, legen Sie die 2 Objekttypen “Eingangsbeleg” (DOCUMENT) und “Lieferant” (WORKSPACE) an. Gleichen Sie nun alle Standardfelder ab. Anschließend importieren sie die entsprechenden Objekttypdefinitionen. Je nach Anforderung können nun weitere Benutzerdefinierte Felder hinzugefügt werden.

Führen Sie die Installation auf einem bestehenden, produktiven System durch, so müssen Sie eventuell bestehende Objekttypen für Eingangsbelege und Lieferantenakten um die für den AIDEX benötigten Felder ergänzen.

Benutzerdefinierte Felder - Eingangsbeleg

technischer Feldname Anzeigename Typ Vordefinierte Werte Autocalcexpression
Kategorie: Belegdaten
OccurrenceDateTime Leistungsdatum DateTime
DueDateDateTime Fälligkeitsdatum Datetime
DeliveryNoteReferencedDocumentID Lieferscheinnummer String
IssuerAssignedID Bestellnummer / Kommission String
BookingText Buchungstext String
LINEITEMS Positionsdaten String
Kategorie: Buchungsdaten
CostCentre Kostenstelle String
Account Konto String
ConterAccount Gegenkonto String
BookingKey Buchungsschlüssel String
PaymentMethod Zahlungsmethode String Überweisung Lastschrift Bankeinzug Kreditkarte Vorkasse andere
Kategorie: Beträge
InvoiceCurrencyCode Währung String EUR USD GBP CHF
TaxBasisTotalAmount Gesamtnetto Currency
TaxTotalAmount Gesamtsteuern Currency
GrandTotalAmount Gesamtbrutto Currency
DuePayableAmount Zahlbetrag Currency
Kategorie: Steuer 1
BasisAmount1 Basis 1 (Netto) Currency
RateApplicablePercent1 Steuersatz 1 % Currency
CalculatedAmount1 Steuerbetrag 1 Currency
BASISBRUTTO1 Basis 1 (Brutto) Currency @@Me(‘CalculatedAmount1’) + Me(‘BasisAmount1’)@@
Kategorie: Steuer 2
BasisAmount2 Basis 2 (Netto) Currency
RateApplicablePercent2 Steuersatz 2 % Currency
CalculatedAmount2 Steuerbetrag 2 Currency
BASISBRUTTO2 Basis 2 (Brutto) Currency @@Me(‘CalculatedAmount2’) + Me(‘BasisAmount2’)@@
Kategorie: Steuer 3
BasisAmount3 Basis 3 (Netto) Currency
RateApplicablePercent3 Steuersatz 3 % Currency
CalculatedAmount3 Steuerbetrag 3 Currency
BASISBRUTTO3 Basis 3 (Brutto) Currency @@Me(‘CalculatedAmount3’) + Me(‘BasisAmount3’)@@
SellerTradePartyName Lieferantenname String
SellerTradePartyID Lieferantennummer String
IBAN IBAN String
Kategorie: Workflow
WORKFLOWSTATUS WF-Status String
FREIGABEFIBU Freigabe FiBu Boolean
FREIGABEZAHLUNG Freigabe Zahlung Boolean
GEBUCHT Gebucht? Boolean
Kategorie: ZUGFeRD
TypeCode TypeCode String
Profil Profil String

Benutzerdefinierte Felder - Lieferant

technischer Feldname Anzeigename Typ Vordefinierte Werte Autocalcexpression
Kategorie: Kreditor
SellerTradePartyID Lieferantennummer String
SellerTradePartyName Lieferantenname String
PostalTradeAddressLineOne Anschrift 1 String
PostalTradeAddressLineTwo Anschrift 2 String
CountryID Land String AF AX AL DZ AS AD AO AI AQ AG AR AM AW AU AT AZ BS BH BD BB BY BE BZ BJ BM BT BO BA BW BV BR VG IO BN BG BF BI KH CM CA CV KY CF TD CL CN HK MO CX CC CO KM CG CD CK CR CI HR CU CY CZ DK DJ DM DO EC EG SV GQ ER EE ET FK FO FJ FI FR GF PF TF GA GM GE DE GH GI GR GL GD GP GU GT GG GN GW GY HT HM VA HN HU IS IN ID IR IQ IE IM IL IT JM JP JE JO KZ KE KI KP KR KW KG LA LV LB LS LR LY LI LT LU MK MG MW MY MV ML MT MH MQ MR MU YT MX FM MD MC MN ME MS MA MZ MM NA NR NP NL AN NC NZ NI NE NG NU NF MP NO OM PK PW PS PA PG PY PE PH PN PL PT PR QA RE RO RU RW BL SH KN LC MF PM VC WS SM ST SA SN RS SC SL SG SK SI SB SO ZA GS SS ES LK SD SR SJ SZ SE CH SY TW TJ TZ TH TL TG TK TO TT TN TR TM TC TV UG UA AE GB US UM UY UZ VU VE VN VI WF EH YE ZM ZW
PostcodeCode PLZ String
CityName Ort String
TaxNumber Steuernummer String
TaxId UStID String
IBAN IBAN String
BIC BIC/SWIFT String
GlobalId GLN String
Kategorie: Buchung
CostCentre Kostenstelle String
Account Buchungskonto String
ConterAccount Gegenkonto String
BookingKey Buchungsschlüssel String
PaymentMethod Zahlungsmethode String Überweisung Lastschrift Bankeinzug Kreditkarte Vorkasse andere
PaymentKey Zahlungsbedingungen String
Kategorie: Kontakt
Telephone Telefon String
Telefax Telefax String
EMail EMail String
Website Website String
Kategorie: Pattern (Erkennungsmuster)
PatternDocumentDate Pattern Leistungsdatum String
PatternDeliveryNoteReferencedDocumentID Pattern Lieferscheinnnummer String
PatternOwnOrderNumber Pattern Bestellnummer / Kommission String
PatternDocumentNumber Pattern Rechnungsnummer String
PatternCreditor Pattern Lieferant String

.dll Bibliotheken kopieren

Kopieren Sie den gesamten Inhalt des Ordners dll in das Plugins-Verzeichnis des docuvita Servers.

Beispiel:

1
C:\Program Files (x86)\docuvita\docuvita Server 2.0\docuvita.Server\plugins

1
Starten Sie nun den docuvita.Server Dienst neu

AidexConfiguration.yml ampassen

Öffnen Sie die Datei AidexConfiguration.yml mit einem Texteditor Ihrer Wahl.

Inhalt der Konfigurationsdatei:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
---
docuvita:
    # URL des docvuita Systems
    dvServerUrl: "https://localhost/server/services"
    # ObjecttypID der Lieferantenakte
    vendorObjectTypeId: 37
    # technischer Name des Feldes für die Lieferantennummer
    fieldNameVendorId: "SellerTradePartyID"
    # technischer Name des Feldes für den Lieferantennamen
    fieldNameVendorName: "SellerTradePartyName"
    # Cachezeit in Minuten
    vendorCacheTime: 30
    # technischer Name des Workflows, der nach der Datenextraktion gestartet werden soll.
    startWorkflowAfterExtraction: ""

aidex:
    # URL des AIDEX service
    aidexUrl: "https://aidex.cloudface.eu/api/v1"
    # Kunden API-Key
    aidexApiKey: ""
    # AppKey AIDEX
    aidexAppKey: "GP.f#F!*n@IO_t-iBJF<}18WOZ2On2lcib5Vx]*MG4quyD2JPUgmAF9jleR/T."
    # Timeoutzeiten für das Auslesen der extrahierten Daten
    extractionRetryTime1: 2
    extractionRetryTime2: 4
    extractionRetryTime3: 8
    extractionRetryTime4: 30
    extractionRetryTime5: 60
    extractionRetryTime6: 1440

Parameter Typ Erklärung Vordefinierte Werte Autocalcexpression
dvServerUrl String URL des docvuita Systems
vendorObjectTypeId Integer ObjecttypID der Lieferantenakte
fieldNameVendorId String technischer Name des Feldes für die Lieferantennummer in der Lieferantenakte
fieldNameVendorName String technischer Name des Feldes für den Lieferantennamen in der Lieferantenakte
vendorCacheTime Integer Cachezeit in Minuten - Zeit bis zum erneuten Cachen der Lieferantenakten
aidexUrl String URL des AIDEX service Änderungen an diesem Parameter können zu Fehlfunktionen bei der Ausführung des AIDEX Service führen
aidexApiKey String Kunden API-Key - diesen Key erhalten Sie von der docuvita solutions GmbH
aidexAppKey String AppKey AIDEX Änderungen an diesem Parameter können zu Fehlfunktionen bei der Ausführung des AIDEX Service führen
extractionRetryTimeX Integer Zeitkonfiguration für das Auslesen der extrahierten Daten. Einheit in Minuten

Workflows einrichten

Erstellen Sie 2 neue Workflows und speichern Sie diese ab. Im Aidex-Pack Order

1
\Workflows\Templates

befinden sich 2 Workflow Templates, die Sie mit dem Texteditor Ihrer Wahl öffnen. Kopieren Sie die Templates und fügen Sie sie in den Workflow Codeeditor ein. Anschließend speichern Sie die Workflows ab. Änderungen an den Workflows können nun über den grafischen Workfloweditor gemacht werden.

Neuinstallation

Workflow dvo_AIDEX_extraction

Bei einer Neuinstallation sind für diesen Workflow keine Änderungen notwendig

Workflow dvo_ReleaseInvoice

Passen Sie im Task Ablage die Workflowactions MoveObject an die Parameter in Ihrem System an.

Action Bedingung Beschreibung
MoveObject @@FREIGABE.TASKRESULT@@ != ‘Storno’ and !string.IsNullOrEmpty(@@OBJECT.SellerTradePartyID@@) Diese Action verschiebt das Dokument in die entsprechende Lieferantenakte in den Ordner “Belege”. Passen Sie die entsprechenden Parameter an Ihr System an.
MoveObject @@FREIGABE.TASKRESULT@@ == ‘Storno’ Verschiebt das Dokument in einen Storno-Ordner. Passen Sie die ObjektId des entsprechenden Ordners an Ihr System an
MoveObject @@FREIGABE.TASKRESULT@@ != ‘Storno’ and string.IsNullOrEmpty(@@OBJECT.SellerTradePartyID@@) Verschiebt das Dokument in einen Ordner “unzugeordnet”. Passen Sie die ObjektId des entsprechenden Ordners an Ihr System an

Installation auf laufendem Produktivsystem

Workflow dvo_AIDEX_extraction

Passen Sie im Task Validierung die PropertyUpdateActions auf die Objektfelder in Ihrem System an. Sollten Sie im Anschluss an diesen Workflow den dvo_ReleaseInvoice Workflow nicht starten wollen, passen Sie die StartWorkflowAction auf Ihre Bedürfnisse an.

Workflow dvo_ReleaseInvoice

Passen Sie im Task Ablage die Workflowactions MoveObject an die Parameter in Ihrem System an.

Action Bedingung Beschreibung
MoveObject @@FREIGABE.TASKRESULT@@ != ‘Storno’ and !string.IsNullOrEmpty(@@OBJECT.SellerTradePartyID@@) Diese Action verschiebt das Dokument in die entsprechende Lieferantenakte in den Ordner “Belege”. Passen Sie die entsprechenden Parameter an Ihr System an.
MoveObject @@FREIGABE.TASKRESULT@@ == ‘Storno’ Verschiebt das Dokument in einen Storno-Ordner. Passen Sie die ObjektId des entsprechenden Ordners an Ihr System an
MoveObject @@FREIGABE.TASKRESULT@@ != ‘Storno’ and string.IsNullOrEmpty(@@OBJECT.SellerTradePartyID@@) Verschiebt das Dokument in einen Ordner “unzugeordnet”. Passen Sie die ObjektId des entsprechenden Ordners an Ihr System an

CustomValidationScripts einrichten

Im Ordner Workflows\CustomValidationScripts des Aidex-Pack finden Sie 4 JavaScripts, die Sie für die Workflows des Aidex benötigen. Diese müssen direkt in die Datenbank geschrieben werden. Nutzen Sie dazu folgenden SQL Befehl:

1
insert into dwadmin.serversettings (settingid, settingkey, systemreference,  settingtext) values ([settingid],'[settingkey]',[systemreference],'[settingtext]')

Parameter Typ Beschreibung
settingid Integer Die Ordnungzahl des Eintrages. Diese muss eindeutig sein und darf noch nicht in dieser Tabelle vorhanden sein
settingkey VarChar beginnt mit ***CustomValidationScript_** gefolgt vom Namen der Funktion, die vom CustomValidationScript aufgerufen wird. Beispiel: CustomValidationScript_getCreditorData
systemreference Integer Die Id der Systemreference, für den dieses Script gelten soll.
settingtext Text Enthält das eigentliche Script, den kompletten Inhalt der JavaScript Datei des entsprechenden Scripts
1
Zum Kopieren des Scripts öffnen Sie die entsprechende JavaScript Datei mit dem Texteditor Ihrer Wahl. Ersetzen Sie anschließend mit der Funktion "Suchen und ersetzen" alle Hochkomma (') durch doppelte Hochkomma (''). Kopieren Sie nun den kompletten Inhalt der Datei in die Zwischenablage und fügen Sie den Text in Ihren SQL Befehl ein

checkDuplicates.js

Bevor Sie das Script kopieren und in die Datenbank schreiben, passen Sie das Script im Setup-Bereich an die Parameter in Ihrem System an:

1
2
3
4
5
    ////////////////////////////////////////// SETUP ////////////////////////////////////////////////
    var objecttypeIdEingangsbeleg = 40
    var fieldIdExternalVoucherNumber = '-213'
    var fieldIdSellerTradePartyID = '955'
    /////////////////////////////////////////////////////////////////////////////////////////////////
Variable Typ Beschreibung
objecttypeIdEingangsbeleg String Die ObjektTypId des Eingangsbeleges
fieldIdExternalVoucherNumber String Die FieldId für die externe Belegnummer. Benutzen Sie das Standardfeld “OBJ_EXTERNALVOUCHERNUMBER”, ist hier keine Konfiguration notwendig
fieldIdSellerTradePartyID String Die FeldId der Lieferantennummer im Objekttyp Eingangsbeleg

getCreditorData.js

Bevor Sie das Script kopieren und in die Datenbank schreiben, passen Sie das Script im Setup-Bereich an die Parameter in Ihrem System an:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
///////////////////////////////////// SETUP ////////////////////////////////////////////////
    var objecttypeidCreditor = 37
    // Namen im Grid
    var grid_aidex_vendor_id = 'AIDEX_VALUE_vendor_id'
    var grid_aidex_account = 'AIDEX_VALUE_account'
    var grid_aidex_conteraccount = 'AIDEX_VALUE_conter_account'
    var grid_aidex_costcentre = 'AIDEX_VALUE_cost_centre'
    var grid_aidex_bookingkey = 'AIDEX_VALUE_BookingKey'
    var grid_aidex_paymentmethod = 'AIDEX_VALUE_paymentMethod'
    var grid_aidex_paymentKey = 'AIDEX_VALUE_paymentKey'

    // Feld ID´s Objekttyp Creditor
    var fieldIdCreditorNumber = 763
    var fieldIdAccount = 778
    var fieldIdConterAccount = 779
    var fieldIdCostCentre =777
    var fieldIdBookingKey = 780
    var fieldIdPaymentMethod = 969
    var fieldIdPaymentKey = 782
    ///////////////////////////////////////////////////////////////////////////////////////////////

Variable Typ Beschreibung
objecttypeidCreditor Integer ObjekttypId des Objekttyps Lieferantenakte
grid_* String Diese Variablen müssen nur angepasst werden, wenn das Benutzerformular im Task “Validierung”, im speziellen die Feldnamen, verändert wurden. Sonst ist hier keine Anpassung notwendig
fieldIdCreditorNumber Integer Die FeldId für die Lieferantennummer im Objekttyp der Lieferantenakte
fieldIdAccount Integer Die FeldId für das Konto im Objekttyp der Lieferantenakte
fieldIdConterAccount Integer Die FeldId für das Gegenkonto im Objekttyp der Lieferantenakte
fieldIdCostCentre Integer Die FeldId für die Kostenstelle im Objekttyp der Lieferantenakte
fieldIdBookingKey Integer Die FeldId für den Buchungsschlüssel im Objekttyp der Lieferantenakte
fieldIdPaymentMethod Integer Die FeldId für die Zahlungsmethode im Objekttyp der Lieferantenakte
fieldIdPaymentKey Integer Die FeldId für die Zahlungsbedingungen im Objekttyp der Lieferantenakte

validateTaxes.js

In diesem Script ist keine Anpassung notwendig

releaseHelper.js

In diesem Script ist keine Anpassung notwendig

ValidationScript kopieren

Kopieren Sie die Datei dvs.dvo_AIDEX_extraction.Validierung.cs aus dem Ordner

1
Workflows\ValidationScripts

in den Pfad

1
<Installationpfad des docuvita Servers>docuvita.Server\plugins\scripts