TL;DR: Sage 50 UK integrations are hard to build, support, and manage. hotglue has an awesome Sage 50 UK connector that simplifies the process. Skip here for a demo.
What is Sage 50 UK?
Sage 50 UK, also called Sage 50cloud Accounts or Sage 50c, is an on-premise accounting system for the UK/Ireland market.
According to Codat, Sage 50 is ranked 3rd by market share of accounting platforms in the UK (16%) after Xero (25%) and Quickbooks Online (20%), making it an essential integration to offer if you’re targeting UK/Ireland.
Note that this product is often confused with the Sage 50 US version, which was originally called Peachtree Accounting. These are two completely unrelated products, requiring separate integrations.
How does it work?
Despite the name Sage 50cloud, the product is an on-premise desktop software for Windows. The cloud part of the name refers to a few cloud-based add-on features which connect to Microsoft Office 365.
As Sage 50 is an on-premise product, building an integration with Sage 50 UK is a more involved process than with competitors like Xero and Quickbooks Online, which offer cloud-based APIs to access data. Let’s walk through the steps to build an integration in-house with Sage 50 below.
1. Build an on-premise connector
Sage 50 UK stores all data locally on a flat file proprietary database. In order to access this data you will need to develop a connector that will run on the same machine that is running Sage 50 UK.
Sage 50 UK comes bundled with an ODBC driver which allows read-only operations against the local database. You can access a list of all the tables that Sage 50 UK has here.
If you’re interested in writing data to Sage 50 UK, Sage recommends doing this via their official SDK, but that requires a subscription to the Sage Developers Programme (priced at £2500 annually). Alternatively, CData offers an unofficial ODBC driver which allows for read, write, and update operations against the Sage 50 UK database.
Regardless of what option you choose, you will have to develop an on-premise connector that your users will install on their machines. This can be a very involved process depending on what functionality is relevant to your product, what versions of Sage 50 UK you plan to support, and more.
2. Install the connector on your users machines
Now that you have a connector which establishes connectivity to Sage 50 UK, you will need to package this and assist your users with installing the connector on their machine. Beyond just configuring credentials, permissions, and networking, this will involve testing to ensure that your connector functions properly with your user’s installation of Sage 50.
This is a particularly important step from an onboarding perspective: as this requires significant action on your user’s part, it is imperative that the connector make it easy to detect errors quickly to ensure your user has a smooth experience.
Once the connector is installed, your product would have access to the relevant Sage 50 data.
3. Process the data
Once you start receiving the relevant data from your customer’s Sage 50 to your backend, you’ll likely need to run some transformation process to clean the data and transform it into a schema your product can use.
There are plenty of tools for building these types of ETL pipelines. Here are some references for different approaches:
-
ELT (transforming once in a data warehouse)
-
ETL (transforming before sending to a database)
- Python: open-source libraries like pandas, dask, and more
- Apache Spark, especially good for large datasets
- AWS Glue, and similar products
As you can tell, the process of building out a robust Sage 50 UK integration is not straightforward. Each of these pieces has its own unique challenges, and will likely have a very different architecture than an integration with a cloud-based accounting platform like Xero or Quickbooks Online.
There’s a better way: hotglue
hotglue offers an integration platform that makes it 10x easier for developers to build integrations for their customers.
We have released an awesome Sage 50 UK integration that handles a lot of the complexities we outlined above out of the box! Check out the demo below:
Breaking it down
Let’s break down the hotglue Sage 50 UK integration into the same steps we did above.
Use hotglue’s Sage 50 UK connector
Instead of building your own connector, hotglue has a Sage 50 UK connector you can distribute to your users which leverages the official Sage 50 UK ODBC driver. It can be used to incrementally sync any tables from Sage 50 UK directly to your product such as the chart of accounts, customers, products, invoices, and more.
The connector runs as a background service on your users Windows machine, connects to the Sage 50 UK database, and syncs the data to your hotglue environment automatically.
Install the connector on your users machines
The hotglue Sage 50 UK connector has a simple installation process, allowing your users to configure their Sage credentials and the tables to sync in just a few minutes using a config.yml
file that lives on their machine in the %appdata%/.hotglue
folder.
Additionally, users can verify the installation is functioning properly via the hotglue-sage-connector.log
file, pictured below:
Process the data
hotglue handles cloning data directly from integrations via sync jobs. Jobs can be scheduled using cron expressions or triggered ad-hoc via the hotglue API or hotglue widget.
Sync jobs are highly scalable, and are designed to handle large amounts of data without issues. The hotglue admin panel allows you to manage all your users sync jobs, with built in logging and webhook functionality.
hotglue also includes a preprocessing layer based on Python. You can set a transformation script that processes the data from Sage 50 UK, and can even customize it on a user level.
Learn more about how transformation scripts work in hotglue in the docs: https://docs.hotglue.com/docs/transformations-overview
Conclusion
In conclusion, offering a Sage 50 UK integration can be important if you are a SaaS product targeting the UK/Ireland market. Building a Sage 50 UK integration in-house poses many unique challenges including building an on-premise connector, installing that connector on users machines, preprocessing the data into an ingestible format, and supporting the integration across multiple customers and different versions of Sage 50 UK.
hotglue’s Sage 50 UK integration is designed to make the entire process of building a Sage 50 UK integration and supporting customers at scale easier via our Sage 50 UK on-premise connector, sync jobs infrastructure, and preprocessing layer.
If you’re interested in learning more you can book a demo here: https://hotglue.com/demo