From de1ab57b76dc307f60625a165903af795e7baad4 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Sat, 22 Aug 2026 10:11:46 +0200 Subject: [PATCH] ki import modell verbessert --- RELEASENOTES.md | 13 +- doc/backup/README.md | 204 +++ workflow/pl/zahlungseingang-pl-1.0.1.bpmn | 1268 ++++++++++++++++ workflow/posteingang-de-3.0.0.bpmn | 1679 --------------------- workflow/posteingang-en-3.0.0.bpmn | 510 +++---- workflow/test.json | 5 + 6 files changed, 1745 insertions(+), 1934 deletions(-) create mode 100644 doc/backup/README.md create mode 100644 workflow/pl/zahlungseingang-pl-1.0.1.bpmn delete mode 100644 workflow/posteingang-de-3.0.0.bpmn create mode 100644 workflow/test.json diff --git a/RELEASENOTES.md b/RELEASENOTES.md index c982dd2..f2a5cb5 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -8,10 +8,21 @@ Neue Modelle: - Posteingang - - posteingang-de-3.0 + - posteingang-en-3.0 +- Brazil + - rechnungseingang-br-1.0.0.bpmn - AMS - rechnungseingang-ams-1.1.0.bpmn +### MIGRATION + +1. Neues Posteingangs modell einspielen +2. Prozess Front-Desk in "Global Inbox" umbeneennen +3. Text Baustein anlegen (aus AGL BR) +4. Document Import Konfiguration für IMAP auf neuen Posteingang 3.0 Ändern! + + + ## 1.3.6 (Development) **KSeF Produktiname II.** diff --git a/doc/backup/README.md b/doc/backup/README.md new file mode 100644 index 0000000..f850a97 --- /dev/null +++ b/doc/backup/README.md @@ -0,0 +1,204 @@ +# Eigenes Backup-System (Backup-Mirror) +## Architektur, Einrichtung und Disaster-Recovery-Konzept + +--- + +## 1. Idee und Architektur + +### 1.1 Ausgangslage + +Imixs-Office-Workflow wird von uns als eine transaktionale, hochverfügbare +Geschäftsprozessmanagement-Suite betrieben. Die Basis ist ein Open Source Kernel, +der frei zugänglich ist ([https://github.com/imixs/](https://github.com/imixs/)). +Unabhängig vom gewählten Betriebsmodell (SaaS, Public Cloud, Private Cloud, On +Premise) sind und bleiben Sie Eigentümer Ihrer Geschäftsdaten. Über den +Backup-Service haben Sie die Möglichkeit, jederzeit eigenständig auf eine +vollständige Kopie Ihrer Daten zuzugreifen – unabhängig davon, wie und wo Ihre +Instanz aktuell betrieben wird. + +### 1.2 Architektur – Own your Data + +Auch wenn wir den Betrieb Ihrer Instanz übernehmen, bedeutet das nicht, dass Sie +von uns abhängig sind. Über den Backup-Mirror betreiben Sie bei sich einen eigenen, +unabhängigen Backup-Dienst. Dieser Dienst wird von Ihnen selbst eingerichtet, +verwaltet und überwacht und läuft vollständig autark – wir müssen ihn technisch +weder kennen noch verwalten. Dadurch gilt: + +> **Sie verfügen über eine eigenständige, vollständige Kopie Ihrer +> Geschäftsdaten – unabhängig von unserer Infrastruktur. Mit dieser Kopie kann +> Ihr System bei Bedarf komplett neu aufgebaut werden.** + +Das ist ein bewusst einfaches und robustes Prinzip: Es kommt nicht darauf an, *wo* +Ihre Daten zusätzlich liegen, sondern *wer* die Kontrolle über diesen zusätzlichen +Sicherungsort hat. Nur wenn diese Kontrolle bei Ihnen liegt, sind Sie wirklich +unabhängig. + +### 1.3 Wie es funktioniert + +Technisch basiert das Konzept auf dem Open-Source-Projekt +[Imixs-Archive](https://github.com/imixs/imixs-archive), konkret auf dem Baustein +*Imixs-Archive-Backup*. Der Ablauf im Überblick: + +1. Bei jeder Änderung an einem Geschäftsvorgang erzeugt Ihre Workflow-Instanz + automatisch einen unveränderlichen Snapshot (eine vollständige Kopie des + Vorgangs inkl. aller angehängten Dokumente). +2. Diese Snapshots werden über die REST-Schnittstelle Ihrer Workflow-Instanz + bereitgestellt. +3. Ein bei Ihnen installierter Backup-Dienst (siehe Abschnitt 2) ruft diese + Snapshots eigenständig ab und speichert sie auf einem Speicherort Ihrer Wahl + (z. B. eigener FTP-/Storage-Server). + +Wichtig: Die Verbindung erfolgt **von Ihrem System zu unserer Workflow-Instanz** +(„Pull-Prinzip"). Sie benötigen dafür lediglich einen Netzwerkzugriff auf die +REST-Schnittstelle Ihrer Instanz – wir müssen keinen Zugriff auf Ihre Infrastruktur +haben und erhalten auch keinen. + +--- + +## 2. Technische Einrichtung + +Der Backup-Dienst kann als Docker-Container in unterschiedlichen Umgebungen betrieben werden: + + - **Local**: lokal über Docker oder Docker Compose, + - **Private Cloud**: in einer Private Cloud (z.b. Kubernetes, OpenShift) + - **Public Cloud**: in einer Public Cloud Umgebung (z.b. AWS, Microsoft Azure) + + +### 2.1 Voraussetzungen + +- Eine eigene Server- bzw. Container-Umgebung (Docker) auf Ihrer Seite +- Ein eigener Speicherort für die Backup-Daten (z. B. FTP-Storage, NAS mit + FTP-Anbindung) +- Eine sogenannte **Mirror-ID**, die wir Ihnen bereitstellen + +### 2.2 Mirror-ID anfragen + +Die Mirror-ID ist eine organisatorische Kennung, mit der wir Ihre eigene +Backup-Verbindung für Ihre Instanz freischalten. Sie ist kein Sicherheitsmerkmal im +engeren Sinn, sondern eine Vereinbarung zwischen uns: *„Kunde X betreibt ein eigenes +Backup."* Bitte fordern Sie diese ID formlos bei uns an. + +### 2.3 Backup-Nutzer in Ihrer eigenen Instanz anlegen + +Ein zentraler Punkt für die Autarkie des Systems: **Sie legen den technischen +Benutzer für den Backup-Zugriff selbst in Ihrer Imixs-Instanz an.** Dieser Nutzer +gehört ausschließlich Ihnen – wir kennen weder das Passwort noch verwalten wir +dieses Konto. Vergeben Sie dem Nutzer ausreichende Leserechte, damit er alle +relevanten Vorgänge und Dokumente sichern kann. + +### 2.4 Docker-Compose Beispielkonfiguration + +Das folgende Beispiel zeigt eine Docker Compose Konfiguraiton für den Betrieb des Backup-Dienstes: + +```yaml +version: "3.6" +services: + backup: + image: imixs/imixs-archive-backup:latest + environment: + TZ: "Europe/Berlin" + WORKFLOW_SERVICE_ENDPOINT: "https://.office-workflow.de/api/" + WORKFLOW_SERVICE_USER: "" + WORKFLOW_SERVICE_PASSWORD: "" + WORKFLOW_SERVICE_AUTHMETHOD: "form" + BACKUP_FTP_HOST: "" + BACKUP_FTP_PATH: "" + BACKUP_FTP_PORT: "21" + BACKUP_FTP_USER: "" + BACKUP_FTP_PASSWORD: "" + BACKUP_MIRROR_ID: "" + ports: + - "8084:8080" + - "9990:9990" +``` + +**Erläuterung der wichtigsten Parameter:** + +| Parameter | Bedeutung | +|---|---| +| `WORKFLOW_SERVICE_ENDPOINT` | Die REST-API-Adresse Ihrer bei uns gehosteten Workflow-Instanz | +| `WORKFLOW_SERVICE_USER/PASSWORD` | Der von Ihnen selbst angelegte Backup-Nutzer | +| `BACKUP_FTP_*` | Ihr eigener Speicherort für die Backup-Daten | +| `BACKUP_MIRROR_ID` | Die von uns bereitgestellte Freischalt-ID | + +Nach dem Start prüft der Dienst regelmäßig auf neue zu sichernde Vorgänge und +überträgt diese automatisch auf Ihren Speicherort. + +### 2.5 Monitoring des eigenen Backup-Dienstes + +Da der Dienst vollständig in Ihrer Verantwortung läuft, sollten Sie ihn aktiv +überwachen. Ein einfacher Ping-Check zeigt zwar, dass der Container erreichbar +ist – sagt aber nichts darüber aus, ob der Dienst tatsächlich funktionsfähig ist +und Backups erfolgreich durchführt. + +Der Imixs-Archive-Backup-Service stellt hierfür standardisierte **MicroProfile-Endpunkte** mit, die auf Port `9990` +bereitgestellt werden: + +| Endpunkt | Beschreibung | +|---|---| +| `/health` | Liefert den Health-Status des Dienstes nach dem MicroProfile-Health-Standard – inklusive Readiness (ist der Dienst betriebsbereit, z. B. Verbindung zur Workflow-API und zum FTP-Storage vorhanden?) und Liveness (läuft der Prozess korrekt?) | +| `/metrics` | Liefert Betriebskennzahlen im MicroProfile-Metrics-Format (Prometheus-kompatibel), z. B. Anzahl verarbeiteter Backups, Fehlerzähler, Laufzeiten | + +Damit lässt sich der Dienst professionell überwachen: + +- **Health-Checks** binden Sie direkt in gängige Monitoring-Systeme ein (z. B. + Kubernetes Liveness-/Readiness-Probes, Uptime-Kuma, Nagios, Icinga) und erkennen + so nicht nur einen abgestürzten Container, sondern auch einen Dienst, der zwar + läuft, aber z. B. keine Verbindung mehr zu Ihrer Workflow-Instanz oder zum + FTP-Ziel herstellen kann. +- **Metrics** lassen sich direkt von Prometheus abgegriffen und in Grafana + visualisiert werden – so erkennen Sie auf einen Blick, ob regelmäßig Backups + durchgeführt werden, oder ob z. B. die Fehlerrate ansteigt. + +**Voraussetzung:** Sie müssen Port `9990` in Ihrer Docker-Umgebung entsprechend +freigeben bzw. mappen, damit Ihr Monitoring-System auf die Endpunkte zugreifen kann +(siehe Port-Mapping im Beispiel aus Abschnitt 2.4). + +Ein Backup, das unbemerkt seit Wochen nicht mehr funktioniert, bietet keinen Schutz. +Die Überwachung über Health- und Metrics-Endpunkte ist daher ein integraler +Bestandteil des Konzepts, nicht optional. + +--- + +## 3. Notfall- und Wiederherstellungsfall (Disaster Recovery) + +Im Falle eines Disaster-Recovery-Prozesses stellen Sie uns Ihr Backup zur Verfügung, damit Ihr System auf dessen Basis wiederhergestellt werden kann. Dieser Abschnitt beschreibt das Vorgehen nur in Stichpunkten. +Die vollständige technische Dokumentation der +Imixs-Workflow-Architektur ist Open Source und öffentlich einsehbar unter +[github.com/imixs](https://github.com/imixs). + +**Grundprinzip der Wiederherstellung:** + +- Ihre gesicherten Snapshot-Daten liegen vollständig und unverändert in Ihrem + eigenen Speicher (FTP/Storage) vor. +- Diese Daten liegen in einem offenen, plattformunabhängigen XML-Format vor und + sind nicht an unsere konkrete Infrastruktur gebunden. +- Auf Basis dieser Daten kann eine neue Imixs-Workflow-Instanz (bei Ihnen oder bei + einem anderen Dienstleister) aufgesetzt werden. +- Über die Restore-Funktion der Imixs-Archive-Komponenten werden die Snapshots in + die neue Instanz zurückgespielt – jeder Geschäftsvorgang wird dabei inklusive + seiner Historie und aller Dokumente wiederhergestellt. + +**Wichtige Stichpunkte für den Ernstfall:** + +- Backup-Daten sind vollständig bei Ihnen vorhanden → keine Abhängigkeit von uns +- Wiederherstellung erfordert eine lauffähige Imixs-Workflow-Umgebung (Open Source, + frei verfügbar) +- Die technische Vorgehensweise zum Restore ist Teil der öffentlichen + Imixs-Archive-Dokumentation +- Wir unterstützen Sie im Ernstfall selbstverständlich gerne beim Wiederaufbau – + diese Unterstützung ist jedoch **keine Voraussetzung**, da die Daten und das + Wiederherstellungsverfahren vollständig unabhängig von uns nutzbar sind + +--- + +## 4. Zusammenfassung + +Mit dem Backup-Mirror bleiben Sie jederzeit Eigentümer Ihrer Geschäftsdaten – unabhängig +davon, wie und wo Ihre Instanz betrieben wird. Sie richten den Dienst selbst ein, verwalten +ihn eigenständig und behalten so die volle Kontrolle über Ihre zusätzliche Datenkopie. Genau +diese Unabhängigkeit ist es, die Ihnen im Bedarfsfall den vollständigen Wiederaufbau Ihres +Systems ermöglicht. + +Bei Fragen zur Einrichtung oder zur Anforderung Ihrer Mirror-ID kontaktieren Sie uns +gerne. \ No newline at end of file diff --git a/workflow/pl/zahlungseingang-pl-1.0.1.bpmn b/workflow/pl/zahlungseingang-pl-1.0.1.bpmn new file mode 100644 index 0000000..c2c467a --- /dev/null +++ b/workflow/pl/zahlungseingang-pl-1.0.1.bpmn @@ -0,0 +1,1268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + application.urlindex.jsf?workitem=$uniqueid + +]]> + + + +name + +

