cargosoft export

This commit is contained in:
Ralph Soika 2025-07-30 10:12:11 +02:00
parent 6545f76f43
commit 52412a7678
7 changed files with 5119 additions and 74 deletions

View file

@ -0,0 +1,49 @@
Hallo,
wir nutzen oben genannte Storage Box für den Datenaustausch mit verschiedenen Kunden.
Einer der Kunden kann seit dem 25. Juli nicht mehr von seinem Firmennetzwerk darauf zugreifen.
Wir haben auf dem Linux Server beim Kunden folgende Tests durchgeführt:
cargodb@cargodb:~$ sftp -v -oPort=22 u248962-sub1@u248962.your-storagebox.de
OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f 31 Mar 2020
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/_.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for _
debug2: resolving "u248962.your-storagebox.de" port 22
debug2: ssh_connect_direct
debug1: Connecting to u248962.your-storagebox.de [78.47.94.120] port 22.
debug1: connect to address 78.47.94.120 port 22: Connection refused
debug1: Connecting to u248962.your-storagebox.de [2a01:4f8:2b01:db::2] port 22.
debug1: connect to address 2a01:4f8:2b01:db::2 port 22: Network is unreachable
ssh: connect to host u248962.your-storagebox.de port 22: Network is unreachable
Connection closed.
cargodb@cargodb:~$ nc -zv u248962-sub1@u248962.your-storagebox.de 22
nc: getaddrinfo for host u248962-sub1@u248962.your-storagebox.de port 22: Name or service not known
cargodb@cargodb:~$ tcptraceroute u248962.your-storagebox.de 22
Selected device ens160, address 192.168.83.3, port 52113 for outgoing packets
Tracing the path to u248962.your-storagebox.de (78.47.94.120) on TCP port 22 (ssh), 30 hops max
1 192.168.83.254 0.233 ms 0.175 ms 0.242 ms
2 82-198-218-38.briteline.de (82.198.218.38) 1.470 ms 1.103 ms 2.286 ms
3 10.200.48.254 0.930 ms 0.915 ms 0.776 ms
4 82-198-192-194.briteline.de (82.198.192.194) 1.092 ms 1.114 ms 0.902 ms
5 82-198-216-168.briteline.de (82.198.216.168) 1.101 ms 1.168 ms 1.034 ms
6 ae0-201.cr11.bre04.lwlcom.net (31.209.93.121) 1.543 ms 1.650 ms 1.528 ms
7 ae0-30.cr10.bre09.lwlcom.net (185.146.230.97) 7.713 ms 7.440 ms 11.215 ms
8 ae0-10.cr11.bre09.lwlcom.net (185.146.230.53) 7.647 ms 7.652 ms 7.617 ms
9 ae0-20.cr10.bre03.lwlcom.net (185.146.230.99) 7.530 ms 7.716 ms 7.505 ms
10 ae7-90.cr10.bre11.lwlcom.net (185.146.230.34) 7.723 ms 7.661 ms 7.578 ms
11 ae7-100.cr10.lut01.lwlcom.net (185.146.230.39) 7.446 ms 7.509 ms 7.673 ms
12 ae6-100.cr10.fra03.lwlcom.net (185.146.230.27) 7.980 ms 7.281 ms 7.981 ms
13 ae2-100.cr10.fra04.lwlcom.net (185.146.230.51) 7.287 ms 7.392 ms 7.406 ms
14 213-133-121-205.clients.your-server.de (213.133.121.205) 10.464 ms 10.542 ms 10.573 ms
15 core24.fsn1.hetzner.com (213.239.224.85) 16.458 ms 16.381 ms 16.338 ms
16 mx10k1.dc3.fsn1.hetzner.com (213.239.254.142) 16.632 ms 16.687 ms 24.837 ms
17 static.120.94.47.78.clients.your-server.de (78.47.94.120) 16.526 ms !p 16.509 ms !p 16.505 ms !p
Können Sie anhand dieser Daten erkennen worin das Problem besteht? Andere Kunden können die Storage Box problemlos nutzen.
Vielen Dank für Ihre Hilfe
Mit freundlichen Grüßen
Ralph Soika

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

@ -0,0 +1,52 @@
# KSeF - Converter
Die Idee ist es auf Basis der KSeF FA(2) XSD-Spezifikation einen Java-Konverter zu entwickeln.
## Strategische Überlegungen:
### **1. Hybride Lösung mit EN 16931 + KSeF**
Ihr Ansatz würde funktionieren:
- **Interne Basis**: EN 16931 XML als Standardformat in Ihrem System
- **Automatische Konvertierung**: Java-Konverter mappt EN 16931 → KSeF FA(2)/FA(3)
- **Zusätzliche Felder**: Polnische Spezialfelder werden über Extension Points in EN 16931 oder separate Datenstrukturen bereitgestellt
### **2. Technische Umsetzung**
```java
// Konzeptioneller Ansatz
public class EN16931ToKSeFConverter {
public FakturaType convert(EN16931Invoice source, KSeFExtensionData extensions) {
// Mapping der Standard-Felder
// + Ergänzung der Polen-spezifischen Daten
}
}
```
### **3. Vorteile dieser Lösung:**
- **EU-Compliance**: Basis bleibt EN 16931-konform
- **Polen-Compliance**: Vollständige KSeF-Unterstützung
- **Flexibilität**: Ein System für verschiedene EU-Länder erweiterbar
- **Wartbarkeit**: Klare Trennung zwischen Standard und nationalen Extensions
### **4. Herausforderungen aus der XSD:**
Basierend auf der bereitgestellten Spezifikation sehe ich:
- **Komplexe Steuer-Klassifikationen** (GTU-Codes, Procedura-Felder)
- **Transport-spezifische Daten** (perfekt für Ihr Logistik-Unternehmen)
- **Währungs-Handling** mit polnischen NBP-Kursen
- **Korrektur-Mechanismen** für Rechnungsänderungen
## **Empfehlung für das Treffen:**
**Präsentieren Sie diese Lösung als "Best of both worlds":**
1. "Wir bleiben EU-Standard-konform mit EN 16931"
2. "Zusätzlich entwickeln wir automatische Konvertierung zu KSeF"
3. "Polen-spezifische Daten kommen aus unserem ERP-System"
4. "Zukunftssicher für weitere EU-Länder"
Das zeigt **technische Kompetenz** und **strategisches Denken** - Sie lösen nicht nur das polnische Problem, sondern schaffen eine skalierbare EU-weite Lösung!

