office-alexander-logistics/reports/cargosoft/cargosoft-1.0.0-ams.imixs-report
2025-07-30 10:12:11 +02:00

249 lines
18 KiB
XML

<?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>