From 00566bbe6226a69f2da482f4f5755d3510c14c27 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Thu, 11 Apr 2024 15:12:40 +0200 Subject: [PATCH] added PaymentConditions for PL Cargosoft Export --- .../cargosoft/cargosoft-1.0.2-pl.imixs-report | 247 ++++++++++++++++++ reports/cargosoft/cargosoft-1.0.2-pl.xsl | 246 +++++++++++++++++ 2 files changed, 493 insertions(+) create mode 100644 reports/cargosoft/cargosoft-1.0.2-pl.imixs-report create mode 100644 reports/cargosoft/cargosoft-1.0.2-pl.xsl diff --git a/reports/cargosoft/cargosoft-1.0.2-pl.imixs-report b/reports/cargosoft/cargosoft-1.0.2-pl.imixs-report new file mode 100644 index 0000000..4af9255 --- /dev/null +++ b/reports/cargosoft/cargosoft-1.0.2-pl.imixs-report @@ -0,0 +1,247 @@ +2024-02-02T13:13:38.991+01:00true2024-04-11T15:11:09.695+02:00806f9b2f-07ff-43d1-9b0d-1038804cc71c-1712841069699806f9b2f-07ff-43d1-9b0d-1038804cc71c4$uniqueid$workflowgroup$taskid$workflowsummaryinvoice.numberinvoice.dateinvoice.totalinvoice.currencycdtr.namecdtr.ibancdtr.bicdbtr.namedbtr.ibandbtr.bicpayment.typeinvoice.servicedateUTF-8Cargosoft Export - only the XSL Template is needed here!cargosoftReportEntity<?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">003</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> + <!-- optional service date --> + <xsl:if + test="string-length(item[@name='invoice.servicedate']/value) > 0"> + <PerformanceDate> + <xsl:value-of select="item[@name='invoice.servicedate']/value" /> + </PerformanceDate> + </xsl:if> + <InvoiceAddress type="CN"> + <Codes> + <Code Type="cs"> + <xsl:value-of select="item[@name='cdtr.number']/value" /> + </Code> + </Codes> + </InvoiceAddress> + + <!-- Added Paymetn Dummy condition for PL 11.4.2024 --> + <PaymentConditions> + <PaymentCondition> + <Codes> + <Code Type="cs">XX</Code> + </Codes> + </PaymentCondition> + <DueDate> + <xsl:value-of select="item[@name='invoice.duedate']/value" /> + </DueDate> + </PaymentConditions> + + <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.2-pl.xsl b/reports/cargosoft/cargosoft-1.0.2-pl.xsl new file mode 100644 index 0000000..1002c21 --- /dev/null +++ b/reports/cargosoft/cargosoft-1.0.2-pl.xsl @@ -0,0 +1,246 @@ + + + + + + + + + + + + + Imixs-Office-Workflow + Cargosoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + 003 + + + + + + + + + + + + + CREDIT + + + INVOICE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + false + + + + + + + + + + + + + + + + + + + + + + XX + + + + + + + + + + + + + + + + + + + 1 + + + + Imixs-Office-Workflow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file