3661
doc/KSeF/schemat.xsd Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,249 @@
<?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"><item name="$created"><value xsi:type="xs:dateTime">2024-02-02T13:13:38.991+01:00</value></item><item name="$file"><value xsi:nil="true"/></item><item name="$isauthor"><value xsi:type="xs:boolean">true</value></item><item name="$modified"><value xsi:type="xs:dateTime">2025-07-29T12:10:27.625+02:00</value></item><item name="$snapshot.history"><value xsi:type="xs:int">1</value></item><item name="$snapshot.overwritefilecontent"><value xsi:type="xs:string"></value></item><item name="$snapshotid"><value xsi:type="xs:string">806f9b2f-07ff-43d1-9b0d-1038804cc71c-1753783827626</value></item><item name="$uniqueid"><value xsi:type="xs:string">806f9b2f-07ff-43d1-9b0d-1038804cc71c</value></item><item name="$version"><value xsi:type="xs:int">2</value></item><item name="attributes"><value xsi:type="xmlItem"><value xsi:type="xs:string">$uniqueid</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">$workflowgroup</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">$taskid</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">$workflowsummary</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">invoice.number</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">invoice.date</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">invoice.total</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">invoice.currency</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">cdtr.name</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">cdtr.iban</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">cdtr.bic</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">dbtr.name</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">dbtr.iban</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">dbtr.bic</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value><value xsi:type="xmlItem"><value xsi:type="xs:string">payment.type</value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value><value xsi:type="xs:string"></value></value></item><item name="contenttype"><value xsi:type="xs:string"></value></item><item name="encoding"><value xsi:type="xs:string">UTF-8</value></item><item name="txtdescription"><value xsi:type="xs:string">Cargosoft Export - only the XSL Template is needed here!</value></item><item name="txtname"><value xsi:type="xs:string">cargosoft</value></item><item name="txtquery"><value xsi:type="xs:string"></value></item><item name="type"><value xsi:type="xs:string">ReportEntity</value></item><item name="xsl"><value xsi:type="xs:string">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&#13;
&lt;xsl:stylesheet&#13;
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&#13;
xmlns:xs="http://www.w3.org/2001/XMLSchema"&#13;
version="2.0"&gt;&#13;
&lt;xsl:strip-space elements="*" /&gt;&#13;
&lt;xsl:output method="xml" indent="yes" encoding="UTF-8"&#13;
standalone="yes" /&gt;&#13;
&#13;
&lt;xsl:template match="/"&gt;&#13;
&#13;
&lt;xsl:variable name="date"&#13;
select="/data/document/item[@name='$modified']/value" /&gt;&#13;
&#13;
&lt;Invoices version="2020.2"&#13;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;&#13;
&#13;
&lt;Message&gt;&#13;
&lt;SenderID&gt;Imixs-Office-Workflow&lt;/SenderID&gt;&#13;
&lt;ReceiverID&gt;Cargosoft&lt;/ReceiverID&gt;&#13;
&lt;MessageID&gt;&#13;
&lt;xsl:value-of select="/data/document/item[@name='$uniqueid']/value"&#13;
/&gt;&#13;
&lt;/MessageID&gt;&#13;
&lt;MessageDate&gt;&#13;
&lt;DateTime&gt;&#13;
&lt;xsl:value-of select="$date" /&gt;&#13;
&lt;/DateTime&gt;&#13;
&lt;/MessageDate&gt;&#13;
&lt;/Message&gt;&#13;
&#13;
&lt;xsl:apply-templates&#13;
select="/data/document[normalize-space(item[@name = '$workflowgroup']/value) =&#13;
'Cargosoft-Export']" /&gt;&#13;
&lt;/Invoices&gt;&#13;
&#13;
&lt;/xsl:template&gt;&#13;
&#13;
&lt;!-- This template builds invoice info --&gt;&#13;
&lt;xsl:template&#13;
match="/data/document[normalize-space(item[@name = '$workflowgroup']/value) =&#13;
'Cargosoft-Export']"&gt;&#13;
&#13;
&lt;xsl:variable name="date" select="item[@name='$modified']/value" /&gt;&#13;
&lt;xsl:variable&#13;
name="currency" select="item[@name='invoice.currency']/value" /&gt;&#13;
&#13;
&#13;
&lt;Invoice&gt;&#13;
&lt;InvoiceHeader&gt;&#13;
&lt;Client&gt;&#13;
&lt;Codes&gt;&#13;
&lt;!-- Als Typ muss „cs“ übermittelt werden und im Code wird&#13;
dann der Cargosoft Mandant erwartet. --&gt;&#13;
&lt;Code Type="cs"&gt;002&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Client&gt;&#13;
&lt;!-- Hier muss eine eindeutige Belegnummer für jeden einzelnen&#13;
Beleg übermittelt werden. Es muss sich um eine Nummer&#13;
handeln, die pro Beleg hochgezählt wird und darf sich nicht&#13;
überschneiden mit dem CargoSoft Belegnummernkreis.&#13;
Daher den Nummernkreis vorher mit CargoSoft absprechen. --&gt;&#13;
&lt;InvoiceNumber&gt;&#13;
&lt;xsl:value-of select="item[@name='numsequencenumber']/value"&#13;
/&gt;&#13;
&lt;/InvoiceNumber&gt;&#13;
&#13;
&lt;!-- Belegart - bei Gutschriften 'CREDIT' andernfalls 'INVOICE --&gt;&#13;
&lt;InvoiceType&gt;&#13;
&lt;Codes&gt;&#13;
&lt;xsl:choose&gt;&#13;
&lt;xsl:when test="item[@name='payment.type']/value = 'credit'"&gt;&#13;
&lt;Code Type="cs"&gt;CREDIT&lt;/Code&gt;&#13;
&lt;/xsl:when&gt;&#13;
&lt;xsl:otherwise&gt;&#13;
&lt;Code Type="cs"&gt;INVOICE&lt;/Code&gt;&#13;
&lt;/xsl:otherwise&gt;&#13;
&lt;/xsl:choose&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/InvoiceType&gt;&#13;
&lt;InvoiceCurrency&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="$currency" /&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/InvoiceCurrency&gt;&#13;
&lt;InvoiceAmount&gt;&#13;
&lt;NetAmount&gt;&#13;
&lt;Amount&gt;&#13;
&lt;Currency&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="$currency" /&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&#13;
&lt;xsl:value-of select="item[@name='order.total.netto']/value"&#13;
/&gt;&#13;
&lt;/Value&gt;&#13;
&lt;!-- exchange rate nur ausgeben wenn vorhanden --&gt;&#13;
&lt;xsl:if&#13;
test="string-length(item[@name='invoice.exchangerate']/value) &gt;0"&gt;&#13;
&lt;ExchangeRate&gt;&#13;
&lt;xsl:value-of select="item[@name='invoice.exchangerate']/value"&#13;
/&gt;&#13;
&lt;/ExchangeRate&gt;&#13;
&lt;/xsl:if&gt;&#13;
&lt;/Amount&gt;&#13;
&lt;/NetAmount&gt;&#13;
&lt;VATInformation&gt;&#13;
&lt;VATAmount&gt;&#13;
&lt;Amount&gt;&#13;
&lt;Currency&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="$currency" /&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&#13;
&lt;xsl:value-of select="item[@name='order.total.tax']/value"&#13;
/&gt;&#13;
&lt;/Value&gt;&#13;
&lt;!-- exchange rate nur ausgeben wenn vorhanden --&gt;&#13;
&lt;xsl:if&#13;
test="string-length(item[@name='invoice.exchangerate']/value) &gt;&#13;
0"&gt;&#13;
&lt;ExchangeRate&gt;&#13;
&lt;xsl:value-of&#13;
select="item[@name='invoice.exchangerate']/value"&#13;
/&gt;&#13;
&lt;/ExchangeRate&gt;&#13;
&lt;/xsl:if&gt;&#13;
&lt;/Amount&gt;&#13;
&lt;/VATAmount&gt;&#13;
&lt;/VATInformation&gt;&#13;
&lt;/InvoiceAmount&gt;&#13;
&lt;CollectionInvoice&gt;false&lt;/CollectionInvoice&gt;&#13;
&lt;xsl:if test="string-length(item[@name='invoice.period']/value) &gt; 0"&gt;&#13;
&lt;BookingPeriod&gt;&#13;
&lt;xsl:value-of select="item[@name='invoice.period']/value"&#13;
/&gt;&#13;
&lt;/BookingPeriod&gt;&#13;
&lt;/xsl:if&gt;&#13;
&lt;Booked&gt;false&lt;/Booked&gt;&#13;
&lt;InvoiceDate&gt;&#13;
&lt;xsl:value-of select="item[@name='invoice.date']/value"&#13;
/&gt;&#13;
&lt;/InvoiceDate&gt;&#13;
&#13;
&#13;
&lt;InvoiceAddress type="CN"&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="item[@name='cdtr.number']/value"&#13;
/&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/InvoiceAddress&gt;&#13;
&#13;
&lt;References&gt;&#13;
&lt;Reference type="cs"&gt;&#13;
&lt;xsl:value-of select="item[@name='invoice.number']/value"&#13;
/&gt;&#13;
&lt;/Reference&gt;&#13;
&lt;/References&gt;&#13;
&#13;
&lt;!-- Attachements --&gt;&#13;
&lt;xsl:if test="item[@name='$file.count']/value &gt; 0"&gt;&#13;
&lt;Attachments&gt;&#13;
&lt;xsl:for-each&#13;
select="item[@name='$file']/value/item"&gt;&#13;
&lt;Attachment&gt;&#13;
&lt;xsl:attribute name="id"&gt;&lt;xsl:value-of&#13;
select="./value/item[@name='md5checksum']/value" /&gt;&lt;/xsl:attribute&gt;&#13;
&lt;xsl:attribute name="version"&gt;1&lt;/xsl:attribute&gt;&#13;
&lt;Filename&gt;&#13;
&lt;xsl:value-of select="lower-case(./@name)"&#13;
/&gt;&#13;
&lt;/Filename&gt;&#13;
&lt;Description&gt;Imixs-Office-Workflow&lt;/Description&gt;&#13;
&lt;Content&gt;&#13;
&lt;xsl:value-of select="./value[2]" /&gt;&#13;
&lt;/Content&gt;&#13;
&lt;/Attachment&gt;&#13;
&lt;/xsl:for-each&gt;&#13;
&lt;/Attachments&gt;&#13;
&lt;/xsl:if&gt;&#13;
&#13;
&lt;/InvoiceHeader&gt;&#13;
&lt;InvoiceRows&gt;&#13;
&#13;
&lt;xsl:for-each&#13;
select="item[@name='_childitems']/value"&gt;&#13;
&lt;InvoiceRow&gt;&#13;
&lt;Row&gt;&#13;
&lt;xsl:value-of select="./item[@name='numpos']/value" /&gt;&#13;
&lt;/Row&gt;&#13;
&lt;FileNumber&gt;&#13;
&lt;xsl:value-of select="./item[@name='name']/value"&#13;
/&gt;&#13;
&lt;/FileNumber&gt;&#13;
&lt;InvoiceAmount&gt;&#13;
&lt;NetAmount&gt;&#13;
&lt;Amount&gt;&#13;
&lt;Currency&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="$currency" /&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&#13;
&lt;xsl:value-of select="./item[@name='amount']/value"&#13;
/&gt;&#13;
&lt;/Value&gt;&#13;
&lt;/Amount&gt;&#13;
&lt;/NetAmount&gt;&#13;
&lt;VATInformation&gt;&#13;
&lt;VAT&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="./item[@name='tax']/value"&#13;
/&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/VAT&gt;&#13;
&lt;/VATInformation&gt;&#13;
&lt;/InvoiceAmount&gt;&#13;
&lt;ActivityType&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&#13;
&lt;xsl:value-of select="./item[@name='category']/value"&#13;
/&gt;&#13;
&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/ActivityType&gt;&#13;
&lt;/InvoiceRow&gt;&#13;
&lt;/xsl:for-each&gt;&#13;
&lt;/InvoiceRows&gt;&#13;
&lt;/Invoice&gt;&#13;
&#13;
&lt;/xsl:template&gt;&#13;
&#13;
&#13;
&lt;/xsl:stylesheet&gt;</value></item><item name="xslresource"><value xsi:type="xs:string">
/office-alexander-logistics/reports/cargosoft/cargosoft-1.0.6.xsl</value></item></document>