+Debitor: dbtr.name (dbtr.number) +

+

+Payment details: payment.date : payment.amount payment.currency +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
No.DateDue DateTotalBalancePayment
invoice.numberinvoice.dateinvoice.duedateinvoice.total invoice.currencyinvoice.saldo invoice.currencypayment.amount invoice.currency
+]]>
+
+ + + + + + + + + + + + + + sequenceFlow_CYsovQ + + + + sequenceFlow_CYsovQ + sequenceFlow_ceiZVA + + + + sequenceFlow_92Rz3A + + + + + + + + + + sequenceFlow_92Rz3A + sequenceFlow_G011rg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + DataOutput_1 + + + DataOutput_1 + + + sequenceFlow_ceiZVA + sequenceFlow_G011rg + + + + + + + + + + + + StartEvent_1 + Task_1 + IntermediateCatchEvent_3 + IntermediateCatchEvent_1 + EndEvent_3 + EventBasedGateway_1 + IntermediateCatchEvent_5 + Task_6 + + DataObject_1 + event_rs4HbQ + gateway_gSQAJA + + + Task_2 + IntermediateCatchEvent_6 + + DataObject_2 + event_OJtddA + intermediateCatchEvent_2H7Ksg + textAnnotation_EPVsNQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + false + + + + + + + SequenceFlow_13 + SequenceFlow_18 + + + SequenceFlow_4 + + + + + + payment.date - payment.amount payment.currency (dbtr.number - dbtr.name)]]> + + + true + + + + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_6 + SequenceFlow_10 + sequenceFlow_HyzQdw + sequenceFlow_s7bTKw + sequenceFlow_29fiHg + + + + + + SequenceFlow_1 + SequenceFlow_13 + SequenceFlow_5 + + sequenceFlow_ck6Btg + + + SequenceFlow_10 + SequenceFlow_17 + + + + + + payment.date - payment.amount payment.currency (dbtr.number - dbtr.name)]]> + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_14 + SequenceFlow_4 + sequenceFlow_BfUoYw + SequenceFlow_1 + + + + + + + + payment.date - payment.amount payment.currency (dbtr.number - dbtr.name)]]> + + + true + + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_18 + SequenceFlow_17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + SequenceFlow_6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + SequenceFlow_5 + SequenceFlow_3 + + + DataOutput_1 + + + DataOutput_1 + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + Html-Header +E-Mail - Receipt of Payment +Mail-Body +E-Mail - Receipt of Payment Footer +Html-Footer +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + sequenceFlow_HyzQdw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + dbtr.mail.]]> + + + false + + + + + + + + + + + + + + Html-Header +E-Mail - Receipt of Payment +Mail-Body +E-Mail - Receipt of Payment Footer +Html-Footer +]]> + + + + + + + + + DataOutput_1 + + + DataOutput_1 + + + sequenceFlow_ck6Btg + sequenceFlow_vDNaXA + + + + + SequenceFlow_3 + sequenceFlow_vDNaXA + sequenceFlow_s7bTKw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + sequenceFlow_29fiHg + sequenceFlow_BfUoYw + + + DataOutput_1 + + + DataOutput_1 + + + + + + + + + + + + + + + + + + + +<itemvalue>$workflowstatus</itemvalue> + +]]> + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/workflow/posteingang-de-3.0.0.bpmn b/workflow/posteingang-de-3.0.0.bpmn deleted file mode 100644 index c02c2fe..0000000 --- a/workflow/posteingang-de-3.0.0.bpmn +++ /dev/null @@ -1,1679 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - BoundaryEvent_1 - Task_4 - IntermediateCatchEvent_2 - Task_2 - IntermediateCatchEvent_3 - StartEvent_1 - EndEvent_1 - - dataObject_FS1r0Q - task_uB6BGQ - textAnnotation_CtU05A - task_PsBytg - event_Zxhr0w - dataObject_vVKXIg - event_yQLmNA - task_0YaQ2w - dataObject_HHM58Q - event_xOeBKg - event_pDFoXg - dataObject_ZhBiZg - event_4DNGzg - dataObject_KPUiiw - event_wmNwPA - event_tFxV0w - event_88sCAA - event_T901Jg - event_7rbeVA - gateway_qDAhHw - event_9mJrhQ - gateway_gd9zQQ - TextAnnotation_1 - gateway_MgL04w - event_VEvZRQ - event_Xk1mPA - event_a1P5WQ - dataObject_UIvZkA - dataObject_BbVs7w - - - - - - - - - - - - _subject]]> - - - - - - - - - _amount (Brutto € _amount_brutto) -_description]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - home -Empfang -]]> - - - - - - - - - - - - false - - - - sequenceFlow_fRPOrw - sequenceFlow_4gpPgw - - - - sequenceFlow_fRPOrw - - - - - - - - - - - - - - - - - true - - - - - - - - $workflowgroup - $workflowstatus]]> - sequenceFlow_4gpPgw - sequenceFlow_CbkmwA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (pdf|PDF|eml|msg)$ - (pdf|PDF)$ - 10 - - - - true - -]]> - - - - - - - - - - - - false - - - - SequenceFlow_2 - - - DataOutput_1 - - - DataOutput_1 - - - sequenceFlow_VlPVJg - - - - - txtlastcomment]]> - - - - - - - - - - - - - - - - - - - - - - - - cdtr.name (invoice.language)]]> - - - $workflowgroup - $workflowstatus]]> - SequenceFlow_12 - sequenceFlow_gXJm0w - - - SequenceFlow_12 - - - - - - - SequenceFlow_2 - - 1000 - - - - - - - -]]> - - - - - - - - - - - - - - - - - true - - - - - - - - - sequenceFlow_bh4DIw - sequenceFlow_ofQKHg - - - - - - - - - - - - - - - - - - - - - - - - - - - document.type ⇒ document.company (Import: document.import.type - Language: document.language) ]]> - - - true - - - - - - - - document.type
-Company: document.company
]]>
-
-
- - sequenceFlow_JpNUKg - sequenceFlow_I8o4DA - sequenceFlow_KKWo0w -
- - - - sequenceFlow_3YcMGQ - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - api.llama.cpp.imixs.com - XML - true - - - cdtr.name,invoice.number,invoice.date,invoice.total,payment.date,cdtr.iban,cdtr.bic,total - ON - -false - -]]> - - - - - - DataOutput_2 - - - DataOutput_2 - - - sequenceFlow_YMtfiw - sequenceFlow_PWXjog - - - - - - - - - - - - - - document.type ⇒ document.company (Import: document.import.type - Language: document.language) ]]> - - - true - - - - - - - - - sequenceFlow_JpNUKg - sequenceFlow_lmU9IA - sequenceFlow_A62nqQ - sequenceFlow_DdWK6A - - - - - {"n_predict": 4096, "temperature": 0 } - - -Note: -- invoice.positions is the Reference Number only in the format AA-BBB-YYMM-SSS (2 uppercase letters + hyphen + 3 uppercase letters + hyphen + 6-digit date (YYYYMM) + hyphen + 3-digit sequence). No deviations allowed! Example: 'KL-MNO-202605-456'. If no reference number is found leave the field blank -- invoice.period is the posting period of the invoice date in the format [YYYYMM] . Example '202605' - - -<> - -]]]]> - invoice.summary - - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - (^rechnungseingang-[a-z]{2,3}-\d+(?:\.\d+)?$) - 5000 - 990 - -]]> - - - - - - DataOutput_2 - - - DataOutput_2 - - sequenceFlow_gXJm0w - sequenceFlow_gpPDLg - sequenceFlow_eccehA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - false - - api.llama.cpp.imixs.com - XML - - - - -]]> - - - - - - DataOutput_2 - - - DataOutput_2 - - - sequenceFlow_naZnAA - sequenceFlow_PgyOMw - - - - - {"n_predict": 512, "temperature": 0 } - - Type - Kraxi GmbH - German - - -Note: Do not generate any other information instead of the XML object. Do not generate more than one XML Object. - - -]]]]> - (?i)^.+\.(eml|msg|pdf)$ - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - api.llama.cpp.imixs.com - invoice.summary - false - -false -]]> - - - - - - DataOutput_2 - - - DataOutput_2 - - - sequenceFlow_A62nqQ - sequenceFlow_Di4BQA - - - - - {"n_predict": 2048, "temperature": 0} - - - (?i)^.+\.(eml|msg|pdf)$ - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - - - - - - - - - - - - - - - - sequenceFlow_3YcMGQ - sequenceFlow_p0asUQ - - - - - - sequenceFlow_DdWK6A - - - - - sequenceFlow_PgyOMw - - - - - sequenceFlow_Di4BQA - - - - - sequenceFlow_PWXjog - - - - sequenceFlow_naZnAA - sequenceFlow_tcjWAA - sequenceFlow_I8o4DA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adapter.error_code: adapter.error_message]]> - - - false - - - - - - DataOutput_2 - - - DataOutput_2 - - sequenceFlow_tcjWAA - sequenceFlow_gpPDLg - sequenceFlow_d0zSHA - - - - - - - - - - - - sequenceFlow_I8o4DA - sequenceFlow_VlPVJg - sequenceFlow_bh4DIw - sequenceFlow_d0zSHA - - - - - - For the OCR Adapter the following minimal options should be set: - - * X-Tika-PDFocrStrategy=OCR_AND_TEXT_EXTRACTION - * X-Tika-OCRLanguage=eng+deu - -These options allow OCR and text extraction suporting English and German language. - -Additional Tika Options can be set but are NOT needed in most cases: - - * X-Tika-PDFOcrImageType=RGB (setting the RGB color mode) - * X-Tika-PDFOcrDPI=400 (setting DPI) - -Setting the OcrDPI is only recommended if the DPI is know! - -Possible ImageTypes are: - - * ARGB Alpha, Red, Green, Blue - * BINARY Black or white. - * GRAY Shades of gray - * RGB Red, Green, Blue - - - - - - sequenceFlow_YMtfiw - sequenceFlow_eccehA - sequenceFlow_p0asUQ - - - - - - - - - - - - - - sequenceFlow_KKWo0w - - - - - - - - sequenceFlow_ofQKHg - - - - - - - - sequenceFlow_CbkmwA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - association_w5HwVg - - - - - {"n_predict": 4096, "temperature": 0 } - - ... - ... - 2024-12-31 - 2024-12-31 - 1234.00 - ... - ... - ... - - -Transfer the individual invoice data to the XML tags, taking into account the following suggestions for mapping: - - - Company name ==> "cdtr.name" (the name of the company that issued the invoice document, not the recipient) - - Invoice number ==> "invoice.number" - - Invoice Date ==> "invoice.date" - - Total ==> "invoice.total" (in EUR or if not available in USD or PLN) - - IBAN ==> "cdtr.iban" - - BIC or SWIFT ==> "cdtr.bic" - - Payment date / Due date ==> "invoice.duedate" - - The Reference Number in the format [2 letters][3 letters][4-digit booking period YYMM][3-digit sequence number] ==> "invoice.positions" - - -Note: Output only the XML object! Don't add explanations or comments. Use only the XML structure specified in this example and do not create any other XML tags. If you don't have data for some fields, leave the corresponding XML tags blank. Format date values (type="date") into the ISO 8601 format (YYYY-MM-DD). Format numbers and amounts (type="double") according to ISO 4217. - - -<> - -]]]]> - invoice.summary - - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/workflow/posteingang-en-3.0.0.bpmn b/workflow/posteingang-en-3.0.0.bpmn index 84360d9..0ba6223 100644 --- a/workflow/posteingang-en-3.0.0.bpmn +++ b/workflow/posteingang-en-3.0.0.bpmn @@ -39,12 +39,12 @@ - + - + BoundaryEvent_1 @@ -83,7 +83,7 @@ event_Xk1mPA event_a1P5WQ dataObject_UIvZkA - dataObject_BbVs7w + task_0ossfw @@ -135,7 +135,7 @@ Betrag: _amount (Brutto € _amount_brutto home -Front Desk +Global Inbox ]]> @@ -145,21 +145,21 @@ Betrag: _amount (Brutto € _amount_brutto - + false - sequenceFlow_fRPOrw + sequenceFlow_ShggfA sequenceFlow_4gpPgw sequenceFlow_fRPOrw - + @@ -185,6 +185,7 @@ Betrag: _amount (Brutto € _amount_brutto$workflowgroup - $workflowstatus]]> sequenceFlow_4gpPgw sequenceFlow_CbkmwA + association_w5HwVg @@ -314,9 +315,6 @@ Betrag: _amount (Brutto € _amount_bruttoSequenceFlow_12 - - - SequenceFlow_2 @@ -363,13 +361,7 @@ Betrag: _amount (Brutto € _amount_brutto - - - - - - - + @@ -563,7 +555,7 @@ Note: - + @@ -621,7 +613,7 @@ Note: - + false @@ -1109,13 +1101,6 @@ first one that appears in the document. Do not add any comments or explanation a sequenceFlow_d0zSHA - - - - - - - sequenceFlow_I8o4DA @@ -1123,7 +1108,7 @@ first one that appears in the document. Do not add any comments or explanation a sequenceFlow_bh4DIw sequenceFlow_d0zSHA - + @@ -1156,39 +1141,21 @@ Possible ImageTypes are: sequenceFlow_eccehA sequenceFlow_p0asUQ - - - - - - - - - sequenceFlow_KKWo0w - - - sequenceFlow_ofQKHg - - - sequenceFlow_CbkmwA - - - @@ -1217,71 +1184,104 @@ Possible ImageTypes are: ]]> association_w5HwVg - - - - {"n_predict": 4096, "temperature": 0 } - - ... - ... - 2024-12-31 - 2024-12-31 - 1234.00 - ... - ... - ... - - -Transfer the individual invoice data to the XML tags, taking into account the following suggestions for mapping: - - - Company name ==> "cdtr.name" (the name of the company that issued the invoice document, not the recipient) - - Invoice number ==> "invoice.number" - - Invoice Date ==> "invoice.date" - - Total ==> "invoice.total" (in EUR or if not available in USD or PLN) - - IBAN ==> "cdtr.iban" - - BIC or SWIFT ==> "cdtr.bic" - - Payment date / Due date ==> "invoice.duedate" - - The Reference Number in the format [2 letters][3 letters][4-digit booking period YYMM][3-digit sequence number] ==> "invoice.positions" - - -Note: Output only the XML object! Don't add explanations or comments. Use only the XML structure specified in this example and do not create any other XML tags. If you don't have data for some fields, leave the corresponding XML tags blank. Format date values (type="date") into the ISO 8601 format (YYYY-MM-DD). Format numbers and amounts (type="double") according to ISO 4217. - - -<> - -]]]]> - invoice.summary - - ]]> - - - + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_fRPOrw + sequenceFlow_ShggfA + association_hnK1FQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + @@ -1292,18 +1292,12 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t - - - - - - - - - + + + @@ -1315,10 +1309,10 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t - + - + @@ -1327,9 +1321,9 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t - + - + @@ -1339,335 +1333,343 @@ Note: Output only the XML object! Don't add explanations or comments. Use only t - + - + - + - + - + - + - + - + - + - + - + - - - - - + + - - + + - - + + - + - + - + - + - + - - + + - - + + - - - - + + + + + - + - + - + - + - + - - - - + + + + - + - + - + - - + + - + - + - - - - + + + + - + - + - - + + - + - + - + - + - - - - + + + + - - + + - + - + - - + + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - - + + - + - + - + - + - - - - + + + - - + + - - + + - + - + - - + + - - - - + + + + - - - - - + + + + - + - + - - + + - - + + - - + + - - + + - + - + - - + + - + - + - - + + + + - + - + - - + + - - - + + + + - - - - + + + + + + + + + + + + + diff --git a/workflow/test.json b/workflow/test.json new file mode 100644 index 0000000..a966e46 --- /dev/null +++ b/workflow/test.json @@ -0,0 +1,5 @@ +>\n ...\n ...\n ...\n ...\n ...\n\n\nField mapping:\n- document.company (text): Company\n- document.type (text): Document Type\n- document.language (text): Language\n- cdtr.name (text): Supplier\n- invoice.number (text): Invoice Number\n- invoice.date (date, format YYYY-MM-DD): Invoice Date\n- invoice.duedate (date, format YYYY-MM-DD): Due Date\n- invoice.total (text): Invoice Total\n- invoice.currency (text): Currency\n- cdtr.iban (text): IBAN\n- cdtr.bic (text): BIC\n- invoice.period (text): Posting period\n- invoice.positions (text): Reference Number\n\nOutput only the XML object above! Do not add explanations or comments, and do not create any XML tags other than those shown. The example values (e.g. \"...\", \"2024-12-31\", \"1234.00\") only illustrate the expected format - if you don't have data for a field, leave the corresponding tag empty.\n\n\nNote: \n- The Reference Number in the format [2 letters][3 letters][4-digit booking period YYMM][3-digit sequence number] ==> \"invoice.positions\"\n- The posting period is the period of the invoice date [YYYYMM] ==> \"invoice.period\"\n\n\n\n\n" +}, +{ +"role": "user", +"content":"### **Invoice Summary**\n\n#### **1. Vendor Information**\n- **Company Name:** Maersk A/S\n- **Agent for Carrier:** Maersk Deutschland A/S & Co. KG\n- **Address:**\n - Maersk A/S: Esplanaden 50, 1263 Copenhagen K, Denmark\n - Maersk Deutschland A/S & Co. KG: Johanniswall 7, 20095 Hamburg, Germany\n- **Tax ID:** DK53139655\n- **Commercial Register No.:** 32345794\n- **Contact:** Devi Ravichandran\n\n---\n\n#### **2. General Billing Data**\n- **Invoice Type:** Export Invoice\n- **Invoice Number:** 7554697016\n- **Invoice Date:** 2026-08-11\n- **Due Date:** 2026-09-02\n- **Payment Terms:** 21 Days Net\n- **Customer Code:** 10307608\n- **Customer Address:** Alexander Global Logistics GmbH, 2-6 Museumstr., 28195 Bremen, Germany\n- **Vessel/Voyage Reference:** MAERSK MONTE LINZOR/632S\n- **Sailing Date:** 2026-08-12\n- **Arrival Date:** 2026-09-03\n- **Port of Loading:** Bremerhaven, DE\n- **Port of Discharge:** Cartagena, CO\n- **Place of Delivery:** Cartagena, CO\n- **Bill of Lading:** 274378263\n- **Product ID:** MAERSK SPOT\n- **Price Calculation Date (PCD):** 2026-07-15\n\n---\n\n#### **3. Invoice Total Information**\n- **Total Net Amount (EUR):** 1,741.66\n- **Total Taxes (EUR):** 0.00\n- **Total Payable Amount (EUR):** 1,741.66\n- **Total Net Amount (DKK):** 13,181.58 *(Tax specification for reporting only)*\n\n---\n\n#### **4. Payment Summary (Including Bank Data)**\n- **Payment Reference:** 7554697016 / 10307608\n- **Payment Instructions:** Pay without deduction\n\n**EUR Payments:**\n- **Bank:** BNP Paribas\n- **Account No.:** 8027000011\n- **IBAN:** NL06BNPA8027000011\n- **SWIFT/BIC:** BNPANL2A\n\n**US \ No newline at end of file