office-alexander-logistics/reports/sepa/deprecated/sepa-2.0.3.imixs-report

1 line
No EOL
9.7 KiB
XML

<?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="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">$modelversion</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">SEPA export executed by the SepaScheduler. See the XSL definition for details. </value></item><item name="txtname"><value xsi:type="xs:string">sepa</value></item><item name="txtquery"><value xsi:type="xs:string">type:"workitem" AND $taskid:5500 </value></item><item name="xsl"><value xsi:type="xs:string">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"&gt; &lt;xsl:strip-space elements="*" /&gt; &lt;xsl:output method="xml" indent="yes" encoding="UTF-8" standalone="yes" /&gt; &lt;xsl:template match="/"&gt; &lt;xsl:variable name="now" select="current-dateTime()" /&gt; &lt;Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.003.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.003.03 pain.001.003.03.xsd"&gt; &lt;CstmrCdtTrfInitn&gt; &lt;!-- generate header info --&gt; &lt;!-- compute count of invoices --&gt; &lt;xsl:variable name="count" select="count(/data/document[starts-with(normalize-space(item[@name = '$modelversion']/value),'rechnungseingang')]/item[@name='$uniqueid']/value)" /&gt; &lt;!-- compute total amount --&gt; &lt;xsl:variable name="totalsum" select="xs:decimal(sum(/data/document[starts-with(normalize-space(item[@name = '$modelversion']/value),'rechnungseingang')]/item[@name='invoice.total']/value))" /&gt; &lt;!-- round to 2 digits --&gt; &lt;xsl:variable name="total" select="xs:decimal(round-half-to-even($totalsum, 2))" /&gt; &lt;!-- shortcut for the sepa export document --&gt; &lt;xsl:variable name="exportWorkitem" select="/data/document[normalize-space(item[@name = '$workflowgroup']/value) = 'SEPA-Export']" /&gt; &lt;GrpHdr&gt; &lt;MsgId&gt; &lt;xsl:value-of select="replace($exportWorkitem/item[@name='$uniqueid']/value, '-', '')" /&gt; &lt;/MsgId&gt; &lt;CreDtTm&gt;&lt;xsl:value-of select="format-dateTime($now, '[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01]')" /&gt;&lt;/CreDtTm&gt; &lt;NbOfTxs&gt; &lt;xsl:value-of select="$count" /&gt; &lt;/NbOfTxs&gt; &lt;CtrlSum&gt; &lt;!-- round to 2 digits --&gt; &lt;xsl:value-of select="$total" /&gt; &lt;/CtrlSum&gt; &lt;InitgPty&gt; &lt;Nm&gt; &lt;xsl:value-of select="$exportWorkitem/item[@name='dbtr.name']/value" /&gt; &lt;/Nm&gt; &lt;/InitgPty&gt; &lt;/GrpHdr&gt; &lt;PmtInf&gt; &lt;PmtInfId&gt; &lt;xsl:value-of select="replace($exportWorkitem/item[@name='$uniqueid']/value, '-', '')" /&gt;&lt;xsl:text&gt;-1&lt;/xsl:text&gt; &lt;/PmtInfId&gt; &lt;PmtMtd&gt;TRF&lt;/PmtMtd&gt; &lt;NbOfTxs&gt; &lt;xsl:value-of select="$count" /&gt; &lt;/NbOfTxs&gt; &lt;CtrlSum&gt; &lt;!-- round to 2 digits --&gt; &lt;xsl:value-of select="$total" /&gt; &lt;/CtrlSum&gt; &lt;PmtTpInf&gt; &lt;SvcLvl&gt; &lt;Cd&gt;SEPA&lt;/Cd&gt; &lt;/SvcLvl&gt; &lt;/PmtTpInf&gt; &lt;ReqdExctnDt&gt;&lt;xsl:value-of select="format-dateTime($now, '[Y0001]-[M01]-[D01]')" /&gt;&lt;/ReqdExctnDt&gt; &lt;Dbtr&gt; &lt;Nm&gt; &lt;xsl:value-of select="$exportWorkitem/item[@name='dbtr.name']/value" /&gt; &lt;/Nm&gt; &lt;/Dbtr&gt; &lt;DbtrAcct&gt; &lt;Id&gt; &lt;IBAN&gt; &lt;xsl:value-of select="replace($exportWorkitem/item[@name='dbtr.iban']/value, ' ', '')" /&gt; &lt;/IBAN&gt; &lt;/Id&gt; &lt;/DbtrAcct&gt; &lt;DbtrAgt&gt; &lt;FinInstnId&gt; &lt;BIC&gt; &lt;xsl:value-of select="$exportWorkitem/item[@name='dbtr.bic']/value" /&gt; &lt;/BIC&gt; &lt;/FinInstnId&gt; &lt;/DbtrAgt&gt; &lt;ChrgBr&gt;SLEV&lt;/ChrgBr&gt; &lt;!-- generate CdtTrfTxInf for each invoice --&gt; &lt;xsl:apply-templates select="/data/document[starts-with(normalize-space(item[@name = '$modelversion']/value),'rechnungseingang')]" /&gt; &lt;/PmtInf&gt; &lt;/CstmrCdtTrfInitn&gt; &lt;/Document&gt; &lt;/xsl:template&gt; &lt;!-- This template builds sepa header info --&gt; &lt;xsl:template match="/data/document[normalize-space(item[@name = '$workflowgroup']/value) = 'SEPA-Export']"&gt; &lt;!-- not in use --&gt; &lt;/xsl:template&gt; &lt;!-- This template builds sepa payment info for each invoice --&gt; &lt;xsl:template match="/data/document[starts-with(normalize-space(item[@name = '$modelversion']/value),'rechnungseingang')]"&gt; &lt;CdtTrfTxInf xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.003.03"&gt; &lt;PmtId&gt; &lt;EndToEndId&gt;NOTPROVIDED&lt;/EndToEndId&gt; &lt;/PmtId&gt; &lt;Amt&gt; &lt;InstdAmt&gt; &lt;xsl:attribute name="Ccy"&gt;&lt;xsl:value-of select="item[@name='invoice.currency']/value" /&gt;&lt;/xsl:attribute&gt; &lt;xsl:value-of select="item[@name='invoice.total']/value" /&gt; &lt;/InstdAmt&gt; &lt;/Amt&gt; &lt;CdtrAgt&gt; &lt;FinInstnId&gt; &lt;BIC&gt; &lt;xsl:value-of select="item[@name='cdtr.bic']/value" /&gt; &lt;/BIC&gt; &lt;/FinInstnId&gt; &lt;/CdtrAgt&gt; &lt;Cdtr&gt; &lt;!-- MAX70 --&gt; &lt;Nm&gt; &lt;xsl:value-of select="substring(item[@name='cdtr.name']/value, 1, 70)" /&gt; &lt;/Nm&gt; &lt;/Cdtr&gt; &lt;CdtrAcct&gt; &lt;Id&gt; &lt;IBAN&gt; &lt;xsl:value-of select="replace(item[@name='cdtr.iban']/value, ' ', '')" /&gt; &lt;/IBAN&gt; &lt;/Id&gt; &lt;/CdtrAcct&gt; &lt;RmtInf&gt; &lt;!-- Max140Text --&gt; &lt;Ustrd&gt; &lt;xsl:value-of select="substring(item[@name='$workflowsummary']/value, 1, 140)" /&gt; &lt;/Ustrd&gt; &lt;/RmtInf&gt; &lt;/CdtTrfTxInf&gt; &lt;/xsl:template&gt;&lt;/xsl:stylesheet&gt;</value></item><item name="xslresource"><value xsi:type="xs:string">/office-alexander-logistics/reports/sepa/sepa-2.0.3.xsl</value></item></document>