View file

@ -0,0 +1,248 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="2.0">
<xsl:strip-space elements="*" />
<xsl:output method="xml" indent="yes" encoding="UTF-8"
standalone="yes" />
<xsl:template match="/">
<xsl:variable name="date"
select="/data/document/item[@name='$modified']/value" />
<Invoices version="2020.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Message>
<SenderID>Imixs-Office-Workflow</SenderID>
<ReceiverID>Cargosoft</ReceiverID>
<MessageID>
<xsl:value-of select="/data/document/item[@name='$uniqueid']/value"
/>
</MessageID>
<MessageDate>
<DateTime>
<xsl:value-of select="$date" />
</DateTime>
</MessageDate>
</Message>
<xsl:apply-templates
select="/data/document[normalize-space(item[@name = '$workflowgroup']/value) =
'Cargosoft-Export']" />
</Invoices>
</xsl:template>
<!-- This template builds invoice info -->
<xsl:template
match="/data/document[normalize-space(item[@name = '$workflowgroup']/value) =
'Cargosoft-Export']">
<xsl:variable name="date" select="item[@name='$modified']/value" />
<xsl:variable
name="currency" select="item[@name='invoice.currency']/value" />
<Invoice>
<InvoiceHeader>
<Client>
<Codes>
<!-- Als Typ muss „cs“ übermittelt werden und im Code wird
dann der Cargosoft Mandant erwartet. -->
<Code Type="cs">002</Code>
</Codes>
</Client>
<!-- Hier muss eine eindeutige Belegnummer für jeden einzelnen
Beleg übermittelt werden. Es muss sich um eine Nummer
handeln, die pro Beleg hochgezählt wird und darf sich nicht
überschneiden mit dem CargoSoft Belegnummernkreis.
Daher den Nummernkreis vorher mit CargoSoft absprechen. -->
<InvoiceNumber>
<xsl:value-of select="item[@name='numsequencenumber']/value"
/>
</InvoiceNumber>
<!-- Belegart - bei Gutschriften 'CREDIT' andernfalls 'INVOICE -->
<InvoiceType>
<Codes>
<xsl:choose>
<xsl:when test="item[@name='payment.type']/value = 'credit'">
<Code Type="cs">CREDIT</Code>
</xsl:when>
<xsl:otherwise>
<Code Type="cs">INVOICE</Code>
</xsl:otherwise>
</xsl:choose>
</Codes>
</InvoiceType>
<InvoiceCurrency>
<Codes>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</InvoiceCurrency>
<InvoiceAmount>
<NetAmount>
<Amount>
<Currency>
<Codes>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</Currency>
<Value>
<xsl:value-of select="item[@name='order.total.netto']/value"
/>
</Value>
<!-- exchange rate nur ausgeben wenn vorhanden -->
<xsl:if
test="string-length(item[@name='invoice.exchangerate']/value) >0">
<ExchangeRate>
<xsl:value-of select="item[@name='invoice.exchangerate']/value"
/>
</ExchangeRate>
</xsl:if>
</Amount>
</NetAmount>
<VATInformation>
<VATAmount>
<Amount>
<Currency>
<Codes>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</Currency>
<Value>
<xsl:value-of select="item[@name='order.total.tax']/value"
/>
</Value>
<!-- exchange rate nur ausgeben wenn vorhanden -->
<xsl:if
test="string-length(item[@name='invoice.exchangerate']/value) >
0">
<ExchangeRate>
<xsl:value-of
select="item[@name='invoice.exchangerate']/value"
/>
</ExchangeRate>
</xsl:if>
</Amount>
</VATAmount>
</VATInformation>
</InvoiceAmount>
<CollectionInvoice>false</CollectionInvoice>
<xsl:if test="string-length(item[@name='invoice.period']/value) > 0">
<BookingPeriod>
<xsl:value-of select="item[@name='invoice.period']/value"
/>
</BookingPeriod>
</xsl:if>
<Booked>false</Booked>
<InvoiceDate>
<xsl:value-of select="item[@name='invoice.date']/value"
/>
</InvoiceDate>
<InvoiceAddress type="CN">
<Codes>
<Code Type="cs">
<xsl:value-of select="item[@name='cdtr.number']/value"
/>
</Code>
</Codes>
</InvoiceAddress>
<References>
<Reference type="cs">
<xsl:value-of select="item[@name='invoice.number']/value"
/>
</Reference>
</References>
<!-- Attachements -->
<xsl:if test="item[@name='$file.count']/value > 0">
<Attachments>
<xsl:for-each
select="item[@name='$file']/value/item">
<Attachment>
<xsl:attribute name="id"><xsl:value-of
select="./value/item[@name='md5checksum']/value" /></xsl:attribute>
<xsl:attribute name="version">1</xsl:attribute>
<Filename>
<xsl:value-of select="lower-case(./@name)"
/>
</Filename>
<Description>Imixs-Office-Workflow</Description>
<Content>
<xsl:value-of select="./value[2]" />
</Content>
</Attachment>
</xsl:for-each>
</Attachments>
</xsl:if>
</InvoiceHeader>
<InvoiceRows>
<xsl:for-each
select="item[@name='_childitems']/value">
<InvoiceRow>
<Row>
<xsl:value-of select="./item[@name='numpos']/value" />
</Row>
<FileNumber>
<xsl:value-of select="./item[@name='name']/value"
/>
</FileNumber>
<InvoiceAmount>
<NetAmount>
<Amount>
<Currency>
<Codes>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</Currency>
<Value>
<xsl:value-of select="./item[@name='amount']/value"
/>
</Value>
</Amount>
</NetAmount>
<VATInformation>
<VAT>
<Codes>
<Code Type="cs">
<xsl:value-of select="./item[@name='tax']/value"
/>
</Code>
</Codes>
</VAT>
</VATInformation>
</InvoiceAmount>
<ActivityType>
<Codes>
<Code Type="cs">
<xsl:value-of select="./item[@name='category']/value"
/>
</Code>
</Codes>
</ActivityType>
</InvoiceRow>
</xsl:for-each>
</InvoiceRows>
</Invoice>
</xsl:template>
</xsl:stylesheet>

