BookmarkBookmark this page!
Nov 11, 2025
Invoice Import tool

Summary

The Syrinx Invoice Import Tool can be used to enter purchase invoice information in bulk where the invoice information has been received in an xml file.  The tool mimics the behaviour and functionality of the Enter Purchase Invoice screen in Syrinx and can be used to enter standard invoices, crosshire invoices and credit invoices.  This is guide is not intended to explain the purchase invoice entry process and a good understanding of the purchasing processes in Syrinx is required before attempting to use this tool.

Installation

The invoice import tool is also an installation option in the Syrinx 365 AppInstaller for Syrinx 365 systems.  The v4 installer for the invoice import tool can be downloaded from the below location for v4 systems:

 

https://www.syrinxusers.co.uk/Syrinx%20Invoice%20Import%20Tool/InvoiceImportInstaller.msi

username: download

password: c0nc3pt

 

There are no installation options and the InvoiceImportInstaller.msi simply needs to be run on the PC in order to install the tool. 

 

Earlier versions of the tool are also available via the following link using the same username/password as per the above but some versions did not have a dedicated installer and need to be added to the system manually:

 

https://www.syrinxusers.co.uk/Syrinx%20Invoice%20Import%20Tool/Previous/

 

Once downloaded, you may need to right click on the InvoiceImportTool.zip file, select “Properties” and then tick the “Unblock” option if visible:

If installing an earlier version of the tool that does not have an installer, you should then extract the folder “InvoiceImportTool” folder from the InvoiceImportTool.zip file and copy it into the directory “C:\ProgramData\Higher Concept” on the client PC.   Next, open the “InvoiceImportTool” folder in “C:\ProgramData\Higher Concept” and right click on the file invoiceimport.exe, select “Send to” and then “Desktop” in order to create a shortcut for the tool on the PC’s desktop:

 

 

For the 4.37.4 version of the tool only, the final step is to apply the patch “SysOpt_Patch.syp” found in the “C:\ProgramData\Higher Concept\InvoiceImportTool” directory to the Syrinx database via Syrinx SP Configuration\Administration\Apply Server Patch while logged in as the “sa” user.

Configuration

Once the tool is installed, you can now open it via the shortcut created earlier and begin the configuration process.   The tool is configured by pressing “Options” button:

 

 

 New configurations are added to the tool via the “Add” button:

 

 

An entry will need to be created for each supplier who submits electronic invoices to you and you should give the configuration a name that will be relevant to the user when determining which invoices they want to process:

 

 

You will then be taken to the “Options” page of the invoice import tool where you can complete the details of the specific configuration.  The information in the “Configuration” section of the “Options” page is mandatory and must be entered in order for the tool to function.  The details in the “Email” section of the “Options” page are optional and will be used to email the supplier of the invoice file should there be any errors when importing the invoice information which require the supplier’s attention:

 

Below are details on each of the configuration options:

 

Invoice Source Folder*

Specifies the location where the XML file containing the supplier’s invoices will be held on the local PC or network.  Any PDF copies of the invoices in the XML files can also be held in this location.

Processed Invoice Folder*

Specifies the location where the file containing the supplier’s invoices will be moved to on the local PC or network after being processed by the invoice import tool.  The user will require READ/WRITE access to this directory.

Mapping File*

Specifies the location of an .XSL stylesheet which provides mappings between the data in the XML file containing the supplier’s invoices and the equivalent data in Syrinx.  There will potentially be a unique mapping file for each configuration as not all suppliers will provide the invoice data in the same format.  *The mapping of this data can potentially be a difficult task and should be organised well in advance of installation/configuration of the Invoice Import tool.

SMTP Host

Name or IP Address of your email sever to be used when sending invoice rejection emails to supplier.

Port

TCP Port used when communicating with the mail server

SMTP Username

Username to use when authenticating with email server.  Can be an email address.

Password

Password for the above account/email address.

Send From Email

The email address to be used when sending the invoice rejection email.  If different from the “SMTP Username” setting, the account designated as the “SMTP Username” must have “Send As” rights for this email address.

Use SSL?

Enable this option if the email server requires secure encrypted communication.

Rej. Email Subject

Subject for the invoice rejection email.

Rej. Email Body

Body text to be used when sending the invoice rejection email.  The tokens to the right of this field can be used within this text to add specifics regarding the rejected invoice and any errors encountered during the import process.

Auto Invoice Threshold

Used when the tool is run as a service and defines the percent difference allowed between the suppliers purchase invoice values and the corresponding Syrinx purchase receipt prices or estimated cross hire charges.  Invoices with values greater than this threshold will be rejected and should be processed manually.

Send Auto Failures To

The email address to whom any auto import failures should be sent.

Save Service Credentials

Use this button to save/update the configuration details in the registry so that they can be read by the invoice import tool service when it starts.  The tool must be run as Administrator in order to save these values and the service must be restarted to pick up any changes to these values.

