diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 5494119..3760347 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -8,8 +8,9 @@ - Upgrade Imixs-Workflow 6.7 - Beim XML Invoice Import wird nun auch die Sprache für das Mahnwesen ermittelt (fehlte) - Währungsunabhängigkeit - - Lucen Index: item 'cdtr.name' wurde in den index aufgenommen wegen AI Examples Adapter - + - Lucene Index: item 'cdtr.name' und 'document.company' wurde in den index aufgenommen wegen AI Examples Adapter + - Fix Fälligkeit in maske + - Fix XML Schnittstelle Cargosoft Sammelgutschrift **Migration** @@ -46,9 +47,11 @@ 3. Alle Workflow Modelle erneuern -### 1.2.20 +### 1.2.20 (Development) - Optimierung OP-Liste nach KW + - Fix Fälligkeit in maske + - Fix XML Schnittstelle Cargosoft Sammelgutschrift ### 1.2.19 diff --git a/workflow/dwc/posteingang-dwc-2.0.0.bpmn b/workflow/dwc/posteingang-dwc-2.0.0.bpmn index 8d79a43..b8ba352 100644 --- a/workflow/dwc/posteingang-dwc-2.0.0.bpmn +++ b/workflow/dwc/posteingang-dwc-2.0.0.bpmn @@ -315,7 +315,7 @@ Betrag: _amount (Brutto € _amount_brutto - + diff --git a/workflow/posteingang-de-2.0.0-draft.bpmn b/workflow/posteingang-de-2.0.0-draft.bpmn new file mode 100644 index 0000000..14e8d49 --- /dev/null +++ b/workflow/posteingang-de-2.0.0-draft.bpmn @@ -0,0 +1,1432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + 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 + + + + + + + + BoundaryEvent_1 + Task_4 + IntermediateCatchEvent_2 + Task_2 + IntermediateCatchEvent_3 + StartEvent_1 + EndEvent_1 + + dataObject_FS1r0Q + task_uB6BGQ + textAnnotation_CtU05A + task_PsBytg + dataObject_CRa7xA + event_bYlo0w + event_za0KnA + event_Zxhr0w + dataObject_vVKXIg + event_yQLmNA + task_0YaQ2w + dataObject_HHM58Q + event_xOeBKg + event_pDFoXg + dataObject_ZhBiZg + event_4DNGzg + dataObject_KPUiiw + event_wmNwPA + event_tFxV0w + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + home +]]> + + + + + + + + + + + + false + + + + sequenceFlow_fRPOrw + sequenceFlow_4gpPgw + + + + sequenceFlow_fRPOrw + + + + + + + + + + + + + + + + + true + + + + + + + + Rechnungseingangskontrolle +

Der Workflow 'Rechnungseingang' beschreibt beispielhaft einen Ablauf zur Prüfung von Eingangsrechnungen.

+ +

    +
  • Nach Erhalt einer Rechnung (z.B. Post, E-Mail, Fax,...) wird diese in das Workflowsystem übertragen und der Prozess Rechnungseingang gestartet.
  • + +
  • Die Rechnung wird wahlweise eingescannt und über den Abschnitt 'Dokumente' an den Vorgang hinzugefügt.
  • + +
  • In diesem Beispiel wird die Rechnung einem zuvor ausgewählten Mitarbeiter zur Prüfung vorgelegt.
  • + +
  • Nach positiver Prüfung werden die Rechnungsdaten (Zahlungsziel, Bankverbindung) vom Controlling im System erfasst und auf das Zahlungsziel gewartet.
  • + +
  • Nach Erreichen des Zahlungsziels wird der Vorgang automatisch dem Controlling erneut zur abschließenden Bearbeitung vorgelegt.
  • + +
+

Der Workflow

+ +

