XSLT file for conversion from XML to CSV

For the ERP agnostic plugin, Kofax AP Agility provides the XSLT file used to convert the exported invoice from XML to CSV format.

For each ERP connection, Kofax AP Agility Administrator configures the XSLT file to transform the XML file of the exported invoice with the help of the ERP Connections form. Kofax AP Agility users can provide their own XSLT script for the conversion.

The XSLT sample script shows how to export invoices to CSV format:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <xsl:text>AmtMiscellaneous,​BusinessUnitID,​Currency,​DiscountDueDate,​​DueDate,​EmployeeName,​Freight,​InvoiceDate,​InvoiceNumber,​InvoiceType,​LineItems,​NetAmount0,​NetAmount1,​OrganizationName,​PoNumber,​TaxAmount1,​TaxRate1,InvoiceAmount,​VendorName1,​EcmDocumentId,​DocumentLink,​ErpPoType,​ScanDate,​SubTotal,​Urn,​IpaInvalidReasonCode,​IpaInvalidReasonRule,​IpaBusinessUnitName,​IpaOrganizationName,​IpaOrganizationId,​IpaVendorIndexId</xsl:text>
    <xsl:text>&#10;</xsl:text>  	
	<xsl:value-of select="Invoice/AmtMiscellaneous"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/BusinessUnitID"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/Currency"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/DiscountDueDate"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/DueDate"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/EmployeeNamev"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/Freight"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/InvoiceDate"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/InvoiceNumber"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/InvoiceType"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/LineItems"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/NetAmount0"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/NetAmount1"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/OrganizationName"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/PoNumber"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/TaxAmount1"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/TaxRate1"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/InvoiceAmount"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/VendorName1"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/EcmDocumentId"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/DocumentLink"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/ErpPoType"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/ScanDate"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/SubTotal"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/Urn"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/IpaInvalidReasonCode"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/IpaInvalidReasonRule"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/IpaBusinessUnitName"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/IpaOrganizationName"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/IpaOrganizationId"/>
	<xsl:text>,</xsl:text>
	<xsl:value-of select="Invoice/IpaVendorIndexId"/>	
	<xsl:text>&#10;</xsl:text> 
 <xsl:text>LineNumber,​LineType,​OriginalLineNumber,​Quantity,​Total,​UnitPrice,​ChargeCode,​ChargeCodeId,​CompanyCode,​ErpPoType,​MaterialGroup,​Plant,​PoLineNumber,​Puom,​QtyPuom,​TaxableAmount,​TaxCode,​Activity,​BusinessArea,​CostCenter,​DbCrIndicator,​InternalOrder,​ Network,​​ProfitCenter,​​SalesOrder,​​SalesOrderItem,​​TaxJurCode,​​WbsElem,​GlAccount,​ConditionCount,​ConditionStepNo,​ConditionType,​FreightVendor,​GrDocItem,​GrDocNo,​GrDocYear,​SheetItem,​SheetNo,​IpaBusinessUnit,​IpaLineType</xsl:text>
	<xsl:text>&#10;</xsl:text>
	<xsl:for-each select="Invoice/LineItem">	
		<xsl:value-of select="LineNumber"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="LineType"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="OriginalLineNumber"/>
		<xsl:value-of select="Quantity"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="Total"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="UnitPrice"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ChargeCode"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ChargeCodeId"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="CompanyCode"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ErpPoType"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="MaterialGroup"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="Plant"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="PoLineNumber"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="Puom"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="QtyPuom"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="TaxableAmount"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="TaxCode"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="Activity"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="BusinessArea"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="CostCenter"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="DbCrIndicator"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="InternalOrder"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="Network"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ProfitCenter"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="SalesOrder"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="SalesOrderItem"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="TaxJurCode"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="WbsElem"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="GlAccount"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ConditionCount"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ConditionStepNo"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="ConditionType"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="FreightVendor"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="GrDocItem"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="GrDocNo"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="GrDocYear"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="SheetItem"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="SheetNo"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="IpaBusinessUnit"/>
		<xsl:text>,</xsl:text>
		<xsl:value-of select="IpaLineType"/>
		<xsl:text>&#10;</xsl:text>
	</xsl:for-each>
</xsl:template>
</xsl:stylesheet>