Compare commits

..

579 commits

Author SHA1 Message Date
97a6e86a11 verbesserter prompt 2026-08-21 10:29:23 +02:00
f2bd7210e6 upgrade 1.4 -> Brazil 2026-08-20 22:40:40 +02:00
3c5e5b0546 Merge branch 'office-alexander-logistics-1.4' 2026-08-20 21:43:42 +02:00
f06adc290c update 2026-08-20 21:41:19 +02:00
6721c2de9b update 2026-08-20 15:11:58 +02:00
2d3f98c15c clean up docu and junit tests 2026-08-20 11:05:28 +02:00
cfe1edb294 Merge commit '8309be5b39a6f1e8228626e667a0678cf908d304' into office-alexander-logistics-1.4 2026-08-20 11:03:36 +02:00
f96d1af5e7 Merge branch 'master' into office-alexander-logistics-1.4 2026-08-20 11:02:58 +02:00
8309be5b39 neue tax email brazil 2026-08-20 10:45:22 +02:00
e85840695c Merge branch 'master' of ssh://git.imixs.com/git/office-alexander-logistics 2026-08-19 14:54:37 +02:00
b6782448f9 wrong email 2026-08-19 14:54:22 +02:00
f942231066 neuer AGLAIInvoiceAdapter für auflösung von space.ref 2026-08-19 10:18:36 +02:00
99e138e685 model mit besseren historien text 2026-08-18 11:49:10 +02:00
44df91da9d model fix, backup testbackup test 2026-08-18 11:48:12 +02:00
8afb45271f cancel button added 2026-08-17 12:17:52 +02:00
7bca17dcca cancel button added 2026-08-17 12:17:04 +02:00
fe4ca105df fix gitignore 2026-08-17 11:35:41 +02:00
202fe2f3a0 korrektur validierung Gutschriften 2026-08-17 11:34:31 +02:00
3d322152e5 update neue AI Version 2026-08-17 11:22:38 +02:00
01e0e89e14 Migration office 2026-08-15 14:19:38 +02:00
e14af8449f migration auf neue office version 2026-08-15 10:54:26 +02:00
b8d0660526 neue KI Features 2026-08-15 09:46:17 +02:00
aeba05cc19 update polen 2026-08-13 12:23:06 +02:00
020498eee7 update sepa brasilien 2026-08-12 14:09:07 +02:00
6a66fd1852 fixed timing in ksef export 2026-08-07 18:01:01 +02:00
0a459e4b48 improved http check status mechanism 2026-08-04 12:12:17 +02:00
49c8ea0db9 New task Reklamiert/bezahlt 2026-07-31 12:30:09 +02:00
bd0500beef update cn und br 2026-07-31 12:13:13 +02:00
b6e56958ec logging, configuraiton BR 2026-07-27 20:03:05 +02:00
3f15b3a11b anapssungen der einvoice 2026-07-24 11:04:22 +02:00
f758c4a6ac verbesserungen e-invoice 2026-07-23 16:25:15 +02:00
0d9c9d8615 impvore e-invoice format 2026-07-23 16:13:44 +02:00
2b997da394 Setup AGL BR 2026-07-23 13:07:55 +02:00
092aa40ceb added timer to solve scheduler hangs 2026-07-17 09:40:51 +02:00
8d9de4a16a fixes error messages, added data export 2026-07-06 12:27:33 +02:00
1086466822 ksef update 2026-07-06 11:34:28 +02:00
a3df1a0a77 KSeF Docu 2026-06-29 22:31:39 +02:00
68acd25778 skip validation in end status-manuelle Auslandsrechnung 2026-06-29 13:42:09 +02:00
4e24e6e7b4 update 2026-06-26 12:28:38 +02:00
53703cdf9b purchase workflow 2026-06-24 11:26:56 +02:00
394297b31c new forward opiton 2026-06-11 18:32:05 +02:00
6a22dc29af update invoice worklow 2026-06-11 13:51:35 +02:00
38b60d7621 update payment.date 2026-06-10 15:06:11 +02:00
944d72b2cf minor fixes 2026-06-10 14:55:24 +02:00
f6fb26dcf0 fixes 2026-06-10 11:20:51 +02:00
4203572a8f upgrade 1.3.6 2026-06-08 12:20:09 +02:00
049bf8fea9 new dataview version 2026-06-08 12:19:48 +02:00
69456a28a0 fixed correct summarization in writeSummaryFields - with multipel 0% rules 2026-05-28 19:38:35 +02:00
111527b407 fixed correct summarization in writeSummaryFields - with multipel 0% rules 2026-05-28 19:17:47 +02:00
ba40d05c9d neuer posteingang für polen 2026-05-27 15:36:31 +02:00
190aa023c0 skip ksef for debit/credit notes 2026-05-18 16:05:17 +02:00
907455fe9b vat id in business partner form aufgenommen 2026-05-15 16:11:58 +02:00
99dd910520 clean up workflow folder 2026-05-15 10:20:24 +02:00
be2f8c08ac fixed ksef tax codes 2026-05-14 15:52:16 +02:00
26114ae35c fixed ksef tax codes 2026-05-14 09:51:39 +02:00
97935680bf fixed ksef tests 2026-05-14 09:51:26 +02:00
5491c04da4 korrektur P_18 2026-05-13 16:23:13 +02:00
a272c8bdb4 new tax code CARGO_023 2026-05-12 23:09:30 +02:00
f72ef5cce6 Änderung ksef template und umrechnugn der Kurse 2026-05-12 15:47:04 +02:00
5b4401bb82 business partner views 2026-05-05 11:56:44 +02:00
6afd6856c2 update 2026-05-04 16:58:39 +02:00
c15efc106c neue Ansicht Businesspartner 2026-05-04 16:33:57 +02:00
a65ae59950 optional ksev export 2026-05-04 15:26:28 +02:00
1d91e7f809 fixes 2026-05-01 13:32:19 +02:00
0e86783324 fixes ksef 2026-04-28 19:35:32 +02:00
7d426a0dab fixes ksef 2026-04-28 19:10:45 +02:00
6f76b367e7 update 2026-04-28 16:44:10 +02:00
edacbbdd6d neue Imple KSEF Adapter 2026-04-27 22:42:09 +02:00
04acdb4ff3 Feedback von Taxman 2026-04-27 16:31:42 +02:00
f8c13c5b2b Feedback von Taxman 2026-04-27 12:47:59 +02:00
47fc7e151e manueller ksef process 2026-04-17 17:35:21 +02:00
ae11393c8c update ksef workflow 2026-04-16 17:46:32 +02:00
9884a3cd00 Korrektur der Polnischen KSeF Verarbeitung 2026-04-16 06:22:06 +02:00
d11099e8a3 mail plugin 2026-04-09 13:28:26 +02:00
6bee49b917 fixed KSeFAdapter - compute pos numbers manually 2026-04-02 16:56:54 +02:00
3ebd619df4 fix ATC Number 2026-04-02 12:34:22 +02:00
d7619a7c21 ksef prod 2026-04-01 17:00:09 +02:00
4894d11f83 docu 2026-03-24 15:12:34 +01:00
9a3e6146ea fix mulitiple mailaddresses in business partner 2026-03-19 08:54:18 +01:00
28b17e957f update 2026-03-13 10:28:43 +01:00
2bfa7cd7e1 konfiguraition, mailing, 2026-03-09 12:40:55 +01:00
d7c9682bfd korrektur der Steuerberechnung 2026-02-24 16:29:50 +01:00
676310ae38 update 2026-02-24 11:52:14 +01:00
1d7fb83710 workflows 2026-02-12 15:22:16 +01:00
1a614564a8 update - added test 2026-02-10 12:47:20 +01:00
fc69af8bd5 modle update 2026-01-30 13:10:32 +01:00
38b755d5c1 mail plugin update 2026-01-29 13:23:08 +01:00
d59f9f3718 fixed api endpoint 2026-01-23 16:19:29 +01:00
dd96aa84d0 mail benachrichtigung rsoika deaktiviert 2026-01-22 10:47:17 +01:00
e2c1d9a47e mail plugin in workflow aktualisiert 2026-01-14 20:03:16 +01:00
cdf6d36f8b update posteingang summarization prompt 2026-01-07 18:01:50 +01:00
f90afb959a model updates 2025-12-16 13:25:26 +01:00
851519dbbd update ksef 2025-12-11 16:44:15 +01:00
5f4de3e432 mail fix 2025-12-08 14:55:53 +01:00
82b3771fc8 performance issues 2025-12-08 12:27:28 +01:00
5b445adee0 überarbeitung KSeF 2025-12-08 11:44:59 +01:00
b3c935132b mail subject changed 2025-12-08 08:49:29 +01:00
600f6980bd fix scheduler setting für Mailversand 2025-12-05 16:54:22 +01:00
15b8a54360 E-Mail Benachrichtigung an Herrn Hoelzl bei Payment RUn 2025-12-05 16:39:36 +01:00
5f20bc458b added qr-code to invoice 2025-12-04 16:48:33 +01:00
e09e25766a typo 2025-12-04 08:58:50 +01:00
78739d3517 improve invoice plugin logic 2025-12-01 12:00:58 +01:00
fecb9e8813 some minor fixes 2025-11-28 20:02:52 +01:00
96477feb74 qr code ergänzt 2025-11-28 15:30:16 +01:00
a1621420e2 Berechnung der KSeF Download URLs 2025-11-28 14:01:18 +01:00
e4347046b4 store uop data 2025-11-27 11:47:52 +01:00
3e1e7ccef0 update ksef intergation 2025-11-27 11:22:22 +01:00
459f7808cf refactoring KSeF invoice upload 2025-11-27 11:07:21 +01:00
9024ee2e38 fixed KSeF Upload 2025-11-26 23:31:45 +01:00
082f0f609d import hilfs methode für test 2025-11-26 18:33:29 +01:00
1ee7c82805 import hilfs methode für test 2025-11-26 18:32:52 +01:00
909c3f195d refactoring 2025-11-25 08:43:02 +01:00
dd70091057 Invoice Type (RodzajFaktury) -> VAT | KOR 2025-11-24 23:20:18 +01:00
6b6957e1ab Auslesen der Cargosoft Korrektur Rechnungsdaten 2025-11-24 23:05:10 +01:00
6e65ed4468 lookup nip - migration 2025-11-24 18:48:13 +01:00
cca28e9414 update ksef 2025-11-24 16:59:36 +01:00
616765aa0a update pl 2025-11-19 17:08:03 +01:00
53b5f69329 added ksef schema validator 2025-11-18 22:15:16 +01:00
c232841ed3 update 2025-11-18 16:33:58 +01:00
f61c7feca5 update ksef 2025-11-18 11:54:25 +01:00
fb3f086192 ksef export configuration 2025-11-17 21:36:36 +01:00
b986f8615a ksef adapter added 2025-11-17 16:49:58 +01:00
7b421e0a37 Neuer FTP Connector mit Atomic Write 2025-11-17 12:36:21 +01:00
1897377eb3 Started e-invoice interface 2025-11-17 12:35:59 +01:00
1f2d3b4cd5 new impl authManager 2025-11-17 00:04:40 +01:00
6c4e72fe82 neuer Test Code - bessere Key Verwaltung 2025-11-16 15:31:28 +01:00
1bce7db64e logging 2025-11-16 11:03:05 +01:00
cfd974ecd2 started 1.3.5 2025-11-15 20:47:49 +01:00
6d7d47772c finalize 1.3.4 2025-11-15 20:35:58 +01:00
1b31712ac7 logging 2025-11-15 15:28:31 +01:00
bb058306f0 korrektur 2025-11-15 10:51:27 +01:00
11b28ef9c3 KSeF Impl and docu 2025-11-14 23:22:24 +01:00
26b08eb507 test authManager 2025-11-14 22:04:11 +01:00
5ead936783 verbesserte auth methodik 2025-11-14 15:24:12 +01:00
9f6d86d328 neue impl 2025-11-14 13:43:58 +01:00
7fe009c23c Implemented KSeFAuthManager 2025-11-13 22:35:20 +01:00
e76a8dc668 update 2025-11-13 19:45:59 +01:00
278880a6b0 docu 2025-11-13 17:23:44 +01:00
5e4698025a Test Code KSeF client 2025-11-13 17:23:29 +01:00
ed3444890d update 2025-11-10 12:06:07 +01:00
3e96df6e9c docu 2025-11-07 16:13:27 +01:00
e322acbd0e update 2025-11-06 15:18:04 +01:00
af03c22dd7 modernisierung data-views 2025-11-04 11:24:09 +01:00
6f15bbd21f bugfix datumseingabe_tage 2025-10-22 10:40:34 +02:00
7ae22da078 bug fix - gutschrift 2025-10-15 12:35:06 +02:00
62435591d7 new option - delete credit note 2025-10-10 12:39:42 +02:00
e50a923347 fixed workflow models 2025-10-10 10:58:51 +02:00
ca630aec03 Auswahl eines optionalen Buchungskontos bei Eingangsgutschriften 2025-10-09 17:19:55 +02:00
5aa9fba8f8 Auswahl eines optionalen Buchungskontos bei Eingangsgutschriften 2025-10-09 17:15:30 +02:00
54fe24e8c7 Erweiterte Anzeige Business Partner Suche 2025-10-08 19:24:38 +02:00
9fa5217d59 smaller model fixes (SEPA) 2025-10-08 14:44:35 +02:00
98d46de37c workflow updates - Polen Tax Export 2025-10-06 10:56:43 +02:00
c7ec908f4e fix validierung 2025-09-21 21:29:07 +02:00
988a831200 invoicePlugin - bessere Kontrolle partner.id 2025-09-19 18:46:44 +02:00
15e37ff2c8 verbesserte Prüfung der Partner.ID Eingabe , Speziallösung Frau Mwanig für sonder Gutschriften Export an Cargosoft 2025-09-19 12:13:43 +02:00
6c1fa2c094 fix ams model - sepa übergabe 2025-09-12 09:04:48 +02:00
d7f2b0bc92 korrektur business partner import bei Eingangsrechnung 2025-09-10 11:09:35 +02:00
51730e3d39 start outgoing invoices in poland 2025-09-08 17:10:43 +02:00
513782b303 update bp workflow 2025-09-04 12:01:06 +02:00
75ef221181 bp workflow update 2025-09-04 11:29:45 +02:00
8b463d3acb update dwc - complete button 2025-09-04 10:54:44 +02:00
3764a265f9 fix model debitor analyise 2025-09-03 11:29:53 +02:00
3df24a7bd8 update 2025-09-02 12:48:11 +02:00
f986a9d1ba schon wieder typo :-( 2025-09-02 12:17:33 +02:00
5d1434fa7d Merge branch 'master' of ssh://git.imixs.com/git/office-alexander-logistics 2025-09-02 11:30:23 +02:00
d1b816d1e6 typo 2 2025-09-02 11:30:12 +02:00
7e1c0e91b8 update csv export 2025-09-02 11:02:23 +02:00
5a4ac8a1e6 test client kutzner, fix sepa polen 2025-09-02 10:35:23 +02:00
fef55be481 typo in script 2025-09-02 10:26:56 +02:00
5e483d5517 sepa reports Polen finalisiert 2025-09-01 14:07:04 +02:00
863dc67603 update 2025-09-01 13:58:54 +02:00
4143468ea0 anzeige sepa läufe 2025-09-01 12:33:08 +02:00
d4dc59b60b modelle aufgeräumt 2025-09-01 11:14:48 +02:00
106515d25a fixed opListContoller - getinvoices 2025-09-01 11:02:34 +02:00
6c67a81b6f typo 2025-09-01 10:53:54 +02:00
0ef5fff446 verbesserter SEPA Report 2025-09-01 08:47:19 +02:00
e0e5bbd8f3 abschluss migration 2025-08-31 07:53:51 +02:00
c6205b9c43 adresswandlung cargosoft 2025-08-30 17:27:33 +02:00
c14e1e41b3 migration imixs-archive -> imixs-data 2025-08-29 17:49:52 +02:00
fbf5bf2962 zoho schnittstelle 2025-08-29 09:43:53 +02:00
fe23ba4050 cargosoft migrations agent 2025-08-28 21:21:43 +02:00
734fe57d09 verbesserungen Migration PL 2025-08-28 13:10:39 +02:00
3a08e83581 caching op liste 2025-08-27 21:40:54 +02:00
5c16f68a43 workflow update 2025-08-27 15:31:07 +02:00
81db869ccd fix read access für csv export 2025-08-24 19:27:35 +02:00
6f9727c4d1 fix read access für csv export 2025-08-24 19:19:18 +02:00
98ad08b052 korrektur pflichtfelder 2025-08-24 18:36:35 +02:00
52ac50f204 support von 5-stelligen BP Nummern 2025-08-24 10:34:51 +02:00
6620f7ce7c Vendor Auswahl für Sachrechnung 2025-08-22 15:45:31 +02:00
4ae91b527c BP Auswahl für Sachrechnung 2025-08-22 15:30:49 +02:00
e1145e9348 update mail translation 2025-08-22 12:15:43 +02:00
79504dc80a update process 2025-08-22 12:15:22 +02:00
c6e73ac111 update sepa bank millenium 2025-08-21 16:34:12 +02:00
a44424fcf1 update 2025-08-21 12:19:17 +02:00
b666ffdbb7 update excel update 2025-08-21 12:09:41 +02:00
c2c3b6e798 update model 2025-08-21 11:54:42 +02:00
4fb35d252b fixed übernahme iban/bic von bpController 2025-08-21 08:02:46 +02:00
58745c32da csv export - anpassung rechnungs modelle 2025-08-20 20:22:43 +02:00
15ce9fc9bb csv export 2025-08-20 19:27:18 +02:00
fce3559463 ubernahme IBAN/BIC bei Partner auswahl 2025-08-20 18:58:14 +02:00
03e0ac275f update invoice inbound 2025-08-20 16:31:54 +02:00
7f437904c9 update models 2025-08-20 15:17:17 +02:00
686a112c22 update changes 2025-08-19 22:50:23 +02:00
c9b25c9f5e typo 2025-08-19 22:26:55 +02:00
c0073dadd7 cargosoft report 2025-08-18 19:48:35 +02:00
550323b72f usa model fixes 2025-08-18 19:19:24 +02:00
ea5bc8d1e5 workflow modelle aufgeräumt 2025-08-15 11:26:22 +02:00
8fcdaa3b69 model update 2025-08-14 11:36:45 +02:00
0d73f0f7e0 translation 2025-08-13 11:08:27 +02:00
18ffca90fb modelle usa 2025-08-13 08:51:48 +02:00
22d23226e4 introduced new DataGroups/DataViews 2025-08-12 23:12:13 +02:00
73dd3c37a5 update 2025-08-11 16:56:34 +02:00
291b9d4a0a model fix 2025-08-11 11:45:54 +02:00
db815dea23 invoice export feature 2025-08-05 10:57:54 +02:00
8ddf44515e Upgrade Office Version (removed external references from chronical) 2025-08-05 08:36:06 +02:00
29d584d12f update USA 2025-08-04 15:34:56 +02:00
bf1d9fd37b usa workflow 2025-08-03 14:18:48 +02:00
a152fdd461 sepa konfigurationen aufgeräumt 2025-08-01 15:26:25 +02:00
9cefd51ccb update docu 2025-08-01 13:40:41 +02:00
22c1c8793b model update - hide repeat-ai 2025-07-30 22:26:46 +02:00
2725b08cf7 update imixs-archive api verison 2025-07-30 21:56:56 +02:00
52412a7678 cargosoft export 2025-07-30 10:12:11 +02:00
6545f76f43 update 2025-07-24 16:55:27 +02:00
259373053f update bp 2025-07-24 15:08:23 +02:00
fd668439c8 update ams 2025-07-24 15:05:43 +02:00
60d2d90114 update 2025-07-23 12:30:55 +02:00
67affba4d7 fixed zoho - refresh token function 2025-07-14 13:24:05 +02:00
1e698fc8bf zoho async optimizing 2025-07-11 11:07:06 +02:00
04eb6ddc18 update 2025-07-11 10:48:33 +02:00
c9c9f69bed zoho update 2025-07-11 10:38:34 +02:00
eb6d3d2c00 acl fix - zoho export 2025-07-08 23:31:31 +02:00
2bc72c0940 new workflow - async zoho export 2025-07-08 21:39:37 +02:00
8796759bb2 model update 2025-07-07 18:56:50 +02:00
caae20029e update dataviews 2025-07-05 15:43:20 +02:00
049df51b89 update ams sachrechnung 2025-07-03 13:35:05 +02:00
e81be7996e update ams & typo 2025-07-03 12:50:32 +02:00
2cbd5d66bc added a eventlog test client 2025-07-02 21:39:58 +02:00
87ef39ece4 update AMS... 2025-07-01 16:18:08 +02:00
22c2791fa1 start ams 2025-06-25 16:34:02 +02:00
e350ece8f3 zoho credit note interface 2025-06-25 09:54:33 +02:00
ffb0942737 send only one invoice line 2025-06-24 12:45:25 +02:00
cce4b9a6e4 logging 2025-06-23 14:22:51 +02:00
7b283e5b03 zoho tax export bills 2025-06-19 14:22:05 +02:00
7204fc43c8 update language 2025-06-18 11:01:31 +02:00
fe65ae16a4 zoho schnittstelle 2025-06-18 08:52:14 +02:00
9de6a9fe23 zoho currency and taxes 2025-06-16 12:46:05 +02:00
177d75c13a zoho - taxid - export 2025-06-13 13:58:15 +02:00
5105d20783 zoho - taxid - export 2025-06-13 13:56:07 +02:00
cc7e081c78 IBAN Plugin entfernt 2025-06-12 15:15:43 +02:00
d4f1bd318e zoho credit note 2025-06-10 16:34:50 +02:00
8d236df375 new ZOHO Invoice export with one invoice position only! 2025-06-10 15:45:52 +02:00
f294d64e8c fix op_liste Zahlungseingang - Anzeige Währungen 2025-06-10 14:39:00 +02:00
ea5a43e259 doc 2025-06-10 14:07:10 +02:00
87cd3204c2 mail plugin 2025-06-08 11:15:28 +02:00
93c902ab4a update mail plugin 2025-06-08 11:11:48 +02:00
f695bc63a3 Merge branch 'office-alexander-logistics-1.3.3-mail' 2025-06-07 10:39:11 +02:00
9556c419ca update 2025-06-07 10:31:50 +02:00
830394c7a3 Neue Mail Funktion (sende option) 2025-06-07 10:13:20 +02:00
001787e018 bug fix 2025-05-27 17:24:43 +02:00
5c7cdde0fe model fixes 2025-05-27 08:27:33 +02:00
981ccfc41b update 2025-05-22 16:11:01 +02:00
73731c89ea export zoho vendor credit 2025-05-19 18:57:22 +02:00
1a82da08d5 neuer Workflow Bill 2025-05-19 15:28:25 +02:00
d4d57797a3 Kursberechnung AED Zoho Export und neue Modelle für DWC 2025-05-15 22:33:39 +02:00
5c7f7746d6 kein manual foreign payment mehr! 2025-05-14 10:27:02 +02:00
7535fa975e update 2025-05-13 17:07:17 +02:00
b8879fc300 DWC Workflows - renaming payment 2025-05-12 23:31:32 +02:00
e987a30053 update data views 2025-05-12 18:34:58 +02:00
65a1d4f2b7 dataview integration 2025-05-12 17:23:42 +02:00
584d59cfbe dataview 2025-05-12 16:16:11 +02:00
6cfea74397 dataview - excel export 2025-05-12 14:24:13 +02:00
303448d766 dataview view impl 2025-05-11 21:43:27 +02:00
d948742963 dataViews first working draft! 2025-05-11 15:47:01 +02:00
174b230509 dataview improvments 2025-05-11 13:56:20 +02:00
372c7887fb dataview draft 2025-05-11 10:32:38 +02:00
db478a5b4e new dataview draft 2025-05-11 09:02:50 +02:00
c2e4df0379 new DataView feature 2025-05-09 17:56:46 +02:00
6cd3d5d258 zoho currency lookup 2025-05-09 12:24:15 +02:00
919ad796de zoho integration 2025-05-09 10:52:28 +02:00
c1f123215a reporting feature 2025-05-09 10:07:13 +02:00
d47518224f zoho expense export 2025-05-08 23:10:57 +02:00
4b9da4d98a update zoho interface 2025-05-07 13:12:45 +02:00
0f7627419a neue Code Formatierung 2025-05-07 11:37:31 +02:00
be064fb965 zoho attachments 2025-05-02 14:27:02 +02:00
f30cc8e8fe zoho invoice export 2025-04-30 11:25:08 +02:00
72a10ddcf5 fix 2025-04-28 19:20:35 +02:00
1ea9564e55 minor dunning layout fixes 2025-04-28 19:14:48 +02:00
9511d7fd95 minor fixes 2025-04-28 12:36:11 +02:00
3a103e9a1e update 2025-04-28 11:12:36 +02:00
112de7e8ad fix 2025-04-27 23:04:54 +02:00
81fb527029 optimierung Business Partnersuche 2025-04-27 23:01:37 +02:00
aa5f000715 refactoring business data - neue Logik 2025-04-27 16:27:51 +02:00
ac4127e353 anpassung invoice bp sync 2025-04-27 10:53:17 +02:00
5aa7113d7f fix 2025-04-26 22:01:19 +02:00
595e77fc63 viele verbesserungne 2025-04-26 17:40:07 +02:00
27698becf5 neuester schrei 2025-04-26 14:39:03 +02:00
7ba7967a92 neues BP interface 2025-04-26 13:28:35 +02:00
bdf3c8ba01 update business partner 2025-04-26 08:41:10 +02:00
d6ba785002 started 1.3.4 2025-04-25 20:09:20 +02:00
633363aa3c Finalized version 1.3.3 2025-04-25 20:05:46 +02:00
c1c1d8b520 update 2025-04-25 17:27:22 +02:00
cbe256a962 zoho api 2025-04-25 16:30:41 +02:00
27f7b2b4f6 zoho invoice export - draft 2025-04-25 13:59:24 +02:00
39099700fe zoho token management 2025-04-25 09:52:50 +02:00
c47a6ed4ac zoho interface 2025-04-24 17:13:19 +02:00
a756997247 zoho self client - new test code 2025-04-22 22:20:13 +02:00
628d10bae9 zoho oauth client impl 2025-04-21 22:36:30 +02:00
703995f959 zoho oauth grant service added 2025-04-21 22:13:38 +02:00
f623ea33ff excel export 2025-04-09 18:49:49 +02:00
2c6636bfbc Excel Export Funktion 2025-04-08 19:53:27 +02:00
d99aad1322 excel exportfunktion 2025-04-07 17:26:22 +02:00
3b7742ee07 Excel Export Ausgangsrechnungen 2025-04-07 11:26:00 +02:00
b9084965e0 sepa Neue Bank in Polen - bankmillennium 2025-04-05 15:21:05 +02:00
1db1cd756c added timeout in ki-analyse 2025-04-02 11:10:18 +02:00
84a2e87eb6 update 2025-03-31 20:44:00 +02:00
93263280dc update 2025-03-31 20:42:56 +02:00
02f24df8a3 Update Junit Test classes 2025-03-31 11:59:05 +02:00
042fd7bdcf journal 2025-03-27 20:58:16 +01:00
f52e76374e neues JournalAccounting 2025-03-26 11:20:43 +01:00
56a60a990d Cargosoft Invoice import - skip if billing Text == WÄHRUNG 2025-03-26 11:18:55 +01:00
0d5aa41e4d update Businesspartners 2025-03-25 11:33:45 +01:00
0b20c10c0a added a debug test for outlook mail, upgraded docker image 2025-03-16 18:15:12 +01:00
47d90c8655 model fix - old business rule syntax 2025-03-15 10:21:17 +01:00
5da7fc866f fixed docker version 2025-03-12 23:02:43 +01:00
216589537c finalize 1.3.2 2025-03-12 19:03:21 +01:00
2aa5501b03 oidc profile ergänzt 2025-03-10 17:44:31 +01:00
647f2e9af8 added lucene client 2025-03-06 19:13:22 +01:00
09572730e5 updaet posteingnag 2025-03-03 11:41:13 +01:00
f8df34586c Merge branch 'inmemory-metric' 2025-03-03 11:38:40 +01:00
bcbb60fc20 timeout 2025-03-03 11:20:48 +01:00
15fe8e14e6 draft 2025-03-03 11:19:22 +01:00
d33fed4707 model fix posteingang 2025-02-25 11:39:48 +01:00
021e7cec34 business partner import service 2025-02-24 18:59:02 +01:00
632f674bfa started version 1.3.2 2025-02-24 18:58:43 +01:00
1acd22f334 update businesspartner workflow 2025-02-24 18:05:40 +01:00
90d624d585 BusinessPartner Suche über Rest API 2025-02-13 18:23:07 +01:00
ccc4584f91 finalized 5.0.4 2025-02-13 08:47:59 +01:00
4f0f4aefd8 Businesspartner search 2025-02-12 23:23:53 +01:00
dfa089ba31 BusinessPartner Suche 2025-02-12 21:04:02 +01:00
90166229bd changes 2025-02-06 15:44:33 +01:00
017ef6a752 refactoring metric logik 2025-02-01 17:21:49 +01:00
51ccd40f18 refactoring inmemory metrics 2025-02-01 12:49:05 +01:00
cde1b2a2eb import prozess 2025-01-31 12:29:06 +01:00
302e4e5b08 business partner workflow 2025-01-30 19:24:32 +01:00
73cd9a28f7 metriken und DWC File Export 2025-01-29 23:43:58 +01:00
9a932d0f54 up 2025-01-29 15:00:40 +01:00
d2a2d506d2 neuer File Export DWC 2025-01-29 14:43:30 +01:00
66b674afaf grafana und neuer workflow 2025-01-28 16:29:14 +01:00
eb6808da78 Einführung BPID und verbesserung Metric service 2025-01-27 15:57:35 +01:00
50f44b851f opliste email Frau Mwangi in verteiler aufgenommen 2025-01-27 10:37:42 +01:00
1cd4980ce0 fix - rechnungsauswahl in stapelverarbeitung 2025-01-27 08:43:12 +01:00
831ace7b42 model fixes 2025-01-23 23:58:03 +01:00
74ef6e17a7 stapelverarbeitung 2025-01-23 23:57:37 +01:00
8db4320348 fix metric service 2025-01-23 23:57:16 +01:00
8fad186e39 metric service verbessert 2025-01-19 22:55:55 +01:00
01cec74af6 update imixs-ai 2024-12-08 11:20:55 +01:00
947bed1ede Anpassung excel export für Steuerbelege 2024-12-08 11:20:45 +01:00
07ed3a30d0 impl metric service 2024-12-08 11:20:22 +01:00
2fe0f4ef69 Optimierung Prompt Steuerbescheid 2024-12-05 11:50:06 +01:00
2e61ef39e3 fix archive suche 2024-12-04 17:28:07 +01:00
7bdf108532 metric optimization 2024-12-03 16:02:12 +01:00
f4b783f8af fix analytic controller 2024-12-02 20:24:10 +01:00
32d731fadd Update OP Listen 2024-12-02 16:30:46 +01:00
ff832f327f fixed total count view in archive 2024-12-02 08:57:09 +01:00
3b5bb12c32 refactoring metric api 2024-12-01 14:23:25 +01:00
a715e00a1d fixes op listen 2024-12-01 10:14:02 +01:00
61a7fa8399 op-listen udpate 2024-12-01 09:46:54 +01:00
633bcdd3d6 agl debitor metric service 2024-11-30 18:28:58 +01:00
d5d4b21434 AGL Metrics eingeführt (draft) 2024-11-30 16:00:40 +01:00
03d4fe241a update op listen 2024-11-28 15:50:32 +01:00
11ccddb529 update 2024-11-27 16:55:14 +01:00
a18a365898 devi script 2024-11-25 11:20:56 +01:00
c34ed64445 Analytic controller - improved caching 2024-11-25 11:20:43 +01:00
6c538355d7 update models op-listen mulit currency 2024-11-24 20:13:07 +01:00
8e6f97ffa4 error handling payment 2024-11-24 19:45:36 +01:00
ca2e72bc37 op liste completed 2024-11-24 16:08:44 +01:00
20c3410489 weitere optimierung 2024-11-24 15:50:30 +01:00
2e66c68e40 op listen summenbildung 2024-11-24 15:14:32 +01:00
aabb7ab04d opliste improvements 2024-11-24 14:54:46 +01:00
2a12ecaf3c insert columns 2024-11-24 09:37:12 +01:00
8790248d88 OP Liste bei KW - neues konzept 2024-11-23 17:32:49 +01:00
1bb65234fa Neuer Analyse Workflow OP Liste 2024-11-23 14:15:21 +01:00
47b925e71b logging 2024-11-21 14:37:38 +01:00
3eecb7e90d multi currency - minor fixes 2024-11-21 14:36:24 +01:00
4d2ce3527a update op liste 2024-11-21 11:55:53 +01:00
566c32c94a op liste multi currency 2024-11-21 08:55:43 +01:00
a1c3330cd3 draft op liste 2024-11-20 19:46:47 +01:00
8b22337548 multi currency opliste / zahlungseingang 2024-11-19 21:12:12 +01:00
a6f4b68fba refactoring multi currency 2024-11-18 20:09:50 +01:00
81549ab4e0 update soa 2024-11-18 11:03:02 +01:00
89865fcde1 update multi currency 2024-11-18 08:16:13 +01:00
b7011a5cf8 update - draft 2024-11-17 20:41:03 +01:00
1762c5c878 template update 2024-11-17 20:40:39 +01:00
da2fa6116f minor fixes 2024-11-17 10:00:26 +01:00
ff8cfb44bd fix - kalender woche 2024-11-17 09:59:00 +01:00
3973e1ae91 fixes debitor analyse 2024-11-02 15:19:20 +01:00
ae7b7abf8e Debitor Analyse - Zahlungsmoral 2024-10-31 15:05:31 +01:00
e8219ca579 update 2024-10-31 12:30:11 +01:00
f9bee7a6a8 update 2024-10-28 13:37:22 +01:00
e2abb87845 fixes 2024-10-23 17:00:04 +02:00
f862447f1a modell update - neue reports 2024-10-23 16:26:05 +02:00
3f05aa98c7 model fix 2024-10-23 14:03:12 +02:00
7217b76b43 fix steuerbescheid ATC 2024-10-22 12:03:59 +02:00
a3609c26c9 fixed model 2024-10-17 14:14:09 +02:00
23e6b5fd9d added delete option 2024-10-17 11:01:10 +02:00
e5110f4d04 Anpassung SOA und Debitor analyse 2024-10-16 09:09:50 +02:00
77bad00696 Anpassung SEPA Export Polen 2024-10-16 09:09:16 +02:00
13bef49e39 docu 2024-10-11 09:16:06 +02:00
41cb1f5d3c update 2024-10-09 14:49:45 +02:00
4f587e1466 debitor analyse 2024-10-09 14:47:14 +02:00
b09846efbe debitor analyse update 2024-10-09 13:52:59 +02:00
ec2ee8a8e9 analyse debitor 2024-10-09 12:37:15 +02:00
8a0e3b1e26 optimierung Debitor Statistic 2024-10-09 09:04:04 +02:00
a5a17927ee debitoren Analyse 2024-10-09 00:12:09 +02:00
ac2bc4bfe8 neue modelle - minor fixes 2024-09-30 12:31:40 +02:00
00e2dde892 erweiterung der Spalten für KW Excel - wegen neuer Abteilungen 2024-09-23 20:10:33 +02:00
a14762f784 export Steuerbescheide Excel 2024-09-23 12:07:21 +02:00
a682955ab5 improve Steuerbescheid KI 2024-09-20 13:43:19 +02:00
05589a4249 update steuer model 2024-09-19 20:48:36 +02:00
1bfdee3163 mailbenachrichtigung bei steuerbescheid überfällig 2024-09-19 18:55:50 +02:00
620dbbcc28 berechnung steuer salden 2024-09-19 18:46:32 +02:00
c6799ff6b5 neue ki auswertung steuerbelege 2024-09-19 16:22:05 +02:00
e7c3b8c147 added workflow abstract 2024-09-18 22:10:16 +02:00
ab547d3dc0 update monitoring AGL Steuer 2024-09-18 16:52:05 +02:00
16c91089b0 update monitoring 2024-09-18 15:22:19 +02:00
5cd6ba2e07 update 2024-09-16 16:50:29 +02:00
98a16b9840 Korrekturen Zoll Import 2024-09-16 15:03:04 +02:00
f1b7c04603 update analyse zoll/eust 2024-09-14 18:03:25 +02:00
b3d0efad64 agl Analyse Steuerbescheide 2024-09-14 14:01:20 +02:00
abfb0704e0 minor fixes 2024-09-13 09:07:00 +02:00
50e6daebff fixed modells DWC 2024-09-13 09:06:38 +02:00
7d350efa65 added new rest api 2024-09-11 21:06:00 +02:00
c7d9fcc212 ki fix 2024-09-08 12:33:28 +02:00
1c310de954 prompt verbesserungen 2024-09-07 11:06:02 +02:00
7b52cba5cf update office 5.0.3 2024-09-07 08:14:55 +02:00
f211f8ad1c update version, update pl sepa xslt 2024-09-06 10:06:59 +02:00
3930062f78 fixed
Issue #598
2024-09-04 15:51:39 +02:00
eef0be91d8 update 2024-09-04 13:27:04 +02:00
8dd5ff5f4d dunning workflow SOA 2024-09-04 13:09:11 +02:00
a2548ff1be docu, model fix 2024-08-29 12:01:54 +02:00
581cc91a8f acl fix für steuerbescheid 2024-08-27 20:50:30 +02:00
258d5fac3d modelle aufgeräumt 2024-08-26 18:27:08 +02:00
f012818d75 model fix 2024-08-26 18:25:08 +02:00
74b12b0032 update, javax und sepa dinge 2024-08-26 12:41:39 +02:00
d41a2fb063 update 2024-08-26 09:01:53 +02:00
e55f88c6fc update 2024-08-26 08:53:23 +02:00
67eb0f2b78 update routing and layout, Docker update 2024-08-26 08:51:34 +02:00
c1828474fb update 2024-08-24 13:22:16 +02:00
eb109a044f update 2024-08-23 09:23:35 +02:00
4e0b1b0b5f import steuerbescheide 2024-08-20 16:50:57 +02:00
8558aecdaf optmierung KI Modelle 2024-08-19 14:17:16 +02:00
5a04a70a4d support list of atc.number items 2024-08-17 09:01:18 +02:00
316ea10de5 Workflow Summary in posteingang 2024-08-16 13:43:40 +02:00
221181ad20 junit tests 2024-08-16 13:43:00 +02:00
b11a7cf3d7 modelle aufgeräumt 2024-08-15 10:23:09 +02:00
f48de5a633 model update neue ki 2024-08-15 10:05:12 +02:00
49c01370eb improve kreditor suche 2024-08-15 10:05:02 +02:00
9654b42d48 Steuerbescheide 2024-08-14 16:19:11 +02:00
0d31aec3be fix 2024-08-13 17:23:47 +02:00
81229a422c prompt fine tuning - AGL company name 2024-08-12 21:53:14 +02:00
fc7a591da7 update 2024-08-12 12:07:00 +02:00
74d1107c9a update 2024-08-02 10:47:58 +02:00
7e238d4c94 modell udpate 2024-08-02 10:47:29 +02:00
b281eedafe fix faelligketi input 2024-08-01 12:47:19 +02:00
fafe6c24dd update 2024-08-01 12:42:41 +02:00
87b67b3705 fix 2024-07-31 19:55:26 +02:00
967887f5c5 model update 2024-07-31 15:59:35 +02:00
4178b8e4c4 fix sammelgutschrift 2024-07-31 12:45:34 +02:00
625adb3aa5 fix ai prompt and date imput 2024-07-31 12:17:45 +02:00
899a6a3889 dwc neue sepa export funktion 2024-07-30 15:47:16 +02:00
3d4bbb03e0 sepa export DWC 2024-07-28 16:24:06 +02:00
e6a234bcb8 fixes - imixs-ai upadte 2024-07-26 16:10:21 +02:00
fbfc141298 prompts 2024-07-26 11:06:22 +02:00
b495b296d0 migration auf imixs-office-workflow-5.0.2 2024-07-25 19:15:15 +02:00
123c3a052c draft 1.2.21 2024-07-25 18:33:28 +02:00
51da411232 udpate 2024-07-11 14:45:41 +02:00
995c9311aa update op-list templates dwc 2024-07-11 12:41:56 +02:00
ddce2fcf91 fix 2024-07-10 18:35:52 +02:00
40e971e584 update 2024-07-10 16:24:52 +02:00
59e195ff1e änderugnen Währungsauswahl über Konfigurationsparameter 2024-07-10 15:09:22 +02:00
78be1b5139 update language 2024-07-10 11:23:38 +02:00
25c9543bfa started 1.2.21 2024-07-10 11:12:04 +02:00
194c50eec8 update 2024-07-10 11:10:02 +02:00
ca62a97941 update typo 2024-07-10 11:06:39 +02:00
257649e528 fix saldo bei Gutschriften 2024-07-04 11:36:03 +02:00
b7199e22da fix saldo bei gutschriften 2024-07-04 11:35:44 +02:00
841fbeb71e update dwc 2024-07-03 12:13:19 +02:00
82453a5dff model update - löschen von cdtr.number in sachrechnung 2024-07-02 14:23:40 +02:00
2ec5ed7988 update 2024-06-27 15:33:49 +02:00
90eb86f9f6 draft model 2024-06-26 17:02:10 +02:00
a0bb3bed3e Esklation bei Verteilung aktiviert 2024-06-25 14:05:46 +02:00
b0fc228ba7 update modell PL 2024-06-24 10:54:41 +02:00
769c075f4d update sepa export 2024-06-19 11:56:11 +02:00
5710b512f7 fix 2024-06-18 16:52:21 +02:00
5bef3697ab fix invoice.rate 2024-06-18 16:35:57 +02:00
b8627ca83a fix invoice.reminder 2024-06-18 14:53:00 +02:00
96ef6030ac translation zahlung for dwc 2024-06-18 12:06:08 +02:00
865d87a80e test dwc mailbox 2024-06-18 10:55:54 +02:00
d4da6a5869 update models 2024-06-17 15:51:58 +02:00
be02345a2f neue DWC modelle 2024-06-13 12:00:24 +02:00
6de7ef5921 update 2024-06-12 16:34:36 +02:00
e3a24515f6 fix missing invoice.rate 2024-06-12 11:29:52 +02:00
6e8d6b34ba neues Modell für PL 2024-06-12 11:29:33 +02:00
86077361be logging 2024-06-06 22:15:43 +02:00
8285b6ee70 summenbildung 2024-06-06 22:02:56 +02:00
9a6c7e0741 neues OP Listen Template 2024-06-06 11:39:36 +02:00
3631fed1c6 modell verbessert 2024-06-05 17:01:47 +02:00
4aacbcbc31 started 1.2.20 2024-06-05 15:51:51 +02:00
4b5d007d69 xml import - run in one transaction 2024-06-05 15:48:22 +02:00
d0dc2167ff verbesserter XML import - skip rückstellungen 2024-06-05 09:19:18 +02:00
7a728fc298 update xml import 2024-05-31 12:21:16 +02:00
2203a41d3b xml invoice import 2024-05-31 12:21:16 +02:00
f9169a184b update translations 2024-05-28 11:36:35 +02:00
7529375d6d deleted: MAIL_OAUTH2.md
deleted:    OP_MODULE.md
	modified:   README.md
2024-05-27 21:19:48 +02:00
219ee170ff modified: office-alexander-logistics-app/src/main/java/com/alexanderlogistics/datev/DatevCargosoftImportAdapter.java
modified:   office-alexander-logistics-app/src/main/java/com/alexanderlogistics/xml/CargosoftXMLInvoiceImportImportService.java
	modified:   reports/sepa/result_sepa01.xml
	modified:   reports/sepa/result_sepa02.xml
	deleted:    MAIL_OAUTH2.md
	deleted:    OP_MODULE.md
	modified:   README.md
2024-05-27 21:19:10 +02:00
7d5cf15aa1 Merge commit '11ce4a4f11f335bc1197866c653276efac828847' 2024-05-27 21:17:29 +02:00
e44b101ec5 Merge commit '6bcd6ddaa86cc1639b64b5a4cef2e1a0b0640b2c' 2024-05-27 21:17:22 +02:00
a6bfd898db new file: doc/CARGOSOFT.md
new file:   doc/MAIL_OAUTH2.md
	new file:   doc/OP_MODULE.md
	deleted:    MAIL_OAUTH2.md
	deleted:    OP_MODULE.md
	modified:   README.md
	modified:   office-alexander-logistics-app/src/main/java/com/alexanderlogistics/datev/DatevCargosoftImportAdapter.java
	modified:   office-alexander-logistics-app/src/main/java/com/alexanderlogistics/xml/CargosoftXMLInvoiceImportImportService.java
	modified:   reports/sepa/result_sepa01.xml
	modified:   reports/sepa/result_sepa02.xml
2024-05-27 21:14:49 +02:00
11ce4a4f11 update modelnames dwc 2024-05-17 10:54:39 +02:00
8d9a0bba53 update invoice xml import 2024-05-15 16:21:26 +02:00
6bcd6ddaa8 update for dwc 2024-05-15 15:45:51 +02:00
545bd30d92 update 2024-05-15 11:02:05 +02:00
c3a8957c25 OP Listen Update , Invoice XML Import 2024-05-14 15:37:08 +02:00
d176d3be39 update opliste, docu cargosoft 2024-04-26 22:29:31 +02:00
e9665bf27c update op liste export kw 2024-04-18 14:16:58 +02:00
e66b3add86 neue DATEV Importfunktion für ATC Rechnungen 2024-04-16 15:43:17 +02:00
6dc793e337 kommentieren in archive 2024-04-15 16:59:18 +02:00
90e4b8147d speichern im Archiv entfernt 2024-04-14 10:23:40 +02:00
f76c21d1d5 fixed customSerachController and DatevCargosoftImportAdapter 2024-04-12 12:52:13 +02:00
00566bbe62 added PaymentConditions for PL Cargosoft Export 2024-04-11 15:12:40 +02:00
6307ba5526 op-liste 2024-04-10 16:01:00 +02:00
77d3e1b391 neuer Op-Listen Controller 2024-04-10 15:17:31 +02:00
cc01330439 model update datev import 2024-04-04 17:08:19 +02:00
1ed2abde55 internationalisierung datev-cargosoft import 2024-04-04 16:57:19 +02:00
1e47d98896 started version 1.2.18 2024-04-04 16:00:32 +02:00
c89ab57bf6 finalize 1.2.17 2024-04-04 15:57:59 +02:00
60af5af539 update archvie 2024-04-03 15:23:20 +02:00
6cafc831ec update archive suche 2024-04-03 12:04:12 +02:00
02c9522bbd draft impl zollliste und impl neue Archive Suche 2024-03-25 16:18:58 +01:00
bb22c71a7a neue archiv suche 2024-03-21 12:06:25 +01:00
303ef23928 erweiterte Archive Suche 2024-03-19 16:44:41 +01:00
de15f32f69 fixed exchange rate - formatierung 2024-03-19 12:28:41 +01:00
13f408dff6 rlease notes 2024-03-19 11:43:49 +01:00
332f940516 fix exchange rate - format , und . 2024-03-19 11:42:31 +01:00
8921a096a2 fix suche 2024-03-12 11:49:31 +01:00
9599dbfe55 Neue Version mit Archiv Suche 2024-03-11 16:00:25 +01:00
011c9a64dd sepa - mail benachrichtigung 2024-03-05 10:45:03 +01:00
f1abeea212 fixed sepa problem with 2 digits 2024-03-04 09:01:33 +01:00
64fe94c261 kreditor search 2024-03-01 10:02:19 +01:00
c91e14de0d beschleunigter Mailversand bei SEPA 2024-02-29 08:50:54 +01:00
4a6ee7ae32 Mailempfänger geändert - nur noch Frau Geisler 2024-02-27 11:55:45 +01:00
c07fb61956 fixes sepa - pl 2024-02-26 11:34:08 +01:00
94819cab10 update 2024-02-23 11:28:31 +01:00
203f239eef Merge remote-tracking branch 'refs/remotes/origin/master' 2024-02-22 13:56:16 +01:00
ff06502000 neue SEPA Modelle 2024-02-22 13:47:46 +01:00
43b6ca953c update übersetzungen 2024-02-22 12:10:19 +01:00
44149ca9bf update sepa report for bank polski 2024-02-22 11:50:03 +01:00
e109adde8f email versand bei sepa export Polen 2024-02-20 10:29:50 +01:00
ea816cf668 sepa format for Bank Polski 2024-02-19 14:16:14 +01:00
1ad63b644c fixed junit tests 2024-02-16 11:52:45 +01:00
2464753877 Verbesserung modellablauf 2024-02-16 11:40:36 +01:00
856c621cf7 fixed cargsoft suche nach Kreditor / Sonderzeichen 2024-02-16 11:40:23 +01:00
29d0c114ac docu 2024-02-09 12:55:59 +01:00
cd76734ec7 upgrade neuer backup Service 2024-02-09 12:54:14 +01:00
637da53b05 neues cargosoft xsd hinzugefügt 2024-02-09 12:26:52 +01:00
3a4f14ece6 optimierung Cargosoft Export Report für Polen 2024-02-07 11:14:38 +01:00
2d77ee846c layout fixes - zahlungsart, sachbearbeiter 2024-02-07 11:14:07 +01:00
b87f32028d fixed input of invoice.exchangerate field - replace , with . 2024-02-07 10:39:03 +01:00
cce2aa3f2c Merge commit '4c4b90da03965b56cdf6344ffb61aa7e22454b1f' 2024-02-06 14:39:00 +01:00
0b826b6880 Anpassung Style Positions Tabelle 2024-02-06 14:36:57 +01:00
19e334616b cargosoft reports haben nun die korrekte Mandanten Nummer (Polen, BHV) 2024-02-06 14:31:32 +01:00
4c4b90da03 update sepa repeat email 2024-02-05 11:23:30 +01:00
4bab538eaa cargosoft report update 2024-02-02 13:24:54 +01:00
deb6a73984 Update Cargosoft Fix Agent 2024-02-02 12:55:20 +01:00
3a3843fd04 Neuer Cargosoft Import , neue API für Korrektur falsch importierter Eingangsrechnungen 2024-02-02 12:36:05 +01:00
0f1ad9e4c8 model moved into deprecated 2024-02-01 11:15:14 +01:00
9f082939ba model update 2024-01-18 14:05:50 +01:00
510493e849 neuer Sepa Workflow (manual) 2024-01-11 14:03:17 +01:00
f9bb7c69dc started version 1.2.15 2024-01-11 12:43:56 +01:00
882 changed files with 799971 additions and 424302 deletions

63
.gitignore vendored
View file

@ -13,6 +13,69 @@ target/
.metadata/
.project
.classpath
.env
# ignore docker deployments
docker/deployments/
docker/keys/imixs-llm.xml
# Sepa Report
reports/sepa/result_sepa*
reports/sepa/result_sepa02.xml
reports/sepa/result_sepa01.xml
reports/sepa/result_sepa01.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-EX-LUF-2408-012N-001-ATC400017000820248755_20240821131908357.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-EX-LUF-2408-029N-001-ATC400032730820244701_20240821131910757.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-040N-001-ATC401807570820244851_20240821131910106.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-071N-001-ATC401421700820244851_20240821131907270.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-073N-001-ATC401821570820244851_20240821131910196.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-074N-001-ATC401807190820244851_20240821131909839.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-075N-001-ATC401821560820244851_20240821131910295.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-076N-001-ATC401807180820244851_20240821131909944.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-077N-001-ATC401821670820244851_20240821131910382.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-104N-001-ATC401760200820244851_20240821131909742.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-104N-002-ATC401763670820244851_20240821131909643.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-117N-001-ATC402065440820244851_20240822094659317.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-134N-001-ATC402064120820244851_20240822093357914.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-137N-001-ATC402069260820244851_20240822101501667.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-147N-001-ATC401347560820244851_20240821131906718.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-166N-001-ATC401970490820244851_20240821174231527.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-182N-001-ATC400007030820248305_20240821140014070.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-GCA-2408-197N-001-ATC401857360820244851_20240821131910651.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-ZEL-2408-226N-001-ATC400057120820242452_20240821131909552.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-ZEL-2408-227N-001-ATC400063340820242452_20240821131910559.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-ZEL-2408-242N-001-ATC400063350820242452_20240821131910468.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-IM-ZEL-2408-245N-001-ATC400056040820242452_20240821131909450.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-HOL-2408-008N-001-ATC400047590820242452_20240821131906940.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-HOL-2408-014N-001-ATC400045030820242452_20240821131905513.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-HOL-2408-019N-001-ATC400045200820242452_20240821131905815.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-019N-001-ATC400053590820242452_20240821131908977.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-019N-002-ATC400055600820242452_20240821131909068.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-019N-003-ATC400056650820242452_20240821131909351.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-019N-004-ATC400055970820242452_20240821131909155.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-019N-005-ATC400056290820242452_20240821131909243.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-001-ATC400050240820242452_20240821131908139.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-002-ATC400049740820242452_20240821131908027.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-003-ATC400047450820242452_20240821131906347.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-004-ATC400047870820242452_20240821131907379.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-005-ATC400047070820242452_20240821131906099.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-006-ATC400047700820242452_20240821131907055.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-007-ATC400047900820242452_20240821131907589.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-008-ATC400047880820242452_20240821131907490.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-009-ATC400047650820242452_20240821131906833.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-010-ATC400051260820242452_20240821131908773.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-011-ATC400051080820242452_20240821131908667.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-012-ATC400047370820242452_20240821131906209.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-013-ATC400051270820242452_20240821131908881.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-014-ATC400050470820242452_20240821131908250.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-015-ATC400049700820242452_20240821131907912.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-016-ATC400047460820242452_20240821131906467.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-017-ATC400047030820242452_20240821131905952.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-018-ATC400050780820242452_20240821131908469.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-019-ATC400048420820242452_20240821131907701.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-020-ATC400047710820242452_20240821131907164.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-024N-021-ATC400051050820242452_20240821131908575.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-029N-002-ATC400047480820242452_20240821131906597.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-029N-003-ATC400048880820242452_20240821131907809.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/Abgabenbescheid-LA-PAP-2408-038N-001-ATC400062360820242452_20240821143316787.xml
office-alexander-logistics-app/src/test/resources/cargosoft/testdaten/README.md

7
.vscode/launch.json vendored
View file

@ -3,10 +3,11 @@
"configurations": [
{
"type": "java",
"name": "Debug Wildfly",
"name": "Debug AGL",
"request": "attach",
"hostName": "localhost",
"port": "8787"
"port": "8787",
"projectName": "office-alexander-logistics-app"
}
]
]
}