View file

@ -18,9 +18,13 @@
<Message>
<SenderID>Imixs-Office-Workflow</SenderID>
<ReceiverID>Cargosoft</ReceiverID>
<MessageID><xsl:value-of select="/data/document/item[@name='$uniqueid']/value" /></MessageID>
<MessageID>
<xsl:value-of select="/data/document/item[@name='$uniqueid']/value" />
</MessageID>
<MessageDate>
<DateTime><xsl:value-of select="$date" /></DateTime>
<DateTime>
<xsl:value-of select="$date" />
</DateTime>
</MessageDate>
</Message>
@ -34,8 +38,9 @@
<xsl:template
match="/data/document[normalize-space(item[@name = '$workflowgroup']/value) = 'Cargosoft-Export']">
<xsl:variable name="date" select="item[@name='$modified']/value"/>
<xsl:variable name="currency" select="item[@name='invoice.currency']/value"/>
<xsl:variable name="date" select="item[@name='$modified']/value" />
<xsl:variable
name="currency" select="item[@name='invoice.currency']/value" />
<Invoice>
@ -52,7 +57,9 @@
handeln, die pro Beleg hochgezählt wird und darf sich nicht
überschneiden mit dem CargoSoft Belegnummernkreis.
Daher den Nummernkreis vorher mit CargoSoft absprechen. -->
<InvoiceNumber><xsl:value-of select="item[@name='numsequencenumber']/value" /></InvoiceNumber>
<InvoiceNumber>
<xsl:value-of select="item[@name='numsequencenumber']/value" />
</InvoiceNumber>
<!-- Belegart - bei Gutschriften 'CREDIT' andernfalls 'INVOICE -->
<InvoiceType>
@ -69,7 +76,9 @@
</InvoiceType>
<InvoiceCurrency>
<Codes>
<Code Type="cs"><xsl:value-of select="$currency" /></Code>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</InvoiceCurrency>
<InvoiceAmount>
@ -77,13 +86,20 @@
<Amount>
<Currency>
<Codes>
<Code Type="cs"><xsl:value-of select="$currency" /></Code>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</Currency>
<Value><xsl:value-of select="item[@name='order.total.netto']/value" /></Value>
<Value>
<xsl:value-of select="item[@name='order.total.netto']/value" />
</Value>
<!-- exchange rate nur ausgeben wenn vorhanden -->
<xsl:if test="string-length(item[@name='invoice.exchangerate']/value) > 0">
<ExchangeRate><xsl:value-of select="item[@name='invoice.exchangerate']/value" /></ExchangeRate>
<xsl:if
test="string-length(item[@name='invoice.exchangerate']/value) > 0">
<ExchangeRate>
<xsl:value-of select="item[@name='invoice.exchangerate']/value" />
</ExchangeRate>
</xsl:if>
</Amount>
</NetAmount>
@ -92,13 +108,21 @@
<Amount>
<Currency>
<Codes>
<Code Type="cs"><xsl:value-of select="$currency" /></Code>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</Currency>
<Value><xsl:value-of select="item[@name='order.total.tax']/value" /></Value>
<Value>
<xsl:value-of select="item[@name='order.total.tax']/value" />
</Value>
<!-- exchange rate nur ausgeben wenn vorhanden -->
<xsl:if test="string-length(item[@name='invoice.exchangerate']/value) > 0">
<ExchangeRate><xsl:value-of select="item[@name='invoice.exchangerate']/value" /></ExchangeRate>
<xsl:if
test="string-length(item[@name='invoice.exchangerate']/value) > 0">
<ExchangeRate>
<xsl:value-of
select="item[@name='invoice.exchangerate']/value" />
</ExchangeRate>
</xsl:if>
</Amount>
</VATAmount>
@ -106,20 +130,28 @@
</InvoiceAmount>
<CollectionInvoice>false</CollectionInvoice>
<xsl:if test="string-length(item[@name='invoice.period']/value) > 0">
<BookingPeriod><xsl:value-of select="item[@name='invoice.period']/value" /></BookingPeriod>
<BookingPeriod>
<xsl:value-of select="item[@name='invoice.period']/value" />
</BookingPeriod>
</xsl:if>
<Booked>false</Booked>
<InvoiceDate><xsl:value-of select="item[@name='invoice.date']/value" /></InvoiceDate>
<InvoiceDate>
<xsl:value-of select="item[@name='invoice.date']/value" />
</InvoiceDate>
<InvoiceAddress type="CN">
<Codes>
<Code Type="cs"><xsl:value-of select="item[@name='cdtr.number']/value" /></Code>
<Code Type="cs">
<xsl:value-of select="item[@name='cdtr.number']/value" />
</Code>
</Codes>
</InvoiceAddress>
<References>
<Reference type="cs"><xsl:value-of select="item[@name='invoice.number']/value" /></Reference>
<Reference type="cs">
<xsl:value-of select="item[@name='invoice.number']/value" />
</Reference>
</References>
<!-- Attachements -->
@ -128,11 +160,16 @@
<xsl:for-each
select="item[@name='$file']/value/item">
<Attachment>
<xsl:attribute name="id"><xsl:value-of select="./value/item[@name='md5checksum']/value" /></xsl:attribute>
<xsl:attribute name="id"><xsl:value-of
select="./value/item[@name='md5checksum']/value" /></xsl:attribute>
<xsl:attribute name="version">1</xsl:attribute>
<Filename><xsl:value-of select="lower-case(./@name)" /></Filename>
<Filename>
<xsl:value-of select="lower-case(./@name)" />
</Filename>
<Description>Imixs-Office-Workflow</Description>
<Content><xsl:value-of select="./value[2]" /></Content>
<Content>
<xsl:value-of select="./value[2]" />
</Content>
</Attachment>
</xsl:for-each>
</Attachments>
@ -144,30 +181,42 @@
<xsl:for-each
select="item[@name='_childitems']/value">
<InvoiceRow>
<Row><xsl:value-of select="./item[@name='numpos']/value" /></Row>
<FileNumber><xsl:value-of select="./item[@name='name']/value" /></FileNumber>
<Row>
<xsl:value-of select="./item[@name='numpos']/value" />
</Row>
<FileNumber>
<xsl:value-of select="./item[@name='name']/value" />
</FileNumber>
<InvoiceAmount>
<NetAmount>
<Amount>
<Currency>
<Codes>
<Code Type="cs"><xsl:value-of select="$currency" /></Code>
<Code Type="cs">
<xsl:value-of select="$currency" />
</Code>
</Codes>
</Currency>
<Value><xsl:value-of select="./item[@name='amount']/value" /></Value>
<Value>
<xsl:value-of select="./item[@name='amount']/value" />
</Value>
</Amount>
</NetAmount>
<VATInformation>
<VAT>
<Codes>
<Code Type="cs"><xsl:value-of select="./item[@name='tax']/value" /></Code>
<Code Type="cs">
<xsl:value-of select="./item[@name='tax']/value" />
</Code>
</Codes>
</VAT>
</VATInformation>
</InvoiceAmount>
<ActivityType>
<Codes>
<Code Type="cs"><xsl:value-of select="./item[@name='category']/value" /></Code>
<Code Type="cs">
<xsl:value-of select="./item[@name='category']/value" />
</Code>
</Codes>
</ActivityType>
</InvoiceRow>