*Denotes mandatory settings.

 

Load Invoices

Once the tool has been configured and supplier invoice xml files have been copied to the “Invoice Source Folder” directory, the user can click on the “Load Invoices” button to view the invoice xml files that are available for import:

 

 

The tool will then load any available invoice files in the lower area of the screen and the user simply has to click on one of the invoice files to begin the import process.

 

Processing Invoices

After selecting an invoice file to load, the invoice import tool will begin the invoice entry process by displaying the 1st invoice found in the file on the right side of the screen and will pre-populate as much data as possible using the information in the invoice file:

 

 

All invoices contained in the invoice file will be listed on the left side of the screen and users can view/edit the different invoices in the file by clicking on a specific invoice in the list:

 

 

Any errors or warnings displayed in this area of the screen are related to the invoice currently selected for editing.

 

When entering invoices for consumable purchase orders, the “Reconcile Receipt Lines” button can be used to reconcile a specific invoice line against a purchase receipt line in order to pull through information such as tax codes, nominal codes and department codes onto the purchase invoice line:

 

 

The specific receipt line can then be enabled as “Reconcile?” on the subsequent “Pick Items to Reconcile” screen:

 

 

From 4.42.5 and later, user can also adjust the Qty value against a receipt in line in cases where the supplier has sent an invoice for a partial Qty value and the remaining quantity will be invoiced on a later invoice.  The option to enter partial quantity values against the receipt lines is only available when using the tool interactively and will not be an option when running the tool as a service.

 

Invoices linked to crosshire purchase orders will also display a “Charge Estimates” tab which will display the hire charging information against the crosshire order in Syrinx as well as an estimate of the hire charges from the “Invoice From” date to the “Invoice To” date held against the invoice in the invoice file:

 

 

These charges are simply estimates and may not match the charges contained on the supplier’s invoices due to but not limited to differences in charging logic between a supplier’s invoicing system and Syrinx, differences in periods being charged, errors during entry of the order information in Syrinx, differences in the charge from/to dates on the invoice lines and the estimated period on the “Charge Estimates” tab.  Therefore, differences between the estimated and actual charge value may not be grounds for rejecting an invoice and should simply be used as a guide to assess the validity of the invoice charges.

 

If PDF copies have been supplied with the invoice XML files and the appropriate changes have been made to the XSL template to take this in to account, an “OPEN PDF” button will be visible at the bottom the screen that the user can press to see the linked PDF file:

 

 

If the invoice is imported successfully, the pdf file will be moved to the “PI” folder in the “Scanned Documents Folder” as defined in Syrinx SP Configuration\Documents\Root Folders and will be renamed after the internal database ID of the imported purchase invoice record.  The pdf document will then be visible when pressing the “Documents” button on the purchase invoice record in Syrinx.

 

The following table lists the various errors/warnings that can be displayed against an invoice and the actions that a user can take to resolve these issues.  All “Errors” must be addressed before the user will be allowed to accept the invoice:

 

Message

Type

Description\Solution

Invalid Supplier

Error

The xml file does not contain the supplier's account number so the tool is unable to match the invoice in the xml file to a supplier entry in the Syrinx database.  The user can manually search for a supplier in the Syrinx database using the button to the right of the supplier fields:

If the issue persists across multiple invoice files from the supplier, the user may choose to reject the invoices or directly inform the supplier of the issue so that their invoice files can be corrected so that any new invoice files contain the correct information.

Missing Tax Codes

Error

The tax codes listed against the invoice lines in the xml file do not match any tax codes set up in the Syrinx database.  Users can manually select the appropriate Syrinx tax code against the individual lines using the drop down button on the “Tax Code” field:

If the issue persists in multiple invoice files from the supplier, the .xsl mapping file can be amended in order to map the supplier’s tax codes with the equivalent Syrinx tax codes so that the user does not have to manually set tax codes against the invoice lines when processing the invoices.

Missing Nominal Codes

Error

Supplier invoice xml files will generally not contain nominal code information.  The user will need to manually set nominal codes against the invoice lines. 

For crosshire purchase invoices, each purchase invoice line will have a “Match Order Lines” button that can be used to match the invoice line against a line on the crosshire purchase order:

The user simply needs to find the appropriate order line and then click the “Match?” option against that line:

The appropriate crosshire nominal codes for that type of item should then be pulled through to the purchase invoice line.

For consumable purchase invoices, each purchase invoice line will have a “Reconcile Receipt Lines Lines” button that can be used to match the invoice line against a line on the purchase order/receipt:

The user simply needs to find the appropriate order line and then click the “Reconcile?” option against that line:

Users can also manually set nominal codes against the purchase invoice lines without using either above the options.

Invalid Order No.

Error

