Software integration (or sometimes referred to as systems integration) is defined by being a process of linking together different computing systems and software applications and allowing them to act as a coordinated whole.
Return on Investment
To list off a few immediate ROI’s you can expect by streamlining your business software with custom integration;
- Improve efficiency
- Increase throughput
- Reduce staffing costs
- Increase customer satisfaction
- Streamline billing
- Minimise errors
- Better data accuracy
Software Integration Can Be Many Things
Software integration makes up the majority of the development projects that I work on. The systems that I have integrated have not always been between two systems that the customer owns either.
I have integrated systems between;
- a client and their suppliers
- a client and their customers
- ordering and despatch systems
- on premise to cloud
- CRM and ERP
Integrations can be anything from connecting a web store with an ERP system or as simple as scheduling an automated task to import (CSV/XML) files directly into an accounting system.
Obviously, having some custom written integration would not be cost effective to a business if they only manually keyed in a handful of transactions a day or week… but where one starts to see an immediate return on investment is if they are processing hundreds or thousands of transactions each day/week.
Almost every business that I work with has benefited from having integrated some component of their business. Does your business have some repetitive task that has to be done daily or weekly?
Here is a scenario that I’ve come up with. I have based it on something similar which I have done many times over in the past.
In this scenario, the customer (let’s call them ACME) is a buying group that purchases stock on a daily basis from many different suppliers around Australia.
“ACME” had two bookkeepers employed to (amongst other daily tasks) enter in received supplier invoices into their ERP (accounting) system. These can range from anywhere up to fifty a day, each with twenty or more line items at any given day.
In order to improve efficiency, “ACME” contacted each of their suppliers and discovered that most of them have the ability to produce their invoice as either CSV or XML.
Writing a piece of software to integrate the supplier’s’ system with “ACME”’s was the logical step in bringing these two very different systems, at different geographical locations, together. At the push of a button or optionally have it setup as a scheduled task to run nightly/hourly, the software can download the file-based invoices from each supplier and automatically import them as transactions into “ACME”’s ERP system.
Programmatically handling these types of processes ensures consistency in data entry, better error handling and speed at which these files can be saved into your accounting system.
Sample Source Code
I have uploaded a sample project that I have written on to our GitHub account that I’d like to share. The source code is a simple demonstration of a console application written in C# that reads in AP invoices from an XML document and creates them into a new batch in Sage 300 ERP.
The source code will compile and work on Sage 300 ERP 2014. It is hardcoded to connect to the sample database “SAMLTD”.
Note that the source is offered “as is” with no warranty. It has minimal error checking and should be used for training/learning purposes only.
I will aim to do some more sample project uploads like this one to other systems in the future, so keep an eye out for those.