QuickFile API Documentation

The QuickFile API is a fully featured JSON/XML web service, enabling 3rd party application developers to extend and enhance the QuickFile Platform. The API contains all the common methods for creating invoices, managing clients, inventory items, journals, purchases, suppliers, banking and credit information.

Here you will find all the supporting documentation to help you formulate your requests for the QuickFile API. You can tryout many of these requests within the Sandbox area, this guide shows you how to access the sandbox from your account so that the authentication headers are pre-filled. If you require any support with the API please post your question in the Extensibility Group on our forum and we will respond ASAP.

To access the API you must have a QuickFile account with an API key (found in your account settings area). You will also need to register your application (see below) and provide the unique ApplicationID in the request body.

Communication with the API can ben made via JSON or XML over HTTP(S). All requests should be made to the following endpoints.

JSON
https://api.quickfile.co.uk/{API_Version}/{MethodName}
XML
https://api.quickfile.co.uk/xml

If you would like some assistance with code samples you can find a few examples here. Feel free to post your own code samples to the Community area.

Before you can start making submissions with the API you will need to register your application within your main QuickFile developer account and obtain an ApplicationID. All new applications will have a daily transaction limit of 1000 calls and will be permitted only to make calls to the account within which it is registered (for multi-account access please see our API Partner Programme).

How to register your application

In the account settings area within your main QuickFile account you will see a link under 3rd Party Integrations to "Create a QuickFile App". Click this link.

Account Settings

You will now see a green button to create a new application.

Register a new API Application

You can now give your application a name and provide a brief description of what it will do. You will also see a full list of API methods which you will need to individually select in order to be able to call in your live environment.

Once you have registered your application you can start making test calls either from your code or within the sandbox area.

The API uses a simple authentication mechanism to validate each request. The authentication credentials are signed using an MD5 hash that is passed in the request header section.

The following details are used to validate the request.

Account Number

The QuickFile account number.

Unique API Key

A static key generated for your account to authenticate your access to the API. This can be found in your account settings area.

Submission Number

An alphanumeric string issued by the presenter that uniquely identifies every submission. The same submission number cannot be used more than once on the API.

Application ID

Each application must have an ApplicationID. You can obtain this by registering your application (see above).

MD5 Hash

An MD5 hash of the Account Number, API key and submission number. The three values are concatenated and then hashed using the MD5 algorithm. As the MD5 hash incorporates a unique submission number each time, it serves as a signing mechanism to prevent resuse of authentication headers.

For Example:

Account Number: 123456789
API Key: AAA3321-12BH-A22
Submission Number: 00001

This would be concatenated to: 123456789AAA3321-12BH-A2200001

The resulting MD5 Hash would look like this:

507c9d79c192da6e86428919ee0382dc

Please note that the MD5 hash must be presented in lower-case hexadecimal The following online tool can be used to MD5 encrypt your string:

https://emn178.github.io/online-tools/md5.html

In order to make life a little easier we have provided a sandbox area where you can test your JSON/XML submissions and obtain the response in plain text. The sandbox area contains example JSON and XML for each of the methods within the API and links directly to the relevant documentation and schemas.

Click here to access the API Sandbox

You can also access the sandbox directly from your account and all the authentication headers will be pre-populated. We have a guide on how you can do this here:

Testing the QuickFile API - Beginners Guide

Each submission on the API adheres to a basic format which includes a header and body section. The header will encapsulate any information relating to the type of message, the authentication data and unique submission number. The body contains content specific to the type of request being made. The API response follows a similar format with a header and body section.

Please note: each call to the API must be made with a unique submission number.
If a duplicate submission number is transmitted, the API will return an error.

Please also be aware of the following when formulating your requests:

  • All requests must be UTF8 Encoded
  • For XML requests you must include the appropriate Schema reference within the root element.
  • Date time values must be formatted as yyYY-MM-DDTHH:MM (The T prefixes the time)
  • Boolean values must be 'true' or 'false' and in lower case.

Each account has an initial request limit of 1000 API calls, this is reset each day at around midnight. We are happy to lift this limit should you require additional capacity. For any queries regarding your API call limit, please contact us.

All the methods available within the QuickFile API are fully documented and can be accessed from the main categories listed below.

Webhooks is an extension of the QuickFile API that allow you to obtain almost real-time notification of key events in QuickFile. You can find out more about Webhooks here.

Quick File Limited - Copyright © 2024
QuickFile Accounting | Community | Knowledgebase