From c232841ed34889de2dbeb9572c34c44f98e32ebb Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Tue, 18 Nov 2025 16:33:58 +0100 Subject: [PATCH] update --- .../einvoice/EInvoiceAdapter.java | 2 +- ...ExportAdapter.java => KSeFAPIAdapter.java} | 49 +- .../einvoice/KSeFAdapter.java | 13 +- .../ksef/api/KSeFAPIService.java | 114 +- .../ksef/api/KSeFAuthManager.java | 4 +- .../ksef/api/KSeFAPIServiceTest.java | 2 +- .../rechnungsausgang-pl-1.1.0-versuche.bpmn | 3413 +++++++++++++++++ workflow/pl/rechnungsausgang-pl-1.1.0.bpmn | 699 ++-- 8 files changed, 3921 insertions(+), 375 deletions(-) rename office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/{KSeFExportAdapter.java => KSeFAPIAdapter.java} (52%) create mode 100644 workflow/pl/rechnungsausgang-pl-1.1.0-versuche.bpmn diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/EInvoiceAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/EInvoiceAdapter.java index 038a921..97ef610 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/EInvoiceAdapter.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/EInvoiceAdapter.java @@ -120,7 +120,7 @@ public class EInvoiceAdapter implements SignalAdapter { throw new PluginException(EInvoiceAdapter.class.getSimpleName(), CONFIG_ERROR, "missing e-invoice configuration in model event - please check model configuration"); } - ItemCollection createDefinition = XMLParser.parseItemStructure(eInvoiceConfig.getItemValueString("create")); + ItemCollection createDefinition = XMLParser.parseItemStructure(eInvoiceConfig.getItemValueString("CREATE")); try { // Load the e-invoice template.... FileData xmlFileData = loadXMLTemplate(workitem, createDefinition); diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAPIAdapter.java similarity index 52% rename from office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFExportAdapter.java rename to office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAPIAdapter.java index 3ae74df..c4e1ccf 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFExportAdapter.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAPIAdapter.java @@ -15,26 +15,33 @@ import com.alexanderlogistics.ksef.api.KSeFAPIService; import jakarta.inject.Inject; /** - * This adapter exports the invoice data to KSeF + * This adapter exports the invoice data to KSeF and can poll the current status + * of an invoice * * To activate debug add the following event definition * *
 * {@code
-
-   true
-
+        
+            true
+        
+
+
+        
+            true
+         
+
 * }
 * 
* * @version 1.0 * @author rsoika */ -public class KSeFExportAdapter implements SignalAdapter { +public class KSeFAPIAdapter implements SignalAdapter { public static final String CONFIG_ERROR = "CONFIG_ERROR"; - private static Logger logger = Logger.getLogger(KSeFExportAdapter.class.getName()); + private static Logger logger = Logger.getLogger(KSeFAPIAdapter.class.getName()); private boolean debug = false; @Inject @@ -56,25 +63,33 @@ public class KSeFExportAdapter implements SignalAdapter { throws AdapterException { // read debug flag try { - List ksefDefinitions = workflowService.evalWorkflowResultXML(event, "ksef", + List ksefExportDefinitions = workflowService.evalWorkflowResultXML(event, "ksef", "EXPORT", workitem, false); - if (ksefDefinitions != null && ksefDefinitions.size() > 0) { - ItemCollection ksefDefinition = ksefDefinitions.get(0); + // List ksefStatusDefinitions = + // workflowService.evalWorkflowResultXML(event, "ksef", + // "STATUS", workitem, false); + + // EXPORT + if (ksefExportDefinitions != null && ksefExportDefinitions.size() > 0) { + ItemCollection ksefDefinition = ksefExportDefinitions.get(0); debug = ksefDefinition.getItemValueBoolean("debug"); + + kSeFAPIService.uploadInvoice(workitem, "ksef.xml"); + } - } catch (PluginException ee) { - // no op - } - try { - kSeFAPIService.uploadInvoice(workitem, "ksef.xml"); + // // STATUS + // if (ksefStatusDefinitions != null && ksefStatusDefinitions.size() > 0) { + // ItemCollection ksefDefinition = ksefStatusDefinitions.get(0); + // debug = ksefDefinition.getItemValueBoolean("debug"); + // kSeFAPIService.getInvoiceStatus(workitem); + + // } } catch (PluginException e) { - // convert PluginException into a AdapterException to handle the error via the - // model! - logger.warning("Failed to export data to Zoho: " + e.getMessage()); throw new AdapterException(e); } + return workitem; } diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAdapter.java index 20e6cd9..c84d281 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAdapter.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFAdapter.java @@ -40,11 +40,12 @@ import jakarta.inject.Inject; * *
  * {@code
-        
+        
             textblock-ref
             
             true
-         
+         
+
    }
  * 
* @@ -92,18 +93,18 @@ public class KSeFAdapter implements SignalAdapter { logger.info("├── 🔜 Convert Invoice to KSeF..."); // read configuration.... - ItemCollection eInvoiceConfig = workflowService.evalWorkflowResult(event, "e-invoice", + ItemCollection eInvoiceConfig = workflowService.evalWorkflowResult(event, "ksef", workitem, false); - if (eInvoiceConfig == null || !eInvoiceConfig.hasItem("ksef")) { + if (eInvoiceConfig == null || !eInvoiceConfig.hasItem("CREATE")) { throw new PluginException(EInvoiceAdapter.class.getSimpleName(), CONFIG_ERROR, "missing e-invoice/ksef configuration in model event - please check model configuration"); } - ItemCollection ksefDefinition = XMLParser.parseItemStructure(eInvoiceConfig.getItemValueString("ksef")); + ItemCollection ksefCreateDefinition = XMLParser.parseItemStructure(eInvoiceConfig.getItemValueString("CREATE")); try { // Load the e-invoice template.... - FileData xmlFileData = loadXMLTemplate(workitem, ksefDefinition); + FileData xmlFileData = loadXMLTemplate(workitem, ksefCreateDefinition); updateEInvoice(xmlFileData, workitem); diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java index 27ebd8b..46e20ca 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java @@ -67,7 +67,7 @@ public class KSeFAPIService { * @return referenceNumber from KSeF * @throws PluginException */ - public String uploadInvoice(ItemCollection workitem, String fileName) throws PluginException { + public void uploadInvoice(ItemCollection workitem, String fileName) throws PluginException { // First open an interactive session (reuses existing if valid) kseFAuthManager.openSession(); @@ -182,9 +182,27 @@ public class KSeFAPIService { textlist.add(referenceNumber); fileData.setAttribute("ksef.referenceNumber", textlist); + workitem.setItemValue("ksef.referenceNumber", referenceNumber); logger.info("├── ✅ Upload successful - Reference: " + referenceNumber); - return referenceNumber; + // Close Session + kseFAuthManager.closeInteractiveSession(); + + // Status abfragen + // Now we need to wait until auth/{AuthRef} will return 200 + long start = System.currentTimeMillis(); + long timeout = 20_000; // 20 Sekunden + while (System.currentTimeMillis() - start < timeout) { + int code = kseFAuthManager.checkSessionStatus(); + + if (code >= 200) { + break; // ok or borken + } + + // kleine Pause, um CPU zu schonen + kseFAuthManager.waitSomeTime(500); + + } } catch (Exception e) { logger.severe("├── ⚠️ Invoice upload failed: " + e.getMessage()); @@ -194,11 +212,101 @@ public class KSeFAPIService { } finally { // finally we close the session - kseFAuthManager.closeInteractiveSession(); + kseFAuthManager.deleteCurrentAuthSession(); } } + /** + * Poll Invoice Status + * + * https://ksef-test.mf.gov.pl/docs/v2/index.html#tag/Status-wysylki-i-UPO/paths/~1api~1v2~1sessions~1%7BreferenceNumber%7D/get + * + * @param workitem + * @return + * @throws PluginException + */ + private int xxxgetInvoiceStatus(ItemCollection workitem) throws PluginException { + + logger.info("├── 🔎 Get Invoice Status..."); + + // Validate session + if (kseFAuthManager.getAccessToken() == null) { + throw new PluginException(KSeFAuthManager.class.getSimpleName(), ERROR_API, + "API Error - missing AccessToken!"); + } + if (kseFAuthManager.getSessionRefNumber() == null) { + throw new PluginException(KSeFAuthManager.class.getSimpleName(), ERROR_API, + "API Error - missing SessionRefNumber!"); + } + if (kseFAuthManager.getSessionEncryption() == null) { + throw new PluginException(KSeFAuthManager.class.getSimpleName(), ERROR_API, + "API Error - missing Session Encryption!"); + } + + try { + + String referenceNumber = workitem.getItemValueString("ksef.referenceNumber"); + if (referenceNumber.isBlank()) { + throw new PluginException(KSeFAuthManager.class.getSimpleName(), ERROR_API, + "API Error - missing invoice referenceNumber!"); + } + + // Calculate hashes + + // Send upload request + String uri = kseFAuthManager.getBaseURI() + "/sessions/" + kseFAuthManager.getSessionRefNumber(); + + logger.info("│ ├── GET: " + uri); + + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(uri)) + .header("Content-Type", "application/json") + .header("Authorization", "Bearer " + kseFAuthManager.getAccessToken()) + .GET() + .build(); + + HttpResponse response = kseFAuthManager.getHttpClient().send( + request, HttpResponse.BodyHandlers.ofString()); + + logger.info("│ ├── HTTP Response: " + response.statusCode()); + + logger.info("│ ├── Response Body: " + response.body()); + + int statusCode = -1; + String statusDescription = ""; + try (Jsonb jsonb = JsonbBuilder.create()) { + JsonObject jsonObject = jsonb.fromJson(response.body(), JsonObject.class); + + // Status Code aus dem status-Objekt extrahieren + if (jsonObject.containsKey("status")) { + JsonObject statusObject = jsonObject.getJsonObject("status"); + if (statusObject.containsKey("code")) { + statusCode = statusObject.getInt("code"); + statusDescription = statusObject.getString("description"); + logger.info("│ ├── Status Code: " + statusCode); + logger.info("│ ├── Status Description: " + statusDescription); + } + } + + } catch (Exception e) { + logger.severe("├── ⚠️ Error parsing JSON response: " + e.getMessage()); + throw new PluginException(KSeFAuthManager.class.getSimpleName(), ERROR_API, + "Error parsing JSON response: " + e.getMessage()); + } + + workitem.setItemValue("ksef.status.code", statusCode); + workitem.setItemValue("ksef.status.description", statusDescription); + return statusCode; + + } catch (Exception e) { + logger.severe("├── ⚠️ Get Invoice status failed: " + e.getMessage()); + + throw new PluginException(KSeFAuthManager.class.getSimpleName(), ERROR_API, + "Invoice upload failed: " + e.getMessage()); + } + } + /** * Encrypt invoice XML with the session encryption keys * diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java index 2922fd9..5e10a20 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java @@ -535,7 +535,7 @@ public class KSeFAuthManager { /** * waits some time.. */ - private void waitSomeTime(long millis) { + public void waitSomeTime(long millis) { logger.info("│ ├── waiting " + millis + "ms...."); try { Thread.sleep(millis); @@ -1105,7 +1105,7 @@ public class KSeFAuthManager { logger.info("Response: " + response.body()); } - sessionRefNumber = null; + // sessionRefNumber = null; } } diff --git a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java index 364c801..fabe3e5 100644 --- a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java +++ b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java @@ -63,7 +63,7 @@ public class KSeFAPIServiceTest { workitem = createWorkitem(); // Execute upload - referenceNumber = apiService.uploadInvoice(workitem, "example-invoice-01.xml"); + apiService.uploadInvoice(workitem, "example-invoice-01.xml"); } catch (IOException | PluginException e) { logger.info("⚠️ Upload failed: " + e.getMessage()); fail(e); diff --git a/workflow/pl/rechnungsausgang-pl-1.1.0-versuche.bpmn b/workflow/pl/rechnungsausgang-pl-1.1.0-versuche.bpmn new file mode 100644 index 0000000..dd45cd9 --- /dev/null +++ b/workflow/pl/rechnungsausgang-pl-1.1.0-versuche.bpmn @@ -0,0 +1,3413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + +<itemvalue>$workflowstatus</itemvalue> + +]]> + + + In case you have already made the payment, please disregard this notice. If you require any information regarding your account, please do not hesitate to contact us.

+

Thank you for your cooperation.

+

 

+

Kind regards
Alexander Global Logistics GmbH

+ +]]>
+
+ + + + + + + + + + + + + + StartEvent_1 + task_LqbtSQ + IntermediateCatchEvent_6 + task_nKKaIg + event_sGMk3g + task_rhD89g + event_chRsuA + event_nQBQjw + event_0YONsg + event_NIn1DQ + event_IkxO0Q + event_o1nouw + event_iAvEHw + task_iWUeSw + gateway_DjDNAA + gateway_k00hrA + event_AujEAA + event_FYxkhQ + event_7H4Aaw + event_NT60FA + event_S9HJ1A + event_qIhyWA + gateway_utXBiw + event_OEuWOw + task_UCh9Ww + event_rnULsg + event_3FDnsA + gateway_S4b22A + task_t4TgPg + event_SAU2eg + task_dfXKGQ + event_ouKIWA + event_NyrA6g + gateway_H0SvJw + event_KfD0Gg + + + + Task_5 + Task_8 + Task_6 + IntermediateCatchEvent_5000-20 + EndEvent_2 + EndEvent_1 + IntermediateCatchEvent_2 + IntermediateCatchEvent_27 + IntermediateCatchEvent_5 + EndEvent_3 + TextAnnotation_1 + textAnnotation_ru52BA + Task_2 + IntermediateCatchEvent_23 + IntermediateCatchEvent_17 + IntermediateCatchEvent_18 + IntermediateCatchEvent_3 + IntermediateThrowEvent_8 + IntermediateThrowEvent_11 + event_iUSXSg + ExclusiveGateway_1 + EventBasedGateway_1 + ExclusiveGateway_5 + DataObject_2 + + + + TextAnnotation_2 + Task_1 + IntermediateCatchEvent_1 + IntermediateThrowEvent_9 + IntermediateCatchEvent_9 + IntermediateThrowEvent_10 + event_OzINHA + ExclusiveGateway_3 + dataObject_V0KVQg + event_w96sOg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + SequenceFlow_22 + SequenceFlow_27 + + + + sequenceFlow_nPTjjw + SequenceFlow_33 + + SequenceFlow_15 + + + + + + + sequenceFlow_sN9AQQ + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_33 + SequenceFlow_14 + SequenceFlow_39 + SequenceFlow_22 + sequenceFlow_OttgXA + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_52 + SequenceFlow_11 + SequenceFlow_47 + + + SequenceFlow_47 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dunning]]> + + + + + + + + + + + + false + + + + sequenceFlow_4IITzA + + + sequenceFlow_sN9AQQ + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_27 + sequenceFlow_EZX5kQ + SequenceFlow_18 + SequenceFlow_34 + sequenceFlow_zhcE7Q + sequenceFlow_I5jpvQ + + + SequenceFlow_61 + + + + SequenceFlow_39 + SequenceFlow_17 + SequenceFlow_65 + SequenceFlow_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_52 + + + + + + + + + SequenceFlow_18 + SequenceFlow_25 + SequenceFlow_64 + SequenceFlow_9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_42 + SequenceFlow_8 + + + + + + + + + + SequenceFlow_42 + + + + + SequenceFlow_8 + SequenceFlow_10 + SequenceFlow_12 + + + + + + + + + invoice.saldo]]> + + + + + + SequenceFlow_10 + SequenceFlow_11 + + + + + + + + + + + + + invoice.saldo]]> + + + + + + SequenceFlow_12 + SequenceFlow_14 + + + + + + + + + + SequenceFlow_17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + SequenceFlow_34 + SequenceFlow_15 + + + + + + SequenceFlow_25 + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7 +1. Dunning + +]]> + + + + + + + + + + + + false + + + + + + + + + sequenceFlow_zhcE7Q + association_P36Fzw + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_60 + SequenceFlow_61 + + + + + invoice.saldo]]> + + + + + + SequenceFlow_60 + + + + + + + + + + SequenceFlow_64 + + + + + + + + SequenceFlow_65 + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_9 + SequenceFlow_13 + SequenceFlow_5 + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_5 + SequenceFlow_19 + + + SequenceFlow_19 + + + + + + + + + + Trigger über ZahlungseingangsSaldoAdapter + + + + + + + Triggered by MahnlaufExecuteAdapter + +Wiedervorlage wird um 7 bzw. 5 Tage erhöht + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_14 + sequenceFlow_4IITzA + sequenceFlow_1xQ7aA + sequenceFlow_UOahyg + SequenceFlow_22 + sequenceFlow_nrxqhg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_OttgXA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + association_xVkeww + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (type:workitem) AND ($taskid:1000) AND ($modelversion:outbound-tax-export*) AND (name:"invoice.date") + outbound-tax-export-1.0 + 1000 + 100 + invoice.date + true +]]> + + + + + + + + + + + + false + + + + sequenceFlow_EZX5kQ + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_4IITzA + sequenceFlow_sO35Dg + sequenceFlow_jpNRMg + sequenceFlow_2BSFNw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + e-invoice-template + + true + ]]> + + + + + + + sequenceFlow_nrxqhg + sequenceFlow_0A0wqQ + sequenceFlow_gjnUAA + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_gjnUAA + sequenceFlow_5OVgOQ + sequenceFlow_0aNMvQ + sequenceFlow_qs1rug + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + e-invoice-template + + true + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_2BSFNw + sequenceFlow_JNYd0A + sequenceFlow_F90iWQ + + + + + + + + + + + sequenceFlow_0A0wqQ + + + + + sequenceFlow_JNYd0A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_0aNMvQ + sequenceFlow_nPTjjw + + + + + + + + + + sequenceFlow_UQnJtA + + + + + + + + sequenceFlow_I5jpvQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_UQnJtA + sequenceFlow_1xQ7aA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_UOahyg + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_4IITzA + sequenceFlow_UOahyg + sequenceFlow_BaNbmQ + sequenceFlow_ATB00A + sequenceFlow_nrxqhg + sequenceFlow_0cMadw + + + + sequenceFlow_gjnUAA + sequenceFlow_sO35Dg + sequenceFlow_79GZ8w + + + + sequenceFlow_F90iWQ + sequenceFlow_eadkWg + sequenceFlow_DCA0Tw + + + + + + + + + + + + + sequenceFlow_0cMadw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + adapter.error_code: adapter.error_message]]> + + + + + + + + + adapter.error_code: adapter.error_message]]> + + + false + + + + sequenceFlow_BaNbmQ + + sequenceFlow_79GZ8w + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_ATB00A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_VI5qMw + sequenceFlow_jpNRMg + + + sequenceFlow_VI5qMw + + + + + + + + + + + sequenceFlow_sNNdbA + + + + + + sequenceFlow_2th1MQ + sequenceFlow_DCA0Tw + sequenceFlow_Gox0Rw + + + + + + + + + sequenceFlow_qs1rug + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_sO35Dg + sequenceFlow_eadkWg + sequenceFlow_jG1Bdw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_JNYd0A + sequenceFlow_jG1Bdw + sequenceFlow_Rdv4Yg + sequenceFlow_o0J3Sg + + + + + + + + sequenceFlow_Rdv4Yg + + + + + + + + + + + sequenceFlow_DCA0Tw + sequenceFlow_o0J3Sg + sequenceFlow_83w7TA + sequenceFlow_2th1MQ + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_UOahyg + sequenceFlow_ATB00A + sequenceFlow_mtiCpg + sequenceFlow_6VjCnQ + sequenceFlow_sNNdbA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + adapter.error_code: adapter.error_message]]> + + + + + + + + + adapter.error_code: adapter.error_message]]> + + + false + + + + sequenceFlow_Gox0Rw + sequenceFlow_AIquGw + sequenceFlow_mtiCpg + + sequenceFlow_79GZ8w + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imginvoice.number dbtr.number dbtr.name (invoice.currency invoice.total) ]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + sequenceFlow_83w7TA + sequenceFlow_qs1rug + sequenceFlow_83w7TA + sequenceFlow_zl0p4Q + sequenceFlow_rE5y8g + + + + sequenceFlow_VgfIJA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_jG1Bdw + sequenceFlow_zl0p4Q + sequenceFlow_VgfIJA + sequenceFlow_Bms0CA + + + + + sequenceFlow_Bms0CA + sequenceFlow_83w7TA + sequenceFlow_AIquGw + sequenceFlow_5OVgOQ + + + + + + + + + + + + + + + + + + + sequenceFlow_rE5y8g + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/workflow/pl/rechnungsausgang-pl-1.1.0.bpmn b/workflow/pl/rechnungsausgang-pl-1.1.0.bpmn index 55a56dd..bf2b084 100644 --- a/workflow/pl/rechnungsausgang-pl-1.1.0.bpmn +++ b/workflow/pl/rechnungsausgang-pl-1.1.0.bpmn @@ -129,9 +129,9 @@ th { font-weight: bold;} gateway_S4b22A task_t4TgPg event_SAU2eg - task_PYE0HA - event_KPfjQQ - event_6fSDtg + gateway_H0SvJw + task_awoe6g + event_UOQyTg @@ -1479,10 +1479,9 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht false - + e-invoice-template - true ]]> @@ -1537,7 +1536,7 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht $workflowgroup - $workflowstatus]]> sequenceFlow_gjnUAA - sequenceFlow_83w7TA + sequenceFlow_5OVgOQ sequenceFlow_0aNMvQ sequenceFlow_qs1rug @@ -1593,11 +1592,11 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + e-invoice-template true - ]]> + ]]> @@ -2298,9 +2297,9 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + true - ]]> + ]]> @@ -2336,17 +2335,14 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + sequenceFlow_DCA0Tw sequenceFlow_o0J3Sg - sequenceFlow_83w7TA sequenceFlow_2th1MQ + sequenceFlow_Tp8LKg - - - - + @@ -2469,7 +2465,18 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + + + sequenceFlow_Tp8LKg + sequenceFlow_83w7TA + sequenceFlow_5OVgOQ + sequenceFlow_peFLew + + + + + + @@ -2502,26 +2509,25 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - $workflowgroup - $workflowstatus]]> - sequenceFlow_83w7TA - sequenceFlow_Rofsqw + $workflowgroup - $workflowstatus]]> + sequenceFlow_5OVgOQ + sequenceFlow_peFLew sequenceFlow_qs1rug - sequenceFlow_nqoCTQ + sequenceFlow_5p1nHQ - - sequenceFlow_nqoCTQ - - - - - + + - - - sequenceFlow_Rofsqw - - - + + sequenceFlow_5p1nHQ + + + + + + + + @@ -2534,34 +2540,34 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + - + - + - + - + - + - + - + - + - + @@ -2571,105 +2577,105 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2691,585 +2697,588 @@ Wiedervorlage wird um 7 bzw. 5 Tage erhöht - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + - - - - + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - - + + + + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - + - - - - + + + + - + - + - - - - + + + + - - - + + + - + - - - - - - + + + + + + - - + + - - - + + + - + - + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + - - - - + + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - - - - - - + + - - - + + + - - + + - - + + - - - + + + - - - - - + + + + + + + + + + + +