Eingangsrechnungen können über eine E-Mailschnittstelle oder das Filesystem automatisch eingelesen werden. Eine Eingangsrechnung wird in diesem Beispiel vom zugewiesenen Mitarbeiter sowie den Prozessverantworltichen (Controlling) bearbeitet.

]]>
+ SequenceFlow_9 + sequenceFlow_4gpPgw +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +X-Tika-OCRLanguage=eng+deu +X-Tika-PDFocrStrategy=OCR_ONLY +(PDF|pdf)$ +10]]> + + + + + + + + + + + + false + + + + SequenceFlow_9 + 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_VlPVJg + sequenceFlow_0N8cOQ + sequenceFlow_fN22Gg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdtr.name (invoice.language)]]> + + + true + + + + + + + + document.type
+Company: document.company
]]>
+
+
+ + sequenceFlow_JpNUKg + sequenceFlow_lmU9IA + sequenceFlow_naZnAA + sequenceFlow_8SpIiA +
+ + + + + + + + + + + + +]]> + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + sequenceFlow_lmU9IA + sequenceFlow_Od65ZQ + + + + + sequenceFlow_Od65ZQ + + + + sequenceFlow_0N8cOQ + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + https://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_aC0skQ + sequenceFlow_YMtfiw + + + + + + + + + + + + + + cdtr.name (invoice.language)]]> + + + true + + + + + + + + + sequenceFlow_JpNUKg + sequenceFlow_lmU9IA + sequenceFlow_aC0skQ + sequenceFlow_A62nqQ + sequenceFlow_z8jotQ + + + + + + + + + + + {"max_tokens": 4096, "temperature": 0 } + invoice.summary + +[INST]Transfer the invoice data into an XML object with the following structure: + + + ... + ... + 2024-12-31 + 2024-12-31 + 1234.00 + ... + ... + + +Create only the XML object. Use only the XML structure specified in this example and do not create any other XML tags. Don't create explanations or comments. +Format date values (invoice.date, payment.date) into the ISO 8601 format (YYYY-MM-DD). +Format numbers and amounts (type="double") according to ISO 4217. + +Transfer the individual invoice data to the XML tags, taking into account the following suggestions for mapping: + + - Company name ==> "cdtr.name" + + - 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 ==> "payment.date" + +<> + +[/INST] + +]]]]> + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + rechnungseingang-de-1.2 + 5000 + 990 + +]]> + + + + + + DataOutput_2 + + + DataOutput_2 + + sequenceFlow_YMtfiw + sequenceFlow_gXJm0w + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + false + + https://llama.cpp.imixs.com/ + XML + + + +]]> + + + + + + DataOutput_2 + + + DataOutput_2 + + + sequenceFlow_fN22Gg + sequenceFlow_naZnAA + + + + + {"n_predict": 2048, "temperature": 0 } + ^.+\.([pP][dD][fF])$ + +[INST] Assign the invoice to one of the following categories: + +- Cargo-Invoice - in case the invoice is about cargo and logistic services +- Credit - in case of a credit note +- Invoice - in all other cases + +Extract also the company name and the language the invoice is written in. + +Note: The company name is the name of the company that issued the invoice document, not the recipient. The company name is usually at the beginning or end of the invoice document. + +Output the infromation as an XML object that has the following structure: + + + Type + Kraxi GmbH + German + + +Note: Do not generate any other information instead of the XML object. + +[/INST] +]]]]> + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + https://llama.cpp.imixs.com/ + invoice.summary + +false + +]]> + + + + + + DataOutput_2 + + + DataOutput_2 + + + sequenceFlow_8SpIiA + sequenceFlow_A62nqQ + + + + + + + + + + + {"max_tokens": 4096, "temperature": 0 } + ^.+\.([pP][dD][fF])$ + +[INST] + +Summarize the data from this invoice document: + + - Company information + - General Billing data + - Invoice total information + - Payment summary + - Invoice items + +The company name is the name of the company that issued the invoice document, not the recipient. The company name is usually at the beginning or end of the invoice document. + +Summarize the invoice lines in a table. +Use only the default values and do not perform any calculations, summing or changes to these values yourself. Format numbers and amounts according to ISO 4217. + +[/INST] +]]]]> + + ]]> + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + sequenceFlow_z8jotQ + sequenceFlow_7ywCdA + + + + + sequenceFlow_7ywCdA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workflow/posteingang-de-2.0.0.bpmn b/workflow/posteingang-de-2.0.0.bpmn index 14e8d49..0b0595d 100644 --- a/workflow/posteingang-de-2.0.0.bpmn +++ b/workflow/posteingang-de-2.0.0.bpmn @@ -40,7 +40,7 @@ - + @@ -68,9 +68,9 @@ Possible ImageTypes are: - + - + BoundaryEvent_1 Task_4 IntermediateCatchEvent_2 @@ -98,6 +98,10 @@ Possible ImageTypes are: dataObject_KPUiiw event_wmNwPA event_tFxV0w + event_88sCAA + event_T901Jg + event_7rbeVA + event_yvr5AA @@ -181,7 +185,7 @@ Betrag: _amount (Brutto € _amount_brutto
- + @@ -312,7 +316,7 @@ Betrag: _amount (Brutto € _amount_brutto - + @@ -360,7 +364,7 @@ Betrag: _amount (Brutto € _amount_brutto]]> - + @@ -369,7 +373,7 @@ Betrag: _amount (Brutto € _amount_brutto - + @@ -387,6 +391,7 @@ Betrag: _amount (Brutto € _amount_bruttosequenceFlow_VlPVJg sequenceFlow_0N8cOQ sequenceFlow_fN22Gg + sequenceFlow_GAK0SA @@ -413,7 +418,7 @@ Betrag: _amount (Brutto € _amount_brutto - + cdtr.name (invoice.language)]]> @@ -642,6 +647,7 @@ Betrag: _amount (Brutto € _amount_brutto sequenceFlow_aC0skQ sequenceFlow_YMtfiw + sequenceFlow_PWXjog @@ -652,7 +658,7 @@ Betrag: _amount (Brutto € _amount_brutto - + cdtr.name (invoice.language)]]> @@ -680,7 +686,7 @@ Betrag: _amount (Brutto € _amount_brutto - + {"max_tokens": 4096, "temperature": 0 } "cdtr.name" - + - 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 ==> "payment.date" @@ -798,7 +802,7 @@ Transfer the individual invoice data to the XML tags, taking into account the fo ]]> - + DataOutput_2 @@ -897,9 +901,10 @@ Transfer the individual invoice data to the XML tags, taking into account the fo sequenceFlow_fN22Gg sequenceFlow_naZnAA + sequenceFlow_PgyOMw - + {"n_predict": 2048, "temperature": 0 } Type @@ -924,7 +929,7 @@ Output the infromation as an XML object that has the following structure: German -Note: Do not generate any other information instead of the XML object. +Note: Do not generate any other information instead of the XML object. Do not generate more than one XML Object. [/INST] ]]]]> @@ -1024,6 +1029,7 @@ Note: Do not generate any other information instead of the XML object. sequenceFlow_8SpIiA sequenceFlow_A62nqQ + sequenceFlow_Di4BQA @@ -1032,7 +1038,7 @@ Note: Do not generate any other information instead of the XML object. - + {"max_tokens": 4096, "temperature": 0 } _amount (Brutto € _amount_brutto + + + + sequenceFlow_PgyOMw + + + + + sequenceFlow_Di4BQA + + + + + + + + + + + sequenceFlow_PWXjog + + + + + + + + + + + + + + _subject]]> +
+ + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + false + + + + sequenceFlow_GAK0SA + + + + @@ -1309,9 +1406,9 @@ Betrag: _amount (Brutto € _amount_brutto - + - + @@ -1319,23 +1416,23 @@ Betrag: _amount (Brutto € _amount_brutto - + - + - + - + - - - - + + + + @@ -1354,16 +1451,16 @@ Betrag: _amount (Brutto € _amount_brutto - + - + - - - - + + + + @@ -1388,16 +1485,16 @@ Betrag: _amount (Brutto € _amount_brutto - + - + - - - - + + + + @@ -1424,6 +1521,52 @@ Betrag: _amount (Brutto € _amount_brutto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workflow/prompts/categorize-en.xml b/workflow/prompts/categorize-en.xml index 4b49f8f..11d142b 100644 --- a/workflow/prompts/categorize-en.xml +++ b/workflow/prompts/categorize-en.xml @@ -15,7 +15,7 @@ Extract also the company name and the language the invoice is written in. Note: The company name is the name of the company that issued the invoice document, not the recipient. The company name is usually at the beginning or end of the invoice document. -Output the infromation as an XML object that has the following structure: +Output the infromation as one XML object that has the following structure: Type @@ -23,7 +23,7 @@ Output the infromation as an XML object that has the following structure: German -Note: Do not generate any other information instead of the XML object. +Note: Do not generate any other information instead of the XML object. Do not generate more than one XML Object. [/INST] ]]> diff --git a/workflow/prompts/invoice-extract-en.xml b/workflow/prompts/invoice-extract-en.xml index de7ef92..6fc961c 100644 --- a/workflow/prompts/invoice-extract-en.xml +++ b/workflow/prompts/invoice-extract-en.xml @@ -23,12 +23,10 @@ Format numbers and amounts (type="double") according to ISO 4217. Transfer the individual invoice data to the XML tags, taking into account the following suggestions for mapping: - - Company name ==> "cdtr.name" - + - 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 ==> "payment.date" diff --git a/workflow/rechnungseingang-de-1.2.39.bpmn b/workflow/rechnungseingang-de-1.2.39.bpmn index 6cb56a0..681f0d4 100644 --- a/workflow/rechnungseingang-de-1.2.39.bpmn +++ b/workflow/rechnungseingang-de-1.2.39.bpmn @@ -1474,10 +1474,7 @@ Bei Fragen wenden Sie sich bitte an info@imixs.com Rechnungscontrolling - - cdtr.name,invoice.number,invoice.date,invoice.total,payment.date,cdtr.iban,cdtr.bic,total - ON -]]> +]]> @@ -6894,9 +6891,9 @@ Betrag: invoice.total invoice.currency - + - + @@ -7530,10 +7527,6 @@ Betrag: invoice.total invoice.currency - - - - @@ -7600,17 +7593,14 @@ Betrag: invoice.total invoice.currency - - - + - - - - - + + + + @@ -8087,9 +8077,7 @@ Betrag: invoice.total invoice.currency - - - + @@ -8318,10 +8306,6 @@ Betrag: invoice.total invoice.currency - - - -