diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8544627..6d29092 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -3,6 +3,8 @@ ### 1.2.15 (Development) + - kleinere Layout Anpassungen in den Formualren und input Feldern (Positionstabelle, Sachbearbeiter Auswahl...) + - invoice.exchangerate Input ersetzt nun , durch . damit der Wert richtig gespeichert wird. - Fix Cargosoft DATEV Import - Korektur des Rechnungsdatums / Jahr - Neuer Rest Service für Korrektur von Cargsoft Ausgangsrechnungen diff --git a/reports/cargosoft/cargosoft-1.0.1-pl.imixs-report b/reports/cargosoft/cargosoft-1.0.1-pl.imixs-report index 3e6efb8..9cdef19 100644 --- a/reports/cargosoft/cargosoft-1.0.1-pl.imixs-report +++ b/reports/cargosoft/cargosoft-1.0.1-pl.imixs-report @@ -1,182 +1,232 @@ -2024-02-02T13:13:38.991+01:00true2024-02-05T13:38:44.625+01:00806f9b2f-07ff-43d1-9b0d-1038804cc71c-1707136724627806f9b2f-07ff-43d1-9b0d-1038804cc71c2$uniqueid$workflowgroup$taskid$workflowsummaryinvoice.numberinvoice.dateinvoice.totalinvoice.currencycdtr.namecdtr.ibancdtr.bicdbtr.namedbtr.ibandbtr.bicpayment.typeUTF-8Cargosoft Export - only the XSL Template is needed here!cargosoftReportEntity<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +2024-02-02T13:13:38.991+01:00true2024-02-07T11:11:07.849+01:00806f9b2f-07ff-43d1-9b0d-1038804cc71c-1707300667850806f9b2f-07ff-43d1-9b0d-1038804cc71c3$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" /> + 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:template match="/"> - <xsl:variable name="date" - select="/data/document/item[@name='$modified']/value" /> + <xsl:variable name="date" + select="/data/document/item[@name='$modified']/value" /> - <Invoices version="2020.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <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> + <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:template> - - <!-- This template builds invoice info --> - <xsl:template - match="/data/document[normalize-space(item[@name = '$workflowgroup']/value) = 'Cargosoft-Export']"> + <xsl:apply-templates + select="/data/document[normalize-space(item[@name = '$workflowgroup']/value) = 'Cargosoft-Export']" /> + </Invoices> - <xsl:variable name="date" select="item[@name='$modified']/value"/> - <xsl:variable name="currency" select="item[@name='invoice.currency']/value"/> + </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 + <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 + <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> - - - <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> - - + <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> + <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 diff --git a/reports/cargosoft/cargosoft-1.0.1-pl.xsl b/reports/cargosoft/cargosoft-1.0.1-pl.xsl new file mode 100644 index 0000000..ff27ce9 --- /dev/null +++ b/reports/cargosoft/cargosoft-1.0.1-pl.xsl @@ -0,0 +1,233 @@ + + + + + + + + + + + + + Imixs-Office-Workflow + Cargosoft + + + + + + + + + + + + + + + + + + + + + + + + + + + + 003 + + + + + + + + + + + + + CREDIT + + + INVOICE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + Imixs-Office-Workflow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file