The purchase order number listed against the invoice in the invoice file does not match a valid purchase order number linked to the supplier in Syrinx.  If the invoice is a crosshire invoice, the invoice import tool will be looking for a valid crosshire purchase order.  If the invoice is for a consumable purchase order, the invoice import tool will be looking for confirmed purchase receipts linked to the purchase order in Syrinx. The user can either manually amend the order number to match and existing purchase order for the supplier in Syrinx or the user can add the order in Syrinx and enter purchase receipts (consumable orders only). 

Net Amount Mismatch

Warning

The total of the line net amounts does not match the invoice total from the xml file.  This is simply a warning and can be ignored if the user is satisfied that the purchase invoice line information for the purchase invoice is correct.  Should this warning occur consistently then this may require modification of the .XSL stylesheet used to map the Supplier’s invoice data or the supplier may need to modify amend their invoice exports.

Tax Amount Mismatch

Warning

The total of the tax amounts on the invoice lines does not match the total tax amount for that invoice from the xml file.  This is simply a warning and can be ignored if the user is satisfied that the purchase invoice line information for the purchase invoice is correct.  Should this warning occur consistently then this may require modification of the .XSL stylesheet used to map the Supplier’s invoice data or the supplier may need to modify amend their invoice exports.

Supplier Not Registered for Vat

Warning

The supplier linked to the invoice is not registered for VAT in the Syrinx database.  This is simply a warning and is issued if a VAT number has not been entered against the supplier record in Syrinx.  This would only be an issue if the supplier was charging VAT and they were genuinely not VAT registered.

If purchase invoice authorisation is enabled in the Syrinx program, the user will need to assign the purchase invoice to a user for authorisation.  If the user has the privilege to authorise purchase invoices, they will be able to assign the invoice to themselves and then mark the purchase invoice as “Authorised?”:

 

Once all errors/warnings have been addressed, user can then press the “Accept Invoice” button to complete the process and remove the invoice from the list.  If the “Auto-Confirm Purchase Invoices” option on the “Invoices” tab of Syrinx SP Configuration\Purchasing has been disabled, the invoice will also need to be confirmed in the main Syrinx program before it is released to the user’s accounts package.

Partial Entry of Purchase Invoice Data

If a user is unable to complete entry of all invoices in a supplier’s purchase invoice file and closes the invoice import tool, it will issue the message “Do you want save any outstanding changes before closing this file?”:

Saying “Yes” to this prompt will save any changes made by the user to the file to a temporary file stored within the invoice import program directory.  When the user then reopens the invoice import tool and selects a purchase invoice file to process, the tool will issue the message “This file appears to be part processed, would you like to open the last saved file?” if there is a saved version of that file:

Saying “Yes” to this prompt will open the save version of the file and the user can continue entering the invoices from the point where they had previously saved their work..

 

Running the Tool as a Service

Once the main configuration information has been entered against the invoice import tool, the "Save Service Credentials" button on the “Options” screen for a specific configuration should be pressed to save the Syrinx logon details to be used by the service when connecting to the Syrinx database and must be pressed before starting the service for the 1st time or if those credentials change.  The tool must be run as Administrator in order to save these values and the service must be restarted to pick up any changes to these values.

Once running, the service use the "Auto Invoice Threshold" value in the invoice import tool configuration to determine if an invoice is within the tolerable difference between Syrinx's estimated total value for the consumable or crosshire purchase invoice.  If the values on the supplier's invoice are within this threshold, the invoice will be imported and the purchase invoice values will be allocated proportionally to the nominal codes on the underlying receipt lines.  If the values are outside this threshold, an email will be sent to the account designated in the "Send Auto Failures to" field and the purchase invoice will need to be manually imported through the purchase invoice import tool or rejected.

 

Note: If the tool was a manual installation of an earlier version that did not have an installer, the service component of the invoice import tool will also require manual installation.  This can be accomplished by running the below from a command prompt run as Administrator:

 

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe "C:\ProgramData\Higher Concept\InvoiceImportTool\InvoiceImportSvc.exe"

 

Caveats:

1.) An invoice threshold must be set in the Invoice Import Tool configuration in order to run the tool as a service.

 

2.) If the tool encounters an error on a file, it will not attempt to try that file again, until the service is restarted.  This has been coded by looking at the unique windows identifier that is used against that file - If a user manually edits the file, the identifier may change. If the name of the file is changed, the identifier may also change. So, there may be some scenarios where it picks the file up again. If the file is left unmodified in the folder, it shouldn't attempt to process it again.


3.) It will not use the Tax/Nominal codes set on the invoice, nor will it even validate them, it will always use the order/receipt tax and nominal codes.

 

4.) For cross hire invoices, Charge dates must be set and valid.

 

5.) For consumable invoices, a receipt must be present along with a purchase order.

 

6.) We can't match invoice lines against order/receipt lines, we import the receipt/order lines in Syrinx and just tweak their line values in line with the overall net/vat values on the invoice.

 

7.) The tool will not validate cross hire Credits, you'll get an error instead.

 

Was this article helpful?
Upload Files