diff --git a/pom.xml b/pom.xml
index dfec617..4cd299e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
2.2.6
2.2.11
1.0.20
- 1.1.4-SNAPSHOT
+ 1.1.4
2.2
src/main/webapp
diff --git a/reports/cargosoft/cargosoft-1.0.0.imixs-report b/reports/cargosoft/cargosoft-1.0.0.imixs-report
index d30f45e..fbaeda4 100644
--- a/reports/cargosoft/cargosoft-1.0.0.imixs-report
+++ b/reports/cargosoft/cargosoft-1.0.0.imixs-report
@@ -1 +1 @@
-- $uniqueid$workflowgroup$taskid$workflowsummaryinvoice.numberinvoice.dateinvoice.totalinvoice.currencycdtr.namecdtr.ibancdtr.bicdbtr.namedbtr.ibandbtr.bicpayment.type
- UTF-8
- Cargosoft Export - only the XSL Template is needed here!
- cargosoft
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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">001</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="./@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>
- /office-alexander-logistics/reports/cargosoft/cargosoft-1.0.5.xsl
\ No newline at end of file
+- $uniqueid$workflowgroup$taskid$workflowsummaryinvoice.numberinvoice.dateinvoice.totalinvoice.currencycdtr.namecdtr.ibancdtr.bicdbtr.namedbtr.ibandbtr.bicpayment.type
- UTF-8
- Cargosoft Export - only the XSL Template is needed here!
- cargosoft
- <?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">001</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>
- /office-alexander-logistics/reports/cargosoft/cargosoft-1.0.6.xsl
\ No newline at end of file
diff --git a/reports/cargosoft/cargosoft-1.0.6.xsl b/reports/cargosoft/cargosoft-1.0.6.xsl
new file mode 100644
index 0000000..10921af
--- /dev/null
+++ b/reports/cargosoft/cargosoft-1.0.6.xsl
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Imixs-Office-Workflow
+ Cargosoft
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 001
+
+
+
+
+
+
+
+
+
+
+ CREDIT
+
+
+ INVOICE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+ Imixs-Office-Workflow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/reports/cargosoft/test/simple.out.xml b/reports/cargosoft/test/simple.out.xml
index 33a6649..f7b5b82 100644
--- a/reports/cargosoft/test/simple.out.xml
+++ b/reports/cargosoft/test/simple.out.xml
@@ -1,5 +1,7 @@
-
+
Imixs-Office-Workflow
Cargosoft
@@ -34,18 +36,18 @@
EUR
- 1035.70
+
-
+
EUR
- 0
+
@@ -53,6 +55,21 @@
false
false
2020-10-26T00:00:00+01:00
+
+
+
+
+
+
+ RE2020110040
+
+
+
+ 202108200934067r12.pdf
+ Imixs-Office-Workflow
+ 7D39B741E2CEA429883C840983F7EBDA7D39B741E2CEA429883C840983F7EBDA...
+
+
diff --git a/reports/cargosoft/test/simple.xml b/reports/cargosoft/test/simple.xml
index 496828e..a03b2ba 100644
--- a/reports/cargosoft/test/simple.xml
+++ b/reports/cargosoft/test/simple.xml
@@ -24,12 +24,53 @@
-
+
+ -
+
+
-
+ Application/PDF
+ 7D39B741E2CEA429883C840983F7EBDA7D39B741E2CEA429883C840983F7EBDA...
+
+
-
+ imixs-workflow-service
+
+ -
+ 371126
+
+ -
+ 2021-08-20T10:00:00.426+02:00
+
+ -
+ 20210820093406712.PDF
+
+ -
+ 7D39B741E2CEA429883C840983F7EBDA
+
+ -
+
+ TRANSPORT GMBH NCL-Transport GmbH - Bürgermeister-Smidt-Str. 70 - 28195
+ Bremen Alexander Global Logistics GmbH Herr Dimitri Khoroshun Museumstr. 2-6 D -
+ 28195 Bremen Ihre Ust. IDNr. DE250152875 Kreditor-Nr.: 70811 Debitor-Nr: 10579
+ Datum: 20.08.2021 Rechnung: R42882 Seite Vor? Auftrag N-34704.001.1 Ihre Ref:
+ XXX
+
+
+ -
+ imixs-workflow-service
+
+
+
+
+
+
-
- 0
+ 1
-
-
+ 20210820093406712.PDF
+
+
-
true