Accounting export template SageCoala

Revision as of 14:21, 30 January 2013 by Jcheng (Talk | contribs) (Created page with "<xml><?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" media-type="text/plain" ...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" media-type="text/plain" indent="no" standalone="yes"
        omit-xml-declaration="yes" encoding="ISO-8859-1"/>
    <xsl:strip-space elements="*"/>
 
    <xsl:include href="xsl/formatFunctions.xsl"/>
    <xsl:include href="xsl/accountingFormatFunction.xsl"/>
    <xsl:include href="xsl/reportFunction.xsl"/>   
 
    <!--      Main       -->
    <xsl:template match="/">
        <output-format>
            <content_type>text/csv</content_type>
            <charset>UTF-8</charset>
            <file_prefix>accountancy_</file_prefix>
            <file_extension>csv</file_extension>
            <converter>Default</converter>
        </output-format>
        <xsl:apply-templates select="account_entrys/account_entry">
            <xsl:sort select="@data_date" order="ascending" data-type="text"/>
        </xsl:apply-templates>
    </xsl:template>
 
    <!--show account line -->
    <xsl:template match="account_entry">
        <xsl:variable name="flow_id" select="flow_id"/>
        <xsl:variable name="accounts"
            select="/account_entrys/account_entry[flow_id=$flow_id]/account/export_account"/>
        <!-- date  -->
        <xsl:call-template name="displayDate">
            <xsl:with-param name="date">
                <xsl:call-template name="dateTimeISO">
                    <xsl:with-param name="dateTime" select="converted_account_date"/>
                </xsl:call-template>
            </xsl:with-param>
        </xsl:call-template>
        <xsl:text>;</xsl:text>
        <!-- paper -->
        <xsl:call-template name="choose-paper">
            <xsl:with-param name="flowAccounts" select="$accounts"/>
        </xsl:call-template>
        <xsl:text>;</xsl:text>
        <!-- entry number -->
        <xsl:value-of select="format-number($flow_id, '0')"/>
        <xsl:text>;</xsl:text>
        <!-- account code -->
        <xsl:value-of select="account/export_account"/>
        <xsl:text>;</xsl:text>
        <!-- debit -->
        <xsl:value-of select="translate(format-number(debit, '0.00'),'.',',')"/>
        <xsl:text>;</xsl:text>
        <!-- credit -->
        <xsl:value-of select="translate(format-number(credit, '0.00'),'.',',')"/>
        <xsl:text>;</xsl:text>
        <!-- account name -->
        <xsl:call-template name="accountExportName">
            <xsl:with-param name="entry" select="account_entry"/>
            <xsl:with-param name="size" select="50"/>
            <xsl:with-param name="forbiddenCharacter">
                <xsl:text>;</xsl:text>
            </xsl:with-param>
        </xsl:call-template>
        <xsl:text>;</xsl:text>
        <!-- add E for euros-->
        <xsl:text>E</xsl:text>
        <xsl:value-of select="$LF"/>
    </xsl:template>
 
    <xsl:template name="displayDate">
        <xsl:param name="date"/>
        <xsl:value-of select="substring($date,9,2)"/>
        <xsl:text>/</xsl:text>
        <xsl:value-of select="substring($date,6,2)"/>
        <xsl:text>/</xsl:text>
        <xsl:value-of select="substring($date,1,4)"/>
    </xsl:template>
</xsl:stylesheet>