Did you know, that in Slovakia, there is just 19% of companies, who are sending reminders about overdue invoices to their business partners?
According the EOS survey with European Payment Practices 2019, the level of digitalization of processes is steadily climbing, however even such simple task as a remind your customer, that there are some overdue invoices, is done only in 19% of companies in our country.
This made me wondering: how hard can it be? We have all the data, so where’s the catch? We are SW developers, after all – why just 19%?
It took us one weekend (and few evenings to polish things) and our own solution was deployed into production – with not only the email notification, but also with integration into MS Teams, where you can ask a bot to produce a report containing overdue invoices whenever you want.
Main ingredients you need, when you want to start:
- invoices data – Jira issues in our case
- tools to read them – Azure Logic Apps
- other tools, which will process them and provide you the output – Microsoft Flow
Since we are proud consumers of Microsoft’s Office 365, along with other products, which are related to it – such as Microsoft Teams, Azure, Azure, Logic Apps, OneDrive etc.
For all of those, there are connectors, which are part of Logic Apps or MS Flow.
Our implementation consists of following building block:
- Trigger – scheduled, or on demand (bot in Teams), both easily integrated via MS Flow
- Invoice data reader – Azure Logic App
- Producer of a result – Microsoft Flow
Start the report
Usually, you want this info in two ways:
- Send it periodically to your partners – that’s the entire point, right?
- Get it on demand – when you want to check any time, what’s the status
Both of those are possible in Microsoft Flow – when created parameter-less flow, it can be started also with the help of Flow Bot from Microsoft Teams and thus produce the on-demand report whenever you want.
At the same time this Flow is scheduled to run each Monday morning, with emails to be sent to your business partners.
When it comes to implementation, Microsoft Flow is very similar to Logic Apps, with bunch of already existing connectors. Therefore interaction with O365, MS Teams, or some other Logic App is flawless.
In our case, the process calls the Logic App, which reads the invoices’ data from Jira. Then transforms it and create emails for respective business partners and sends it to them.
Reading of invoices
Originally, this was the first thing, which we implemented (hence just some generic non-deterministic name of the App), as a prototype of Azure Logic Apps – so we left it there. But it could be done in Flows as well.
When it receives signal on a REST endpoint, it will connect to our Jira. There, based on pre-defined filter read the data of overdue invoices and will return it back in nice pre-chewed json structure.
User will get results via 2 channels
- In dedicated MS Teams channels – via Power Automation bot
- Via email – which is also sent to the customer
All of this is handled by Flow, which is using all other building blocks mentioned in previous steps
This way we are getting those reports anytime we want/need – either schedule it to certain times, or run it anytime directly from MS Teams.
What started as a nice exercise or training on the job, ended up with something, what we are using regularly and what brings us benefits.
Currently we are running this job once a week. This allows us to remind our business partners that there might be items, which might’ve slipped their attention. On the other hand, it also gives us immediate notification about those obligations, which is always useful.
It is nothing worse, than the debts, which build-up on each other to monstrous proportions, until it becomes unbearable.
Hopefully we will be able to prevent that, also with small activities like this 😉