Tom Lee-Gough



API, FTP WTF!

Automating your accounting (and other) systems can be great for your business. It can help you get more done and with fewer errors. In order to get something automated, data needs to be retrieved from one and put into another. I wil describe two common methods.

Application Programming Interface (API)

An API is a method for receiving and sending data in a programming context. Many API are accessible over the internet. The easist way of thinking of an API is like a website. With a website the process is:

  1. Open Browser and enter web address (Request)
  2. Server presents the website code (Response)
  3. Browser renders the code (Action)

When you visit a website, you initiate a request and the browser and webserver perform some actions. A similar process happens with an API:

  1. Send or request data from server (Request)
  2. Get the data back (Response)
  3. Do something with the data (Action)

All an API does is provide a route to getting data in and out of software. An API just sits there until something interacts with it. I will write a future post with some API examples.

File Transfer Protocol (FTP)

FTP is a method for transferring files. Typically, in an FTP integration the process is that some software deposits a CSV file onto the FTP server. That server then may process the file futher or wait for another service to process the file. FTP integrations are usually used in conjunction with an API.

Let's say that you wanted to automate data transfer between Procure Wizard and Xero. In Procure Wizard, you can set a schedule to export invoices on a daily basis. However, the Xero API would not know that your invoices are waiting to be imported. You would need some code on your FTP server to take the Procure Wizard file and assemble it into the appropriate format for Xero.

Conclusion

API and FTP aren't automations in themselves. They are methods for getting data in and out of software that can be automated. An automation might involve both API and FTP, or just one. But will definitely involve two bits of software...