cargosoft reports haben nun die korrekte Mandanten Nummer (Polen, BHV)

This commit is contained in:
Ralph Soika 2024-02-06 14:31:32 +01:00
parent 4bab538eaa
commit 19e334616b
3 changed files with 791 additions and 0 deletions

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">005</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

@ -0,0 +1,361 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<document xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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">2024-02-05T13:38:44.625+01:00</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-1707136724627</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;&lt;xsl:value-of select="/data/document/item[@name='$uniqueid']/value"
/&gt;&lt;/MessageID&gt;&#13;
&lt;MessageDate&gt;&#13;
&lt;DateTime&gt;&lt;xsl:value-of select="$date" /&gt;&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) =
'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) =
'Cargosoft-Export']"&gt;&#13;
&#13;
&lt;xsl:variable name="date" select="item[@name='$modified']/value"/&gt;&#13;
&lt;xsl:variable 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;005&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;&lt;xsl:value-of select="item[@name='numsequencenumber']/value"
/&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&lt;xsl:value-of select="item[@name='order.total.netto']/value"
/&gt;&lt;/Value&gt;&#13;
&lt;!-- exchange rate nur ausgeben wenn vorhanden --&gt;&#13;
&lt;xsl:if test="string-length(item[@name='invoice.exchangerate']/value) &gt;
0"&gt;&#13;
&lt;ExchangeRate&gt;&lt;xsl:value-of select="item[@name='invoice.exchangerate']/value"
/&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&lt;xsl:value-of select="item[@name='order.total.tax']/value"
/&gt;&lt;/Value&gt;&#13;
&lt;!-- exchange rate nur ausgeben wenn vorhanden --&gt;&#13;
&lt;xsl:if test="string-length(item[@name='invoice.exchangerate']/value) &gt;
0"&gt;&#13;
&lt;ExchangeRate&gt;&lt;xsl:value-of select="item[@name='invoice.exchangerate']/value"
/&gt;&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;&lt;xsl:value-of select="item[@name='invoice.period']/value"
/&gt;&lt;/BookingPeriod&gt;&#13;
&lt;/xsl:if&gt;&#13;
&lt;Booked&gt;false&lt;/Booked&gt;&#13;
&lt;InvoiceDate&gt;&lt;xsl:value-of select="item[@name='invoice.date']/value"
/&gt;&lt;/InvoiceDate&gt;&#13;
&#13;
&#13;
&lt;InvoiceAddress type="CN"&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&lt;xsl:value-of select="item[@name='cdtr.number']/value"
/&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/InvoiceAddress&gt;&#13;
&#13;
&lt;References&gt;&#13;
&lt;Reference type="cs"&gt;&lt;xsl:value-of select="item[@name='invoice.number']/value"
/&gt;&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
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;&lt;xsl:value-of select="lower-case(./@name)"
/&gt;&lt;/Filename&gt;&#13;
&lt;Description&gt;Imixs-Office-Workflow&lt;/Description&gt;&#13;
&lt;Content&gt;&lt;xsl:value-of select="./value[2]" /&gt;&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;&lt;xsl:value-of select="./item[@name='numpos']/value" /&gt;&lt;/Row&gt;&#13;
&lt;FileNumber&gt;&lt;xsl:value-of select="./item[@name='name']/value"
/&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&lt;xsl:value-of select="./item[@name='amount']/value"
/&gt;&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;&lt;xsl:value-of select="./item[@name='tax']/value"
/&gt;&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;&lt;xsl:value-of select="./item[@name='category']/value"
/&gt;&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,182 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><document xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><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">2024-02-05T13:38:44.625+01:00</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-1707136724627</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;&lt;xsl:value-of select="/data/document/item[@name='$uniqueid']/value" /&gt;&lt;/MessageID&gt;&#13;
&lt;MessageDate&gt;&#13;
&lt;DateTime&gt;&lt;xsl:value-of select="$date" /&gt;&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) = '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) = 'Cargosoft-Export']"&gt;&#13;
&#13;
&lt;xsl:variable name="date" select="item[@name='$modified']/value"/&gt;&#13;
&lt;xsl:variable 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;003&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;&lt;xsl:value-of select="item[@name='numsequencenumber']/value" /&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&lt;xsl:value-of select="item[@name='order.total.netto']/value" /&gt;&lt;/Value&gt;&#13;
&lt;!-- exchange rate nur ausgeben wenn vorhanden --&gt;&#13;
&lt;xsl:if test="string-length(item[@name='invoice.exchangerate']/value) &gt; 0"&gt;&#13;
&lt;ExchangeRate&gt;&lt;xsl:value-of select="item[@name='invoice.exchangerate']/value" /&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&lt;xsl:value-of select="item[@name='order.total.tax']/value" /&gt;&lt;/Value&gt;&#13;
&lt;!-- exchange rate nur ausgeben wenn vorhanden --&gt;&#13;
&lt;xsl:if test="string-length(item[@name='invoice.exchangerate']/value) &gt; 0"&gt;&#13;
&lt;ExchangeRate&gt;&lt;xsl:value-of select="item[@name='invoice.exchangerate']/value" /&gt;&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;&lt;xsl:value-of select="item[@name='invoice.period']/value" /&gt;&lt;/BookingPeriod&gt;&#13;
&lt;/xsl:if&gt;&#13;
&lt;Booked&gt;false&lt;/Booked&gt;&#13;
&lt;InvoiceDate&gt;&lt;xsl:value-of select="item[@name='invoice.date']/value" /&gt;&lt;/InvoiceDate&gt;&#13;
&#13;
&#13;
&lt;InvoiceAddress type="CN"&gt;&#13;
&lt;Codes&gt;&#13;
&lt;Code Type="cs"&gt;&lt;xsl:value-of select="item[@name='cdtr.number']/value" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/InvoiceAddress&gt;&#13;
&#13;
&lt;References&gt;&#13;
&lt;Reference type="cs"&gt;&lt;xsl:value-of select="item[@name='invoice.number']/value" /&gt;&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 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;&lt;xsl:value-of select="lower-case(./@name)" /&gt;&lt;/Filename&gt;&#13;
&lt;Description&gt;Imixs-Office-Workflow&lt;/Description&gt;&#13;
&lt;Content&gt;&lt;xsl:value-of select="./value[2]" /&gt;&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;&lt;xsl:value-of select="./item[@name='numpos']/value" /&gt;&lt;/Row&gt;&#13;
&lt;FileNumber&gt;&lt;xsl:value-of select="./item[@name='name']/value" /&gt;&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;&lt;xsl:value-of select="$currency" /&gt;&lt;/Code&gt;&#13;
&lt;/Codes&gt;&#13;
&lt;/Currency&gt;&#13;
&lt;Value&gt;&lt;xsl:value-of select="./item[@name='amount']/value" /&gt;&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;&lt;xsl:value-of select="./item[@name='tax']/value" /&gt;&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;&lt;xsl:value-of select="./item[@name='category']/value" /&gt;&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>