This commit is contained in:
Ralph Soika 2023-01-19 13:43:06 +01:00
parent e8439e392d
commit f24a3762e3
3 changed files with 79 additions and 30 deletions

77
CARGOSOFT.md Normal file
View file

@ -0,0 +1,77 @@
# Cargosoft
Wir haben eine Schnittstelle zu Cargosoft. Diese macht folgende Dinge:
- Importieren von Kreditoren und Debitoren Stammdaten
- Exportieren von Belegdaten + Belegbild von Imixs nach Cargosoft
- Importieren von Ausgangsrechnungen über eine DATEV Schnittstelle
- Exportieren von Saldenlisten aus Ausgangslisten
## FTP
Wir habne einen eigenen FTP Server von Imixs in den alle Import und Export Files abgelegt werden.
## Importieren von Kreditoren und Debitoren Stammdaten
Wir importieren eine CSV Datei von Kreditoren mit dem namen `Vendors.csv` aus dem Verzeichnis `/cargosoft/stammdaten`.
Für den Import verwenden wir den Standard CSV Import Service aus dem [Imixs-Archive Importer Projekt](https://github.com/imixs/imixs-archive/tree/master/imixs-archive-importer).
Die Datei wird von Cargosoft einmal Täglich bereitgestellt und befindet sich auf unserem FTP Sever unter:
/office-alexander-logistics/cargosoft/fromCargosoft/stammdaten/Vendors.csv
Das Schlüsselfeld ist `VENDOR_NUM`. Zusätzlich indizieren wir das feld `VENDOR_NAME`. So kann man über die Lucene SUche sowohl nach dem namen oder der Nummer suchen.
In der Erfassungsmaske haben wir dann eine JavaScript Implementierung mit Ajax die bei Eingabe in das Feld *cdtr.number* Vorschläge aus den importieren Kreditoren macht. Das ist ähnlich implementiert wie die Imixs-ML Suggest LIste
## Exportieren von Belegdaten + Belegbild von Imixs nach Cargosoft
Für den Export wird im Rechnungseingangs-Workflow einen Adapter der nach Freigabe ein child Workitem erzeugt.
Die Cargosoft Export Schnittstelle besteht aus einem eigenen BPMN modell "cargosoft-export-1.0.0". In diesem wird der CargoosftExportAdapter getriggert, der diese Daten einer EingansRechnung an den FTP Server übermittelt.
Cargosoft prüft alle 10 Sekunden ob sich Dateien mit der Dateiendung ".xml" auf dem FTP befinden und holt diese ab.
Die Konfiguration der FTP Schnittstelle erfolgt über den Konfigurationsdialog im Office-Workflow mit den folgenden Werten:
cargosoft.export.ftp.host=u248962.your-storagebox.de
cargosoft.export.ftp.path=/
cargosoft.export.ftp.user=u248962-sub2
cargosoft.export.ftp.password=aXa61n9Un3jDNQlL
Die Belege wandern in das Root Verzeichnis. Die Firma Cargosft legt dann noch ein /logs/ Vereichnis an in den sie ab und zu Logdaten einspielen
### Bei Problemen
Manchamal holt Cargosoft die Daten zwar ab importiert diese aber aus irgend einem Grund nicht in Cargosft. Frau Mahner kann dann die Buchung nicht finde. Wir haben deshalb einen Workflow Button "Cargosoft Export Wiederholen" gebaut mit dem man den Export nochmal anstoßen kann.
## Importieren von Ausgangsrechnungen über eine DATEV Schnittstelle
Wir können Ausgangsrechnungen aus Cargosoft in Imixs über einen DATEV Import importieren.
Dazu haben wir einen eigenen Import Workflow gemacht "DATEV Import", welchen Frau Mahner manuell anstößt. Dabei wird eine CSV/DATEV Buchungstapel Datei importiert. Es muss sich um ein offizielles DATEV Import Format handeln mit dem Header 'Buchungsstapel' (Zelle D1).
Der Import nutzt dann den Adapter `com.alexanderlogistics.datev.DatevCargosoftImportAdapter` um einen Rechnungsausgangs-Workflow in Imixs zu starten.
## Exportieren von Saldenlisten aus Ausgangslisten
Weil wir Ausgangsrechnungen und Zahlungseingänge mit Workflow Verwalten (Mahnwesen genannt) können wir sogenannte Saldenlisten erzeugen.
Dabei handelt es sich ein CARGOSOFT spezifisches CSV File in dem alle Rechnungen enthalten sind bei denen noch offene Beträge sind. Cargosoft weis selbst wie man auf den Saldo kommt.
Der Export erfolgt scheduled auf unseren FTP Server (u248962-sub2) in das Verzeichnis:
/cargosoft/opliste-prod (Produktivumgebung)
/cargosoft/opliste-test (Testumgebung

View file

@ -86,34 +86,6 @@ user=imixs@alexander-logistics.com
$ mvn clean install -Pkubernetes $ mvn clean install -Pkubernetes
# Cargosoft
Die Cargosoft Schnittstelle besteht aus einem eigenen BPMN modell "cargosoft-export-1.0.0". In diesem wird der CargoosftExportAdapter getriggert, der die Daten einer Rechnung an den FTP Server übermittelt.
Cargosoft prüft alle 10 Sekunden ob sich Dateien mit der Dateiendung ".xml" auf dem FTP befinden und holt diese ab.
Die Konfiguration der FTP Schnittstelle erfolgt über den Konfigurationsdialog im Office-Workflow mit den folgenden Werten:
cargosoft.export.ftp.host=u248962.your-storagebox.de
cargosoft.export.ftp.path=/
cargosoft.export.ftp.user=u248962-sub2
cargosoft.export.ftp.password=aXa61n9Un3jDNQlL
## Cargosoft Kreditoren
Wir importieren auch eine CSV Datei von Kreditoren mit dem namen *Vendors.csv*. Für den Import verwenden wir den Standard CSV Import Service aus dem [Imixs-Archive Importer Projekt](https://github.com/imixs/imixs-archive/tree/master/imixs-archive-importer).
Die Datei wird von Cargosoft einmal Täglich bereitgestellt und befindet sich auf dem FTP Sever unter:
/office-alexander-logistics/cargosoft/fromCargosoft/stammdaten/Vendors.csv
Das Schlüsselfeld ist *_VENDOR_NUM*. Zusätzlich indizieren wir das feld *_VENDOR_NAME*. So kann man über die Lucene SUche sowohl nach dem namen oder der Nummer suchen.
In der Erfassungsmaske haben wir dann eine JavaScript Implementierung mit Ajax die bei Eingabe in das Feld *cdtr.number* Vorschläge aus den importieren Kreditoren macht. Das ist ähnlich implementiert wie die Imixs-ML Suggest LIste
# Imixs-ML # Imixs-ML

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- origin at X=0.0 Y=0.0 --> <!-- origin at X=0.0 Y=0.0 -->
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:tl="http://www.w3.org/2001/XMLSchema" id="Definitions_1" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.3.Final-v20210519-2007-B1" targetNamespace="http://www.imixs.org/bpmn2"> <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:tl="http://www.w3.org/2001/XMLSchema" id="Definitions_1" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" targetNamespace="http://www.imixs.org/bpmn2">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txtworkflowmodelversion" type="xs:string"> <imixs:item name="txtworkflowmodelversion" type="xs:string">
<imixs:value><![CDATA[cargosoft-export-1.0]]></imixs:value> <imixs:value><![CDATA[cargosoft-export-1.0]]></imixs:value>
@ -477,7 +477,7 @@ Das ist eine automatische generierte E-Mail. Bitte nicht auf diese E-Mail antwor
<bpmn2:sequenceFlow id="SequenceFlow_28" sourceRef="IntermediateCatchEvent_2" targetRef="Task_6"/> <bpmn2:sequenceFlow id="SequenceFlow_28" sourceRef="IntermediateCatchEvent_2" targetRef="Task_6"/>
<bpmn2:sequenceFlow id="SequenceFlow_29" sourceRef="Task_1" targetRef="IntermediateCatchEvent_2"/> <bpmn2:sequenceFlow id="SequenceFlow_29" sourceRef="Task_1" targetRef="IntermediateCatchEvent_2"/>
<bpmn2:textAnnotation id="TextAnnotation_1"> <bpmn2:textAnnotation id="TextAnnotation_1">
<bpmn2:text>Scheduler lattest after 1 hour</bpmn2:text> <bpmn2:text>Scheduler lattest after 30 min</bpmn2:text>
</bpmn2:textAnnotation> </bpmn2:textAnnotation>
<bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_26"/> <bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_26"/>
</bpmn2:process> </bpmn2:process>