Automation of the internal purchase management system

From a non existing process to a predefined workflow with checks in place and automations in the background.

How it started

As it often happens, start-ups grow, and the processes that were initially done by a single person manually but as time passes these tasks become more complex or just more numerous. I was approached to help automate the processing of supplier invoices which would save a lot of time for the employee dealing with this task. Then during the exploration phase, we discovered that the whole process of purchasing was done manually and there was no predefined workflow in place. Imagine being the person in charge of purchasing, you get requests via email, chat, phone, post-it notes, in Person and you have to remember to follow up on each of them, check the budget, get approvals, place the order, follow up on the delivery, check the invoice, get the invoice approved, pay the invoice, etc.

Creating a centralized place to place orders

The first step was to create a centralized place where all requests would be placed. The requirements were simple and very clear:

  • A form that would allow the requester to fill in the details of the request
  • Require users to fill out mandatory fields
  • Require users to prefill project and cost center fields
  • Help users enter the data in the required format, for example, a numeric quantity field.
  • Have this data displayed in a table for easy review

The tool of choice that fulfills all these requirements is SeaTable. Using SeaTable allows me to host the data in a secure way and know where the data is saved. You can also host the system on your own servers if company policies or regulations require it.

Automating the process

With the form in place, the next step was to automate the process. First of was the approval process. Now imagine you have an approval process in place, but every change would require someone from the IT department, or even worse, an external consultant to make the change. I want to empower the users to be able to change settings to the process, without having to send me a request for it.

Dynamic approval process

To achieve this, I have created a simple table in SeaTable where the users can add the email addresses of the people who need to approve the request and the amount that requires their approval. But then, you might ask, what if higher amounts need a second approval? The flexibility of SeaTable allows you to create a new column where you can specify the second person responsible for the approval.

With this small table in place, the users can now add, remove, and change the approval process without requiring any IT intervention.

Notifications and the approval process

The next step was to notify the users that they had a request to approve. I could have used the built-in notification system of SeaTable, but then I would miss a few features that I needed, like PDF generation which I will explain later, and also, be more flexible with the notification emails.

For this I used n8n.io, a workflow automation tool that allows you to create workflows very quickly and integrate multiple tools and systems. The flow for the approval process is simple:

  1. A new request is submitted
  2. The user is notified if it’s under the approval limit and the request is approved
  3. If the request is over the approval limit, the first approver is notified
  4. If the request is over the second approval limit, the second approver is notified

Each notification mail contains details about the request and a link to a view displaying the request in SeaTable. With a simple click of the “Approve” button, the request is approved and the next approver is notified if needed.

Generating a purchase order

Remember the manual process mentioned at the beginning? All this time the purchasing team would have been involved in the process. Now, with the approval process in place, the purchasing team had zero interaction with the process until the request was approved. Now it’s time for the purchasing department to get involved and start ordering the items. The Purchase order can now be generated with a click of a button as a PDF file, which can be sent to the supplier.

No need to manually create the purchase order and copy data or enter anything manually. It’s all done automatically and your purchasing team can accomplish more while reducing errors at the same time.

essential