View file

@ -8,8 +8,5 @@
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"java.checkstyle.version": "8.44",
"java.checkstyle.autocheck": true,
"java.checkstyle.configuration": "https://raw.githubusercontent.com/imixs/imixs-workflow/master/imixs-checkstyle-8.44.xml",
"java.configuration.updateBuildConfiguration": "automatic"
"java.format.settings.url": "https://raw.githubusercontent.com/imixs/imixs-workflow/refs/heads/master/imixs-code-style.xml"
}

210
BPMN-KI-Test/prompt1.txt Normal file
View file

@ -0,0 +1,210 @@
Du bist Prozessberater und Spezialisiert auf die Analyse von BPMN Modellen.
Bitte beschreibe den im folgenden BPMN 2.0 Modell definierten Prozess und erstelle eine kurze Zusammenfassung:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bpmn2:definitions 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:open-bpmn="http://open-bpmn.org/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exporter="org.openbpmn" exporterVersion="1.0.0" targetNamespace="http://open-bpmn.org"
xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL">
<bpmn2:collaboration id="collaboration_1" name="Default Collaboration">
<bpmn2:participant id="participant_TgW2JA" name="Default Process" processRef="process_1" />
<bpmn2:participant id="participant_tgRhJQ" name="Rechnungseingang" processRef="process_lYaFpg">
<bpmn2:documentation id="documentation_wSfXcQ"><![CDATA[Dieser Workflow dient dazu eingehende Rechnungen zu prüfen und zur Bezahlung weiterzuleiten. Es wird unterschieden von Sachrechnungen, die vom Sekretariat bearbeitet werden können und Cargo-Rechnungen die durch die Logistikabteilung anhand von Logistikaufträgen geprüft werden.
Nachdem die Rechnung bezahlt wurde wird der Vorgang archiviert. ]]></bpmn2:documentation>
</bpmn2:participant>
</bpmn2:collaboration>
<bpmn2:extensionElements>
<open-bpmn:auto-align>true</open-bpmn:auto-align>
</bpmn2:extensionElements>
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_1"
name="Default Process" processType="Public">
<bpmn2:documentation id="documentation_wXazVg" />
</bpmn2:process>
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_lYaFpg"
isExecutable="true" name="Rechnungseingang" processType="Private">
<bpmn2:laneSet id="laneset_fDygyw" name="Lane Set">
<bpmn2:lane id="lane_BgoDFg" name="Sekretariat">
<bpmn2:documentation id="documentation_hIztzA" />
<bpmn2:flowNodeRef>task_7Y3UUA</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_bH7Wag</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_oNXxgg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_GEqHhQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_VJXKGg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_SP75zg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_ASbu1A</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_Vyo0Zw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_xAzhzw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_YH3bnw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_1qR49w</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_fHgZBg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_YnFi7A</bpmn2:flowNodeRef>
</bpmn2:lane>
<bpmn2:lane id="lane_eMP9Xw" name="Fachbereich">
<bpmn2:documentation id="documentation_6ihnmQ" />
<bpmn2:flowNodeRef>event_A1J0OA</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_5lS3mw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_Hn5ZhQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_dJ89xQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_30uUNA</bpmn2:flowNodeRef>
</bpmn2:lane>
</bpmn2:laneSet>
<bpmn2:startEvent id="event_bH7Wag" name="Start">
<bpmn2:documentation id="documentation_pguolw" />
<bpmn2:outgoing>sequenceFlow_8yitUQ</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:task id="task_7Y3UUA" name="Rechnungsprüfung">
<bpmn2:documentation id="documentation_oKsT5Q"><![CDATA[Inhaltliche Prüufng der Rechnung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_BGVbSA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_FyAf3g</bpmn2:outgoing>
<bpmn2:incoming>sequenceFlow_hvQWmg</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_j4GDgg</bpmn2:incoming>
</bpmn2:task>
<bpmn2:endEvent id="event_oNXxgg" name="Ende">
<bpmn2:documentation id="documentation_1heF3g" />
<bpmn2:incoming>sequenceFlow_iVpj0g</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:intermediateCatchEvent id="event_GEqHhQ" name="Import">
<bpmn2:documentation id="documentation_gR2xbw" />
<bpmn2:incoming>sequenceFlow_8yitUQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_BGVbSA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_8yitUQ" sourceRef="event_bH7Wag" targetRef="event_GEqHhQ">
<bpmn2:documentation id="documentation_2Zd0Aw" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_BGVbSA" sourceRef="event_GEqHhQ" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_6k088A" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_VJXKGg" name="Sachrechnung">
<bpmn2:documentation id="documentation_DaDN3w"><![CDATA[Weiterleiten zur Sachprüfung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_rZXh6g</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_sNlWkQ</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:task id="task_SP75zg" name="Budgetprüfung">
<bpmn2:documentation id="documentation_qP2Sew" />
<bpmn2:incoming>sequenceFlow_sNlWkQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_nxZ9bA</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:task id="task_5lS3mw" name="Prüfung Logistik Auftrag">
<bpmn2:documentation id="documentation_zweAkw"><![CDATA[Prüfung der Rechnung und Abgleich mit Logistikauftrag]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_DXGQrw</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_UebylQ</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:eventBasedGateway gatewayDirection="Diverging" id="gateway_ASbu1A" name="">
<bpmn2:documentation id="documentation_09gukg" />
<bpmn2:incoming>sequenceFlow_FyAf3g</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_rZXh6g</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_i7cH2A</bpmn2:outgoing>
</bpmn2:eventBasedGateway>
<bpmn2:sequenceFlow id="sequenceFlow_FyAf3g" sourceRef="task_7Y3UUA" targetRef="gateway_ASbu1A">
<bpmn2:documentation id="documentation_tv00MQ" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_rZXh6g" sourceRef="gateway_ASbu1A" targetRef="event_VJXKGg">
<bpmn2:documentation id="documentation_EPAmhQ" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_sNlWkQ" sourceRef="event_VJXKGg" targetRef="task_SP75zg">
<bpmn2:documentation id="documentation_iXrfpg" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_A1J0OA" name="Cargo Rechnung">
<bpmn2:documentation id="documentation_RWi6LA"><![CDATA[Weiterleitung zur Prüfung Logistikauftrag]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_i7cH2A</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_DXGQrw</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_i7cH2A" sourceRef="gateway_ASbu1A" targetRef="event_A1J0OA">
<bpmn2:documentation id="documentation_pz6J4g" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_DXGQrw" sourceRef="event_A1J0OA" targetRef="task_5lS3mw">
<bpmn2:documentation id="documentation_ngSLdQ" />
</bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_Vyo0Zw" name="">
<bpmn2:documentation id="documentation_Pm90XA" />
<bpmn2:incoming>sequenceFlow_nxZ9bA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_9tp42Q</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_h4SfiQ</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:intermediateCatchEvent id="event_dJ89xQ" name="Freigabe">
<bpmn2:documentation id="documentation_sB06Ag"><![CDATA[Rechnung in Ordnung und freigegeben zur Bezahlung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_PLk0RA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_A0FQoA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_Hn5ZhQ" name="">
<bpmn2:documentation id="documentation_aLEQqQ" />
<bpmn2:incoming>sequenceFlow_UebylQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_PLk0RA</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_xVEjcA</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="sequenceFlow_UebylQ" sourceRef="task_5lS3mw" targetRef="gateway_Hn5ZhQ">
<bpmn2:documentation id="documentation_MZdr7Q" />
</bpmn2:sequenceFlow>
<bpmn2:task id="task_xAzhzw" name="Bezahlung">
<bpmn2:documentation id="documentation_zO3SRw" />
<bpmn2:incoming>sequenceFlow_9OrwEg</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_A0FQoA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_OfKNWA</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="sequenceFlow_nxZ9bA" sourceRef="task_SP75zg" targetRef="gateway_Vyo0Zw">
<bpmn2:documentation id="documentation_G4qmmA" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_PLk0RA" sourceRef="gateway_Hn5ZhQ" targetRef="event_dJ89xQ">
<bpmn2:documentation id="documentation_Y5qwSA" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_YH3bnw" name="Freigeben">
<bpmn2:documentation id="documentation_C05Bhw"><![CDATA[Rechnung in Ordnung und freigegeben zur Bezahlung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_9tp42Q</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_9OrwEg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_9tp42Q" sourceRef="gateway_Vyo0Zw" targetRef="event_YH3bnw">
<bpmn2:documentation id="documentation_PIQaSg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_9OrwEg" sourceRef="event_YH3bnw" targetRef="task_xAzhzw">
<bpmn2:documentation id="documentation_0eagTw" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_1qR49w" name="Ablehnen">
<bpmn2:documentation id="documentation_cdpcXA" />
<bpmn2:incoming>sequenceFlow_h4SfiQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_hvQWmg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:intermediateCatchEvent id="event_30uUNA" name="Ablehnen">
<bpmn2:documentation id="documentation_VazNUA" />
<bpmn2:incoming>sequenceFlow_xVEjcA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_j4GDgg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_h4SfiQ" sourceRef="gateway_Vyo0Zw" targetRef="event_1qR49w">
<bpmn2:documentation id="documentation_Q2yPDw" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_hvQWmg" sourceRef="event_1qR49w" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_qkneSw" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_xVEjcA" sourceRef="gateway_Hn5ZhQ" targetRef="event_30uUNA">
<bpmn2:documentation id="documentation_l9waIg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_j4GDgg" sourceRef="event_30uUNA" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_4vaLww" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_A0FQoA" sourceRef="event_dJ89xQ" targetRef="task_xAzhzw">
<bpmn2:documentation id="documentation_fAB90Q" />
</bpmn2:sequenceFlow>
<bpmn2:task id="task_fHgZBg" name="Archiviert">
<bpmn2:documentation id="documentation_Idessw"><![CDATA[Rechnungsprüfung abgeschlossen und Rechnung archiveirt.]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_A0FQoA</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_sUEtcA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_iVpj0g</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:intermediateCatchEvent id="event_YnFi7A" name="Bezahlt">
<bpmn2:documentation id="documentation_Jz0LKg"><![CDATA[Rechnungsbetrag wurde überwiesen]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_OfKNWA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_sUEtcA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_OfKNWA" sourceRef="task_xAzhzw" targetRef="event_YnFi7A">
<bpmn2:documentation id="documentation_DdJpCg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_sUEtcA" sourceRef="event_YnFi7A" targetRef="task_fHgZBg">
<bpmn2:documentation id="documentation_uG0SGg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_iVpj0g" sourceRef="task_fHgZBg" targetRef="event_oNXxgg">
<bpmn2:documentation id="documentation_Is0LqQ" />
</bpmn2:sequenceFlow>
</bpmn2:process>
</bpmn2:definitions>

11
BPMN-KI-Test/prompt2.txt Normal file
View file

@ -0,0 +1,11 @@
Wir haben einen Geschäftsprozess für die Eingangsrechnungsprüfung in einem Unternehmen.
Rechnungen werden importiert und dann zur "Rechnungsprüfung" geleitet. Dieser Zusstand ist in einem BPMN 2.0 Diagram als Task Element abgebildet.
Der Mitarbeiter hat nun über die beiden Aktionen "Sachrechnung" und "Cargorechnung" die Möglichkeit die Rechnung zu klassifizieren. Diese beiden Aktionen sind in einem
BPMN 2.0 Diagram als Event Elemente dargestellt. Das Event 'Sachrechnung' führt zum Status (Task) "Budgetprüfung" (die vom Sekretariat durchgeführt wird)
und das Event 'Cargorechnung' führt zum Status 'Prüfung Logistikauftrag' (die vom Fachbereich durchgeführt werden kann). In beiden Zuständen kann nun der Mitarbeiter die Rechnung
über das Event "Freigeben" zur Bezahlung freigeben (Task) oder mit "Ablehnen" zurück an die initiale "Rechnungsprüfung" zurücksenden. Nach der Bezahlung kann der Mitarbeiter
die Rechnung über die Aktion (Event) "Bezahlt" in den finalen Status (Task) 'Archiviert' senden.
In einem BPMN Diagram sind diese Verzweigungen bei den Entscheidungen mit Gateways dargestellt.
Erstelle für diesen Prozessablauf eine sehr kompakte Darstellungsform, die für ein KI Prompt Template geeignet ist.

View file

@ -0,0 +1,389 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bpmn2:definitions 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:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.openbpmn" exporterVersion="1.0.0" targetNamespace="http://open-bpmn.org" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL">
<bpmn2:collaboration id="collaboration_1" name="Default Collaboration">
<bpmn2:participant id="participant_TgW2JA" name="Default Process" processRef="process_1"/>
<bpmn2:participant id="participant_tgRhJQ" name="Rechnungseingang" processRef="process_lYaFpg">
<bpmn2:documentation id="documentation_wSfXcQ"><![CDATA[Dieser Workflow dient dazu eingehende Rechnungen zu prüfen und zur Bezahlung weiterzuleiten. Es wird unterschieden von Sachrechnungen, die vom Sekretariat bearbeitet werden können und Cargo-Rechnungen die durch die Logistikabteilung anhand von Logistikaufträgen geprüft werden.
Nachdem die Rechnung bezahlt wurde wird der Vorgang archiviert. ]]></bpmn2:documentation>
</bpmn2:participant>
</bpmn2:collaboration>
<bpmn2:extensionElements>
<open-bpmn:auto-align>true</open-bpmn:auto-align>
</bpmn2:extensionElements>
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_1" name="Default Process" processType="Public">
<bpmn2:documentation id="documentation_wXazVg"/>
</bpmn2:process>
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_lYaFpg" isExecutable="true" name="Rechnungseingang" processType="Private">
<bpmn2:laneSet id="laneset_fDygyw" name="Lane Set">
<bpmn2:lane id="lane_BgoDFg" name="Sekretariat">
<bpmn2:documentation id="documentation_hIztzA"/>
<bpmn2:flowNodeRef>task_7Y3UUA</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_bH7Wag</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_oNXxgg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_GEqHhQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_VJXKGg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_SP75zg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_ASbu1A</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_Vyo0Zw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_xAzhzw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_YH3bnw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_1qR49w</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_fHgZBg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_YnFi7A</bpmn2:flowNodeRef>
</bpmn2:lane>
<bpmn2:lane id="lane_eMP9Xw" name="Fachbereich">
<bpmn2:documentation id="documentation_6ihnmQ"/>
<bpmn2:flowNodeRef>event_A1J0OA</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_5lS3mw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_Hn5ZhQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_dJ89xQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_30uUNA</bpmn2:flowNodeRef>
</bpmn2:lane>
</bpmn2:laneSet>
<bpmn2:startEvent id="event_bH7Wag" name="Start">
<bpmn2:documentation id="documentation_pguolw"/>
<bpmn2:outgoing>sequenceFlow_8yitUQ</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:task id="task_7Y3UUA" name="Rechnungsprüfung">
<bpmn2:documentation id="documentation_oKsT5Q"><![CDATA[Inhaltliche Prüufng der Rechnung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_BGVbSA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_FyAf3g</bpmn2:outgoing>
<bpmn2:incoming>sequenceFlow_hvQWmg</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_j4GDgg</bpmn2:incoming>
</bpmn2:task>
<bpmn2:endEvent id="event_oNXxgg" name="Ende">
<bpmn2:documentation id="documentation_1heF3g"/>
<bpmn2:incoming>sequenceFlow_iVpj0g</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:intermediateCatchEvent id="event_GEqHhQ" name="Import">
<bpmn2:documentation id="documentation_gR2xbw"/>
<bpmn2:incoming>sequenceFlow_8yitUQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_BGVbSA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_8yitUQ" sourceRef="event_bH7Wag" targetRef="event_GEqHhQ">
<bpmn2:documentation id="documentation_2Zd0Aw"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_BGVbSA" sourceRef="event_GEqHhQ" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_6k088A"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_VJXKGg" name="Sachrechnung">
<bpmn2:documentation id="documentation_DaDN3w"><![CDATA[Weiterleiten zur Sachprüfung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_rZXh6g</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_sNlWkQ</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:task id="task_SP75zg" name="Budgetprüfung">
<bpmn2:documentation id="documentation_qP2Sew"/>
<bpmn2:incoming>sequenceFlow_sNlWkQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_nxZ9bA</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:task id="task_5lS3mw" name="Prüfung Logistik Auftrag">
<bpmn2:documentation id="documentation_zweAkw"><![CDATA[Prüfung der Rechnung und Abgleich mit Logistikauftrag]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_DXGQrw</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_UebylQ</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:eventBasedGateway gatewayDirection="Diverging" id="gateway_ASbu1A" name="">
<bpmn2:documentation id="documentation_09gukg"/>
<bpmn2:incoming>sequenceFlow_FyAf3g</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_rZXh6g</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_i7cH2A</bpmn2:outgoing>
</bpmn2:eventBasedGateway>
<bpmn2:sequenceFlow id="sequenceFlow_FyAf3g" sourceRef="task_7Y3UUA" targetRef="gateway_ASbu1A">
<bpmn2:documentation id="documentation_tv00MQ"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_rZXh6g" sourceRef="gateway_ASbu1A" targetRef="event_VJXKGg">
<bpmn2:documentation id="documentation_EPAmhQ"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_sNlWkQ" sourceRef="event_VJXKGg" targetRef="task_SP75zg">
<bpmn2:documentation id="documentation_iXrfpg"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_A1J0OA" name="Cargo Rechnung">
<bpmn2:documentation id="documentation_RWi6LA"><![CDATA[Weiterleitung zur Prüfung Logistikauftrag]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_i7cH2A</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_DXGQrw</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_i7cH2A" sourceRef="gateway_ASbu1A" targetRef="event_A1J0OA">
<bpmn2:documentation id="documentation_pz6J4g"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_DXGQrw" sourceRef="event_A1J0OA" targetRef="task_5lS3mw">
<bpmn2:documentation id="documentation_ngSLdQ"/>
</bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_Vyo0Zw" name="">
<bpmn2:documentation id="documentation_Pm90XA"/>
<bpmn2:incoming>sequenceFlow_nxZ9bA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_9tp42Q</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_h4SfiQ</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:intermediateCatchEvent id="event_dJ89xQ" name="Freigabe">
<bpmn2:documentation id="documentation_sB06Ag"><![CDATA[Rechnung in Ordnung und freigegeben zur Bezahlung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_PLk0RA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_A0FQoA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_Hn5ZhQ" name="">
<bpmn2:documentation id="documentation_aLEQqQ"/>
<bpmn2:incoming>sequenceFlow_UebylQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_PLk0RA</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_xVEjcA</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="sequenceFlow_UebylQ" sourceRef="task_5lS3mw" targetRef="gateway_Hn5ZhQ">
<bpmn2:documentation id="documentation_MZdr7Q"/>
</bpmn2:sequenceFlow>
<bpmn2:task id="task_xAzhzw" name="Bezahlung">
<bpmn2:documentation id="documentation_zO3SRw"/>
<bpmn2:incoming>sequenceFlow_9OrwEg</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_A0FQoA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_OfKNWA</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="sequenceFlow_nxZ9bA" sourceRef="task_SP75zg" targetRef="gateway_Vyo0Zw">
<bpmn2:documentation id="documentation_G4qmmA"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_PLk0RA" sourceRef="gateway_Hn5ZhQ" targetRef="event_dJ89xQ">
<bpmn2:documentation id="documentation_Y5qwSA"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_YH3bnw" name="Freigeben">
<bpmn2:documentation id="documentation_C05Bhw"><![CDATA[Rechnung in Ordnung und freigegeben zur Bezahlung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_9tp42Q</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_9OrwEg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_9tp42Q" sourceRef="gateway_Vyo0Zw" targetRef="event_YH3bnw">
<bpmn2:documentation id="documentation_PIQaSg"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_9OrwEg" sourceRef="event_YH3bnw" targetRef="task_xAzhzw">
<bpmn2:documentation id="documentation_0eagTw"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_1qR49w" name="Ablehnen">
<bpmn2:documentation id="documentation_cdpcXA"/>
<bpmn2:incoming>sequenceFlow_h4SfiQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_hvQWmg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:intermediateCatchEvent id="event_30uUNA" name="Ablehnen">
<bpmn2:documentation id="documentation_VazNUA"/>
<bpmn2:incoming>sequenceFlow_xVEjcA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_j4GDgg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_h4SfiQ" sourceRef="gateway_Vyo0Zw" targetRef="event_1qR49w">
<bpmn2:documentation id="documentation_Q2yPDw"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_hvQWmg" sourceRef="event_1qR49w" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_qkneSw"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_xVEjcA" sourceRef="gateway_Hn5ZhQ" targetRef="event_30uUNA">
<bpmn2:documentation id="documentation_l9waIg"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_j4GDgg" sourceRef="event_30uUNA" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_4vaLww"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_A0FQoA" sourceRef="event_dJ89xQ" targetRef="task_xAzhzw">
<bpmn2:documentation id="documentation_fAB90Q"/>
</bpmn2:sequenceFlow>
<bpmn2:task id="task_fHgZBg" name="Archiviert">
<bpmn2:documentation id="documentation_Idessw"><![CDATA[Rechnungsprüfung abgeschlossen und Rechnung archiveirt.]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_A0FQoA</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_sUEtcA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_iVpj0g</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:intermediateCatchEvent id="event_YnFi7A" name="Bezahlt">
<bpmn2:documentation id="documentation_Jz0LKg"><![CDATA[Rechnungsbetrag wurde überwiesen]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_OfKNWA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_sUEtcA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_OfKNWA" sourceRef="task_xAzhzw" targetRef="event_YnFi7A">
<bpmn2:documentation id="documentation_DdJpCg"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_sUEtcA" sourceRef="event_YnFi7A" targetRef="task_fHgZBg">
<bpmn2:documentation id="documentation_uG0SGg"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_iVpj0g" sourceRef="task_fHgZBg" targetRef="event_oNXxgg">
<bpmn2:documentation id="documentation_Is0LqQ"/>
</bpmn2:sequenceFlow>
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="OpenBPMN Diagram">
<bpmndi:BPMNPlane bpmnElement="collaboration_1" id="BPMNPlane_1">
<bpmndi:BPMNShape bpmnElement="event_bH7Wag" id="BPMNShape_uh055A">
<dc:Bounds height="36.0" width="36.0" x="307.0" y="-233.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_iQJHWQ">
<dc:Bounds height="20.0" width="100.0" x="275.0" y="-194.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="event_oNXxgg" id="BPMNShape_UInW7g">
<dc:Bounds height="36.0" width="36.0" x="1777.0" y="-233.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_34qp2g">
<dc:Bounds height="20.0" width="100.0" x="1745.0" y="-194.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="task_7Y3UUA" id="BPMNShape_6O8H3A">
<dc:Bounds height="50.0" width="110.0" x="520.0" y="-240.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="participant_tgRhJQ" id="BPMNShape_nrps0Q">
<dc:Bounds height="630.0" width="1650.0" x="230.0" y="-370.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="lane_BgoDFg" id="BPMNShape_Lane_D1gWUg">
<dc:Bounds height="258.0" width="1620.0" x="260.0" y="-370.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="lane_eMP9Xw" id="BPMNShape_Lane_j8rKkg">
<dc:Bounds height="372.0" width="1620.0" x="260.0" y="-112.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="event_GEqHhQ" id="BPMNShape_NYeOlw">
<dc:Bounds height="36.0" width="36.0" x="397.0" y="-233.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_u0gAdw">
<dc:Bounds height="20.0" width="100.0" x="365.0" y="-194.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_8yitUQ" id="BPMNEdge_SKFqeQ" sourceElement="BPMNShape_uh055A" targetElement="BPMNShape_NYeOlw">
<di:waypoint x="343.0" y="-215.0"/>
<di:waypoint x="397.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_BGVbSA" id="BPMNEdge_qcdmuA" sourceElement="BPMNShape_NYeOlw" targetElement="BPMNShape_6O8H3A">
<di:waypoint x="433.0" y="-215.0"/>
<di:waypoint x="520.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="event_VJXKGg" id="BPMNShape_QCvdOw">
<dc:Bounds height="36.0" width="36.0" x="797.0" y="-233.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_6j9aVg">
<dc:Bounds height="20.0" width="100.0" x="765.0" y="-194.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="task_SP75zg" id="BPMNShape_dnAc8g">
<dc:Bounds height="50.0" width="110.0" x="930.0" y="-240.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="task_5lS3mw" id="BPMNShape_VFDbeg">
<dc:Bounds height="50.0" width="110.0" x="920.0" y="0.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="gateway_ASbu1A" id="BPMNShape_LIkiBA">
<dc:Bounds height="50.0" width="50.0" x="680.0" y="-240.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_uZQpOQ">
<dc:Bounds height="20.0" width="100.0" x="655.0" y="-187.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_FyAf3g" id="BPMNEdge_F0Y1Tw" sourceElement="BPMNShape_6O8H3A" targetElement="BPMNShape_LIkiBA">
<di:waypoint x="630.0" y="-215.0"/>
<di:waypoint x="680.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_rZXh6g" id="BPMNEdge_luL2IA" sourceElement="BPMNShape_LIkiBA" targetElement="BPMNShape_QCvdOw">
<di:waypoint x="730.0" y="-215.0"/>
<di:waypoint x="797.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_sNlWkQ" id="BPMNEdge_vB8usw" sourceElement="BPMNShape_QCvdOw" targetElement="BPMNShape_dnAc8g">
<di:waypoint x="833.0" y="-215.0"/>
<di:waypoint x="930.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="event_A1J0OA" id="BPMNShape_KJbgeQ">
<dc:Bounds height="36.0" width="36.0" x="787.0" y="7.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_Rmen0A">
<dc:Bounds height="20.0" width="100.0" x="755.0" y="46.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_i7cH2A" id="BPMNEdge_HBLd5A" sourceElement="BPMNShape_LIkiBA" targetElement="BPMNShape_KJbgeQ">
<di:waypoint x="703.0" y="-192.0"/>
<di:waypoint x="703.0" y="25.0"/>
<di:waypoint x="787.0" y="25.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_DXGQrw" id="BPMNEdge_s15wBA" sourceElement="BPMNShape_KJbgeQ" targetElement="BPMNShape_VFDbeg">
<di:waypoint x="823.0" y="25.0"/>
<di:waypoint x="920.0" y="25.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="gateway_Vyo0Zw" id="BPMNShape_QihA6g">
<dc:Bounds height="50.0" width="50.0" x="1090.0" y="-240.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_cyvcMA">
<dc:Bounds height="20.0" width="100.0" x="1065.0" y="-187.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="event_dJ89xQ" id="BPMNShape_4M1lNg">
<dc:Bounds height="36.0" width="36.0" x="1187.0" y="7.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_gdYGpg">
<dc:Bounds height="20.0" width="100.0" x="1155.0" y="46.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="gateway_Hn5ZhQ" id="BPMNShape_mr0ibw">
<dc:Bounds height="50.0" width="50.0" x="1080.0" y="0.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_5l4dRA">
<dc:Bounds height="20.0" width="100.0" x="1055.0" y="53.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_UebylQ" id="BPMNEdge_U0wIKg" sourceElement="BPMNShape_VFDbeg" targetElement="BPMNShape_mr0ibw">
<di:waypoint x="1030.0" y="25.0"/>
<di:waypoint x="1080.0" y="25.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="task_xAzhzw" id="BPMNShape_JrIJDQ">
<dc:Bounds height="50.0" width="110.0" x="1290.0" y="-240.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_nxZ9bA" id="BPMNEdge_KKXvFg" sourceElement="BPMNShape_dnAc8g" targetElement="BPMNShape_QihA6g">
<di:waypoint x="1040.0" y="-215.0"/>
<di:waypoint x="1090.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_PLk0RA" id="BPMNEdge_8UEsHA" sourceElement="BPMNShape_mr0ibw" targetElement="BPMNShape_4M1lNg">
<di:waypoint x="1130.0" y="25.0"/>
<di:waypoint x="1187.0" y="25.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="event_YH3bnw" id="BPMNShape_GUBmSg">
<dc:Bounds height="36.0" width="36.0" x="1197.0" y="-233.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_c48Mng">
<dc:Bounds height="20.0" width="100.0" x="1165.0" y="-194.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_9tp42Q" id="BPMNEdge_0AkLow" sourceElement="BPMNShape_QihA6g" targetElement="BPMNShape_GUBmSg">
<di:waypoint x="1140.0" y="-215.0"/>
<di:waypoint x="1197.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_9OrwEg" id="BPMNEdge_eqL00Q" sourceElement="BPMNShape_GUBmSg" targetElement="BPMNShape_JrIJDQ">
<di:waypoint x="1233.0" y="-215.0"/>
<di:waypoint x="1290.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="event_1qR49w" id="BPMNShape_rbG2Zg">
<dc:Bounds height="36.0" width="36.0" x="1097.0" y="-333.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_2qmYIA">
<dc:Bounds height="20.0" width="100.0" x="1065.0" y="-294.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="event_30uUNA" id="BPMNShape_xUycJQ">
<dc:Bounds height="36.0" width="36.0" x="1087.0" y="127.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_40xf3g">
<dc:Bounds height="20.0" width="100.0" x="1055.0" y="166.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_h4SfiQ" id="BPMNEdge_7m0QHg" sourceElement="BPMNShape_QihA6g" targetElement="BPMNShape_rbG2Zg">
<di:waypoint x="1115.0" y="-240.0"/>
<di:waypoint x="1115.0" y="-297.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_hvQWmg" id="BPMNEdge_xx0UyQ" sourceElement="BPMNShape_rbG2Zg" targetElement="BPMNShape_6O8H3A">
<di:waypoint x="1097.0" y="-315.0"/>
<di:waypoint x="575.0" y="-315.0"/>
<di:waypoint x="575.0" y="-240.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_xVEjcA" id="BPMNEdge_5276Pw" sourceElement="BPMNShape_mr0ibw" targetElement="BPMNShape_xUycJQ">
<di:waypoint x="1105.0" y="50.0"/>
<di:waypoint x="1105.0" y="127.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_j4GDgg" id="BPMNEdge_3xc00w" sourceElement="BPMNShape_xUycJQ" targetElement="BPMNShape_6O8H3A">
<di:waypoint x="1087.0" y="145.0"/>
<di:waypoint x="575.0" y="145.0"/>
<di:waypoint x="575.0" y="-190.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_A0FQoA" id="BPMNEdge_vgxzvQ" sourceElement="BPMNShape_4M1lNg" targetElement="BPMNShape_JrIJDQ">
<di:waypoint x="1223.0" y="25.0"/>
<di:waypoint x="1345.0" y="25.0"/>
<di:waypoint x="1345.0" y="-190.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape bpmnElement="task_fHgZBg" id="BPMNShape_79up9g">
<dc:Bounds height="50.0" width="110.0" x="1600.0" y="-240.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="event_YnFi7A" id="BPMNShape_THdIqQ">
<dc:Bounds height="36.0" width="36.0" x="1457.0" y="-233.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_P4dNKg">
<dc:Bounds height="20.0" width="100.0" x="1425.0" y="-194.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_OfKNWA" id="BPMNEdge_p2wDpg" sourceElement="BPMNShape_JrIJDQ" targetElement="BPMNShape_THdIqQ">
<di:waypoint x="1400.0" y="-215.0"/>
<di:waypoint x="1457.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_sUEtcA" id="BPMNEdge_lOlEPw" sourceElement="BPMNShape_THdIqQ" targetElement="BPMNShape_79up9g">
<di:waypoint x="1493.0" y="-215.0"/>
<di:waypoint x="1600.0" y="-215.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_iVpj0g" id="BPMNEdge_XmQNXg" sourceElement="BPMNShape_79up9g" targetElement="BPMNShape_UInW7g">
<di:waypoint x="1710.0" y="-215.0"/>
<di:waypoint x="1777.0" y="-215.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>

View file

@ -0,0 +1,207 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bpmn2:definitions 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:open-bpmn="http://open-bpmn.org/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exporter="org.openbpmn" exporterVersion="1.0.0" targetNamespace="http://open-bpmn.org"
xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL">
<bpmn2:collaboration id="collaboration_1" name="Default Collaboration">
<bpmn2:participant id="participant_TgW2JA" name="Default Process" processRef="process_1" />
<bpmn2:participant id="participant_tgRhJQ" name="Rechnungseingang" processRef="process_lYaFpg">
<bpmn2:documentation id="documentation_wSfXcQ"><![CDATA[Dieser Workflow dient dazu eingehende Rechnungen zu prüfen und zur Bezahlung weiterzuleiten. Es wird unterschieden von Sachrechnungen, die vom Sekretariat bearbeitet werden können und Cargo-Rechnungen die durch die Logistikabteilung anhand von Logistikaufträgen geprüft werden.
Nachdem die Rechnung bezahlt wurde wird der Vorgang archiviert. ]]></bpmn2:documentation>
</bpmn2:participant>
</bpmn2:collaboration>
<bpmn2:extensionElements>
<open-bpmn:auto-align>true</open-bpmn:auto-align>
</bpmn2:extensionElements>
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_1"
name="Default Process" processType="Public">
<bpmn2:documentation id="documentation_wXazVg" />
</bpmn2:process>
<bpmn2:process definitionalCollaborationRef="collaboration_1" id="process_lYaFpg"
isExecutable="true" name="Rechnungseingang" processType="Private">
<bpmn2:laneSet id="laneset_fDygyw" name="Lane Set">
<bpmn2:lane id="lane_BgoDFg" name="Sekretariat">
<bpmn2:documentation id="documentation_hIztzA" />
<bpmn2:flowNodeRef>task_7Y3UUA</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_bH7Wag</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_oNXxgg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_GEqHhQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_VJXKGg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_SP75zg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_ASbu1A</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_Vyo0Zw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_xAzhzw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_YH3bnw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_1qR49w</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_fHgZBg</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_YnFi7A</bpmn2:flowNodeRef>
</bpmn2:lane>
<bpmn2:lane id="lane_eMP9Xw" name="Fachbereich">
<bpmn2:documentation id="documentation_6ihnmQ" />
<bpmn2:flowNodeRef>event_A1J0OA</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>task_5lS3mw</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>gateway_Hn5ZhQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_dJ89xQ</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>event_30uUNA</bpmn2:flowNodeRef>
</bpmn2:lane>
</bpmn2:laneSet>
<bpmn2:startEvent id="event_bH7Wag" name="Start">
<bpmn2:documentation id="documentation_pguolw" />
<bpmn2:outgoing>sequenceFlow_8yitUQ</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:task id="task_7Y3UUA" name="Rechnungsprüfung">
<bpmn2:documentation id="documentation_oKsT5Q"><![CDATA[Inhaltliche Prüufng der Rechnung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_BGVbSA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_FyAf3g</bpmn2:outgoing>
<bpmn2:incoming>sequenceFlow_hvQWmg</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_j4GDgg</bpmn2:incoming>
</bpmn2:task>
<bpmn2:endEvent id="event_oNXxgg" name="Ende">
<bpmn2:documentation id="documentation_1heF3g" />
<bpmn2:incoming>sequenceFlow_iVpj0g</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:intermediateCatchEvent id="event_GEqHhQ" name="Import">
<bpmn2:documentation id="documentation_gR2xbw" />
<bpmn2:incoming>sequenceFlow_8yitUQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_BGVbSA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_8yitUQ" sourceRef="event_bH7Wag" targetRef="event_GEqHhQ">
<bpmn2:documentation id="documentation_2Zd0Aw" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_BGVbSA" sourceRef="event_GEqHhQ" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_6k088A" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_VJXKGg" name="Sachrechnung">
<bpmn2:documentation id="documentation_DaDN3w"><![CDATA[Weiterleiten zur Sachprüfung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_rZXh6g</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_sNlWkQ</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:task id="task_SP75zg" name="Budgetprüfung">
<bpmn2:documentation id="documentation_qP2Sew" />
<bpmn2:incoming>sequenceFlow_sNlWkQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_nxZ9bA</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:task id="task_5lS3mw" name="Prüfung Logistik Auftrag">
<bpmn2:documentation id="documentation_zweAkw"><![CDATA[Prüfung der Rechnung und Abgleich mit Logistikauftrag]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_DXGQrw</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_UebylQ</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:eventBasedGateway gatewayDirection="Diverging" id="gateway_ASbu1A" name="">
<bpmn2:documentation id="documentation_09gukg" />
<bpmn2:incoming>sequenceFlow_FyAf3g</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_rZXh6g</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_i7cH2A</bpmn2:outgoing>
</bpmn2:eventBasedGateway>
<bpmn2:sequenceFlow id="sequenceFlow_FyAf3g" sourceRef="task_7Y3UUA" targetRef="gateway_ASbu1A">
<bpmn2:documentation id="documentation_tv00MQ" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_rZXh6g" sourceRef="gateway_ASbu1A" targetRef="event_VJXKGg">
<bpmn2:documentation id="documentation_EPAmhQ" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_sNlWkQ" sourceRef="event_VJXKGg" targetRef="task_SP75zg">
<bpmn2:documentation id="documentation_iXrfpg" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_A1J0OA" name="Cargo Rechnung">
<bpmn2:documentation id="documentation_RWi6LA"><![CDATA[Weiterleitung zur Prüfung Logistikauftrag]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_i7cH2A</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_DXGQrw</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_i7cH2A" sourceRef="gateway_ASbu1A" targetRef="event_A1J0OA">
<bpmn2:documentation id="documentation_pz6J4g" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_DXGQrw" sourceRef="event_A1J0OA" targetRef="task_5lS3mw">
<bpmn2:documentation id="documentation_ngSLdQ" />
</bpmn2:sequenceFlow>
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_Vyo0Zw" name="">
<bpmn2:documentation id="documentation_Pm90XA" />
<bpmn2:incoming>sequenceFlow_nxZ9bA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_9tp42Q</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_h4SfiQ</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:intermediateCatchEvent id="event_dJ89xQ" name="Freigabe">
<bpmn2:documentation id="documentation_sB06Ag"><![CDATA[Rechnung in Ordnung und freigegeben zur Bezahlung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_PLk0RA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_A0FQoA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:exclusiveGateway gatewayDirection="Diverging" id="gateway_Hn5ZhQ" name="">
<bpmn2:documentation id="documentation_aLEQqQ" />
<bpmn2:incoming>sequenceFlow_UebylQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_PLk0RA</bpmn2:outgoing>
<bpmn2:outgoing>sequenceFlow_xVEjcA</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="sequenceFlow_UebylQ" sourceRef="task_5lS3mw" targetRef="gateway_Hn5ZhQ">
<bpmn2:documentation id="documentation_MZdr7Q" />
</bpmn2:sequenceFlow>
<bpmn2:task id="task_xAzhzw" name="Bezahlung">
<bpmn2:documentation id="documentation_zO3SRw" />
<bpmn2:incoming>sequenceFlow_9OrwEg</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_A0FQoA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_OfKNWA</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="sequenceFlow_nxZ9bA" sourceRef="task_SP75zg" targetRef="gateway_Vyo0Zw">
<bpmn2:documentation id="documentation_G4qmmA" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_PLk0RA" sourceRef="gateway_Hn5ZhQ" targetRef="event_dJ89xQ">
<bpmn2:documentation id="documentation_Y5qwSA" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_YH3bnw" name="Freigeben">
<bpmn2:documentation id="documentation_C05Bhw"><![CDATA[Rechnung in Ordnung und freigegeben zur Bezahlung]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_9tp42Q</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_9OrwEg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_9tp42Q" sourceRef="gateway_Vyo0Zw" targetRef="event_YH3bnw">
<bpmn2:documentation id="documentation_PIQaSg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_9OrwEg" sourceRef="event_YH3bnw" targetRef="task_xAzhzw">
<bpmn2:documentation id="documentation_0eagTw" />
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="event_1qR49w" name="Ablehnen">
<bpmn2:documentation id="documentation_cdpcXA" />
<bpmn2:incoming>sequenceFlow_h4SfiQ</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_hvQWmg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:intermediateCatchEvent id="event_30uUNA" name="Ablehnen">
<bpmn2:documentation id="documentation_VazNUA" />
<bpmn2:incoming>sequenceFlow_xVEjcA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_j4GDgg</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_h4SfiQ" sourceRef="gateway_Vyo0Zw" targetRef="event_1qR49w">
<bpmn2:documentation id="documentation_Q2yPDw" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_hvQWmg" sourceRef="event_1qR49w" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_qkneSw" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_xVEjcA" sourceRef="gateway_Hn5ZhQ" targetRef="event_30uUNA">
<bpmn2:documentation id="documentation_l9waIg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_j4GDgg" sourceRef="event_30uUNA" targetRef="task_7Y3UUA">
<bpmn2:documentation id="documentation_4vaLww" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_A0FQoA" sourceRef="event_dJ89xQ" targetRef="task_xAzhzw">
<bpmn2:documentation id="documentation_fAB90Q" />
</bpmn2:sequenceFlow>
<bpmn2:task id="task_fHgZBg" name="Archiviert">
<bpmn2:documentation id="documentation_Idessw"><![CDATA[Rechnungsprüfung abgeschlossen und Rechnung archiveirt.]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_A0FQoA</bpmn2:incoming>
<bpmn2:incoming>sequenceFlow_sUEtcA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_iVpj0g</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:intermediateCatchEvent id="event_YnFi7A" name="Bezahlt">
<bpmn2:documentation id="documentation_Jz0LKg"><![CDATA[Rechnungsbetrag wurde überwiesen]]></bpmn2:documentation>
<bpmn2:incoming>sequenceFlow_OfKNWA</bpmn2:incoming>
<bpmn2:outgoing>sequenceFlow_sUEtcA</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="sequenceFlow_OfKNWA" sourceRef="task_xAzhzw" targetRef="event_YnFi7A">
<bpmn2:documentation id="documentation_DdJpCg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_sUEtcA" sourceRef="event_YnFi7A" targetRef="task_fHgZBg">
<bpmn2:documentation id="documentation_uG0SGg" />
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="sequenceFlow_iVpj0g" sourceRef="task_fHgZBg" targetRef="event_oNXxgg">
<bpmn2:documentation id="documentation_Is0LqQ" />
</bpmn2:sequenceFlow>
</bpmn2:process>
</bpmn2:definitions>

17
BPMN-KI-Test/schema-1.txt Normal file
View file

@ -0,0 +1,17 @@
Prozess: Eingangsrechnungsprüfung
START -> [Task] Rechnungsprüfung
|
|-- [Event] Sachrechnung --> [Task] Budgetprüfung (Sekretariat)
| |
| |-- [Event] Freigeben --> [Task] Bezahlung
| |-- [Event] Ablehnen --> [Task] Rechnungsprüfung
|
|-- [Event] Cargorechnung --> [Task] Prüfung Logistikauftrag (Fachbereich)
|
|-- [Event] Freigeben --> [Task] Bezahlung
|-- [Event] Ablehnen --> [Task] Rechnungsprüfung
[Task] Bezahlung
|
|-- [Event] Bezahlt --> [Task] Archiviert (ENDE)

46
BPMN-KI-Test/schema-2.txt Normal file
View file

@ -0,0 +1,46 @@
prozess: Eingangsrechnungsprüfung
start_event: Rechnung importiert
tasks:
- name: Rechnungsprüfung
type: user_task
gateway:
name: Klassifikation
type: exclusive
paths:
- event: Sachrechnung
next_task: Budgetprüfung
role: Sekretariat
- event: Cargorechnung
next_task: Prüfung Logistikauftrag
role: Fachbereich
- name: Budgetprüfung
type: user_task
gateway:
name: Entscheidung
type: exclusive
paths:
- event: Freigeben
next_task: Bezahlung
- event: Ablehnen
next_task: Rechnungsprüfung
- name: Prüfung Logistikauftrag
type: user_task
gateway:
name: Entscheidung
type: exclusive
paths:
- event: Freigeben
next_task: Bezahlung
- event: Ablehnen
next_task: Rechnungsprüfung
- name: Bezahlung
type: service_task
event:
name: Bezahlt
next_task: Archiviert
- name: Archiviert
type: end_event

View file

@ -1,7 +1,7 @@
FROM imixs/imixs-office-workflow:4.5.2
#FROM imixs/imixs-office-workflow:latest
#FROM imixs/imixs-office-workflow:4.4.0
FROM imixs/imixs-office-workflow:5.1.5-wildfly-29.0.1.Final-jdk17
# Deploy artefact
RUN rm -r /opt/jboss/wildfly/standalone/deployments/*
COPY ./*-app/target/*.war /opt/jboss/wildfly/standalone/deployments/
# Deploy artefact
COPY ./target/*.war /opt/jboss/wildfly/standalone/deployments/

View file

@ -1,10 +1,8 @@
FROM imixs/imixs-office-workflow:4.5.2
#FROM imixs/imixs-office-workflow:latest
#FROM imixs/imixs-office-workflow:4.4.0
FROM imixs/imixs-office-workflow:5.1.5-wildfly-29.0.1.Final-jdk17
# Deploy artefact
RUN rm -r /opt/jboss/wildfly/standalone/deployments/*
COPY ./*-app/target/*.war /opt/jboss/wildfly/standalone/deployments/
COPY ./target/*.war /opt/jboss/wildfly/standalone/deployments/
# Run in Debug Mode
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "--debug", "*:8787"]

View file

@ -1,6 +0,0 @@
https://techcommunity.microsoft.com/t5/exchange/javamail-connecting-to-office-365-xoauth2-for-imap/m-p/1505026

87
MEMORY.md Normal file
View file

@ -0,0 +1,87 @@
# Wildfly HTTP Seesions
See articles:
- https://www.mastertheboss.com/jbossas/jboss-cluster/jboss-monitoring-http-session-replication/
- https://blog.arkey.fr/2020/10/27/maxrampercentage-is-not-what-i-wished-for/
- https://techdocs.broadcom.com/us/en/symantec-security-software/identity-security/identity-manager/14-4/reference/performance-tuning/performance-tuning-for-jboss-or-wildfly.html
# Collect metrics
Use curl:
```
curl -s http://localhost:9990/metrics
```
wildfly_undertow_active_sessions{deployment="office-alexander-logistics.war",subdeployment="office-alexander-logistics.war",microprofile_scope="vendor"} 184.0
## Check all active Sessions:
```
curl -s http://localhost:9990/metrics | grep -e "^wildfly_undertow_.*_sessions"
```
# Neue Memory Options:
```yaml
- name: JAVA_OPTS
value: >
-Xms5g
-Xmx7g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:G1HeapRegionSize=16m
-XX:InitiatingHeapOccupancyPercent=45
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/heapdump
-Dnashorn.args=--no-deprecation-warning
```
# Memory Analyse
```
curl -s http://localhost:9990/metrics | grep -e "^wildfly_undertow_.*_sessions"
```
| Zeit | Mem | Sessions |
|-----------|:---------:|:---------:|
| Mo 18:22 | 3947 | 31 |
| Mo 18:34 | 3951 | 42 |
| Mo 18:39 | 3955 | 48 |
| Mo 18:39 | 3957 | 59 |
| Mo 18:54 | 3983 | 62 |
| Mo 18:54 | 4024 | 66 |
| Mo 19:14 | 4040 | 66 |
# Debug
Test Heap size:
$ curl -s http://localhost:9990/metrics | grep base_memory_usedHeap_bytes
# HELP base_memory_usedHeap_bytes Displays the amount of used memory.
# TYPE base_memory_usedHeap_bytes gauge
base_memory_usedHeap_bytes 1.605052856E9
base_memory_usedHeap_bytes 3.031116216E9
base_memory_usedHeap_bytes 1.910524016E9
base_memory_usedHeap_bytes 1.291952224E9

View file

@ -5,6 +5,16 @@
https://archive.alexander-logistics.office-workflow.de
## Development
Test Umgebung starten:
./devi start
Mailpasswort für locales mailing setzen:
export MAILPASSWORD=xxxxxxxxxxxxxx
## FTP Storage
@ -35,15 +45,13 @@ Die Zugangsdaten lauten:
### Cargosoft Schnittstelle
## Cargosoft Schnittstelle
Für cargosoft verwenden wir einen Subaccount der auf das Verzeichns:
Für cargosoft verwenden wir FTP basierte Schnittstelle um Dateien zu importieren und zu exportieren. [Siehe hier](./doc/CARGOSOFT.md)
FTP Zugang
/office-alexander-logistics/cargosoft
zeigt.
Benutzername: u248962-sub2
Passwort: aXa61n9Un3jDNQlL
@ -63,7 +71,7 @@ Es gibt ein Email Konto das wir für den Import von Rechnungen nutzen
** Umstellung Outlook via OAuth **
passwort=A6x8Q~EWVUyt~gfyTHtIJf4ig.F9tajUpEEXMaCL
passwort=0lG8Q~UigK0f7n-cR8SSiSXhVChkBD3Qm1CqvbID
server name ist egal
Additional Options:

View file

@ -1,52 +1,240 @@
# Versionen
### 1.2.14 (Development)
## 1.4.0 (Development)
- Internationalisierung
- neuer AGLAIInvoiceAdapter
der Adapter `com.alexanderlogistics.AGLAIInvoiceAdapter` muss künftig in das Import Event der Rechnungseingangs Modelle. Dieser Adapter Findet den Space und den Mandanten.
Neue Modelle:
### 1.2.13
- Posteingang
- posteingang-de-3.0
- AMS
- rechnungseingang-ams-1.1.0.bpmn
- Payment Statistik
- Neue Indexfelder 'invoice.date' 'payment.date'
## 1.3.6 (Development)
**KSeF Produktiname II.**
Neues ksef.xml als Template einspielen
Neue version deployen.
**KSeF Produktiname I.**
Wir bekommen von Majcie einen neuen Prod - Token für KSeF. Dieser muss in das Kubernetes Deployment file eintegragen werden. Auch der Enpunkt muss geändert werden!
- name: KSEF_API_NIP
value: "9552521552"
- name: KSEF_API_TOKEN
value: "2025??????????????????2|nip-9552521552|f?????????????????????????????????????????"
- name: KSEF_API_ENDPOINT
value: "https://api.ksef.mf.gov.pl/v2"
Im Worklfow Modell 'rechnungsausgang' muss das das Partner Mail im Schritt 4200.10 aktiviert werden.
jhendzel@alexander-logistics.com in CC
ralph.soika@imixs.com in BCC
Derzeit fehlen meistens die Mailadressen so dass vermutlich häufig keine Mails rausgehen.
Im Dokument Import 'CARGOSOFT_INVOCIE_XML' muss die Task ID von 5001 auf 4000 geändert werden!!
## 1.3.5
- Verbesserter Cargosoft Export (Eingangsrechnungen)
- Polen KSeF Schnittstelle
- E-Rechnungs Adapter
## 1.3.4
- Finalisierung Business Partner Interface
|- Neue Plugin Logik (Aktualisierung der BP Nummer und Aktivierung von BP Objekten falls diese archiviert waren)
- Zoho Schnittstelle
- Neues DataView und DataGroups Konzept implementiert
### Migration
- Encoding für CSV Import aus cargosoft muss auf `encoding=UTF-8` stehen!
- Neues Businesspartner BPMN Modell einspielen
- Lucene Index neu berechnene wegen 'partner.id'
#### Daten Synchronisation BUsiness Parnter
- Erstmal nach Dubletten suchen:
- https://alexander-logistics-xxx.office-workflow.de/api/cargosoft/remove-dubletten?maxcount=5000
ACHTUNG kann sehr lange laufen (1 Stunde)
- Jetzt die Daten syncen
https://alexander-logistics-xxx.office-workflow.de/api/cargosoft/bp-sync?maxcount=25000
ACHTUNG kann sehr sehr sehr!! lange laufen (3 Stunde)
kann aber auch dann mehrfach aufgerufen werden so dass sich das alles zum guten wendet
#### Modelle Anpassen
in verschiedenen müssen die alten form parts `alexander/cdtreingabe` und `alexander/dbtreingabe` mit dem neuen `alexander/businesspartner_search` ausgetauscht werden.
Der `BusinessPartnerController` bzw. das `InvoicePlugin` bzw. `InvoiceOutgoingPlugin` kümmert sich automatisch um die Migration
Betroffen sind:
- rechnungseingang-\*
- rechnugnseingang-sachrechnung\*
- rechnungsausgang-\*
- zahlungseingang-\*
- Analyse-debitor-\*
Mahnlauf
- dieser müsste so modelliert werden wie `rechnungsausgang-dwc-1.0.3` zu sehen ist!!!!!!
## 1.3.3
- Imixs-Archive 3.1.1. Compactor Service
Migration:
set ARCHIVE_SNAPSHOT_GRACE_PERIOD= 5
set ARCHIVE_SNAPSHOT_COMPACTOR= enabled
## 1.3.2
- Posteingang Worklfow - timeout logic
- added lucene client to docker image
- added optional oidc profile
## 1.3.1
- Imixs-Office-Workflow 5.0.4
- Mulit Currecy Feature für Ausgangsrechnungen
- Neue Analyse Boards
- Neue SOA
- Neues Mahnwesen
## 1.3.0
- Migration auf Imixs-Office-Workflow 5.0.2
- Upgrade Imixs-Workflow 6.7
- Beim XML Invoice Import wird nun auch die Sprache für das Mahnwesen ermittelt (fehlte)
- Währungsunabhängigkeit
- 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
- Zahlungseingang kann nun korrigiert werden. => modell update 'zahlungseingang-de-1.0.5' und 'rechnungsausgang-de-1.0.13'
- fix Zahlungseingangs Formular
**Migration**
1. Parameter Pflegen
a) Währungen pflegen
- DE = EUR;CHF;SEK;RUB;NOK;GBP;USD;CAD
- PL = PLN;EUR;CHF;SEK;RUB;NOK;GBP;USD;CAD
- DWC = AED; EUR;CHF;SEK;RUB;NOK;GBP;USD;CAD
b) Mandant ID
2. OP Listen Template im Textbaustein aktualisieren
3. Alle Workflow Modelle erneuern
## 1.2.21 (Draft)
- Beim XML Invoice Import wird nun auch die Sprache für das Mahnwesen ermittelt (fehlte)
- Währungsunabhängigkeit
**Migration**
1. Paramter Pflegen
a) Währungen pflegen
- DE = EUR;CHF;SEK;RUB;NOK;GBP;USD;CAD
- PL = PLN;EUR;CHF;SEK;RUB;NOK;GBP;USD;CAD
- DWC = AED; EUR;CHF;SEK;RUB;NOK;GBP;USD;CAD
b) Mandant ID
2. OP Listen Template im Textbausteein aktualisieren
3. Alle Workflow Modelle erneuern
## 1.2.20 (Development)
- Optimierung OP-Liste nach KW
- Fix Fälligkeit in maske
- Fix XML Schnittstelle Cargosoft Sammelgutschrift
## 1.2.19
- Neue XML Invoice Schnittstelle
- Mahnwesen englisch
## 1.2.18
- Fix in Archiv Suche CustomSearchController.java - requestscoped
## 1.2.17
- neue Archive suche
- invoice.exchangerate Input ersetzt nun . durch , und locale='de' damit der Wert richtig gespeichert wird!!
## 1.2.16
- Upgrade Imixs-Archive auf 2.4.2 - verbesserter IMAP Import
- Upgarde Imixs-Adapters 2.3.3-SNAPSHOT
- Umstellung auf neue Imixs-Archive Backup Technik
- Neuer manueller SEPA Lauf mit version:
- rechnungseingang-de-1.2.35,
- rechnungseingang_sachrechnung-de-1.0.21,
- rechungseingang-sachrechnung-pl-1.0.1
- sepa-export-manual-3.0.0
- sepa-export-manual-pl-3.0.1
**Achtung**: Kubernetes Deploymets müssen angepasst werden (siehe AGL Polen)
## 1.2.15
- kleinere Layout Anpassungen in den Formualren und input Feldern (Positionstabelle, Sachbearbeiter Auswahl...)
- invoice.exchangerate Input ersetzt nun , durch . damit der Wert richtig gespeichert wird.
- Fix Cargosoft DATEV Import - Korektur des Rechnungsdatums / Jahr
- Neuer Rest Service für Korrektur von Cargsoft Ausgangsrechnungen
https://alexander-logistics.office-workflow.de/api/cargosoft/fix/100
## 1.2.14
- Internationalisierung
## 1.2.13
- Payment Statistik
- Neue Indexfelder 'invoice.date' 'payment.date'
**WICHTIG:** Es muss nach dem Update einmal der Index neu berechnet werden.
### 1.2.12
## 1.2.12
- Neue Debitoren/Kreditoren Verwaltung - Zusätzliche E-Mail
Realisiert über neue Custom Feld 'textlist'
- validierung e-mail erfolgt über Adapter und Workflow Rule
- Neue Debitoren/Kreditoren Verwaltung - Zusätzliche E-Mail
Realisiert über neue Custom Feld 'textlist'
- validierung e-mail erfolgt über Adapter und Workflow Rule
## 1.2.10
Inkasso Workflow
### 1.2.10
## 1.2.8
Inkasso Workflow
Neue KI Version
Rechnungasausgangsworkflow + Mahnwesen + OP
### 1.2.8
Zalungsavis für SEPA Rechnungen freigeschaltet
Neue KI Version
## 1.2.7
Rechnungasausgangsworkflow + Mahnwesen + OP
Erweiterte Kreditoren Verwaltung. Es können bis zu 4 IBAN/BIC Kombinationen pro Kreditor erfasst werden.
Zalungsavis für SEPA Rechnungen freigeschaltet
Wenn vom Benutezr bei der Rechnungserfassugn eine Kombination eingegeben wird die noch nicht gespeichert war,
wird diese aufgenomen und die anderen rutschen nach unten.
## 1.2.6
### 1.2.7
Übernahme von IBAN BIC aus kreditoren verwaltung
Erweiterte Kreditoren Verwaltung. Es können bis zu 4 IBAN/BIC Kombinationen pro Kreditor erfasst werden.
## 1.1.1
Wenn vom Benutezr bei der Rechnungserfassugn eine Kombination eingegeben wird die noch nicht gespeichert war,
wird diese aufgenomen und die anderen rutschen nach unten.
### 1.2.6
Übernahme von IBAN BIC aus kreditoren verwaltung
### 1.1.1
- Cargosoft Splitbuchungen - Es können zu einer Rechnung mehrere Cargosoft Exporte erzeugt werden. Die Sub Rechnungsnummern stehen im Feld numsequencenumber_sub
- Neue Modellversion rechnungseingnag-de-1.2.0 und posteingang-de-1.0.4
- Das Modell rechnungseingnag-de-1.1.3 kann nach einigen Wochen entfernt werden
- Cargosoft Splitbuchungen - Es können zu einer Rechnung mehrere Cargosoft Exporte erzeugt werden. Die Sub Rechnungsnummern stehen im Feld numsequencenumber_sub
- Neue Modellversion rechnungseingnag-de-1.2.0 und posteingang-de-1.0.4
- Das Modell rechnungseingnag-de-1.1.3 kann nach einigen Wochen entfernt werden

204
backup/README.md Normal file
View file

@ -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://<ihre-instanz>.office-workflow.de/api/"
WORKFLOW_SERVICE_USER: "<ihr-backup-nutzer>"
WORKFLOW_SERVICE_PASSWORD: "<ihr-passwort>"
WORKFLOW_SERVICE_AUTHMETHOD: "form"
BACKUP_FTP_HOST: "<ihr-storage-host>"
BACKUP_FTP_PATH: "<ihr-zielverzeichnis>"
BACKUP_FTP_PORT: "21"
BACKUP_FTP_USER: "<ihr-ftp-nutzer>"
BACKUP_FTP_PASSWORD: "<ihr-ftp-passwort>"
BACKUP_MIRROR_ID: "<ihre-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.

View file

@ -0,0 +1,22 @@
version: "3.6"
services:
###############################################
# Backup Service
###############################################
backup:
image: imixs/imixs-archive-backup:latest
environment:
TZ: "Europe/Berlin"
WORKFLOW_SERVICE_ENDPOINT: "https://alexander-logistics-ams.office-workflow.de/api/"
WORKFLOW_SERVICE_USER: "kutzner-backup-service"
WORKFLOW_SERVICE_PASSWORD: "16e-7ede-4c1c-bdeb-e16ce"
WORKFLOW_SERVICE_AUTHMETHOD: "form"
BACKUP_FTP_HOST: "u248962.your-storagebox.de"
BACKUP_FTP_PATH: "/test/agl/ams-test"
BACKUP_FTP_PORT: "21"
BACKUP_FTP_USER: "u248962"
BACKUP_FTP_PASSWORD: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
BACKUP_MIRROR_ID: "backup-mirror-local"
WORKFLOW_REST_JPQL_DOUBLEDECODE_WORKAROUND: "true"
ports:
- "8084:8080"

9
devi
View file

@ -30,13 +30,13 @@ if [[ "$(strip_dash $1)" == "setup" ]]; then
echo " starting dev enrvionment..."
mvn clean install -Pdebug
cp ./*-app/target/*.war ./docker/deployments/
docker-compose -f docker-compose.yml up
docker compose -f docker-compose.yml up
fi
if [[ "$(strip_dash $1)" == "start" ]]; then
echo " Start Dev Environment..."
docker-compose -f docker-compose.yml up
docker compose -f docker-compose.yml up
fi
if [[ "$(strip_dash $1)" == "build" ]]; then
@ -53,18 +53,17 @@ fi
if [[ "$(strip_dash $1)" == "hot" ]]; then
echo "* Hotdeploy..."
cd *-app
mvn manik-hotdeploy:hotdeploy
cd ..
fi
if [[ "$(strip_dash $1)" == "deploy" ]]; then
echo " Deploy to Imixs-Cloud..."
mvn clean install -Pkubernetes
mvn clean install -Pimixs-cloud -DskipTests
fi
# Überprüfen, ob keine Parameter übergeben wurden - standard build
if [[ $# -eq 0 ]]; then

97
doc/BUSINESSPARTNER.md Normal file
View file

@ -0,0 +1,97 @@
# BusinessPartner
Wir haben einen Workflow für die Verwaltung von BusinessPartner.
Ein BusinessPartner wird über die bestehende Cargosoft Schnittstelle aus den Debitoren/Kreditoren automatisch importiert und synchronisiert.
In Imixs ist es dann aber möglich zusätzliche Attribute zu einem Businesspartner zu speichern. Beispielsweise:
- Zahlungsziel
- Bankverbindungen
- Emailadressen für Mahnwesen
Die Businessparnter werden für jedes System separat importiert und verwaltet.
Folgende zentrale Stati werden über das BusinessPartner Modell festgelegt:
- TASK_ACTIVE = 1100
- TASK_VERIFICATION = 1300
- TASK_INACTIVE = 1700
- TASK_LOCKED = 1800
Die Invoice Plugins aktualisierne automatisch die BusinessPartner Attribute `partner.id` und `partner.name`. Zusätzlich unterbinden die Plugins eine Verarbeitung falls das Business Objekt im Satus LOCKED oder VERIFICATION ist!
## BusinessPartner Suche
Es gibt einen Controller und ein widget um nach Business Partnern zu suchen.
<img src="images/businesspartner-widget.png" />
Z.b. kann das als Custom Part in eine Form eingebunden werden:
```xml
<item name="bpid" type="custom" path="alexander/businesspartner_search" required="true" label="Businesspartner:" />
```
Der name ist heirbei irrelevant, da immer die Items `partner.id` und `partner.name` ausgefüllt werden.
Zusätzlich kann man mit den Options angeben ob die Maske komplett neu gerendert werden soll. Das ist z.b. bei dem Modell `analyse-debitor.bpmn` der Fall
```xml
<item name="dbtr.number" type="custom" path="alexander/businesspartner_search" required="true" label="Debtor:" options="rerender" />
```
Man kann auch noch über die options eine regular Expression mitgeben wodurch die Filterliste eingeschränkt werden kann:
```xml
<item name="dbtr.number" type="custom" path="alexander/businesspartner_search" required="true" label="Debtor:" options="rerender;regexPattern=(ABC)" />
```
Alternativ kann im Backend über die EJB BusinessPartnerService nach bpid gesucht werden:
```java
List<ItemCollection> resultList = businessPartnerService.search(phrase);
// oder
ItemCollection bp= businessPartnerService.getBusinessPartnerByID("BP0001");
```
## Invoice Plugins
Die Invoice Plugins aktualisieren automatisch partner.id und partner.name falls diese Items noch nicht exiistieren
# Daten Migration
Der `BusinessPartnerImportService` hängt sich über ein CDI Observer Pattern an den standard CSVImport Service
der die Cargosoft Stammdaten aktualisiert. Der BusinessPartnerImportService
prüft ob der Workflow schon existiert oder ggf. aktualisiert werden muss.
Der Service migriert auch die alten zusätzlichen IBAN/BIC felder wenn der Business partner erstmals neu angelegt wird. Falls bei der ersten Migration erkannt wird, dass die IBAN Nummern nicht eindeutig sind wir der BusinessParter mit dem Event 300 angelegt.
-
\_vendor_zip_code
\_vendor_fax
(type:cargosoftkreditor) AND ($modified:[20010101 TO 20250215])
## Anmerkungen zu seltsamen Daten
BP4641 existier jetzt 3 mal mit der Debitoren nummer D14641
Feldmühle
- D14169
K74169
K76233 HSH Papier GmbH & Co. KG
D16233 Manfred Ziegler Transport GmbH
Problemkind: https://alexander-logistics-dwc.office-workflow.de/pages/workitems/workitem.xhtml?id=9dd64b0a-cfe1-4174-aea4-0e8af45b823f
# Business Parter Serach Widget
wir müssten eigentlich nach Auswahl des Partner
execute="#{customFormComponents.clientId}" render="#{customFormComponents.clientId}"
machnen, aber das hat einen blöden effekt

20
doc/CARGOSOFT.md Normal file
View file

@ -0,0 +1,20 @@
# Cargosoft Schnittstelle
Für den Austausch von Daten mit Cargosoft verwenden wir verschiedene Subaccounts auf unseren FTP Servern.
## Server Verbindungsdaten
Details siehe [FTP Server](FTP.md)
## Ausgangsrechnungen
Ausgansrechnungen werden von Cargosoft im Verzeichnis `/fromCargosoft/imixs_invoices/` bereitgestellt
Über den Document Importer `type=CARGOSOFT_INVOICE_XML` werden die Dokumente regelmäßig importiert und dann in das Verzeichnis `/fromCargosoft/imixs_invoices/processed/` verschoben
Technisch wird das über die CDI Bean `com.alexanderlogistics.xml.CargosoftXMLInvoiceImportImportService` gesteuert
## Stamdaten / Kreditoren & Debitoren
Die Kreditoren/Debitoren Stammdaten werden von Cargosoft im Verzeichnis `/fromCargosoft/stammdaten/` über die Datei `Vendors.csv` bereitgestellt
Über den Document Importer `CSV` werden die Dokumente regelmäßig importiert bzw. aktualisert

Binary file not shown.

View file

@ -0,0 +1,14 @@
# SEPA Schnittstelle Emirates NBD
Für die Bank Emirates NBD kann die bestehene SEPA Schnittstelle nicht verwendet werden. Hierfür wird eine Excel Basierte Dateischnittstelle benötigt.
Diese ist im Adapter `SEPAExportAdapterNBD` umgesetzt.
## Schnittstelle
Die Schnittstelle ist über den `SEPAExportAdapterNBD` realisiert. Dieser läd das Template für den Bulk File Upload aus dem Textbaustein und befüllt es anhand der Schnittstellenbeschreibung
- businessONLINE - Bulk File Upload specifications_20Columns.pdf

Binary file not shown.

314
doc/KSeF/README.md Normal file
View file

@ -0,0 +1,314 @@
# KSeF API Integration
Java integration for the Polish **Krajowy System e-Faktur (KSeF)** - the national e-invoicing system for Poland.
## Overview
This integration provides secure communication with the KSeF API to upload electronic invoices. It handles the complex multi-step authentication flow and encryption requirements mandated by the Polish tax authorities.
- [Environment Endpoints](https://github.com/CIRFMF/ksef-docs/blob/main/srodowiska.md)
- [KSeF Official Documentation](https://www.gov.pl/web/kas/ksef)
- [KSeF API Specification](https://api-test.ksef.mf.gov.pl/docs/v2/index.html)
- [Upload Invoice](https://api-test.ksef.mf.gov.pl/docs/v2/index.html#tag/Wysylka-interaktywna/paths/~1api~1v2~1sessions~1online~1%7BreferenceNumber%7D~1invoices/post)
- [Facture Details](https://github.com/CIRFMF/ksef-docs/blob/main/sesja-interaktywna.md#2-wys%C5%82anie-faktury)
- [XML Invoice Example](https://github.com/CIRFMF/ksef-docs/blob/main/faktury/weryfikacja-faktury.md)
- [QR Code](https://github.com/CIRFMF/ksef-docs/blob/main/kody-qr.md)
- [Github Discussions](https://github.com/CIRFMF/ksef-docs/issues/351#issuecomment-3538013805)
- [Github Discussions](https://github.com/CIRFMF/ksef-docs/issues/399)
Test environment endpoint:
```
https://api-test.ksef.mf.gov.pl/api/v2
```
Production endpoint:
```
https://api.ksef.mf.gov.pl/api/v2
```
## Components
### 1. KSeFAuthManager
Manages authentication and session lifecycle for the KSeF API.
**Key Responsibilities:**
- Multi-step authentication flow
- RSA certificate management
- Session key generation and encryption
- Access token lifecycle management
- Session reuse and validation
### 2. KSeFAPIService
Provides business-level methods for invoice operations.
**Key Responsibilities:**
- Invoice encryption (AES-256-CBC)
- Invoice upload to KSeF
- Hash calculation and validation
- Error handling and reporting
## Authentication Flow
The KSeF API requires a sophisticated multi-step authentication process:
```
1. Load Public Keys
└─> GET /security/public-key-certificates
2. Challenge Request
└─> POST /auth/challenge
└─> Returns: challenge + timestamp
3. Token Authentication
└─> POST /auth/ksef-token
└─> Encrypts: token|timestamp with RSA-OAEP SHA-256
└─> Returns: authToken + referenceNumber
4. Token Redemption
└─> POST /auth/token/redeem
└─> Returns: accessToken
5. Open Interactive Session
└─> POST /sessions/online
└─> Generates AES-256 key + IV
└─> Encrypts session key with RSA
└─> Returns: sessionRefNumber + validUntil
```
## Invoice Upload Flow
Once authenticated, invoices can be uploaded:
```
1. Reuse or Create Session
└─> Validates existing session or creates new one
2. Encrypt Invoice
└─> AES-256-CBC encryption using session key
3. Calculate Hashes
└─> SHA-256 of original XML
└─> SHA-256 of encrypted XML
4. Upload Invoice
└─> POST /sessions/online/{sessionRef}/invoices
└─> Returns: referenceNumber
```
## Security Features
### Multi-Layer Encryption
- **RSA-OAEP SHA-256**: Token encryption with timestamp binding
- **RSA-OAEP SHA-1**: Session key encryption
- **AES-256-CBC**: Invoice content encryption
### Security Mechanisms
- **Replay Attack Protection**: Timestamp-bound tokens
- **Session Management**: Automatic session reuse and validation
- **Certificate Validation**: Dynamic X.509 certificate loading
- **UTC Timezone Handling**: Prevents timezone-related vulnerabilities
## Usage Example
```java
// Initialize Auth Manager
KSeFAuthManager authManager = new KSeFAuthManager();
authManager.setKsefToken("your-ksef-token");
authManager.setKsefNip("1234567890");
authManager.setKsefEndpoint("https://ksef-test.mf.gov.pl/api/v2");
authManager.init();
// Initialize API Service
KSeFAPIService apiService = new KSeFAPIService();
apiService.kseFAuthManager = authManager;
// Upload Invoice
ItemCollection workitem = new ItemCollection();
FileData fileData = new FileData("invoice.xml", xmlBytes, null, null);
workitem.addFileData(fileData);
String referenceNumber = apiService.uploadInvoice(workitem, "invoice.xml");
System.out.println("Invoice uploaded: " + referenceNumber);
```
## Configuration
Required environment variables:
```properties
ksef.api.token=your-ksef-authentication-token
ksef.api.nip=your-company-nip-number
ksef.api.endpoint=https://ksef-test.mf.gov.pl/api/v2
ksef.api.debug=false
```
## Session Management
The `KSeFAuthManager` automatically handles session lifecycle:
- **Session Reuse**: Validates `sessionValidUntil` timestamp (UTC)
- **Auto-Renewal**: Opens new session if current one expired
- **Thread-Safe**: Uses `@Lock(LockType.WRITE)` for concurrent access
## Testing
Test environment endpoint:
```
https://ksef-test.mf.gov.pl/api/v2
```
Production endpoint:
```
https://ksef.mf.gov.pl/api/v2
```
See `KSeFAPIServiceTest.java` for complete test examples.
## Error Handling
The implementation uses `PluginException` for error handling with two error types:
- `CONFIG_ERROR`: Configuration or setup issues
- `API_ERROR`: API communication or response errors
## Dependencies
- Jakarta EE (EJB, JSON-B)
- Java 11+ (HttpClient, Crypto APIs)
- Imixs Workflow (for document management)
# Validate XML
To validate XML results use xmllint. To install run:
```bash
$ sudo apt install libxml2-utils
```
With the bash script `src/test/resources/ksef/validate_xml.sh` you can test a xml file:
```bash
$ ./validate_xml.sh example-invoice-01.xml
```
or to manual test a xml run:
```bash
$ xmllint --noout --schema 'schemat-FA(3)-v1-0E.xsd' example-invoice-01.xml
example-invoice-01.xml validates
```
# KSeF FA(3) Invoice Types: VAT vs. KOR
This section explains the key differences between regular invoices (VAT) and correction invoices (KOR) in the Polish KSeF system using FA(3) structure.
## Invoice Types
### VAT - Regular Invoice
Standard invoice documenting a sale or service delivery.
### KOR - Correction Invoice
Invoice that corrects a previously issued invoice (VAT, ZAL, or ROZ).
---
## Key Differences
| Element | VAT Invoice | KOR Invoice |
| ------------------------- | -------------------------- | --------------------------------------------- |
| **RodzajFaktury** | `VAT` | `KOR` |
| **P_2 (Invoice Number)** | `216525` | `216525-KOR` (with suffix) |
| **P_1 (Invoice Date)** | Original date (2024-04-03) | Correction date (2024-04-15) |
| **Amount Fields** | Absolute values | **Difference values** (negative or positive) |
| **DaneFaKorygowanej** | ❌ Not present | ✅ **Required** - references original invoice |
| **FaWiersz (Line Items)** | Original values | **New/corrected values** |
---
## Critical: Amount Fields in KOR
**KOR invoices show DIFFERENCES, not absolute amounts!**
### Example: Correction from 4128.00 → 3500.00 EUR
```xml
<!-- VAT Invoice -->
<P_13_1>4128.00</P_13_1> <!-- Total Net -->
<P_14_1>0.00</P_14_1> <!-- Total VAT -->
<P_15>4128.00</P_15> <!-- Total Gross -->
```
```xml
<!-- KOR Invoice -->
<P_13_6_1>-628.00</P_13_6_1> <!-- Difference: 3500 - 4128 = -628 -->
<P_15>-628.00</P_15> <!-- Difference in Total -->
```
## DaneFaKorygowanej Element
**Required in KOR invoices** - Must appear AFTER `<RodzajFaktury>KOR</RodzajFaktury>`
```xml
<DaneFaKorygowanej>
<DataWystFaKorygowanej>2024-04-03</DataWystFaKorygowanej>
<NrFaKorygowanej>216525</NrFaKorygowanej>
<NrKSeF>1</NrKSeF>
<NrKSeFFaKorygowanej>9552521552-20240403-ABCDEF-123456-AB</NrKSeFFaKorygowanej>
</DaneFaKorygowanej>
```
| Field | Description |
| ----------------------- | --------------------------------------------------------- |
| `DataWystFaKorygowanej` | Date of **original** invoice |
| `NrFaKorygowanej` | Number of **original** invoice |
| `NrKSeF` | Flag: `1` = original was in KSeF |
| `NrKSeFFaKorygowanej` | KSeF number of original invoice (mandatory if `NrKSeF=1`) |
⚠️ **Critical:** The KSeF number must be saved when uploading the original VAT invoice!
---
## FaWiersz in KOR
**Line items show the NEW/CORRECTED values**, not differences:
```xml
<!-- VAT Invoice -->
<FaWiersz>
<P_9A>4128.00</P_9A> <!-- Unit price -->
<P_11>4128.00</P_11> <!-- Net value -->
</FaWiersz>
```
```xml
<!-- KOR Invoice -->
<FaWiersz>
<P_9A>3500.00</P_9A> <!-- NEW unit price -->
<P_11>3500.00</P_11> <!-- NEW net value -->
<P_12>0 KR</P_12> <!-- Tax rate (0% for exempted) -->
</FaWiersz>
```
---
# Testdaten
Um Testdaten in die lokale Dev Umgebung zu importieren:
1. aus dem Produktiv Archiv System das XML eines Rechnungs-Snapshots unter /docker/transfer speichern
2. per api Call importieren:
http://localhost:8080/api/cargosoft/import?file=/opt/jboss/wildfly/transfer/f28bf914-04de-4843-9809-54c724bdc9bf-1764111735524.xml

26
doc/KSeF/TEST.md Normal file
View file

@ -0,0 +1,26 @@
# Test Cases
Invoice
| No | currency | Tax % | Netto | Brutto | Imixs | TAXMAN |
| ---- | -------- | ----- | ---------- | ---------- | --------- | ------ |
| 6562 | EUR | 0 | 964,16 | 964,16 | OK |
| 6555 | PLN | 23 | 31820,10 | 40894,7 | OK |
| 6586 | PLN | 23 | 110.146,50 | 141.820,90 | OK |
| 6467 | USD | 0 | 1540,00 | 1540,00 | OK |
| 6567 | EUR | 0 | 9940,96 | 9940,96 | NIP Fehlt |
# Neuer Testlauf
6602 correction invoice where just description was changed, without changing of amounts (price, VAT..)
6816 - correction invoice where amounts where changed (before correction 180 USD, after correction 0 USD)
6811 invoice with more positions, incl. positions with different VAT rate
| No | currency | Tax % | Netto | Brutto | Imixs | TAXMAN |
| ---- | -------- | ----- | ----- | ------ | ----- | ------ |
| 6602 | | 0 | | | | OK |
| 6816 | | 0 | | | | OK |
| 6811 | | 0 | | | | OK |
| | | 0 | | | | |
| | | 0 | | | | |
| | | 0 | | | | |

11183
doc/KSeF/openapi.json Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

75
doc/KSeF/test.xml Normal file
View file

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<Potwierdzenie xmlns="http://upo.schematy.mf.gov.pl/KSeF/v4-2">
<NazwaPodmiotuPrzyjmujacego>Ministerstwo Finansów</NazwaPodmiotuPrzyjmujacego>
<NumerReferencyjnySesji>20251128-SO-1DA83DC000-9430B11465-93</NumerReferencyjnySesji>
<Uwierzytelnienie>
<IdKontekstu>
<Nip>9552521552</Nip>
</IdKontekstu>
<NumerReferencyjnyTokenaKSeF>20251113-EC-2751AC3000-5C5466924B-62</NumerReferencyjnyTokenaKSeF>
</Uwierzytelnienie>
<NazwaStrukturyLogicznej>1-0E</NazwaStrukturyLogicznej>
<KodFormularza>FA (3)</KodFormularza>
<Dokument>
<NipSprzedawcy>9552521552</NipSprzedawcy>
<NumerKSeFDokumentu>9552521552-20251128-010000AA503B-FE</NumerKSeFDokumentu>
<NumerFaktury>216577</NumerFaktury>
<DataWystawieniaFaktury>2024-04-03</DataWystawieniaFaktury>
<DataPrzeslaniaDokumentu>2025-11-28T09:38:18.096+01:00</DataPrzeslaniaDokumentu>
<DataNadaniaNumeruKSeF>2025-11-28T09:38:18.192+01:00</DataNadaniaNumeruKSeF>
<SkrotDokumentu>wk2TorojBbyNYtDODL1l/KCxQi/rlb3Yss/OEmf5HpE=</SkrotDokumentu>
</Dokument>
<Signature Id="Signature" xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>N/EazXugPjJtobeCSm/ShxeSafdffzHFeRo/BLsngR4=</DigestValue>
</Reference>
<Reference URI="#SignedProperties" Type="http://uri.etsi.org/01903#SignedProperties">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>7OYxftjJC1QhSKcWd/oeu7jJaLiO1kFvDCLja8xmNqk=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>
c87dKdbK3Wf2QpeKEEC0H2LMG92YBH95EbKL6wJTqozOzPq6wqj+06CIPX6bIEz8Szup9xWJlJHX+/xzO4NyMxeiXMQOCAiQ4ZnhPLG2EChopNZYGDbVgOMvfSQBSkHODobG8HH+q4fqueya0V+41CnCSzF8f68fcfVTrV8DfAuw3faKYVg4ddfkvFT+AkBCAZ/JPdYzVVN28np33bd1lHNFJ5wNSpILy9h0FF9iJIiB5RMyvJwxx0HlutrhIMUoId5vUW2XLJKAOLJSSntTJf2S4qjMJcgZr/ZVP9GSaBZPBX09nPWrXOfOwIOuakVfq9N2n+ONZ29ivHpZelMWlA==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>
MIIGWDCCBECgAwIBAgIQY1FHALBG7qGuhTJ/Z7W+yjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJQTDEhMB8GA1UECgwYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMRwwGgYDVQQDDBNDZXJ0dW0gU01JTUUgUlNBIENBMB4XDTI1MDkyOTA2MTEzM1oXDTI3MDkyOTA2MTEzMlowgb4xGTAXBgNVBGETEFZBVFBMLTUyNjAyNTAyNzQxCzAJBgNVBAYTAlBMMRQwEgYDVQQIDAttYXpvd2llY2tpZTERMA8GA1UEBwwIV2Fyc3phd2ExHzAdBgNVBAoMFk1pbmlzdGVyc3R3byBGaW5hbnPDs3cxHzAdBgNVBAMMFk1pbmlzdGVyc3R3byBGaW5hbnPDs3cxKTAnBgkqhkiG9w0BCQEWGmtvbnN1bHRhY2plLmtzZWZAbWYuZ292LnBsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtL+kpQU8d16im5Z3wIEzo7GqfQF8zWEYZqN5JroiX2ePVACR3znmoo4zx0krVEyhtKKB2/oE3Ql2M5sxaRWC/hnBMLj8r7uAJ/v3lQqzGYAf0ImwRy1H+nF4OS0B1U0m7wD2dGXOSQdbPNVru8SZ9Nw6IcsuAsHezy8EagEIffl+zA/GWtAG6Mp8Bxj3K8LkUdZp70Faaeiv25kOuvT7vThePW+qNFhpdktYQT56lGOmWJqKsm0QtdMzAy1o7bfWeAFLfP7DU3Okk/oz9NqUJc8Swih2ligWN/+g/nwFxcEMrQ4GWE3FDQogNz6kySZ7OIqN//kY1SXXb1nQ1MVAXQIDAQABo4IBvzCCAbswDAYDVR0TAQH/BAIwADBBBgNVHR8EOjA4MDagNKAyhjBodHRwOi8vY3NtaW1lcnNhY2EuY3JsLmNlcnR1bS5wbC9jc21pbWVyc2FjYS5jcmwwgYMGCCsGAQUFBwEBBHcwdTAuBggrBgEFBQcwAYYiaHR0cDovL2NzbWltZXJzYWNhLm9jc3AtY2VydHVtLmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NzbWltZXJzYWNhLnJlcG9zaXRvcnkuY2VydHVtLnBsL2NzbWltZXJzYWNhLmNlcjAfBgNVHSMEGDAWgBRm+8MPvvS/4JzJq03eRxm9wMqmaDAdBgNVHQ4EFgQUGwFEj1u0JETJoPhJu2cKjErLsUwwTAYDVR0gBEUwQzAJBgdngQwBBQICMDYGCyqEaAGG9ncCZAMBMCcwJQYIKwYBBQUHAgEWGWh0dHBzOi8vd3d3LmNlcnR1bS5wbC9DUFMwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIE8DAlBgNVHREEHjAcgRprb25zdWx0YWNqZS5rc2VmQG1mLmdvdi5wbDANBgkqhkiG9w0BAQsFAAOCAgEAOfiPMXAeftxKk6fMiRud/VZnQixhHqBakVx11ToO7m8qGW3gj2NJDkIoIWVuRIDpz6bg7vRoyPE0mSjYkjxXfb/gaAHVM1e9vGd5cN5esvJVc9wAbLY/e1ZAg7K8IHE+SQYjLsm0ykCQcnnamzEjSD6CArGUmvwJr33OnlNusVdSZ6ar+EexAEbwBUYL+8aeKYwXn+M928h4W831LxYoVv1WaNFfgUJHjFrIUNeSuXHLG0BslrJwJuy26UQaxiM0FSNJQyeSF5Xt3K+V7EuzX4jf3yfOcTwUrt/4Lq6AEH+konMj5OZurS75aA06NbR6L4hUWfdCFRIx561Y2sHeNlggONsvvQ//z0P9IVk65RqDz21DPt688SRJ5BL5wGo9CDn29+G8VEECPRuhe+UAoQOL/9iQ2mReybunuliarQCLGya/+Ig9QRZe9BWhlN7im1B+7kaMmTbGqzmUkiFoabH+hIqqh72o5B05H9U8R0o7PpI9oJZ95edst1y9fCXw5fbly5Y3N3lR78Ui3AkUf6NN6ZtsMixVHZS8qD/QTaXDX4ez8Kz1PkMGrPWYC0L64PZzyWGZmm3RNtvv/uqx4X/L0Kyu5Dp5+H5BJyQAGh+wHJ5TadGuzASThvuB+fXEhwO3Y+bS41G2czc1vf3s9DXSqMZykYVzRbPQ2XUWkzQ=</X509Certificate>
</X509Data>
</KeyInfo>
<Object>
<xades:QualifyingProperties Target="#Signature"
xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"
xmlns="http://www.w3.org/2000/09/xmldsig#">
<xades:SignedProperties Id="SignedProperties">
<xades:SignedSignatureProperties>
<xades:SigningTime>2025-11-28T08:38:18.2360956+00:00</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<DigestMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>IFnqTIVQHeVNK0sYY9kn/o3hT2FGIV6U7keiW0zj/Ig=</DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<X509IssuerName>CN=Certum SMIME RSA CA, O=Asseco Data Systems
S.A., C=PL</X509IssuerName>
<X509SerialNumber>132015587733884965165641957463135993546</X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</Object>
</Signature>
</Potwierdzenie>

47
doc/METRICS.md Normal file
View file

@ -0,0 +1,47 @@
# Metrics
**Konzept Verworfen!**
## Background:
https://blog.imixs.org/2025/02/02/business-intelligence-built-on-metrics-part-ii/
**Die Implementierung war Teil von Version 1.3.1!**
## Testing
Curl
$ curl -s http://localhost:9990/metrics
$ curl -s http://localhost:9990/metrics | grep BP4218
```
application_dbtr_balance{country="", currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 60911.28
application_dbtr_balance{country="US",currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 257955.41
application_dbtr_sales{country="", currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 60911.28
application_dbtr_sales{country="US", currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 279028.91
```
Rayonier Advanced Materials
Debitor 74218
293.535,19 EUR
Metric saldo: 318866.69
# Jetzt berechnen wir neu...
https://alexander-logistics.office-workflow.de/api/metrics/dbtr/rebuild
application_dbtr_balance{country="", currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 60911.28
application_dbtr_balance{country="US",currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 364457.85
application_dbtr_sales{country="", currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 60911.28
application_dbtr_sales{country="US", currency="EUR",department="Import Zellulose/Holz",id="BP4218",name="Rayonier Advanced Materials",type="dbtr"} 364457.85

View file

@ -0,0 +1,495 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2013 sp1 (x64) (http://www.altova.com) von Uwe Droste (CargoSoft GmbH) bearbeitet -->
<!-- edited with XMLSpy v2018 rel. 2 sp1 (x64) (http://www.altova.com) by (CargoSoft GmbH) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="https://xsd.cargosoft.de/CargoSoftFile/CargoSoftFile-2023.1.xsd"/>
<xs:include schemaLocation="https://xsd.cargosoft.de/CargoSoftCommon/CargoSoftCommon-2023.1.xsd"/>
<xs:element name="Invoices">
<xs:annotation>
<xs:documentation>Illustration of invoices in CargoSoft</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Message" type="Message"/>
<xs:element name="Invoice" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="InvoiceHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="Client" type="CodeAndDescription">
<xs:annotation>
<xs:documentation>eafako_t.mandant</xs:documentation>
<xs:documentation>db field: eafako_t.mandant</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Branch" type="CodeAndDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.niederlassung</xs:documentation>
<xs:documentation>db field: eafako_t.niederlassung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceNumber" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>On Import: If null, CargoSoft will generate the
invoice number from a number range based on the invoice type On
Export: CS will send this number eafako_t.rechnr
</xs:documentation>
<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceType" type="CodeAndDescription">
<xs:annotation>
<xs:documentation>invoice, creditnote, cancellationeafako_t.art_kennz
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceCurrency" type="Currency" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_wg_sch</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceAmount" type="InvoiceAmount"/>
<xs:element name="CollectionInvoice" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.bu_per</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingInformation" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.buchungstext</xs:documentation>
<xs:documentation>db field:eafako_t.buchungstext</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingPeriod" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>yyyymm: etc: 201002eafako_t.bu_per</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Booked" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.gebucht</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Cancelled" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.storniert</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CancellationInvoiceNumber" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.beleg_storniert</xs:documentation>
<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Correction" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.storniert</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CorrectionInvoiceNumber" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.beleg_korrigiert</xs:documentation>
<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Allocation" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.kontierung</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="COST"/>
<xs:enumeration value="REVENUE"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AlreadyPaid" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.lr_bezahlt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SecuredROE" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.kurs_sicher</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CostUnit" type="CodeAndDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_kst_mc</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Barcode" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.barcode</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>eafako_t.redatum</xs:documentation>
<xs:documentation>db field: eafako_t.redatum</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceAddress" type="InvoiceAddressType"
maxOccurs="unbounded"/>
<xs:element name="PaymentConditions" minOccurs="0">
<xs:annotation>
<xs:documentation>Payment conditions</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PaymentCondition">
<xs:annotation>
<xs:documentation>Payment condition codeeafako_t.fk_zb_kz
</xs:documentation>
<xs:documentation>dbfield: eafako_t.fk_zb_kz
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="CodeAndDescription"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="NumberOfDays" type="xs:integer" minOccurs="0"/>
<xs:element name="DueDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.valdatum</xs:documentation>
<xs:documentation>db field: eafako_t.val_datum
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CreationDate" type="DateTimeType" minOccurs="0"/>
<xs:element name="LastUpdateInformation" minOccurs="0">
<xs:annotation>
<xs:documentation>Information about date, time and
usereafako_t.fk_mitarb_logineafako_t.systemdateafako_t.systemzeit
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="UpdateDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation/>
<xs:documentation>db field: eafako_t.system_datum
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UpdateTime" type="xs:time" minOccurs="0">
<xs:annotation>
<xs:documentation/>
<xs:documentation>db field: eafako-t.systemzeit
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="User" minOccurs="0">
<xs:annotation>
<xs:documentation>User information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Login" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation>db field:
eafako_t.fk_mitarb_login
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Name" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="Email" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="Telephone" type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="Fax" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OrderData" type="OrderDataType" minOccurs="0"/>
<xs:element name="References" type="References" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.rech_referenz</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Attachments" minOccurs="0">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Attachment" type="AttachmentType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
<xs:element name="PerformanceDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.leistdatum</xs:documentation>
<xs:documentation>db field: eafako_t.leistdatum</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:integer">
<xs:annotation>
<xs:documentation>fibuko_t oder eafako_t</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="InvoiceRows">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="InvoiceRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Row" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafapo_t.zeile</xs:documentation>
<xs:documentation>db field: eafapo_t.zeile
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FileNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafapo_t.fk_eakopf_posnr
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BillingCode" type="CodeAndDescription"
minOccurs="0">
<xs:annotation>
<xs:documentation>Billing codeseafapo_t.fk_aart_nr
</xs:documentation>
<xs:documentation>db field: eafapo_t.fk_aart_nr
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BillingTexts" minOccurs="0">
<xs:annotation>
<xs:documentation>Billing Text (5 rows possible)
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BillingText" type="xs:string"
minOccurs="0" maxOccurs="5">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation>db field: eafapo_t.abr_text,
eafapo_t.abr_text2,
eafapo_t.abr_text3,eafapo_t.abr_text4,
eafapo_t.abr_text5
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InvoiceAmount" type="InvoiceAmount"/>
<xs:element name="CostUnit" type="CodeAndDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_kst_mc</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ActivityType" type="CodeAndDescription"
minOccurs="0">
<xs:annotation>
<xs:documentation>Activity type codeeafapo_t.fk_lart_nr
</xs:documentation>
<xs:documentation>db field: eafapo_t.fk_lart_nr
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingInformation" type="xs:string"
minOccurs="0"/>
<xs:element name="ImpersonalAccountNumber" type="CodeAndDescription"
minOccurs="0"/>
<xs:element name="DifferingBookingPeriod" type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>yyyymm: etc: 201002eafako_t.bu_per
</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ATCNumber" type="xs:string" minOccurs="0"/>
<xs:element name="AdditionalFields" type="AdditionalFieldType"
minOccurs="0"/>
<xs:element name="SinglePrice" type="xs:decimal" minOccurs="0"/>
<xs:element name="Accrualnumber" type="xs:integer" minOccurs="0"/>
<xs:element name="InvoiceAddress" type="InvoiceAddressType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="OrderData" type="OrderDataType" minOccurs="0"/>
<xs:element name="ShipExchangeRate" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Currency" type="Currency"
minOccurs="0">
<xs:annotation>
<xs:documentation>Currency Code of shiip
exchange rate, eafapo_t.fk_wg_schiffskurs
</xs:documentation>
<xs:documentation>db_field: eafako_t.fk_wg_sch
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExchangeRate" type="xs:double"
minOccurs="0">
<xs:annotation>
<xs:documentation>Based on the domestic
currency, eafapo_t.schiffskurs
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InverseRate" type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>Inverse rate is the opposite
ratio of the exchange rate, value:
true/false , eafapo_t.schiffskurs_invers
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CargoSoftFiles" minOccurs="0">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="File"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="version" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:complexType name="OrderDataType">
<xs:sequence>
<xs:element name="FileNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_eakopf_posnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ModeOfTransport" type="xs:string" minOccurs="0"/>
<xs:element name="OrderDirection" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.bereich</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IMPORT"/>
<xs:enumeration value="EXPORT"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MainDepartment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eakopf_t.hauptabteilung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SubDepartment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eakopf_t.unterabteilung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfGoods" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.anzahl_kolli</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DescriptionOfGoods" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.inhalt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WeightOfGoods" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.gewicht</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="VolumeOfGoods" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cbm</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ChargableWeightOfGoods" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.frachtpfl_gewicht</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfContainers20" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cont_20_ctr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfContainers40" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cont_40_ctr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfContainers45" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cont_45_ctr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
<xs:element name="Waybill" minOccurs="0">
<xs:annotation>
<xs:documentation>AWB or BL Number</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

View file

@ -0,0 +1,495 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2013 sp1 (x64) (http://www.altova.com) von Uwe Droste (CargoSoft GmbH) bearbeitet -->
<!-- edited with XMLSpy v2018 rel. 2 sp1 (x64) (http://www.altova.com) by (CargoSoft GmbH) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="https://xsd.cargosoft.de/CargoSoftFile/CargoSoftFile-2023.1.xsd"/>
<xs:include schemaLocation="https://xsd.cargosoft.de/CargoSoftCommon/CargoSoftCommon-2023.1.xsd"/>
<xs:element name="Invoices">
<xs:annotation>
<xs:documentation>Illustration of invoices in CargoSoft</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Message" type="Message"/>
<xs:element name="Invoice" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="InvoiceHeader">
<xs:complexType>
<xs:sequence>
<xs:element name="Client" type="CodeAndDescription">
<xs:annotation>
<xs:documentation>eafako_t.mandant</xs:documentation>
<xs:documentation>db field: eafako_t.mandant</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Branch" type="CodeAndDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.niederlassung</xs:documentation>
<xs:documentation>db field: eafako_t.niederlassung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceNumber" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>On Import: If null, CargoSoft will generate the
invoice number from a number range based on the invoice type On
Export: CS will send this number eafako_t.rechnr
</xs:documentation>
<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceType" type="CodeAndDescription">
<xs:annotation>
<xs:documentation>invoice, creditnote, cancellationeafako_t.art_kennz
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceCurrency" type="Currency" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_wg_sch</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceAmount" type="InvoiceAmount"/>
<xs:element name="CollectionInvoice" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.bu_per</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingInformation" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.buchungstext</xs:documentation>
<xs:documentation>db field:eafako_t.buchungstext</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingPeriod" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>yyyymm: etc: 201002eafako_t.bu_per</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Booked" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.gebucht</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Cancelled" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.storniert</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CancellationInvoiceNumber" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.beleg_storniert</xs:documentation>
<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Correction" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.storniert</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CorrectionInvoiceNumber" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.beleg_korrigiert</xs:documentation>
<xs:documentation>db field: eafako_t.rechnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Allocation" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.kontierung</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="COST"/>
<xs:enumeration value="REVENUE"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AlreadyPaid" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.lr_bezahlt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SecuredROE" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>true/falseeafako_t.kurs_sicher</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CostUnit" type="CodeAndDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_kst_mc</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Barcode" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.barcode</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceDate" type="xs:dateTime">
<xs:annotation>
<xs:documentation>eafako_t.redatum</xs:documentation>
<xs:documentation>db field: eafako_t.redatum</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InvoiceAddress" type="InvoiceAddressType"
maxOccurs="unbounded"/>
<xs:element name="PaymentConditions" minOccurs="0">
<xs:annotation>
<xs:documentation>Payment conditions</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PaymentCondition">
<xs:annotation>
<xs:documentation>Payment condition codeeafako_t.fk_zb_kz
</xs:documentation>
<xs:documentation>dbfield: eafako_t.fk_zb_kz
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="CodeAndDescription"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="NumberOfDays" type="xs:integer" minOccurs="0"/>
<xs:element name="DueDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.valdatum</xs:documentation>
<xs:documentation>db field: eafako_t.val_datum
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CreationDate" type="DateTimeType" minOccurs="0"/>
<xs:element name="LastUpdateInformation" minOccurs="0">
<xs:annotation>
<xs:documentation>Information about date, time and
usereafako_t.fk_mitarb_logineafako_t.systemdateafako_t.systemzeit
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="UpdateDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation/>
<xs:documentation>db field: eafako_t.system_datum
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UpdateTime" type="xs:time" minOccurs="0">
<xs:annotation>
<xs:documentation/>
<xs:documentation>db field: eafako-t.systemzeit
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="User" minOccurs="0">
<xs:annotation>
<xs:documentation>User information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Login" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation>db field:
eafako_t.fk_mitarb_login
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Name" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="Email" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="Telephone" type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
<xs:element name="Fax" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation/>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OrderData" type="OrderDataType" minOccurs="0"/>
<xs:element name="References" type="References" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.rech_referenz</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Attachments" minOccurs="0">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Attachment" type="AttachmentType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
<xs:element name="PerformanceDate" type="xs:dateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.leistdatum</xs:documentation>
<xs:documentation>db field: eafako_t.leistdatum</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:integer">
<xs:annotation>
<xs:documentation>fibuko_t oder eafako_t</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="InvoiceRows">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="InvoiceRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Row" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafapo_t.zeile</xs:documentation>
<xs:documentation>db field: eafapo_t.zeile
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FileNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafapo_t.fk_eakopf_posnr
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BillingCode" type="CodeAndDescription"
minOccurs="0">
<xs:annotation>
<xs:documentation>Billing codeseafapo_t.fk_aart_nr
</xs:documentation>
<xs:documentation>db field: eafapo_t.fk_aart_nr
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BillingTexts" minOccurs="0">
<xs:annotation>
<xs:documentation>Billing Text (5 rows possible)
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BillingText" type="xs:string"
minOccurs="0" maxOccurs="5">
<xs:annotation>
<xs:documentation>Optional will not be
processed
</xs:documentation>
<xs:documentation>db field: eafapo_t.abr_text,
eafapo_t.abr_text2,
eafapo_t.abr_text3,eafapo_t.abr_text4,
eafapo_t.abr_text5
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InvoiceAmount" type="InvoiceAmount"/>
<xs:element name="CostUnit" type="CodeAndDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_kst_mc</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ActivityType" type="CodeAndDescription"
minOccurs="0">
<xs:annotation>
<xs:documentation>Activity type codeeafapo_t.fk_lart_nr
</xs:documentation>
<xs:documentation>db field: eafapo_t.fk_lart_nr
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BookingInformation" type="xs:string"
minOccurs="0"/>
<xs:element name="ImpersonalAccountNumber" type="CodeAndDescription"
minOccurs="0"/>
<xs:element name="DifferingBookingPeriod" type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>yyyymm: etc: 201002eafako_t.bu_per
</xs:documentation>
<xs:documentation>db field: eafako_t.bu_per
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ATCNumber" type="xs:string" minOccurs="0"/>
<xs:element name="AdditionalFields" type="AdditionalFieldType"
minOccurs="0"/>
<xs:element name="SinglePrice" type="xs:decimal" minOccurs="0"/>
<xs:element name="Accrualnumber" type="xs:integer" minOccurs="0"/>
<xs:element name="InvoiceAddress" type="InvoiceAddressType"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="OrderData" type="OrderDataType" minOccurs="0"/>
<xs:element name="ShipExchangeRate" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Currency" type="Currency"
minOccurs="0">
<xs:annotation>
<xs:documentation>Currency Code of shiip
exchange rate, eafapo_t.fk_wg_schiffskurs
</xs:documentation>
<xs:documentation>db_field: eafako_t.fk_wg_sch
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExchangeRate" type="xs:double"
minOccurs="0">
<xs:annotation>
<xs:documentation>Based on the domestic
currency, eafapo_t.schiffskurs
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InverseRate" type="xs:boolean"
minOccurs="0">
<xs:annotation>
<xs:documentation>Inverse rate is the opposite
ratio of the exchange rate, value:
true/false , eafapo_t.schiffskurs_invers
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CargoSoftFiles" minOccurs="0">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="File"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="version" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:complexType name="OrderDataType">
<xs:sequence>
<xs:element name="FileNumber" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.fk_eakopf_posnr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ModeOfTransport" type="xs:string" minOccurs="0"/>
<xs:element name="OrderDirection" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.bereich</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IMPORT"/>
<xs:enumeration value="EXPORT"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MainDepartment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eakopf_t.hauptabteilung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SubDepartment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eakopf_t.unterabteilung</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfGoods" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.anzahl_kolli</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DescriptionOfGoods" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.inhalt</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WeightOfGoods" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.gewicht</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="VolumeOfGoods" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cbm</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ChargableWeightOfGoods" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.frachtpfl_gewicht</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfContainers20" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cont_20_ctr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfContainers40" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cont_40_ctr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfContainers45" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>eafako_t.cont_45_ctr</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AdditionalFields" type="AdditionalFieldType" minOccurs="0"/>
<xs:element name="Waybill" minOccurs="0">
<xs:annotation>
<xs:documentation>AWB or BL Number</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

View file

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--XML-Beispieldatei von XMLSpy generiert v2013 sp1 (x64) (http://www.altova.com)-->
<Invoices xsi:noNamespaceSchemaLocation="CargoSoftInvoice_2.0.4.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Message>
<SenderID>CARGOSOFT</SenderID>
<ReceiverID>CUSTOMER</ReceiverID>
<Timezone>UTC</Timezone>
<MessageID>1</MessageID>
<MessageDate>
<DateTime>2013-07-05T08:17:52</DateTime>
</MessageDate>
</Message>
<Invoice>
<InvoiceHeader>
<Client>
<Description>Cargosoft GmbH</Description>
<Codes>
<Code Type="cs">001</Code>
</Codes>
</Client>
<Branch>
<Description>CargoSoft GmbH</Description>
<Codes>
<Code Type="cs">BRE</Code>
</Codes>
</Branch>
<InvoiceNumber>889456</InvoiceNumber>
<InvoiceType>
<Description>Ausgangsrechnung</Description>
<Codes>
<Code Type="cs">R</Code>
</Codes>
</InvoiceType>
<InvoiceCurrency>
<Description>EURO</Description>
<Codes>
<Code Type="cs">EUR</Code>
</Codes>
</InvoiceCurrency>
<InvoiceAmount>
<NetAmount>
<Amount isDomesticCurrency="true">
<Currency>
<Description>EURO</Description>
<Codes>
<Code Type="cs">EUR</Code>
</Codes>
</Currency>
<Value>100.00</Value>
<ExchangeRate>0.00</ExchangeRate>
</Amount>
</NetAmount>
<VATInformation>
<VAT>
<Description>steuerfrei</Description>
<Codes>
<Code Type="cs">0</Code>
</Codes>
<VATRate>0.00</VATRate>
</VAT>
<VATAmount>
<Amount isDomesticCurrency="true">
<Currency>
<Description>EURO</Description>
<Codes>
<Code Type="cs">EUR</Code>
</Codes>
</Currency>
<Value>0.00</Value>
<ExchangeRate>0.00</ExchangeRate>
</Amount>
</VATAmount>
</VATInformation>
</InvoiceAmount>
<CollectionInvoice>false</CollectionInvoice>
<BookingInformation>Buchungstext</BookingInformation>
<BookingPeriod>201307</BookingPeriod>
<Cancelled>false</Cancelled>
<Allocation>COST</Allocation>
<CostUnit>
<Description>Export Allgemein</Description>
<Codes>
<Code Type="cs">130</Code>
</Codes>
</CostUnit>
<Barcode>Barcode</Barcode>
<InvoiceDate>2013-07-05T00:00:00Z</InvoiceDate>
<InvoiceAddress type="RECEIVER">
<Codes>
<Code Type="cs">G532939</Code>
</Codes>
<Formated>
<Name>Cargosoft GmbH</Name>
<Street>Linzer Straße 3</Street>
<PostalCode>28359</PostalCode>
<City>Bremen</City>
<Country>
<CountryCode>DE</CountryCode>
<Name>Deutschland</Name>
</Country>
</Formated>
<References>
<Reference type="VAT-NO">XX</Reference>
<Reference type="GLOBAL-ID">XX</Reference>
<Reference type="Bankverbindung1">XX</Reference>
<Reference type="Bankname">XX</Reference>
<Reference type="Bankkontonummer">XX</Reference>
<Reference type="SwiftCode">XX</Reference>
</References>
</InvoiceAddress>
<PaymentConditions>
<PaymentCondition>
<Description>Zahlbar innerhalb von 30 Tagen</Description>
<Codes>
<Code Type="cs">30</Code>
</Codes>
</PaymentCondition>
<NumberOfDays>30</NumberOfDays>
<DueDate>2013-07-30T00:00:00Z</DueDate>
</PaymentConditions>
<LastUpdateInformation>
<UpdateDate>2013-07-05T00:00:00Z</UpdateDate>
<UpdateTime>14:20:00.0Z</UpdateTime>
<User>
<Login>hmeyer</Login>
<Name>Hans Meyer</Name>
<Email>hmeyer@cargosoft.de</Email>
<Telephone>+49 421 98500 0</Telephone>
<Fax>+49 421 98500 191</Fax>
</User>
</LastUpdateInformation>
<References>
<Reference type="cs">R123 G467</Reference>
</References>
</InvoiceHeader>
<InvoiceRows>
<InvoiceRow>
<Row>1</Row>
<FileNumber>1234567847</FileNumber>
<BillingCode>
<Description> HANDLING FEE</Description>
<Codes>
<Code Type="cs">HAND</Code>
</Codes>
</BillingCode>
<BillingTexts>
<BillingText>HANDLING FEE</BillingText>
</BillingTexts>
<InvoiceAmount>
<NetAmount>
<Amount isDomesticCurrency="true">
<Currency>
<Description>EURO</Description>
<Codes>
<Code Type="cs">EUR</Code>
</Codes>
</Currency>
<Value>100.00</Value>
<ExchangeRate>0.00</ExchangeRate>
</Amount>
</NetAmount>
<VATInformation>
<VAT>
<Description>steuerfrei</Description>
<Codes>
<Code Type="cs">0</Code>
</Codes>
<VATRate>0.00</VATRate>
</VAT>
<VATAmount>
<Amount isDomesticCurrency="true">
<Currency>
<Description>EURO</Description>
<Codes>
<Code Type="cs">EUR</Code>
</Codes>
</Currency>
<Value>0.00</Value>
<ExchangeRate>0.00</ExchangeRate>
</Amount>
</VATAmount>
</VATInformation>
</InvoiceAmount>
<CostUnit>
<Description>Export Allgemein</Description>
<Codes>
<Code Type="cs">130</Code>
</Codes>
</CostUnit>
<ActivityType>
<Description>Handling</Description>
<Codes>
<Code Type="cs">HAND</Code>
</Codes>
</ActivityType>
<BookingInformation>Buchungstext</BookingInformation>
</InvoiceRow>
</InvoiceRows>
</Invoice>
</Invoices>

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--XML-Beispieldatei von XMLSpy generiert v2013 sp1
(x64) (http://www.altova.com)-->
<CargoSoftEFile version="String" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="CargoSoftEFile-2021.4.xsd">
<Message>
<SenderID>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</SenderID>
<ReceiverID>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</ReceiverID>
<Timezone>String</Timezone>
<MessageID>String</MessageID>
<MessageDate>
<DateTime>2001-12-17T09:30:47Z</DateTime>
</MessageDate>
<Provider>
<CargoSoftDatabaseVersion>2021.4</CargoSoftDatabaseVersion>
<CargoServiceVersion>2021.4</CargoServiceVersion>
<InterfaceRevisionNumber>String</InterfaceRevisionNumber>
<InterfaceModificationDate>String</InterfaceModificationDate>
<InterfaceModificationUser>String</InterfaceModificationUser>
<InterfaceConfigurationHash>String</InterfaceConfigurationHash>
</Provider>
</Message>
<EFile id="1928373">
<Description>
<DocDate>
<DateTime>2001-12-17T09:30:47Z</DateTime>
</DocDate>
<DocType>String</DocType>
<Title>String</Title>
</Description>
<Attachments>
<Attachment id="0">
<Version>0</Version>
<Filename>String</Filename>
<MimeType>String</MimeType>
<FileDate>
<DateTime>2001-12-17T09:30:47Z</DateTime>
</FileDate>
<Md5>String</Md5>
<FileSize>0</FileSize>
<Content>
UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhiUjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhiUjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi</Content>
</Attachment>
</Attachments>
<References>
<Reference id="1983733" type="client">001</Reference>
<Reference id="1983734" type="cs_voucher_number ">100012234</Reference>
<Reference id="1983735" type="cs_voucher_type">LR</Reference>
<Reference id="1983736" type="cs_address_number">G45677</Reference>
<Reference id="1983737" type="currency">USD</Reference>
<Reference id="1983738" type="voucherdate">12.12.2022</Reference>
<Reference id="1983739" type="total_net_amount">1234.78</Reference>
<Reference id="1983740" type="total_tax_amount">47.11</Reference>
<Reference id="1983741" type="currency_rate">1.000283</Reference>
<Reference id="1983742" type="reference">ATC400009450420242452</Reference>
<Reference id="1983743" type="booking_period">202404</Reference>
<Reference id="1983744" type="booking_date">04.04.2024</Reference>
<Reference id="1983745" type="booking_text">ATLAS Steuerbescheid</Reference>
<Reference id="1983746" type="row_1_activity_type">ZOLL</Reference>
<Reference id="1983747" type="row_1_amount">1000.00</Reference>
<Reference id="1983748" type="row_1_tax_code">0</Reference>
<Reference id="1983749" type="row_1_cs_filenumber">LA-ZEL-2403-004</Reference>
<Reference id="1983750" type="row_2_activity_type">EUST</Reference>
<Reference id="1983751" type="row_2_amount">234.78</Reference>
<Reference id="1983752" type="row_2_tax_code">0</Reference>
<Reference id="1983753" type="row_2_cs_filenumber">LA-ZEL-2403-00</Reference>
</References>
</EFile>
</CargoSoftEFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
doc/images/zoho-001.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

BIN
doc/images/zoho-002.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

94
doc/zoho/README.md Normal file
View file

@ -0,0 +1,94 @@
# Zoho Web API
AGL Dubai nutzt Zoho als Platform zusammen mit einer lokalen Steuerkanzlei
https://books.zoho.com/
Testaccount - siehe [SECRETS.md](SECRETS.md)
# API Dokumentation
- API Docu: https://www.zoho.com/books/api/v3/introduction/
- Authentication: https://www.zoho.com/books/api/v3/oauth/
# Testumgebung
https://books.zoho.eu/app/20105697367
https://accounts.zoho.eu/home#
Base API URI= https://accounts.zoho.eu/
## 1. Client Einrichten
https://api-console.zoho.eu/
## 2. Generating Grant Token
https://accounts.zoho.com/oauth/v2/auth?scope=ZohoBooks.invoices.CREATE,ZohoBooks.invoices.READ,ZohoBooks.invoices.UPDATE,ZohoBooks.invoices.DELETE&client_id=1000.NLTM2KUEHI696MSLGEIANATVGGX7IN&state=testing&response_type=code&redirect_uri=https://alexander-logistics-dwc.office-workflow.de/api/zoho/grant
1000.NLTM2KUEHI696MSLGEIANATVGGX7IN
ee9ba49f16e77c64abb89cea13542d2326d8d03ce8
## 3. Generate Access and Refresh Token
https://accounts.zoho.com/oauth/v2/token?code=1000.dd7exxxxxxxxxxxxxxxxxxxxxxxx9bb8.b6c0xxxxxxxxxxxxxxxxxxxxxxxxdca4&client_id=1000.NLTM2KUEHI696MSLGEIANATVGGX7IN&client_secret=ee9ba49f16e77c64abb89cea13542d2326d8d03ce8&redirect_uri=http://www.zoho.com/books&grant_type=authorization_code
# Self Client
Man kann bei zoho mit einem sogenannten 'Self Client' arbeiten. Dieser erlaubt es ohne Redirect auf die Zoho Webseite einen Code anzufordern:
## 1. Self Client einrichten
Auf die API COnsole von Zoho zugreifen:
https://api-console.zoho.eu/client/1000.GR5FTPZYB06HEWSFSSX4DJU3OBD4EJ
<img src="../images/zoho-001.png" width="800">
Es kann maximal ein Client eingerichtet werden
Unter Scope trägt man dann den gewünschten Scope ein. Z.B.:
ZohoBooks.invoices.CREATE,ZohoBooks.invoices.READ,ZohoBooks.invoices.UPDATE,ZohoBooks.invoices.DELETE
und eine Description
<img src="../images/zoho-002.png">
Den generierten Code nun in Anwendung übertragen und innerhalb (!!) der 'Time Duration' den Access und Refresh Token generieren!
Siehe Junit Test `TestUpdateTokens`
Find details also [here](https://www.zoho.com/writer/help/api/v1/oauth-step2.html#self-client)
## Example for JUnit Test
Der Junit Test `TestUpdateTokens` zeigt das Prinzip
```
client ID= 1000.GR5FTPZYB06HEWSFSSX4DJU3OBD4EJ
client secret= 3f3e74c5212bbc924a7ebf77f887c6296db1106c47
```
In der Web GUi einen neuen Code generieren:
Scope=ZohoBooks.invoices.CREATE,ZohoBooks.invoices.READ,ZohoBooks.invoices.UPDATE,ZohoBooks.invoices.DELETE
Danach den Code token kopieren:
1000.7fe6315e8848b92a2f281b885677d37a.428c02dc2309606c86271842f1f67de4
**Note:** Der Code muss für Test immer wieder neu erstellt werden, da er nur für einige Minuten gültig ist!
# Disable auto-generated invoice number
Um die Automatische Vergabe von Rechnungsnummern in Zoho zu deaktivieren kann wie folgt vorgegangen werden:
1. Unter 'Invoices' eine neue Rechnung anlegen#
2. Im Feld 'Invoice#' das Zahnrad anklicken:
<img src="disable-auto-generated-number-01.png" />
3. Und dort die Option "Enter invoice numbers manually" auswählen
<img src="disable-auto-generated-number-02.png" />

View file

@ -0,0 +1,167 @@
{
"code": 0,
"message": "The bill has been created.",
"bill": {
"bill_id": "6206847000000103003",
"vendor_id": "6206847000000100015",
"vendor_name": "Feldmuehle GmbH",
"source": "Api",
"contact_category": "",
"tax_treatment": "",
"unused_credits_payable_amount": 0.00,
"status": "paid",
"color_code": "",
"current_sub_status_id": "",
"current_sub_status": "paid",
"sub_statuses": [],
"bill_number": "28195",
"date": "2024-07-26",
"due_date": "2024-07-26",
"discount_setting": "flat",
"tds_calculation_type": "tds_item_level",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_expected_date": "",
"reference_number": "",
"scanned_po_number": "",
"recurring_bill_id": "",
"due_by_days": 286,
"due_in_days": "",
"currency_id": "6206847000000000109",
"currency_code": "EUR",
"currency_symbol": "€",
"currency_name_formatted": "EUR- Euro",
"documents": [],
"subject_content": "",
"price_precision": 2,
"exchange_rate": 1.00,
"custom_fields": [],
"custom_field_hash": {},
"is_viewed_by_client": false,
"client_viewed_time": "",
"is_item_level_tax_calc": false,
"is_inclusive_tax": false,
"tax_rounding": "entity_level",
"is_uber_bill": false,
"is_tally_bill": false,
"track_discount_in_account": true,
"is_bill_reconciliation_violated": false,
"bill_order_type": "",
"line_items": [
{
"purchaseorder_id": "",
"purchaseorder_item_id": "",
"receive_id": "",
"line_item_id": "6206847000000103013",
"item_id": "",
"name": "AB-DEFGHI-1234-567",
"account_id": "6206847000000092271",
"account_name": "TEst",
"description": "",
"bcy_rate": 0.00,
"rate": 0.00,
"sales_rate": "",
"pricebook_id": "",
"header_id": "",
"header_name": "",
"tags": [],
"quantity": 1.00,
"discount": 0.00,
"discounts": [],
"discount_account_id": "",
"discount_account_name": "",
"markup_percent": 0.00,
"tax_id": "",
"tax_name": "",
"tax_type": "tax",
"tax_percentage": 0,
"line_item_taxes": [],
"item_total": 0.00,
"item_order": 1,
"unit": "",
"item_type": "",
"image_name": "",
"image_type": "",
"is_billable": false,
"customer_id": "",
"receipt_line_item_id": "",
"customer_name": "",
"project_id": "",
"project_name": "",
"invoice_id": "",
"invoice_number": "",
"item_custom_fields": [],
"purchase_request_items": [],
"item_matching_type": ""
}
],
"submitted_date": "",
"submitted_by": "",
"submitted_by_name": "",
"submitted_by_email": "",
"submitted_by_photo_url": "",
"submitter_id": "",
"approver_id": "",
"adjustment": 0.00,
"adjustment_description": "",
"discount_amount": 0.00,
"discount": 0.00,
"discount_applied_on_amount": 0.00,
"is_discount_before_tax": true,
"discount_account_id": "",
"discount_account_name": "",
"discount_type": "entity_level",
"sub_total": 0.00,
"sub_total_inclusive_of_tax": 0.00,
"tax_total": 0.00,
"discount_total": 0.00,
"discount_percent": 0.00,
"total": 0.00,
"payment_made": 0.00,
"vendor_credits_applied": 0.00,
"is_line_item_invoiced": false,
"purchaseorders": [],
"taxes": [],
"computation_type": "basic",
"tax_override_preference": "no_override",
"tds_override_preference": "no_override",
"balance": 0.00,
"unprocessed_payment_amount": 0.00,
"billing_address_id": "6206847000000100017",
"billing_address": {
"address": "",
"street2": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"fax": "",
"phone": "",
"attention": ""
},
"payments": [],
"vendor_credits": [],
"created_time": "2025-05-08T21:36:04+0100",
"created_by_id": "6206847000000092001",
"last_modified_id": "6206847000000092001",
"last_modified_time": "2025-05-08T21:36:04+0100",
"reference_id": "",
"notes": "",
"terms": "",
"attachment_name": "",
"template_id": "6206847000000031017",
"template_name": "Standard Template",
"page_width": "8.27in",
"page_height": "11.69in",
"orientation": "portrait",
"template_type": "standard",
"is_approval_required": false,
"allocated_landed_costs": [],
"unallocated_landed_costs": [],
"entity_type": "bill",
"total_retention_amount": 0.00,
"retention_items": [],
"can_send_in_mail": false,
"approvers_list": []
}
}

View file

@ -0,0 +1,177 @@
{
"code": 0,
"message": "The contact has been added.",
"contact": {
"contact_id": "777249000000077029",
"contact_name": "HQ Recyclers Network e.K.",
"company_name": "HQ Recyclers Network e.K.",
"contact_number": "CUS-00008",
"contact_tax_information": "",
"first_name": "",
"last_name": "",
"designation": "",
"department": "",
"website": "",
"is_bcy_only_contact": true,
"is_credit_limit_migration_completed": true,
"language_code": "",
"language_code_formatted": "",
"contact_salutation": "",
"email": "",
"phone": "",
"mobile": "",
"invited_by": "",
"portal_status": "disabled",
"is_client_review_asked": false,
"has_transaction": false,
"contact_type": "customer",
"customer_sub_type": "business",
"owner_id": "",
"owner_name": "",
"source": "api",
"documents": [],
"twitter": "",
"facebook": "",
"is_crm_customer": false,
"is_linked_with_zohocrm": false,
"primary_contact_id": "",
"zcrm_account_id": "",
"zcrm_contact_id": "",
"crm_owner_id": "",
"payment_terms": 0,
"payment_terms_label": "Due on Receipt",
"payment_terms_id": "",
"credit_limit_exceeded_amount": 0.00,
"currency_id": "777249000000000071",
"currency_code": "EUR",
"currency_symbol": "€",
"price_precision": 2,
"exchange_rate": "",
"can_show_customer_ob": true,
"can_show_vendor_ob": true,
"opening_balance_amount": 0.00,
"opening_balance_amount_bcy": "",
"outstanding_ob_receivable_amount": 0.00,
"outstanding_ob_payable_amount": 0.00,
"outstanding_receivable_amount": 0.00,
"outstanding_receivable_amount_bcy": 0.00,
"outstanding_payable_amount": 0.00,
"outstanding_payable_amount_bcy": 0.00,
"unused_credits_receivable_amount": 0.00,
"unused_credits_receivable_amount_bcy": 0.00,
"unused_credits_payable_amount": 0.00,
"unused_credits_payable_amount_bcy": 0.00,
"unused_retainer_payments": 0.00,
"status": "active",
"payment_reminder_enabled": true,
"is_sms_enabled": true,
"is_consent_agreed": false,
"consent_date": "",
"is_client_review_settings_enabled": false,
"custom_fields": [],
"custom_field_hash": {},
"tax_reg_label": "",
"contact_category": "",
"sales_channel": "direct_sales",
"ach_supported": false,
"portal_receipt_count": 0,
"opening_balances": [],
"entity_address_id": "777249000000077035",
"billing_address": {
"address_id": "777249000000077031",
"attention": "",
"address": "",
"street2": "",
"city": "",
"state_code": "",
"state": "",
"zip": "",
"country": "",
"county": "",
"country_code": "",
"phone": "",
"fax": ""
},
"shipping_address": {
"address_id": "777249000000077033",
"attention": "",
"address": "",
"street2": "",
"city": "",
"state_code": "",
"state": "",
"zip": "",
"country": "",
"county": "",
"country_code": "",
"phone": "",
"fax": "",
"latitude": "",
"longitude": ""
},
"contact_persons": [],
"addresses": [],
"pricebook_id": "",
"pricebook_name": "",
"default_templates": {
"statement_template_id": "",
"statement_template_name": "",
"invoice_template_id": "",
"invoice_template_name": "",
"bill_template_id": "",
"bill_template_name": "",
"estimate_template_id": "",
"estimate_template_name": "",
"creditnote_template_id": "",
"creditnote_template_name": "",
"paymentthankyou_template_id": "",
"paymentthankyou_template_name": "",
"invoice_email_template_id": "",
"invoice_email_template_name": "",
"estimate_email_template_id": "",
"estimate_email_template_name": "",
"creditnote_email_template_id": "",
"creditnote_email_template_name": "",
"paymentthankyou_email_template_id": "",
"paymentthankyou_email_template_name": "",
"payment_remittance_email_template_id": "",
"payment_remittance_email_template_name": ""
},
"associated_with_square": false,
"cards": [],
"checks": [],
"bank_accounts": [],
"vpa_list": [],
"notes": "",
"created_time": "2025-04-30T11:14:42+0200",
"created_date": "2025-04-30",
"created_by_name": "Ralph Soika",
"last_modified_time": "2025-04-30T11:14:42+0200",
"tags": [],
"zohopeople_client_id": "",
"customer_currency_summaries": [
{
"currency_id": "777249000000000071",
"currency_code": "EUR",
"currency_symbol": "€",
"price_precision": 2,
"is_base_currency": true,
"currency_name_formatted": "EUR- Euro",
"outstanding_receivable_amount": 0.00,
"unused_credits_receivable_amount": 0.00
}
],
"is_valid_trn": false,
"trn_last_validated_time": "",
"trn_last_validated_time_formatted": "",
"approvers_list": [],
"submitted_date": "",
"submitted_by": "",
"submitted_by_name": "",
"submitted_by_email": "",
"submitted_by_photo_url": "",
"submitter_id": "",
"approver_id": "",
"integration_references": []
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
doc/zoho/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View file

@ -0,0 +1,273 @@
{
"code": 0,
"message": "The invoice has been created.",
"invoice": {
"invoice_id": "777249000000082026",
"invoice_number": "INV-000018",
"date": "2024-04-03",
"due_date": "2024-05-03",
"offline_created_date_with_time": "",
"customer_id": "777249000000075016",
"contact_number": "CUS-00005",
"customer_name": "Action Agenciamento de Cargas LTDA",
"customer_custom_fields": [],
"customer_custom_field_hash": {},
"email": "",
"currency_id": "777249000000000071",
"invoice_source": "Api",
"currency_code": "EUR",
"currency_symbol": "€",
"currency_name_formatted": "EUR- Euro",
"status": "draft",
"unprocessed_payment_amount": 0.00,
"custom_fields": [],
"custom_field_hash": {},
"recurring_invoice_id": "",
"is_last_child_invoice": false,
"payment_mode": "",
"bank_account_id": "",
"payment_terms": 30,
"payment_terms_label": "Net 30",
"early_payment_discount_percentage": 0.00,
"early_payment_discount_due_days": "",
"early_payment_discount_amount": 0.00,
"payment_reminder_enabled": true,
"payment_made": 0.00,
"zcrm_potential_id": "",
"zcrm_potential_name": "",
"reference_number": "",
"preceding_invoice_id": "",
"is_early_payment_discount_applicable": false,
"lock_details": {},
"is_progress_invoice": false,
"can_show_kit_return": false,
"is_kit_partial_return": false,
"line_items": [
{
"line_item_id": "777249000000082036",
"item_id": "",
"item_order": 1,
"name": "R IM-GCA-2403-110",
"internal_name": "",
"description": "",
"discount_account_id": "",
"discount_account_name": "",
"unit": "",
"quantity": 1.00,
"discount_amount": 0.00,
"discount": 0.00,
"discounts": [],
"bcy_rate": 1995.00,
"rate": 1995.00,
"account_id": "777249000000000376",
"account_name": "Sales",
"header_id": "",
"header_name": "",
"pricebook_id": "",
"tax_id": "",
"tax_name": "",
"tax_type": "tax",
"tax_percentage": 0,
"item_total": 1995.00,
"item_custom_fields": [],
"pricing_scheme": "unit",
"tags": [],
"documents": [],
"line_item_taxes": [],
"bill_id": "",
"bill_item_id": "",
"project_id": "",
"time_entry_ids": [],
"expense_id": "",
"item_type": "",
"expense_receipt_name": "",
"sales_rate": "",
"purchase_rate": "",
"salesorder_item_id": "",
"cost_amount": 0,
"markup_percent": 0,
"mapped_items": []
}
],
"total_retention_amount": 0.00,
"retention_items": [],
"retention_override_preference": "no_override",
"exchange_rate": 1.00,
"is_autobill_enabled": false,
"inprocess_transaction_present": false,
"allow_partial_payments": false,
"price_precision": 2,
"sub_total": 1995.00,
"tax_total": 0.00,
"discount_total": 0.00,
"discount_percent": 0.00,
"discount": 0.00,
"discount_applied_on_amount": 0.00,
"discount_type": "item_level",
"discount_account_id": "",
"discount_account_name": "",
"is_discount_before_tax": true,
"adjustment": 0.00,
"adjustment_description": "",
"shipping_charge_tax_id": "",
"shipping_charge_tax_name": "",
"shipping_charge_tax_type": "",
"shipping_charge_tax_percentage": "",
"shipping_charge_tax_exemption_id": "",
"shipping_charge_tax_exemption_code": "",
"shipping_charge_tax": "",
"bcy_shipping_charge_tax": "",
"shipping_charge_exclusive_of_tax": 0.000,
"shipping_charge_inclusive_of_tax": 0.000,
"shipping_charge_tax_formatted": "",
"shipping_charge_exclusive_of_tax_formatted": "€0,00",
"shipping_charge_inclusive_of_tax_formatted": "€0,00",
"shipping_charge_account_id": "",
"shipping_charge_account_name": "",
"shipping_charge": 0.00,
"bcy_shipping_charge": 0.00,
"bcy_adjustment": 0.00,
"bcy_sub_total": 1995.00,
"bcy_discount_total": 0.00,
"bcy_tax_total": 0.00,
"bcy_total": 1995.000,
"total": 1995.00,
"balance": 1995.00,
"write_off_amount": 0.00,
"roundoff_value": 0.00,
"transaction_rounding_type": "no_rounding",
"is_inclusive_tax": false,
"sub_total_inclusive_of_tax": 0.00,
"contact_category": "",
"tax_rounding": "entity_level",
"taxes": [],
"tds_calculation_type": "tds_item_level",
"can_send_invoice_sms": true,
"payment_expected_date": "",
"payment_discount": 0.00,
"stop_reminder_until_payment_expected_date": false,
"last_payment_date": "",
"ach_supported": false,
"ach_payment_initiated": false,
"payment_options": {
"payment_gateways": []
},
"reader_offline_payment_initiated": false,
"contact_persons": [],
"contact_persons_associated": [],
"bank_account_details": {
"bank_account_id": "777249000000000376",
"bank_account_name": "Sales",
"bank_account_number": "",
"is_active": false,
"iban_number": "",
"swift_code": ""
},
"attachment_name": "",
"documents": [],
"computation_type": "basic",
"deliverychallans": [],
"merchant_id": "",
"merchant_name": "",
"ecomm_operator_id": "",
"ecomm_operator_name": "",
"salesorder_id": "",
"salesorder_number": "",
"salesorders": [],
"shipping_bills": [],
"contact_persons_details": [],
"contact": {
"customer_balance": 0.00,
"credit_limit": 0.00,
"unused_customer_credits": 0.00,
"is_credit_limit_migration_completed": true
},
"salesperson_id": "",
"salesperson_name": "",
"is_emailed": false,
"reminders_sent": 0,
"last_reminder_sent_date": "",
"next_reminder_date_formatted": "",
"is_viewed_by_client": false,
"client_viewed_time": "",
"submitter_id": "",
"approver_id": "",
"submitted_date": "",
"submitted_by": "",
"submitted_by_name": "",
"submitted_by_email": "",
"submitted_by_photo_url": "",
"template_id": "777249000000000103",
"template_name": "Standard Template",
"template_type": "standard",
"notes": "Thanks for your business.",
"terms": "",
"billing_address": {
"street": "",
"address": "",
"street2": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"fax": "",
"phone": "",
"attention": ""
},
"shipping_address": {
"street": "",
"address": "",
"street2": "",
"city": "",
"state": "",
"zip": "",
"country": "",
"fax": "",
"phone": "",
"attention": ""
},
"invoice_url": "https://zohosecurepay.eu/books/imixs/secure?CInvoiceID=2-64277fbd3cd8bc868d9e57c3085f4f428b1f66a1d5e3f3a32fc159e6879f623863183b0ac4651a08fdcce7621ddf18bf61770563d9fd2832f987dda624d4f11579820a40c3f55870 ",
"subject_content": "",
"can_send_in_mail": false,
"created_time": "2025-05-02T10:23:49+0200",
"last_modified_time": "2025-05-02T10:23:49+0200",
"created_date": "2025-05-02",
"created_by_id": "777249000000055227",
"created_by_name": "Ralph Soika",
"last_modified_by_id": "777249000000055227",
"page_width": "8.27in",
"page_height": "11.69in",
"orientation": "portrait",
"is_backorder": "",
"sales_channel": "direct_sales",
"color_code": "",
"current_sub_status_id": "",
"current_sub_status": "draft",
"sub_statuses": [],
"estimate_id": "",
"is_client_review_settings_enabled": false,
"unused_retainer_payments": 0.00,
"credits_applied": 0.00,
"tax_amount_withheld": 0.00,
"schedule_time": "",
"customer_default_billing_address": {
"zip": "",
"country": "",
"address": "",
"city": "",
"phone": "",
"street2": "",
"state": "",
"fax": "",
"state_code": ""
},
"includes_package_tracking_info": false,
"approvers_list": [],
"qr_code": {
"qr_source": "invoice_url",
"is_qr_enabled": false,
"qr_value": "",
"qr_description": "Scan the QR code to view the configured information."
}
}
}

View file

@ -1,6 +1,5 @@
version: '3.6'
version: "3.6"
services:
###############################################
# Postgres DB
###############################################
@ -26,7 +25,7 @@ services:
POSTGRES_CONNECTION: "jdbc:postgresql://db/office-alexander-logistics"
TZ: "CET"
LANG: "en_US.UTF-8"
MAILGATEWAY: "mailgateway"
MAILGATEWAY: "mailpit"
ASYNCEVENT_PROCESSOR_ENABLED: "true"
ASYNCEVENT_PROCESSOR_INITIALDELAY: "10000"
@ -36,13 +35,21 @@ services:
#OCR_SERVICE_MAXFILESIZE: "1048576"
#OCR_PDF_MODE: "OCR_ONLY | TEXT_ONLY | TEXT_AND_OCR (default)"
OCR_PDF_MODE: "OCR_ONLY"
ML_SERVICE_ENDPOINT: "http://imixs-ml-spacy:8000/"
# Enable Training Scheduler
#ML_TRAINNG_SCHEDULER_ENABLED: "true"
# TYPO Issue #28
ML_TRAINING_SCHEDULER_ENABLED: "true"
ML_TRAINING_SCHEDULER_INTERVAL: "10000"
ML_TRAINING_SCHEDULER_INITIALDELAY: "30000"
# Rest Service BusinessPartner API
WORKFLOW_SERVICE_ENDPOINT: "http://app:8080/api"
WORKFLOW_SERVICE_USER: "admin"
WORKFLOW_SERVICE_PASSWORD: "adminadmin"
# LLM Integration
LLM_CONFIG_FILE: /opt/jboss/imixs-llm.xml
# KSeF - Polen Test
KSEF_API_NIP: "9552521552"
KSEF_API_TOKEN: "20251113-EC-2751AC3000-5C5466924B-62|nip-9552521552|fc0c95d020dc45d4af491fb0aa755f3f3f674b33ecbf4250a88ea6e36fa8340b"
KSEF_API_ENDPOINT: "https://ksef-test.mf.gov.pl/api/v2"
METRICS_ENABLED: "false"
ports:
- "8080:8080"
@ -50,56 +57,40 @@ services:
- "8787:8787"
volumes:
- ./docker/deployments:/opt/jboss/wildfly/standalone/deployments/
- ./docker/keys/imixs-llm.xml:/opt/jboss/imixs-llm.xml
- ./docker/transfer:/opt/jboss/wildfly/transfer/
###############################################
# Tika OCR Service
###############################################
tika:
#image: apache/tika:latest
#image: apache/tika:1.24.1-full
image: apache/tika:2.4.1-full
image: apache/tika:3.2.0.0-full
environment:
TZ: "Europe/Berlin"
ports:
- "9998:9998"
###############################################
# Imixs-ML-spaCy Service
###############################################
imixs-ml-spacy:
#image: imixs/imixs-ml-spacy:1.1.1
#image: imixs/imixs-ml-spacy:1.1.4
#image: imixs/imixs-ml-spacy:1.1.6
image: imixs/imixs-ml-spacy:latest
environment:
PYTHONUNBUFFERED: 1
TZ: "Europe/Berlin"
MODEL_LANGUAGE: "de"
MODEL_PATH: "models/"
ports:
- "8000:8000"
volumes:
- ./models/:/usr/src/app/models/
###############################################
# Imixs-ML Training service
###############################################
imixs-ml-training:
image: imixs/imixs-ml-training:latest
environment:
PAYARA_ARGS: "--debug"
TZ: "Europe/Berlin"
OCR_SERVICE_ENDPOINT: "http://tika:9998/tika"
#OCR_PDF_MODE: "OCR_ONLY | TEXT_ONLY | TEXT_AND_OCR (default)"
OCR_PDF_MODE: "OCR_ONLY"
# Payara-Micor ENV
MP_OPENAPI_SERVERS: "http://localhost:8081"
ports:
- "8081:8080"
- "9009:9009"
##################
# Exporter Service
##################
# imixsexporter-app:
# image: imixs/imixs-archive-exporter
# environment:
# # EXAMPLE SETUP
# WORKFLOW_SERVICE_ENDPOINT: "http://app:8080/api"
# WORKFLOW_SERVICE_USER: "admin"
# WORKFLOW_SERVICE_PASSWORD: "adminadmin"
# WORKFLOW_SERVICE_AUTHMETHOD: "form"
# METRICS_ENDPOINT: "http://localhost:9991/metrics"
# HEALTH_ENDPOINT: "http://localhost:9991/health"
# EXPORT_PATH: "/agl/dwc-test"
# EXPORT_FTP_HOST: "u248962.your-storagebox.de"
# EXPORT_FTP_PORT: "21"
# EXPORT_FTP_USER: "u248962-sub4"
# EXPORT_FTP_PASSWORD: "en4g3f1Jw0WlQ9Yb"
# ports:
# - "8081:8080"
# - "8788:8787"
###############################################
# Imixs-Admin
@ -112,25 +103,29 @@ services:
###############################################
# Mailgateway
###############################################
mailgateway:
image: imixs/exim4
mailpit:
image: axllent/mailpit:latest
container_name: mailpit
environment:
EXIM_SMARTHOST: "www149.your-server.de:25"
EXIM_PASSWORD: "www149.your-server.de:webmaster@imixs.com:webmaster4Imixsmail"
EXIM_ALLOWED_SENDERS: "10.0.0.0/8:172.16.0.0/12:192.168.0.0/16"
MP_SMTP_BIND_ADDR: "0.0.0.0:25"
ports:
- "1025:25" # Host:1025 -> Container:25 (SMTP)
- "8025:8025" # Web UI
restart: unless-stopped
# prometheus:
# image: prom/prometheus:latest
# ports:
# - "9090:9090"
# volumes:
# - ./docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
# - prometheusdata:/prometheus/
###############################################
# Gotenberg Service (HTML2PDF converter)
###############################################
# gotenberg:
# image: thecodingmachine/gotenberg:6
# ports:
# - "3000:3000"
# grafana:
# image: grafana/grafana:latest
# ports:
# - "3000:3000"
volumes:
dbdata:
prometheusdata:

4
docker/.env Normal file
View file

@ -0,0 +1,4 @@
# LLM Config
LLM_API_ENDPOINT=https://api.llama.cpp.imixs.com/
LLM_API_KEY=7fdb663fa87ea16731c1e0ece8ad3214e358423eabf2403188110c731ce07321

View file

@ -0,0 +1,220 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 1,
"links": [],
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "ee5zvwsdjb400f"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "green",
"mode": "fixed"
},
"decimals": 0,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 23,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"text": {
"titleSize": 16,
"valueSize": 30
},
"textMode": "value_and_name",
"wideLayout": true
},
"pluginVersion": "11.3.2",
"targets": [
{
"disableTextWrap": false,
"editorMode": "code",
"exemplar": false,
"expr": "sum by(department, currency) (application_dbtr_balance{department=~\".+\"})",
"fullMetaSearch": false,
"hide": false,
"includeNullMetadata": true,
"instant": false,
"interval": "",
"legendFormat": "{{department}} {{currency}}",
"range": true,
"refId": "A",
"useBackend": false
}
],
"title": "Debitoren - Saldo",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "ee5zvwsdjb400f"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 2,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 4
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.3.2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "ee5zvwsdjb400f"
},
"disableTextWrap": false,
"editorMode": "code",
"exemplar": false,
"expr": "sum by(department) (application_dbtr_balance{department=~\".+\"})",
"fullMetaSearch": false,
"includeNullMetadata": true,
"legendFormat": "__auto",
"range": true,
"refId": "A",
"useBackend": false
}
],
"title": "Kreditor",
"type": "timeseries"
}
],
"preload": false,
"schemaVersion": 40,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "AGL",
"uid": "ce5zwc5vzt5hce",
"version": 14,
"weekStart": ""
}

View file

@ -0,0 +1,658 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 5,
"links": [],
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "fixed"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 8,
"options": {
"basemap": {
"config": {
"server": "streets",
"showLabels": true,
"theme": "auto"
},
"name": "Layer 0",
"opacity": 1,
"tooltip": false,
"type": "esri-xyz"
},
"controls": {
"mouseWheelZoom": true,
"showAttribution": true,
"showDebug": false,
"showMeasure": false,
"showScale": false,
"showZoom": true
},
"layers": [
{
"config": {
"showLegend": true,
"style": {
"color": {
"fixed": "dark-green"
},
"opacity": 0.4,
"rotation": {
"fixed": 0,
"max": 360,
"min": -360,
"mode": "mod"
},
"size": {
"field": "Value",
"fixed": 5,
"max": 50,
"min": 10
},
"symbol": {
"fixed": "img/icons/marker/circle.svg",
"mode": "fixed"
},
"symbolAlign": {
"horizontal": "center",
"vertical": "center"
},
"textConfig": {
"fontSize": 12,
"offsetX": 0,
"offsetY": 0,
"textAlign": "center",
"textBaseline": "middle"
}
}
},
"filterData": {
"id": "byRefId",
"options": "A"
},
"location": {
"mode": "lookup"
},
"name": "Layer 1",
"tooltip": true,
"type": "markers"
}
],
"tooltip": {
"mode": "details"
},
"view": {
"allLayers": true,
"id": "europe",
"lat": 46,
"lon": 14,
"zoom": 4
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance) by (country)",
"format": "table",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "",
"transparent": true,
"type": "geomap"
},
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "yellow",
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 12,
"y": 0
},
"id": 9,
"options": {
"displayLabels": [],
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance{currency=\"EUR\"}) by (department)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "EUR Abteilung",
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 17,
"y": 0
},
"id": 2,
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance) by (currency)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Verteilung nach Währung",
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": true,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "right",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"editorMode": "builder",
"exemplar": false,
"expr": "sum(application_dbtr_balance) by (department)",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Gesamtsaldo pro Abteilung",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 17,
"y": 8
},
"id": 4,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"editorMode": "code",
"expr": "count(application_dbtr_balance)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Anzahl der Debitoren",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Value (sum)"
},
"properties": [
{
"id": "unit",
"value": "locale"
}
]
},
{
"matcher": {
"id": "byName",
"options": "currency"
},
"properties": [
{
"id": "custom.width",
"value": 87
}
]
},
{
"matcher": {
"id": "byName",
"options": "department"
},
"properties": [
{
"id": "custom.width",
"value": 188
}
]
},
{
"matcher": {
"id": "byName",
"options": "id"
},
"properties": [
{
"id": "custom.width",
"value": 93
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 16
},
"id": 6,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": []
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"editorMode": "code",
"exemplar": false,
"expr": "topk(5, application_dbtr_balance) ",
"format": "table",
"hide": false,
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Panel Title",
"transformations": [
{
"id": "groupBy",
"options": {
"fields": {
"Value": {
"aggregations": [
"sum"
],
"operation": "aggregate"
},
"country": {
"aggregations": [],
"operation": "groupby"
},
"currency": {
"aggregations": [],
"operation": "groupby"
},
"department": {
"aggregations": [],
"operation": "groupby"
},
"id": {
"aggregations": [],
"operation": "groupby"
},
"name": {
"aggregations": [],
"operation": "groupby"
}
}
}
},
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"desc": true,
"field": "Value (sum)"
}
]
}
}
],
"type": "table"
}
],
"preload": false,
"schemaVersion": 40,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Übersicht Debitoren",
"uid": "deb9z4knfuxhcc",
"version": 10,
"weekStart": ""
}

View file

@ -0,0 +1,896 @@
{
"__inputs": [
{
"name": "DS_PROMETHEUS",
"label": "prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
}
],
"__elements": {},
"__requires": [
{
"type": "panel",
"id": "bargauge",
"name": "Bar gauge",
"version": ""
},
{
"type": "panel",
"id": "geomap",
"name": "Geomap",
"version": ""
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "11.4.0"
},
{
"type": "panel",
"id": "piechart",
"name": "Pie chart",
"version": ""
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
},
{
"type": "panel",
"id": "timeseries",
"name": "Time series",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 14,
"panels": [],
"title": "Salden Übersicht",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "fixed"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 15,
"x": 0,
"y": 1
},
"id": 8,
"options": {
"basemap": {
"config": {
"server": "streets",
"showLabels": true,
"theme": "auto"
},
"name": "Layer 0",
"opacity": 1,
"tooltip": false,
"type": "esri-xyz"
},
"controls": {
"mouseWheelZoom": true,
"showAttribution": true,
"showDebug": false,
"showMeasure": false,
"showScale": false,
"showZoom": true
},
"layers": [
{
"config": {
"showLegend": true,
"style": {
"color": {
"fixed": "dark-green"
},
"opacity": 0.4,
"rotation": {
"fixed": 0,
"max": 360,
"min": -360,
"mode": "mod"
},
"size": {
"field": "Value",
"fixed": 5,
"max": 50,
"min": 10
},
"symbol": {
"fixed": "img/icons/marker/circle.svg",
"mode": "fixed"
},
"symbolAlign": {
"horizontal": "center",
"vertical": "center"
},
"textConfig": {
"fontSize": 12,
"offsetX": 0,
"offsetY": 0,
"textAlign": "center",
"textBaseline": "middle"
}
}
},
"filterData": {
"id": "byRefId",
"options": "A"
},
"location": {
"mode": "lookup"
},
"name": "Layer 1",
"tooltip": true,
"type": "markers"
}
],
"tooltip": {
"mode": "details"
},
"view": {
"allLayers": true,
"id": "europe",
"lat": 46,
"lon": 14,
"zoom": 4
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance) by (country)",
"format": "table",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"transparent": true,
"type": "geomap"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "yellow",
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 5,
"x": 15,
"y": 1
},
"id": 9,
"options": {
"displayLabels": [],
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance{currency=~\"$currency\"}) by (department)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "$currency nach Abteilung",
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 4,
"x": 20,
"y": 1
},
"id": 2,
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance) by (currency)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Verteilung nach Währung",
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic-by-name"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 20,
"x": 0,
"y": 9
},
"id": 11,
"options": {
"displayMode": "basic",
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"maxVizHeight": 300,
"minVizHeight": 16,
"minVizWidth": 8,
"namePlacement": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showUnfilled": true,
"sizing": "auto",
"text": {
"titleSize": 10,
"valueSize": 10
},
"valueMode": "color"
},
"pluginVersion": "11.4.0",
"targets": [
{
"editorMode": "code",
"expr": "sum by (department) (application_cdtr_balance{currency=~\"$currency\"})",
"legendFormat": "__auto",
"range": true,
"refId": "A",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
}
}
],
"title": "Saldo in $currency nach Abteilung",
"type": "bargauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 20,
"y": 9
},
"id": 4,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "count(application_dbtr_balance)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Anzahl der Debitoren",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": true,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 30,
"gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 3,
"pointSize": 9,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 15
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "right",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "sum(application_dbtr_balance{currency=~\"$currency\", department=~\"$department\"}) ",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "$department - Saldo in $currency",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Value (sum)"
},
"properties": [
{
"id": "unit",
"value": "locale"
}
]
},
{
"matcher": {
"id": "byName",
"options": "currency"
},
"properties": [
{
"id": "custom.width",
"value": 81
}
]
},
{
"matcher": {
"id": "byName",
"options": "department"
},
"properties": [
{
"id": "custom.width",
"value": 188
}
]
},
{
"matcher": {
"id": "byName",
"options": "id"
},
"properties": [
{
"id": "custom.width",
"value": 93
}
]
},
{
"matcher": {
"id": "byName",
"options": "country"
},
"properties": [
{
"id": "custom.width",
"value": 81
}
]
},
{
"matcher": {
"id": "byName",
"options": "Kunde"
},
"properties": [
{
"id": "custom.width",
"value": 308
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 15
},
"id": 6,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": []
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "topk(5,application_dbtr_balance{currency=~\"$currency\", department=~\"$department\"}) ",
"format": "table",
"hide": false,
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Top 5",
"transformations": [
{
"id": "groupBy",
"options": {
"fields": {
"Value": {
"aggregations": [
"sum"
],
"operation": "aggregate"
},
"country": {
"aggregations": [],
"operation": "groupby"
},
"currency": {
"aggregations": [],
"operation": "groupby"
},
"department": {
"aggregations": []
},
"id": {
"aggregations": [],
"operation": "groupby"
},
"name": {
"aggregations": [],
"operation": "groupby"
}
}
}
},
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"desc": true,
"field": "Value (sum)"
}
]
}
},
{
"id": "organize",
"options": {
"excludeByName": {},
"includeByName": {},
"indexByName": {
"Value (sum)": 3,
"country": 2,
"currency": 4,
"id": 1,
"name": 0
},
"renameByName": {
"Value (sum)": "Saldo Aktuell",
"country": "Land",
"currency": " ",
"id": "Nummer",
"name": "Kunde"
}
}
}
],
"type": "table"
}
],
"schemaVersion": 40,
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(currency)",
"label": "Währung",
"name": "currency",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(currency)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 1,
"regex": "",
"type": "query"
},
{
"current": {},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(department)",
"label": "Abteilung",
"name": "department",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(department)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 1,
"regex": "",
"type": "query"
}
]
},
"time": {
"from": "now-12h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Übersicht Debitoren",
"uid": "deb9z4knfuxhcc",
"version": 20,
"weekStart": ""
}

View file

@ -0,0 +1,888 @@
{
"__inputs": [
{
"name": "DS_PROMETHEUS",
"label": "prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
}
],
"__elements": {},
"__requires": [
{
"type": "panel",
"id": "bargauge",
"name": "Bar gauge",
"version": ""
},
{
"type": "panel",
"id": "geomap",
"name": "Geomap",
"version": ""
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "11.4.0"
},
{
"type": "panel",
"id": "piechart",
"name": "Pie chart",
"version": ""
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
},
{
"type": "panel",
"id": "timeseries",
"name": "Time series",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 14,
"panels": [],
"title": "Salden Übersicht Debitoren",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "fixed"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 15,
"x": 0,
"y": 1
},
"id": 8,
"options": {
"basemap": {
"config": {
"server": "streets",
"showLabels": true,
"theme": "auto"
},
"name": "Layer 0",
"opacity": 1,
"tooltip": false,
"type": "esri-xyz"
},
"controls": {
"mouseWheelZoom": true,
"showAttribution": true,
"showDebug": false,
"showMeasure": false,
"showScale": false,
"showZoom": true
},
"layers": [
{
"config": {
"showLegend": false,
"style": {
"color": {
"fixed": "blue"
},
"opacity": 0.4,
"rotation": {
"fixed": 0,
"max": 360,
"min": -360,
"mode": "mod"
},
"size": {
"field": "Value",
"fixed": 5,
"max": 60,
"min": 10
},
"symbol": {
"fixed": "img/icons/marker/circle.svg",
"mode": "fixed"
},
"symbolAlign": {
"horizontal": "center",
"vertical": "center"
},
"textConfig": {
"fontSize": 12,
"offsetX": 0,
"offsetY": 0,
"textAlign": "center",
"textBaseline": "middle"
}
}
},
"filterData": {
"id": "byRefId",
"options": "A"
},
"location": {
"lookup": "country",
"mode": "lookup"
},
"name": "Saldo",
"tooltip": true,
"type": "markers"
}
],
"tooltip": {
"mode": "details"
},
"view": {
"allLayers": true,
"id": "europe",
"lat": 46,
"lon": 14,
"zoom": 4
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "sum(last_over_time(application_dbtr_balance{currency=~\"$currency\"}[24h])) by (country, currency)",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"range": false,
"refId": "A"
}
],
"type": "geomap"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "yellow",
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": [],
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 5,
"x": 15,
"y": 1
},
"id": 9,
"options": {
"displayLabels": [],
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "sum(application_dbtr_balance{currency=~\"$currency\"}) by (department)",
"format": "time_series",
"instant": true,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "$currency nach Abteilung",
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 4,
"x": 20,
"y": 1
},
"id": 2,
"options": {
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"pieType": "pie",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "sum(application_dbtr_balance) by (currency)",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Verteilung nach Währung",
"type": "piechart"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic-by-name"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 20,
"x": 0,
"y": 10
},
"id": 11,
"options": {
"displayMode": "basic",
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"maxVizHeight": 300,
"minVizHeight": 16,
"minVizWidth": 8,
"namePlacement": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showUnfilled": true,
"sizing": "auto",
"text": {
"titleSize": 10,
"valueSize": 10
},
"valueMode": "color"
},
"pluginVersion": "11.4.0",
"targets": [
{
"editorMode": "code",
"expr": "sum by (department) (application_dbtr_balance{currency=~\"$currency\"})",
"legendFormat": "__auto",
"range": true,
"refId": "A",
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
}
}
],
"title": "Saldo in $currency nach Abteilung",
"type": "bargauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 20,
"y": 10
},
"id": 4,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "count(last_over_time(application_dbtr_balance[2h]))",
"hide": false,
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "Anzahl der Debitoren",
"type": "stat"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 16
},
"id": 16,
"panels": [],
"title": "Salden Übersicht Debitoren - nach Abteilung",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": true,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 30,
"gradientMode": "opacity",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 3,
"pointSize": 9,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 17
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "right",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "sum(application_dbtr_balance{currency=~\"$currency\", department=~\"$department\"}) ",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "$department - Saldo in $currency",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"decimals": 2,
"fieldMinMax": false,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "locale"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "name"
},
"properties": [
{
"id": "custom.width",
"value": 558
}
]
},
{
"matcher": {
"id": "byName",
"options": "currency"
},
"properties": [
{
"id": "custom.width",
"value": 97
}
]
},
{
"matcher": {
"id": "byName",
"options": "id"
},
"properties": [
{
"id": "custom.width",
"value": 81
}
]
},
{
"matcher": {
"id": "byName",
"options": "Lieferant"
},
"properties": [
{
"id": "custom.width",
"value": 515
}
]
},
{
"matcher": {
"id": "byName",
"options": "Saldo"
},
"properties": [
{
"id": "decimals",
"value": 2
},
{
"id": "unit",
"value": "none"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
"y": 17
},
"id": 15,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": []
},
"pluginVersion": "11.4.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "sum(last_over_time(application_dbtr_balance{currency=~\"$currency\", department=~\"$department\"}[2h]))\n by (name, id,department, currency)",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"range": false,
"refId": "A"
}
],
"title": "Saldo By Debitor",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true,
"department": true
},
"includeByName": {},
"indexByName": {
"Time": 0,
"Value": 5,
"currency": 3,
"department": 4,
"id": 2,
"name": 1
},
"renameByName": {
"Value": "Saldo",
"currency": " ",
"department": "",
"name": "Lieferant"
}
}
},
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"desc": true,
"field": "Saldo"
}
]
}
}
],
"type": "table"
}
],
"schemaVersion": 40,
"tags": [],
"templating": {
"list": [
{
"current": {},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(currency)",
"label": "Währung",
"name": "currency",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(currency)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 1,
"regex": "",
"type": "query"
},
{
"current": {},
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(department)",
"label": "Abteilung",
"name": "department",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(department)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 1,
"regex": "",
"type": "query"
},
{
"datasource": {
"type": "prometheus",
"uid": "P1809F7CD0C75ACF3"
},
"filters": [],
"name": "Filters",
"type": "adhoc"
}
]
},
"time": {
"from": "now-24h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Übersicht Debitoren",
"uid": "deb9z4knfuxhcc",
"version": 31,
"weekStart": ""
}

55
docker/keys/imixs-llm.xml Normal file
View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
imixs-llm.xml - LLM Model Registry
======================================
Place this file in your deployment so it is available on the classpath,
e.g. in src/main/resources/ for a Maven project.
Each <model> element defines one logical LLM service endpoint.
A model is either a completion model OR an embedding model - never both.
The BPMN configuration references them separately by their id:
<imixs-ai name="CONDITION">
<endpoint>my-llm</endpoint>
...
</imixs-ai>
<imixs-ai name="RAG_INDEX">
<endpoint-completion>my-llm</endpoint-completion>
<endpoint-embeddings>my-embeddings</endpoint-embeddings>
...
</imixs-ai>
Environment variable placeholders are supported via ${env.VAR_NAME}.
-->
<imixs-llm>
<!--
Completion model used for chat completions, conditions, analysis etc.
This example connects to a local llama.cpp server.
-->
<endpoint id="api.llama.cpp.imixs.com">
<url>https://api.llama.cpp.imixs.com/</url>
<apikey>7fdb663fa87ea16731c1e0ece8ad3214e358423eabf2403188110c731ce07321</apikey>
<options>{
"temperature": 0.2,
"max_tokens": 1024
}
</options>
</endpoint>
<!--
Embedding model used for RAG indexing and retrieval.
This example connects to a separate embedding server.
No apikey needed for a locally hosted instance.
-->
<endpoint id="embeddings.llama.cpp.imixs.com">
<url>https://embeddings.llama.cpp.imixs.com/</url>
<apikey>7fdb663fa87ea16731c1e0ece8ad3214e358423eabf2403188110c731ce07321</apikey>
<options>{
"max_tokens": 512
}
</options>
</endpoint>
</imixs-llm>

View file

@ -0,0 +1,15 @@
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: "imixs-monitor"
scrape_configs:
# Imixs-Office-Workflow Job (Wildfly Metrics)
- job_name: "imixs"
scrape_interval: 3600s
metrics_path: /metrics
static_configs:
- targets: ["app:9990"]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,11 +0,0 @@
#!/bin/bash
############################################################
# Setup hotdeploy
#
############################################################
cd office-alexander-logistics-app
mvn manik-hotdeploy:hotdeploy
cd ..

View file

@ -1,53 +0,0 @@
# ML Models
Wir verwenden bei Alexander-Global Logistics ein standard Invoice ML Modell. Dieses basiert im Grund auf unserem offizielen spacy modell 'invoice-de-0.1.0'.
## Modell Nachtrainieren
Das Modell bei Alexander Logistics läst sich in der Dev Umggebung bei Bedarf nachtrainieren. Dazu geht man wie folgt vor:
**1.)** Aktuelles Modell auf Tikal Cloud Server sichern:
$ ssh imixs@master-1.tikal.imixs.com
$ cd tikal-cloud/
$ ./apps/alexander-logistics.office-workflow.de/ml_model_backup.sh
# Falls es zu einem io/error kommt, muss der spacy ml pod neu gestartet werden!
**2.)** Die Tikal-Cloud Pullen
**3.)** Um auf dem aktuellen Modell weiter zu trainierne, den Inhalt des invoice-de-0.1.0 Folders aus dem Backup directory in die lokale Dev Umgebung kopieren /
um ein neues Modell zu genereiren einfach den localen ordner 'invoice-de-0.1.0' umbenennen oder leeren.
**4.)** Jetzt lokal den Trainingsserver aufrufen
http://localhost:8081/api/openapi-ui/index.html
und das training beginnen mit der datei 'training-config-prod.xml'. Man kann das training 3-4 mal durchführen.
**5.)** Nun kann man die Inhalte des invoice-de-0.1.0 Folders zurück auf den Tikal in den modell folder /invoice-de-0.1.0 einspielen
**6.)** Nun die änderungen nach Git Puschen.
**7.)** auf dem Tikal Sever nun das aktuellisete Modell wieder einspielen
$ git pull
$ ./apps/alexander-logistics.office-workflow.de/ml_model_deploy.sh invoice-de-0.1.0/
## 22.05.2021 - invoice-de-0.1.0
NER=2.1948
## 17.02.2020 - invoice-de-0.1.0
Modell trainiert anhand der alexander-logistics Produtiv daten

View file

@ -1,491 +0,0 @@
# Test Protokoll Alexander Logistic invoice-de-0.1.0
**Validierung**
f4eaceda-f28a-4394-928e-1a05daaf2760
a5d1e7fe-d74a-4fa2-9b06-3221865759fa
c0290497-f613-4492-81b6-4ae1e1680029
d8e3fce4-d11c-46a4-8ba0-369b4c6e902f
8b766f35-828a-41f1-be04-00b4b62da4d0
**********************************************************************
** invoice-de-0.1.0-falsemodell
**12.10.2021 15:50** (sort order created)
**********************************************************************
workflow.query ($workflowgroup:"Rechnungseingang" OR $workflowgroup:"Sachrechnung") AND ($taskid:5900)
workflow.pagesize 500
ml.training.filepattern .pdf
ml.training.iterations 10
ml.training.dropoutrate 0,25
multiOccurrence false
ml.training.quality LOW
min_losses 0
RESULT
-----------------------------------------------------------------------
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 53.33% (200)
imixs-ml-training_1 | ...... quality level LOW = 31.47% (118)
imixs-ml-training_1 | ...... quality level BAD = 15.2% (57)
imixs-ml-training_1 | ...... average NER = 17.195895012525614
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 51.73% (194)
imixs-ml-training_1 | ...... quality level LOW = 32.8% (123)
imixs-ml-training_1 | ...... quality level BAD = 15.47% (58)
imixs-ml-training_1 | ...... average NER = 6.50170386961344
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 53.87% (202)
imixs-ml-training_1 | ...... quality level LOW = 31.73% (119)
imixs-ml-training_1 | ...... quality level BAD = 14.4% (54)
imixs-ml-training_1 | ...... average NER = 4.8940276912225
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 52.8% (198)
imixs-ml-training_1 | ...... quality level LOW = 32% (120)
imixs-ml-training_1 | ...... quality level BAD = 15.2% (57)
imixs-ml-training_1 | ...... average NER = 3.9605563888416824
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 54.13% (203)
imixs-ml-training_1 | ...... quality level LOW = 29.6% (111)
imixs-ml-training_1 | ...... quality level BAD = 16.27% (61)
imixs-ml-training_1 | ...... average NER = 3.744507591826106
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 53.07% (199)
imixs-ml-training_1 | ...... quality level LOW = 31.2% (117)
imixs-ml-training_1 | ...... quality level BAD = 15.73% (59)
imixs-ml-training_1 | ...... average NER = 2.8395576715820736
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 53.87% (202)
imixs-ml-training_1 | ...... quality level LOW = 32% (120)
imixs-ml-training_1 | ...... quality level BAD = 14.13% (53)
imixs-ml-training_1 | ...... average NER = 2.6799682681142363
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 53.6% (201)
imixs-ml-training_1 | ...... quality level LOW = 31.47% (118)
imixs-ml-training_1 | ...... quality level BAD = 14.93% (56)
imixs-ml-training_1 | ...... average NER = 2.520244211218683
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 49.33% (185)
imixs-ml-training_1 | ...... quality level LOW = 34.93% (131)
imixs-ml-training_1 | ...... quality level BAD = 15.73% (59)
imixs-ml-training_1 | ...... average NER = 2.1511980661715193
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 53.87% (202)
imixs-ml-training_1 | ...... quality level LOW = 31.2% (117)
imixs-ml-training_1 | ...... quality level BAD = 14.93% (56)
imixs-ml-training_1 | ...... average NER = 2.2739690429824475
**13.10.2021 12:00**
workflow.query ($workflowgroup:"Rechnungseingang" OR $workflowgroup:"Sachrechnung") AND ($taskid:5900)
workflow.pagesize 500
ml.training.filepattern .pdf|.PDF
ml.training.iterations 10
ml.training.dropoutrate 0,25
multiOccurrence false
ml.training.quality LOW
min_losses 0
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 61.33% (230)
imixs-ml-training_1 | ...... quality level LOW = 38.67% (145)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 3.790466332166552
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 61.07% (229)
imixs-ml-training_1 | ...... quality level LOW = 38.93% (146)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 3.160620521438082
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 58.13% (218)
imixs-ml-training_1 | ...... quality level LOW = 41.87% (157)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.636420357788331
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 58.13% (218)
imixs-ml-training_1 | ...... quality level LOW = 41.87% (157)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.506552163520219
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 58.93% (221)
imixs-ml-training_1 | ...... quality level LOW = 41.07% (154)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.3495061575286793
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 59.47% (223)
imixs-ml-training_1 | ...... quality level LOW = 40.53% (152)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.9351332692220107
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 61.33% (230)
imixs-ml-training_1 | ...... quality level LOW = 38.67% (145)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.8881396005118698
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 57.87% (217)
imixs-ml-training_1 | ...... quality level LOW = 42.13% (158)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.9754112840739593
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 59.73% (224)
imixs-ml-training_1 | ...... quality level LOW = 40.27% (151)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.7839739270522237
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 59.73% (224)
imixs-ml-training_1 | ...... quality level LOW = 40.27% (151)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.6024293913431429
**********************************************************************
** invoice-de-0.1.0
**12.10.2021 15:50** (sort order created)
**********************************************************************
workflow.query ($workflowgroup:"Rechnungseingang" OR $workflowgroup:"Sachrechnung") AND ($taskid:5900)
workflow.pagesize 500
ml.training.filepattern .pdf|.PDF
ml.training.iterations 10
ml.training.dropoutrate 0,25
multiOccurrence true
ml.training.quality LOW
min_losses 0
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.27% (256)
imixs-ml-training_1 | ...... quality level LOW = 31.47% (118)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 21.57255353509432
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 67.73% (254)
imixs-ml-training_1 | ...... quality level LOW = 32.27% (121)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 8.249835149395697
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.53% (257)
imixs-ml-training_1 | ...... quality level LOW = 31.2% (117)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 5.892598287488733
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.53% (257)
imixs-ml-training_1 | ...... quality level LOW = 31.2% (117)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 4.964129124089013
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.53% (257)
imixs-ml-training_1 | ...... quality level LOW = 31.2% (117)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 3.5603186705177947
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 67.2% (252)
imixs-ml-training_1 | ...... quality level LOW = 32.53% (122)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 2.692053828307031
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68% (255)
imixs-ml-training_1 | ...... quality level LOW = 31.73% (119)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 2.3509401762802873
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 65.87% (247)
imixs-ml-training_1 | ...... quality level LOW = 34.13% (128)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.2695994889458104
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.27% (256)
imixs-ml-training_1 | ...... quality level LOW = 31.47% (118)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 1.844410364015416
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 70.67% (265)
imixs-ml-training_1 | ...... quality level LOW = 29.07% (109)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (1)
imixs-ml-training_1 | ...... average NER = 1.6153951610034658
page=1 (count=500)
--------------------------------
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 69.6% (261)
imixs-ml-training_1 | ...... quality level LOW = 30.4% (114)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 7.093659738880595
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 66.4% (249)
imixs-ml-training_1 | ...... quality level LOW = 33.6% (126)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 5.201780406598962
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.27% (256)
imixs-ml-training_1 | ...... quality level LOW = 31.73% (119)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 3.8116329003426204
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 66.67% (250)
imixs-ml-training_1 | ...... quality level LOW = 33.33% (125)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 3.3164488404836154
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 66.93% (251)
imixs-ml-training_1 | ...... quality level LOW = 33.07% (124)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.7822570929398576
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 69.07% (259)
imixs-ml-training_1 | ...... quality level LOW = 30.93% (116)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.31773083524846
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 68.8% (258)
imixs-ml-training_1 | ...... quality level LOW = 31.2% (117)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.165804551920185
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 66.4% (249)
imixs-ml-training_1 | ...... quality level LOW = 33.6% (126)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.9591955652007715
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 66.4% (249)
imixs-ml-training_1 | ...... quality level LOW = 33.6% (126)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.5473874007025803
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 375
imixs-ml-training_1 | ...... quality level GOOD = 65.87% (247)
imixs-ml-training_1 | ...... quality level LOW = 34.13% (128)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 1.705957084193204
imixs-ml-training_1 | |#]
imixs-ml-training_1 |
page=0 (count=1000)
--------------------------------
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.47% (506)
imixs-ml-training_1 | ...... quality level LOW = 32.53% (244)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 3.2147245242951565
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 68.8% (516)
imixs-ml-training_1 | ...... quality level LOW = 31.07% (233)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 2.2084385109690565
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.73% (508)
imixs-ml-training_1 | ...... quality level LOW = 32.27% (242)
imixs-ml-training_1 | ...... quality level BAD = 0% (0)
imixs-ml-training_1 | ...... average NER = 2.1797281610496464
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.2% (504)
imixs-ml-training_1 | ...... quality level LOW = 32.67% (245)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.8908819163368502
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 66% (495)
imixs-ml-training_1 | ...... quality level LOW = 33.87% (254)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.7774978150912477
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.6% (507)
imixs-ml-training_1 | ...... quality level LOW = 32.27% (242)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.669098427922433
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.33% (505)
imixs-ml-training_1 | ...... quality level LOW = 32.53% (244)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.6048149396167861
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.6% (507)
imixs-ml-training_1 | ...... quality level LOW = 32.27% (242)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.4026393956412981
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 67.87% (509)
imixs-ml-training_1 | ...... quality level LOW = 32% (240)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.1139796046407426
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 65.87% (494)
imixs-ml-training_1 | ...... quality level LOW = 34% (255)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.2621875029460226
page=1 (count=1000)
--------------------------------
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.47% (476)
imixs-ml-training_1 | ...... quality level LOW = 36.4% (273)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 3.7501272727903876
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64% (480)
imixs-ml-training_1 | ...... quality level LOW = 35.87% (269)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 2.7749715296165482
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 65.47% (491)
imixs-ml-training_1 | ...... quality level LOW = 34.27% (257)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 2.191986221088383
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.2% (474)
imixs-ml-training_1 | ...... quality level LOW = 36.53% (274)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.836000005105162
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64.8% (486)
imixs-ml-training_1 | ...... quality level LOW = 34.93% (262)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.629252182245437
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64.27% (482)
imixs-ml-training_1 | ...... quality level LOW = 35.47% (266)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.5023185259959349
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.6% (477)
imixs-ml-training_1 | ...... quality level LOW = 36.13% (271)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.1618358977500587
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64.93% (487)
imixs-ml-training_1 | ...... quality level LOW = 34.93% (262)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.1362052688492958
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64.4% (483)
imixs-ml-training_1 | ...... quality level LOW = 35.33% (265)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.0497074333838767
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 65.33% (490)
imixs-ml-training_1 | ...... quality level LOW = 34.4% (258)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 0.8865013575787167
page=1 (count=1000)
--------------------------------
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.33% (475)
imixs-ml-training_1 | ...... quality level LOW = 36.4% (273)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.6325150460009787
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 61.73% (463)
imixs-ml-training_1 | ...... quality level LOW = 38% (285)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.5385085364524884
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.6% (477)
imixs-ml-training_1 | ...... quality level LOW = 36.13% (271)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.343965340697668
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64.13% (481)
imixs-ml-training_1 | ...... quality level LOW = 35.73% (268)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 1.1842750119930687
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.73% (478)
imixs-ml-training_1 | ...... quality level LOW = 36% (270)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 1.112559219903824
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 62.8% (471)
imixs-ml-training_1 | ...... quality level LOW = 36.93% (277)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 0.9444137586901881
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 64% (480)
imixs-ml-training_1 | ...... quality level LOW = 35.73% (268)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 0.9175624525798468
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 63.47% (476)
imixs-ml-training_1 | ...... quality level LOW = 36.27% (272)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 0.8877949306723629
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 62.53% (469)
imixs-ml-training_1 | ...... quality level LOW = 37.2% (279)
imixs-ml-training_1 | ...... quality level BAD = 0.27% (2)
imixs-ml-training_1 | ...... average NER = 0.7669201996298972
imixs-ml-training_1 |
imixs-ml-training_1 | ......documents trained in total = 750
imixs-ml-training_1 | ...... quality level GOOD = 62.8% (471)
imixs-ml-training_1 | ...... quality level LOW = 37.07% (278)
imixs-ml-training_1 | ...... quality level BAD = 0.13% (1)
imixs-ml-training_1 | ...... average NER = 0.7161310708827515

View file

@ -1,128 +0,0 @@
[paths]
train = null
dev = null
vectors = null
init_tok2vec = null
[system]
seed = 0
gpu_allocator = null
[nlp]
lang = "de"
pipeline = ["ner"]
disabled = []
before_creation = null
after_creation = null
after_pipeline_creation = null
batch_size = 1000
tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"}
[components]
[components.ner]
factory = "ner"
incorrect_spans_key = null
moves = null
scorer = {"@scorers":"spacy.ner_scorer.v1"}
update_with_oracle_cut_size = 100
[components.ner.model]
@architectures = "spacy.TransitionBasedParser.v2"
state_type = "ner"
extra_state_tokens = false
hidden_width = 64
maxout_pieces = 2
use_upper = true
nO = null
[components.ner.model.tok2vec]
@architectures = "spacy.HashEmbedCNN.v2"
pretrained_vectors = null
width = 96
depth = 4
embed_size = 2000
window_size = 1
maxout_pieces = 3
subword_features = true
[corpora]
[corpora.dev]
@readers = "spacy.Corpus.v1"
path = ${paths.dev}
gold_preproc = false
max_length = 0
limit = 0
augmenter = null
[corpora.train]
@readers = "spacy.Corpus.v1"
path = ${paths.train}
gold_preproc = false
max_length = 0
limit = 0
augmenter = null
[training]
seed = ${system.seed}
gpu_allocator = ${system.gpu_allocator}
dropout = 0.1
accumulate_gradient = 1
patience = 1600
max_epochs = 0
max_steps = 20000
eval_frequency = 200
frozen_components = []
annotating_components = []
dev_corpus = "corpora.dev"
train_corpus = "corpora.train"
before_to_disk = null
[training.batcher]
@batchers = "spacy.batch_by_words.v1"
discard_oversize = false
tolerance = 0.2
get_length = null
[training.batcher.size]
@schedules = "compounding.v1"
start = 100
stop = 1000
compound = 1.001
t = 0.0
[training.logger]
@loggers = "spacy.ConsoleLogger.v1"
progress_bar = false
[training.optimizer]
@optimizers = "Adam.v1"
beta1 = 0.9
beta2 = 0.999
L2_is_weight_decay = true
L2 = 0.01
grad_clip = 1.0
use_averages = false
eps = 0.00000001
learn_rate = 0.001
[training.score_weights]
ents_f = 1.0
ents_p = 0.0
ents_r = 0.0
ents_per_type = null
[pretraining]
[initialize]
vectors = ${paths.vectors}
init_tok2vec = ${paths.init_tok2vec}
vocab_data = null
lookups = null
before_init = null
after_init = null
[initialize.components]
[initialize.tokenizer]

View file

@ -1,38 +0,0 @@
{
"lang":"de",
"name":"pipeline",
"version":"0.0.0",
"spacy_version":">=3.4.1,<3.5.0",
"description":"",
"author":"",
"email":"",
"url":"",
"license":"",
"spacy_git_version":"Unknown",
"vectors":{
"width":0,
"vectors":0,
"keys":0,
"name":null,
"mode":"default"
},
"labels":{
"ner":[
"cdtr.bic",
"cdtr.iban",
"cdtr.name",
"invoice.date",
"invoice.number",
"invoice.total"
]
},
"pipeline":[
"ner"
],
"components":[
"ner"
],
"disabled":[
]
}

View file

@ -1,13 +0,0 @@
{
"moves":null,
"update_with_oracle_cut_size":100,
"multitasks":[
],
"min_action_freq":1,
"learn_tokens":false,
"beam_width":1,
"beam_density":0.0,
"beam_update_prob":0.0,
"incorrect_spans_key":null
}

Binary file not shown.

View file

@ -1 +0,0 @@
¥movesÚÄ{"0":{},"1":{"invoice.total":-1,"invoice.number":-2,"cdtr.name":-3,"invoice.date":-4,"cdtr.iban":-5,"cdtr.bic":-6},"2":{"invoice.total":-1,"invoice.number":-2,"cdtr.name":-3,"invoice.date":-4,"cdtr.iban":-5,"cdtr.bic":-6},"3":{"invoice.total":-1,"invoice.number":-2,"cdtr.name":-3,"invoice.date":-4,"cdtr.iban":-5,"cdtr.bic":-6},"4":{"":1,"invoice.total":-1,"invoice.number":-2,"cdtr.name":-3,"invoice.date":-4,"cdtr.iban":-5,"cdtr.bic":-6},"5":{"":1}}£cfg<66>§neg_keyÀ

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
<EFBFBD>

View file

@ -1 +0,0 @@
<EFBFBD>

File diff suppressed because it is too large Load diff

View file

@ -1,3 +0,0 @@
{
"mode":"default"
}

View file

@ -1,127 +0,0 @@
[paths]
train = null
dev = null
vectors = null
init_tok2vec = null
[system]
seed = 0
gpu_allocator = null
[nlp]
lang = "de"
pipeline = ["ner"]
disabled = []
before_creation = null
after_creation = null
after_pipeline_creation = null
batch_size = 1000
tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"}
[components]
[components.ner]
factory = "ner"
incorrect_spans_key = null
moves = null
update_with_oracle_cut_size = 100
[components.ner.model]
@architectures = "spacy.TransitionBasedParser.v2"
state_type = "ner"
extra_state_tokens = false
hidden_width = 64
maxout_pieces = 2
use_upper = true
nO = null
[components.ner.model.tok2vec]
@architectures = "spacy.HashEmbedCNN.v2"
pretrained_vectors = null
width = 96
depth = 4
embed_size = 2000
window_size = 1
maxout_pieces = 3
subword_features = true
[corpora]
[corpora.dev]
@readers = "spacy.Corpus.v1"
path = ${paths.dev}
gold_preproc = false
max_length = 0
limit = 0
augmenter = null
[corpora.train]
@readers = "spacy.Corpus.v1"
path = ${paths.train}
gold_preproc = false
max_length = 0
limit = 0
augmenter = null
[training]
seed = ${system.seed}
gpu_allocator = ${system.gpu_allocator}
dropout = 0.1
accumulate_gradient = 1
patience = 1600
max_epochs = 0
max_steps = 20000
eval_frequency = 200
frozen_components = []
annotating_components = []
dev_corpus = "corpora.dev"
train_corpus = "corpora.train"
before_to_disk = null
[training.batcher]
@batchers = "spacy.batch_by_words.v1"
discard_oversize = false
tolerance = 0.2
get_length = null
[training.batcher.size]
@schedules = "compounding.v1"
start = 100
stop = 1000
compound = 1.001
t = 0.0
[training.logger]
@loggers = "spacy.ConsoleLogger.v1"
progress_bar = false
[training.optimizer]
@optimizers = "Adam.v1"
beta1 = 0.9
beta2 = 0.999
L2_is_weight_decay = true
L2 = 0.01
grad_clip = 1.0
use_averages = false
eps = 0.00000001
learn_rate = 0.001
[training.score_weights]
ents_f = 1.0
ents_p = 0.0
ents_r = 0.0
ents_per_type = null
[pretraining]
[initialize]
vectors = ${paths.vectors}
init_tok2vec = ${paths.init_tok2vec}
vocab_data = null
lookups = null
before_init = null
after_init = null
[initialize.components]
[initialize.tokenizer]

View file

@ -1,40 +0,0 @@
{
"lang":"de",
"name":"pipeline",
"version":"0.0.0",
"spacy_version":">=3.1.1,<3.2.0",
"description":"",
"author":"",
"email":"",
"url":"",
"license":"",
"spacy_git_version":"ffaead8fe",
"vectors":{
"width":0,
"vectors":0,
"keys":0,
"name":null
},
"labels":{
"ner":[
"cdtr.bic",
"cdtr.iban",
"cdtr.name",
"invoice.date",
"invoice.number",
"invoice.total"
]
},
"pipeline":[
"ner"
],
"components":[
"ner"
],
"disabled":[
],
"_sourced_vectors_hashes":{
}
}

View file

@ -1,13 +0,0 @@
{
"moves":null,
"update_with_oracle_cut_size":100,
"multitasks":[
],
"min_action_freq":1,
"learn_tokens":false,
"beam_width":1,
"beam_density":0.0,
"beam_update_prob":0.0,
"incorrect_spans_key":null
}

View file

@ -1 +0,0 @@
¥movesÚÄ{"0":{},"1":{"cdtr.name":-1,"cdtr.iban":-2,"cdtr.bic":-3,"invoice.total":-4,"invoice.date":-5,"invoice.number":-6},"2":{"cdtr.name":-1,"cdtr.iban":-2,"cdtr.bic":-3,"invoice.total":-4,"invoice.date":-5,"invoice.number":-6},"3":{"cdtr.name":-1,"cdtr.iban":-2,"cdtr.bic":-3,"invoice.total":-4,"invoice.date":-5,"invoice.number":-6},"4":{"":1,"cdtr.name":-1,"cdtr.iban":-2,"cdtr.bic":-3,"invoice.total":-4,"invoice.date":-5,"invoice.number":-6},"5":{"":1}}£cfg<66>§neg_keyÀ

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
<EFBFBD>

View file

@ -1 +0,0 @@
<EFBFBD>

File diff suppressed because it is too large Load diff

View file

@ -1,128 +0,0 @@
[paths]
train = null
dev = null
vectors = null
init_tok2vec = null
[system]
seed = 0
gpu_allocator = null
[nlp]
lang = "de"
pipeline = ["ner"]
disabled = []
before_creation = null
after_creation = null
after_pipeline_creation = null
batch_size = 1000
tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"}
[components]
[components.ner]
factory = "ner"
incorrect_spans_key = null
moves = null
scorer = {"@scorers":"spacy.ner_scorer.v1"}
update_with_oracle_cut_size = 100
[components.ner.model]
@architectures = "spacy.TransitionBasedParser.v2"
state_type = "ner"
extra_state_tokens = false
hidden_width = 64
maxout_pieces = 2
use_upper = true
nO = null
[components.ner.model.tok2vec]
@architectures = "spacy.HashEmbedCNN.v2"
pretrained_vectors = null
width = 96
depth = 4
embed_size = 2000
window_size = 1
maxout_pieces = 3
subword_features = true
[corpora]
[corpora.dev]
@readers = "spacy.Corpus.v1"
path = ${paths.dev}
gold_preproc = false
max_length = 0
limit = 0
augmenter = null
[corpora.train]
@readers = "spacy.Corpus.v1"
path = ${paths.train}
gold_preproc = false
max_length = 0
limit = 0
augmenter = null
[training]
seed = ${system.seed}
gpu_allocator = ${system.gpu_allocator}
dropout = 0.1
accumulate_gradient = 1
patience = 1600
max_epochs = 0
max_steps = 20000
eval_frequency = 200
frozen_components = []
annotating_components = []
dev_corpus = "corpora.dev"
train_corpus = "corpora.train"
before_to_disk = null
[training.batcher]
@batchers = "spacy.batch_by_words.v1"
discard_oversize = false
tolerance = 0.2
get_length = null
[training.batcher.size]
@schedules = "compounding.v1"
start = 100
stop = 1000
compound = 1.001
t = 0.0
[training.logger]
@loggers = "spacy.ConsoleLogger.v1"
progress_bar = false
[training.optimizer]
@optimizers = "Adam.v1"
beta1 = 0.9
beta2 = 0.999
L2_is_weight_decay = true
L2 = 0.01
grad_clip = 1.0
use_averages = false
eps = 0.00000001
learn_rate = 0.001
[training.score_weights]
ents_f = 1.0
ents_p = 0.0
ents_r = 0.0
ents_per_type = null
[pretraining]
[initialize]
vectors = ${paths.vectors}
init_tok2vec = ${paths.init_tok2vec}
vocab_data = null
lookups = null
before_init = null
after_init = null
[initialize.components]
[initialize.tokenizer]

View file

@ -1,38 +0,0 @@
{
"lang":"de",
"name":"pipeline",
"version":"0.0.0",
"spacy_version":">=3.4.1,<3.5.0",
"description":"",
"author":"",
"email":"",
"url":"",
"license":"",
"spacy_git_version":"Unknown",
"vectors":{
"width":0,
"vectors":0,
"keys":0,
"name":null,
"mode":"default"
},
"labels":{
"ner":[
"cdtr.bic",
"cdtr.iban",
"cdtr.name",
"invoice.date",
"invoice.number",
"invoice.total"
]
},
"pipeline":[
"ner"
],
"components":[
"ner"
],
"disabled":[
]
}

View file

@ -1,13 +0,0 @@
{
"moves":null,
"update_with_oracle_cut_size":100,
"multitasks":[
],
"min_action_freq":1,
"learn_tokens":false,
"beam_width":1,
"beam_density":0.0,
"beam_update_prob":0.0,
"incorrect_spans_key":null
}

Binary file not shown.

View file

@ -1 +0,0 @@
¥movesÚÄ{"0":{},"1":{"invoice.total":-1,"invoice.number":-2,"invoice.date":-3,"cdtr.name":-4,"cdtr.iban":-5,"cdtr.bic":-6},"2":{"invoice.total":-1,"invoice.number":-2,"invoice.date":-3,"cdtr.name":-4,"cdtr.iban":-5,"cdtr.bic":-6},"3":{"invoice.total":-1,"invoice.number":-2,"invoice.date":-3,"cdtr.name":-4,"cdtr.iban":-5,"cdtr.bic":-6},"4":{"":1,"invoice.total":-1,"invoice.number":-2,"invoice.date":-3,"cdtr.name":-4,"cdtr.iban":-5,"cdtr.bic":-6},"5":{"":1}}£cfg<66>§neg_keyÀ

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
<EFBFBD>

View file

@ -1 +0,0 @@
<EFBFBD>

File diff suppressed because it is too large Load diff

View file

@ -1,3 +0,0 @@
{
"mode":"default"
}

View file

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Workflow Instance -->
<item name="workflow.endpoint"><value xsi:type="xs:string">https://alexander-logistics.office-workflow.de/api/</value></item>
<item name="workflow.userid"><value xsi:type="xs:string">admin</value></item>
<item name="workflow.password"><value xsi:type="xs:string">imixs4.null</value></item>
<!-- -->
<item name="workflow.query"><value xsi:type="xs:string">($workflowgroup:"Rechnungseingang" OR $workflowgroup:"Sachrechnung") AND ($taskid:5900)</value></item>
<item name="workflow.pagesize"><value xsi:type="xs:int">100</value></item>
<item name="workflow.pageindex"><value xsi:type="xs:int">30</value></item>
<item name="workflow.entities">
<value xsi:type="xs:string">cdtr.name</value>
<value xsi:type="xs:string">cdtr.iban</value>
<value xsi:type="xs:string">cdtr.bic</value>
<value xsi:type="xs:string">invoice.total</value>
<value xsi:type="xs:string">invoice.date</value>
<value xsi:type="xs:string">invoice.number</value>
</item>
<item name="workflow.locale">
<value xsi:type="xs:string">en_GB</value>
<value xsi:type="xs:string">en_US</value>
<value xsi:type="xs:string">de_DE</value>
</item>
<!-- Tika OCR Server -->
<item name="tika.ocrmode"><value xsi:type="xs:string">OCR_ONLY</value></item>
<item name="tika.options">
<value xsi:type="xs:string">X-Tika-OCRLanguage=eng+deu</value>
<value xsi:type="xs:string">X-Tika-PDFocrStrategy=OCR_ONLY</value>
</item>
<!-- ML spaCy Server -->
<item name="ml.validation.endpoint"><value xsi:type="xs:string">http://imixs-ml-spacy:8000/</value></item>
<item name="ml.validation.model"><value xsi:type="xs:string">invoice-de-0.1.0</value></item>
<item name="ml.validation.filepattern"><value xsi:type="xs:string">.pdf|.PDF</value></item>
</document>

View file

@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Workflow Instance -->
<item name="workflow.endpoint"><value xsi:type="xs:string">https://alexander-logistics.office-workflow.de/api/</value></item>
<item name="workflow.userid"><value xsi:type="xs:string">admin</value></item>
<item name="workflow.password"><value xsi:type="xs:string">imixs4.null</value></item>
<item name="workflow.entities">
<value xsi:type="xs:string">cdtr.name</value>
<value xsi:type="xs:string">cdtr.iban</value>
<value xsi:type="xs:string">cdtr.bic</value>
<value xsi:type="xs:string">invoice.total</value>
<value xsi:type="xs:string">invoice.date</value>
<value xsi:type="xs:string">invoice.number</value>
</item>
<item name="workflow.locale">
<value xsi:type="xs:string">en_GB</value>
<value xsi:type="xs:string">en_US</value>
<value xsi:type="xs:string">de_DE</value>
</item>
<!-- Tika OCR Server -->
<item name="tika.ocrmode"><value xsi:type="xs:string">OCR_ONLY</value></item>
<item name="tika.options">
<value xsi:type="xs:string">X-Tika-OCRLanguage=eng+deu</value>
<value xsi:type="xs:string">X-Tika-PDFocrStrategy=OCR_ONLY</value>
</item>
<!-- ML spaCy Server -->
<item name="ml.training.endpoint"><value xsi:type="xs:string">http://imixs-ml-spacy:8000/</value></item>
<item name="ml.training.model"><value xsi:type="xs:string">invoice-de-0.2.0</value></item>
<item name="ml.training.filepattern"><value xsi:type="xs:string">.pdf|.PDF</value></item>
<!-- LOW | GOOD -->
<item name="ml.training.quality"><value xsi:type="xs:string">LOW</value></item>
<!-- Define the training set and taining mode -->
<item name="workflow.query"><value xsi:type="xs:string">($workflowgroup:"Rechnungseingang" OR $workflowgroup:"Sachrechnung") AND ($taskid:5900)</value></item>
<item name="workflow.pagesize"><value xsi:type="xs:int">1000</value></item>
<item name="workflow.pageindex"><value xsi:type="xs:int">0</value></item>
<item name="ml.training.iterations"><value xsi:type="xs:string">5</value></item>
<item name="ml.training.dropoutrate"><value xsi:type="xs:string">0.0</value></item>
<item name="ml.options">
<value xsi:type="xs:string">min_losses=0.0&amp;retrain_rate=100</value>
</item>
</document>

Some files were not shown because too many files have changed in this diff Show more