View file

@ -0,0 +1,737 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- origin at X=0.0 Y=0.0 --><bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:tl="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" id="Definitions_1" targetNamespace="http://www.imixs.org/bpmn2">
<bpmn2:extensionElements>
<imixs:item name="txtworkflowmodelversion" type="xs:string">
<imixs:value><![CDATA[cargosoft-export-1.0]]></imixs:value>
</imixs:item>
<imixs:item name="txtfieldmapping" type="xs:string">
<imixs:value><![CDATA[Prozess Team | process.team]]></imixs:value>
</imixs:item>
<imixs:item name="txttimefieldmapping" type="xs:string">
<imixs:value><![CDATA[Rechnungsdatum | invoice.date]]></imixs:value>
</imixs:item>
<imixs:item name="txtplugins" type="xs:string">
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ResultPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.RulePlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.marty.profile.ProfilePlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.marty.plugins.SequenceNumberPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.marty.team.TeamPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.marty.profile.DeputyPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.OwnerPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.HistoryPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.LogPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ApplicationPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.marty.plugins.CommentPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.marty.profile.MailPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.IntervalPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.SplitAndJoinPlugin]]></imixs:value>
</imixs:item>
<open-bpmn:auto-align/>
</bpmn2:extensionElements>
<bpmn2:signal id="Signal_3" name="com.alexanderlogistics.CargosoftExportAdapter"/>
<bpmn2:message id="Message_2" name="Eskalation-Subject">
<bpmn2:documentation id="Documentation_20"><![CDATA[Erinnerung - Rechnungseingang: <itemvalue>_subject</itemvalue> (<itemvalue>txtspacename</itemvalue>)]]></bpmn2:documentation>
</bpmn2:message>
<bpmn2:message id="Message_4" name="Eskalation-Body">
<bpmn2:documentation id="Documentation_21"><![CDATA[
<propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue>
Das ist eine automatische generierte E-Mail. Bitte nicht auf diese E-Mail antworten. ]]></bpmn2:documentation>
</bpmn2:message>
<bpmn2:message id="Message_3" name="Html-Header">
<bpmn2:documentation id="Documentation_16"><![CDATA[<html>
<head>
<style type="text/css">
html, body, div, p, h1, h2, h3, ul, ol, span, a, table, td, form, img,
li {
font-family: Arial;
font-style: normal;
font-variant: normal;
font-weight: normal;
font-size: 11pt;
}
body {
margin: 0;
padding: 1em;
min-width: 41em;
}
h2 {
font-size: 12pt;
font-weight: bold;
}
th, td {
border: 1px solid #ccc;
}
th {
font-weight: bold;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Krieger Email</title>
</head>
<body>]]></bpmn2:documentation>
</bpmn2:message>
<bpmn2:message id="Message_6" name="Html-Footer">
<bpmn2:documentation id="Documentation_18"><![CDATA[<p>
<a href="<propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue>"><propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue></a>
</p><p>
Das ist eine automatische generierte E-Mail. Bitte nicht auf diese E-Mail antworten.
</p>
</body>
</html>]]></bpmn2:documentation>
</bpmn2:message>
<bpmn2:collaboration id="Collaboration_1" name="Default Collaboration">
<bpmn2:participant id="Participant_1" name="Cargosoft-Export" processRef="Process_1"/>
</bpmn2:collaboration>
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Cargosoft-Export" processType="Public">
<bpmn2:laneSet id="LaneSet_3" name="Lane Set 3">
<bpmn2:lane id="Lane_1" name="Buchhaltung">
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_29</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_6</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>BoundaryEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_26</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>EventBasedGateway_3</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>EndEvent_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_27</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>EndEvent_1</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>Task_2</bpmn2:flowNodeRef>
<bpmn2:flowNodeRef>IntermediateCatchEvent_2</bpmn2:flowNodeRef>
</bpmn2:lane>
</bpmn2:laneSet>
<bpmn2:endEvent id="EndEvent_2" name="Ende">
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
<bpmn2:documentation id="documentation_oQ5pDQ"/>
</bpmn2:endEvent>
<bpmn2:task id="Task_6" imixs:processid="1000" name="Verarbeitung">
<bpmn2:extensionElements>
<imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[form_basic]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Warten auf Zahlungsziel]]></imixs:value>
</imixs:item>
<imixs:item name="txtimageurl" type="xs:string">
<imixs:value><![CDATA[typcn-archive||]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[Buchung <itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="namaddreadaccess" type="xs:string">
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddreadfields" type="xs:string"/>
<imixs:item name="txttype" type="xs:string">
<imixs:value><![CDATA[workitem]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_14"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_28</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_63</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:task id="Task_2" imixs:processid="1900" name="Abgeschlossen">
<bpmn2:extensionElements>
<imixs:item name="txttype" type="xs:string">
<imixs:value><![CDATA[cargosoftarchive]]></imixs:value>
</imixs:item>
<imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[form_basic]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowabstract" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Rechnung bezahlt]]></imixs:value>
</imixs:item>
<imixs:item name="txtimageurl" type="xs:string">
<imixs:value><![CDATA[typcn-archive||typcn-tick,imixs-success,icon-sub-se]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[Buchung <itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="namaddreadaccess" type="xs:string">
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddreadfields" type="xs:string"/>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_4"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_9" sourceRef="Task_2" targetRef="EndEvent_2">
<bpmn2:documentation id="documentation_EpkvLA"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_26" imixs:activityid="110" name="[Export]">
<bpmn2:extensionElements>
<imixs:item name="keylogtimeformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string"/>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keylogdateformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[7000]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<cargosoft name="report">cargosoft</cargosoft>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Speichern]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="numversionactivityid" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Export processing]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
<imixs:item name="numactivitydelay" type="xs:string">
<imixs:value><![CDATA[5]]></imixs:value>
</imixs:item>
<imixs:item name="keyactivitydelayunit" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledbaseobject" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_63"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_63</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
<bpmn2:dataOutput id="DataOutput_1" name="Signal_2_Output"/>
<bpmn2:dataOutputAssociation id="DataOutputAssociation_1">
<bpmn2:sourceRef>DataOutput_1</bpmn2:sourceRef>
</bpmn2:dataOutputAssociation>
<bpmn2:outputSet id="OutputSet_2" name="Output Set 2">
<bpmn2:dataOutputRefs>DataOutput_1</bpmn2:dataOutputRefs>
</bpmn2:outputSet>
<bpmn2:signalEventDefinition id="SignalEventDefinition_2" signalRef="Signal_3"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_63" sourceRef="Task_6" targetRef="IntermediateCatchEvent_26">
<bpmn2:documentation id="documentation_ILwCBQ"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_29" imixs:activityid="100" name="[init]">
<bpmn2:extensionElements>
<imixs:item name="keylogtimeformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string"/>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keylogdateformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[7000]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Speichern]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="numversionactivityid" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Export started]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
<bpmn2:signalEventDefinition id="SignalEventDefinition_4"/>
<bpmn2:documentation id="documentation_MrKi0w"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:eventBasedGateway gatewayDirection="Diverging" id="EventBasedGateway_3">
<bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
<bpmn2:documentation id="documentation_ijXxNA"/>
</bpmn2:eventBasedGateway>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_27" imixs:activityid="300" name="[FAILED]">
<bpmn2:extensionElements>
<imixs:item name="rtfresultlog" type="CDATA">
<imixs:value><![CDATA[Export failed]]></imixs:value>
</imixs:item>
<imixs:item name="txtactivityresult" type="CDATA">
<imixs:value/>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_38</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
<bpmn2:signalEventDefinition id="SignalEventDefinition_6"/>
<bpmn2:documentation id="documentation_H3wD5Q"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_38" sourceRef="EventBasedGateway_3" targetRef="IntermediateCatchEvent_27">
<bpmn2:documentation id="documentation_A90Dng"/>
</bpmn2:sequenceFlow>
<bpmn2:startEvent id="StartEvent_1" name="Start">
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
<bpmn2:documentation id="documentation_04vNoA"/>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="StartEvent_1" targetRef="IntermediateCatchEvent_29">
<bpmn2:documentation id="documentation_25qdpQ"/>
</bpmn2:sequenceFlow>
<bpmn2:task id="Task_1" imixs:processid="1800" name="Abgebrochen">
<bpmn2:extensionElements>
<imixs:item name="txttype" type="xs:string">
<imixs:value><![CDATA[workitemarchive]]></imixs:value>
</imixs:item>
<imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[form_basic]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Rechnung bezahlt]]></imixs:value>
</imixs:item>
<imixs:item name="txtimageurl" type="xs:string">
<imixs:value><![CDATA[typcn-archive||typcn-warning,imixs-error,icon-sub-se]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[Buchung <itemvalue>numsequencenumber</itemvalue>: <itemvalue>cdtr.name</itemvalue> <itemvalue>invoice.number</itemvalue>]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="namaddreadaccess" type="xs:string">
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
<imixs:value><![CDATA[{space:?:member}]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddreadfields" type="xs:string"/>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_3"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_24</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:endEvent id="EndEvent_1" name="Ende">
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
<bpmn2:documentation id="documentation_vfGsOQ"/>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_5" sourceRef="Task_1" targetRef="EndEvent_1">
<bpmn2:documentation id="documentation_Wu3TVA"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" imixs:activityid="200" name="[SUCCESS]">
<bpmn2:extensionElements>
<imixs:item name="keylogtimeformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyarchive" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaccessmode" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyscheduledactivity" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyversion" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string"/>
<imixs:item name="numnextactivityid" type="xs:int">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keyfollowup" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="keylogdateformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string"/>
<imixs:item name="numnextid" type="xs:int">
<imixs:value><![CDATA[7000]]></imixs:value>
</imixs:item>
<imixs:item name="txtnextprocesstree" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Speichern]]></imixs:value>
</imixs:item>
<imixs:item name="keyownershipmode" type="xs:string">
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="numversionactivityid" type="xs:string">
<imixs:value/>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Export successful]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_6"><![CDATA[IW24 Export manuell abschließen]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
<bpmn2:outputSet id="OutputSet_1" name="Output Set 1"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_3" sourceRef="EventBasedGateway_3" targetRef="IntermediateCatchEvent_1">
<bpmn2:documentation id="documentation_BC4ufw"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_4" sourceRef="IntermediateCatchEvent_29" targetRef="Task_6">
<bpmn2:documentation id="documentation_xCP0Gw"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_15" sourceRef="IntermediateCatchEvent_26" targetRef="EventBasedGateway_3">
<bpmn2:documentation id="documentation_tKll0A"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_16" sourceRef="IntermediateCatchEvent_1" targetRef="Task_2">
<bpmn2:documentation id="documentation_rdyTuQ"/>
</bpmn2:sequenceFlow>
<bpmn2:boundaryEvent attachedToRef="Task_6" id="BoundaryEvent_1" name="">
<bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="TimerEventDefinition_1"/>
<bpmn2:documentation id="documentation_8eb0Iw"/>
</bpmn2:boundaryEvent>
<bpmn2:sequenceFlow id="SequenceFlow_23" sourceRef="BoundaryEvent_1" targetRef="IntermediateCatchEvent_26">
<bpmn2:documentation id="documentation_PYEHrQ"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_24" sourceRef="IntermediateCatchEvent_27" targetRef="Task_1">
<bpmn2:documentation id="documentation_YlGA1w"/>
</bpmn2:sequenceFlow>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="10" name="Repeat Cargosoft Export">
<bpmn2:extensionElements>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Export restartet]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_27</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
<bpmn2:documentation id="documentation_n0bnzA"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_27" sourceRef="Task_2" targetRef="IntermediateCatchEvent_2">
<bpmn2:documentation id="documentation_yiSWug"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_28" sourceRef="IntermediateCatchEvent_2" targetRef="Task_6">
<bpmn2:documentation id="documentation_vJ0NDw"/>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_29" sourceRef="Task_1" targetRef="IntermediateCatchEvent_2">
<bpmn2:documentation id="documentation_xtxbpA"/>
</bpmn2:sequenceFlow>
<bpmn2:textAnnotation id="TextAnnotation_1" textFormat="">
<bpmn2:text><![CDATA[Scheduler lattest after 5 min]]></bpmn2:text>
<bpmn2:documentation id="documentation_jCfSzw"/>
</bpmn2:textAnnotation>
<bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_26">
<bpmn2:documentation id="documentation_vfeq0g"/>
</bpmn2:association>
<bpmn2:documentation id="documentation_pcdUww"/>
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Collaboration Diagram">
<bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_1">
<bpmndi:BPMNShape bpmnElement="Participant_1" id="BPMNShape_1" isHorizontal="true">
<dc:Bounds height="301.0" width="1001.0" x="100.0" y="100.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_1" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="92.0" width="14.0" x="106.0" y="204.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Lane_1" id="BPMNShape_Lane_1" isHorizontal="true">
<dc:Bounds height="301.0" width="971.0" x="130.0" y="100.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_26" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="69.0" width="14.0" x="136.0" y="216.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="EndEvent_2" id="BPMNShape_EndEvent_2">
<dc:Bounds height="36.0" width="36.0" x="977.0" y="211.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_3" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="29.0" x="980.0" y="247.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Task_6" id="BPMNShape_Task_6">
<dc:Bounds height="50.0" width="110.0" x="330.0" y="203.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Task_2" id="BPMNShape_Task_2">
<dc:Bounds height="50.0" width="110.0" x="780.0" y="204.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_5" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="84.0" x="793.0" y="222.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_26" id="BPMNShape_IntermediateCatchEvent_26">
<dc:Bounds height="36.0" width="36.0" x="480.0" y="211.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_141" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="41.0" x="478.0" y="247.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_29" id="BPMNShape_IntermediateCatchEvent_29">
<dc:Bounds height="36.0" width="36.0" x="260.0" y="211.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_145" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="22.0" x="267.0" y="247.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Message_2" id="BPMNShape_Message_1">
<dc:Bounds height="20.0" width="30.0" x="140.0" y="0.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_174">
<dc:Bounds height="28.0" width="63.0" x="124.0" y="20.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Message_4" id="BPMNShape_Message_2">
<dc:Bounds height="20.0" width="30.0" x="209.0" y="0.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_175">
<dc:Bounds height="28.0" width="63.0" x="193.0" y="20.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="EventBasedGateway_3" id="BPMNShape_EventBasedGateway_3" isMarkerVisible="true">
<dc:Bounds height="50.0" width="50.0" x="570.0" y="204.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_17" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="20.0" width="100.0" x="545.0" y="257.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_27" id="BPMNShape_IntermediateCatchEvent_27">
<dc:Bounds height="36.0" width="36.0" x="670.0" y="127.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_77" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="47.0" x="665.0" y="163.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Message_3" id="BPMNShape_Message_3">
<dc:Bounds height="20.0" width="30.0" x="287.0" y="0.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_163">
<dc:Bounds height="14.0" width="70.0" x="267.0" y="20.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Message_6" id="BPMNShape_Message_4">
<dc:Bounds height="20.0" width="30.0" x="360.0" y="0.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_164">
<dc:Bounds height="14.0" width="64.0" x="343.0" y="20.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_StartEvent_1">
<dc:Bounds height="36.0" width="36.0" x="190.0" y="211.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_2" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="25.0" x="195.0" y="247.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Task_1" id="BPMNShape_Task_1">
<dc:Bounds height="50.0" width="110.0" x="780.0" y="120.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_9">
<dc:Bounds height="14.0" width="74.0" x="798.0" y="138.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="EndEvent_1" id="BPMNShape_EndEvent_1">
<dc:Bounds height="36.0" width="36.0" x="977.0" y="127.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_10" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="29.0" x="980.0" y="163.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_1" id="BPMNShape_IntermediateCatchEvent_1">
<dc:Bounds height="36.0" width="36.0" x="671.0" y="211.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_16" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="14.0" width="65.0" x="657.0" y="247.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="BoundaryEvent_1" id="BPMNShape_BoundaryEvent_1">
<dc:Bounds height="36.0" width="36.0" x="382.0" y="185.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_36">
<dc:Bounds height="20.0" width="100.0" x="350.0" y="225.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_2" id="BPMNShape_IntermediateCatchEvent_2">
<dc:Bounds height="36.0" width="36.0" x="817.0" y="300.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_39" labelStyle="BPMNLabelStyle_1">
<dc:Bounds height="42.0" width="70.0" x="800.0" y="336.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="TextAnnotation_1" id="BPMNShape_TextAnnotation_1">
<dc:Bounds height="50.0" width="131.0" x="460.0" y="117.0"/>
<bpmndi:BPMNLabel id="BPMNLabel_6">
<dc:Bounds height="44.0" width="119.0" x="466.0" y="117.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_9" id="BPMNEdge_SequenceFlow_11" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_EndEvent_2">
<bpmndi:BPMNLabel id="BPMNLabel_11"/>
<di:waypoint x="890.0" y="229.0"/>
<di:waypoint x="933.0" y="229.0"/>
<di:waypoint x="977.0" y="229.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_63" id="BPMNEdge_SequenceFlow_63" sourceElement="BPMNShape_Task_6" targetElement="BPMNShape_IntermediateCatchEvent_26">
<bpmndi:BPMNLabel id="BPMNLabel_142"/>
<di:waypoint x="440.0" y="228.0"/>
<di:waypoint x="460.0" y="228.0"/>
<di:waypoint x="460.0" y="229.0"/>
<di:waypoint x="480.0" y="229.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_38" id="BPMNEdge_SequenceFlow_37" sourceElement="BPMNShape_EventBasedGateway_3" targetElement="BPMNShape_IntermediateCatchEvent_27">
<bpmndi:BPMNLabel id="BPMNLabel_137"/>
<di:waypoint x="595.0" y="204.0"/>
<di:waypoint x="595.0" y="145.0"/>
<di:waypoint x="670.0" y="145.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_1" id="BPMNEdge_SequenceFlow_1" sourceElement="BPMNShape_StartEvent_1" targetElement="BPMNShape_IntermediateCatchEvent_29">
<bpmndi:BPMNLabel id="BPMNLabel_4"/>
<di:waypoint x="226.0" y="229.0"/>
<di:waypoint x="243.0" y="229.0"/>
<di:waypoint x="260.0" y="229.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_5" id="BPMNEdge_SequenceFlow_5" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_EndEvent_1">
<bpmndi:BPMNLabel id="BPMNLabel_12"/>
<di:waypoint x="890.0" y="145.0"/>
<di:waypoint x="933.0" y="145.0"/>
<di:waypoint x="977.0" y="145.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_3" id="BPMNEdge_SequenceFlow_3" sourceElement="BPMNShape_EventBasedGateway_3" targetElement="BPMNShape_IntermediateCatchEvent_1">
<bpmndi:BPMNLabel id="BPMNLabel_18"/>
<di:waypoint x="620.0" y="229.0"/>
<di:waypoint x="645.0" y="229.0"/>
<di:waypoint x="671.0" y="229.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_4" id="BPMNEdge_SequenceFlow_4" sourceElement="BPMNShape_IntermediateCatchEvent_29" targetElement="BPMNShape_Task_6">
<bpmndi:BPMNLabel id="BPMNLabel_7"/>
<di:waypoint x="296.0" y="229.0"/>
<di:waypoint x="313.0" y="229.0"/>
<di:waypoint x="313.0" y="228.0"/>
<di:waypoint x="330.0" y="228.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_15" id="BPMNEdge_SequenceFlow_15" sourceElement="BPMNShape_IntermediateCatchEvent_26" targetElement="BPMNShape_EventBasedGateway_3">
<bpmndi:BPMNLabel id="BPMNLabel_8"/>
<di:waypoint x="516.0" y="229.0"/>
<di:waypoint x="543.0" y="229.0"/>
<di:waypoint x="570.0" y="229.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_16" id="BPMNEdge_SequenceFlow_16" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_2">
<bpmndi:BPMNLabel id="BPMNLabel_22"/>
<di:waypoint x="707.0" y="229.0"/>
<di:waypoint x="743.0" y="229.0"/>
<di:waypoint x="780.0" y="229.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_23" id="BPMNEdge_SequenceFlow_24" sourceElement="BPMNShape_BoundaryEvent_1" targetElement="BPMNShape_IntermediateCatchEvent_26">
<bpmndi:BPMNLabel id="BPMNLabel_37"/>
<di:waypoint x="400.0" y="185.0"/>
<di:waypoint x="400.0" y="176.0"/>
<di:waypoint x="498.0" y="176.0"/>
<di:waypoint x="498.0" y="211.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_24" id="BPMNEdge_SequenceFlow_25" sourceElement="BPMNShape_IntermediateCatchEvent_27" targetElement="BPMNShape_Task_1">
<bpmndi:BPMNLabel id="BPMNLabel_38"/>
<di:waypoint x="706.0" y="145.0"/>
<di:waypoint x="743.0" y="145.0"/>
<di:waypoint x="780.0" y="145.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_27" id="BPMNEdge_SequenceFlow_27" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_2">
<bpmndi:BPMNLabel id="BPMNLabel_40"/>
<di:waypoint x="835.0" y="254.0"/>
<di:waypoint x="835.0" y="277.0"/>
<di:waypoint x="835.0" y="300.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_28" id="BPMNEdge_SequenceFlow_28" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_Task_6">
<bpmndi:BPMNLabel id="BPMNLabel_41"/>
<di:waypoint x="817.0" y="318.0"/>
<di:waypoint x="385.0" y="318.0"/>
<di:waypoint x="385.0" y="253.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_29" id="BPMNEdge_SequenceFlow_29" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_IntermediateCatchEvent_2">
<bpmndi:BPMNLabel id="BPMNLabel_42"/>
<di:waypoint x="890.0" y="153.0"/>
<di:waypoint x="900.0" y="153.0"/>
<di:waypoint x="900.0" y="318.0"/>
<di:waypoint x="853.0" y="318.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="Association_1" id="BPMNEdge_Association_1" sourceElement="BPMNShape_TextAnnotation_1" targetElement="BPMNShape_IntermediateCatchEvent_26">
<bpmndi:BPMNLabel id="BPMNLabel_14"/>
<di:waypoint x="525.0" y="167.0"/>
<di:waypoint x="525.0" y="189.0"/>
<di:waypoint x="498.0" y="189.0"/>
<di:waypoint x="498.0" y="211.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
<dc:Font name="arial" size="9.0"/>
</bpmndi:BPMNLabelStyle>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>