ExpenseOnce & Sage 50 UK
Integration between ExpenseOnce online expense management software and Sage 50 UK. The integration will export transactional data from ExpenseOnce and import as supplier transactions.
- Download transactions from ExpenseOnce
- Convert to the required format for the Sage 50 UK
- Import into Sage 50 UK
- Each will output a success and fail file for processing
- Convert success and fail data to the required format for ExpenseOnce
- Update the transactions back to ExpenseOnce
Prerequisites
- Install of Zynk Workflow with either a Paid or Trial license.
- Account with ExpenseOnce
- Install of Sage 50 UK
Installation
To setup this integration you will need to download and import the workflow package which includes the workflow and required mappings.
- Download the ExpenseOnce & Sage 50 workflow package
- Open Zynk Workflow
- From the Workflows tab right click My Workflows then select Import
- Browse then Open the workflow package you downloaded
- Select Ok
- Double click the ExpenseOnce & Sage 50 workflow to open
ℹ️ See Importing a Workflow for further details
First Steps
Once the workflow has been imported you will need to set the connections for ExpenseOnce and Sage 50 UK to be able to import and export data.
Create ExpenseOnce Connection
- Open the ExpenseOnce & Sage 50 workflow
- Select the Export Transactions task, then the ExpenseOnce Connection setting
- In the connection menu select New
- Set a Name for the connection and Next
- Set the API Key then Finish
- Select the Update Transactions task, then the ExpenseOnce Connection setting
- In the connection menu select the connection you just created
ℹ️ See Connecting to ExpenseOnce for further details
Create Sage 50 UK Connection
- Open the ExpenseOnce & Sage 50 workflow
- Select the Import Transactions task, then the Sage 50 Connection setting
- In the connection menu select New
- Set a Name for the connection and Next
- Choose your Company, enter the required Username and Password, then Finish
ℹ️ See Connecting to Sage 50 UK for further details
Mappings
Mapping Table
ExpenseOnce | Sage 50 |
---|---|
Id* | N/A |
Type | Type* |
AccountReference | Account |
Date | Date |
DueDate | Due On |
Reference | Ref |
NominalAccount | Nominal |
Description | Details |
NetAmount | Net |
TaxCode | T/C |
TaxAmount | Tax |
- Id* - The id field is not shown in Sage 50 but is used by Zynk to track the records it has processed to prevent duplicate data being imported.
- Type* - The type will either be
PurchaseInvoice
orPurchaseCredit
Note Zynk will automatically group transactions (single header with multiple splits) where certain fields match, see Sage 50 Transaction XML Grouping for more details.
Default Mapping File
Mappings in Zynk are handled using XSLT 1.0 (https://www.w3.org/TR/xslt-10/), and we provide XSLT Builder available from the Extensions menu in Zynk for building mappings. You can create and customise mappings using either XSLT Builder or any text editor. Transactional data supports limited customisation so the defaults should work, but mappings can be customised per install.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<Company>
<Transactions>
<xsl:apply-templates />
</Transactions>
</Company>
</xsl:template>
<xsl:template match="Transaction">
<Transaction>
<Id><xsl:value-of select="Id" /></Id>
<TransactionType>
<xsl:choose>
<xsl:when test="Type='PC'">PurchaseCredit</xsl:when>
<xsl:otherwise>PurchaseInvoice</xsl:otherwise>
</xsl:choose>
</TransactionType>
<AccountReference><xsl:value-of select="AccountReference" /></AccountReference>
<TransactionDate><xsl:value-of select="Date" /></TransactionDate>
<DueDate><xsl:value-of select="DueDate" /></DueDate>
<Reference><xsl:value-of select="Reference" /></Reference>
<NominalCode><xsl:value-of select="NominalAccount" /></NominalCode>
<Details><xsl:value-of select="Description" /></Details>
<NetAmount><xsl:value-of select="NetAmount" /></NetAmount>
<xsl:if test="TaxCode">
<TaxCode><xsl:value-of select="translate(TaxCode, 'T', '')" /></TaxCode>
</xsl:if>
<TaxAmount><xsl:value-of select="TaxAmount" /></TaxAmount>
</Transaction>
</xsl:template>
</xsl:stylesheet>