<- All postsMar 30, 2023What is Invoice Automation? + 4 ExamplesInvoice automation is one of the real unsung heroes in the world of process improvement. See, it’s not the most attention-grabbing topic, but the potential for efficiency savings here is enormous.The crux of the matter is that processing invoices costs a lot of money - and it just doesn’t need to. Your accounts and finance teams are skilled professionals, but they’re also some of the most likely to be overburdened by totally unnecessary admin tasks.And the cost of this can be huge.By some reckoning, manual processing can cost as much as $15 per invoice - and that’s when things are going smoothly. Then there are indirect costs - for instance, dealing with mistakes, scams, delays, and other incidents.Therefore, the more we can remove the need for manual actions within invoice processing workflows, the better.And that’s exactly what we’re covering today.Specifically, we’ll check out some of the key theory behind automating invoice processing, before moving on to some of the concrete ways you can implement this to improve your finance workflows today.Let’s start with the absolute basics.What is invoice automation?It’s worth clearing up any ambiguity around what we’re talking about before we go any further. Invoice automation is the entire scope of your efforts to use technology to replace, minimize, or optimize human interactions within your invoice processes.So what kinds of processes are we dealing with?Processing invoices can require a huge number of skilled, semi-skilled, and menial actions. For example, calculations, information matching, applying business rules, approval workflows, auditing, communications tasks, and more.Invoice automation can touch on any of these. As we’ll see a little later, this can also mean leveraging a wide array of different tool classes and automation solutions.Before we get to that though…Why do we need invoice automation?Let’s reflect a bit more on what invoice automation actually achieves - or, why you’d want to bother with it in the first place.So, we can think about some of the concrete ways that automating invoice processes benefits your business.We already touched briefly on the financial side of this. When we reduce the number and complexity of human interactions required within our processes, we’ll see a corresponding decrease in both direct and indirect costs in all types of workflows .For example, the labor hours required for invoice processing and the costs associated with human error.(Capture2Point0 )We can also think about non-financial benefits - at least not explicitly financial ones.Accuracy is a huge one. The less data our team has to input, interpret, or process manually, the lower the risk of avoidable errors. We’ll also see benefits in terms of speed by virtue of the fact that automated tools can action processes much faster than human actors.We can also have a big impact on employee and customer satisfaction through invoice automation. So, colleagues spend less time on repetitive tasks and clients enjoy faster resolutions - win/win.Examples of invoice automationNow that we have a fuller idea of what invoice automation is and what it achieves, we can start thinking about some concrete use cases and examples. Then, we’ll check out how you can leverage Budibase to make some of these a reality.With that in mind, let’s take a look at some specific examples of invoice processes that are most commonly automated.Here are four scenarios you’ll want to get to grips with.1. Invoice preparation, data transfer, and transformationsFirstly, we have tasks surrounding how your invoices are created in the first place. Depending on your business model and level of existing digitalization, this can take a number of different forms.As in, the process here will be different in an ecommerce business compared to a professional service firm, for instance.We can think about two key ways that automation comes into play here:Reducing the work needed to create invoices manually.Automatic transfer of data between platforms to create invoices.An example of the first would be providing dedicated UIs that enable your team to access automated actions in a controlled, repeatable way - such as during data entry workflows.The second is a much more interesting prospect, however - since we can potentially eliminate the need for manual creation entirely.Let’s take a scenario to flesh out what this might look like.Say you had a simple self-service portal where clients could book one-hour consulting appointments. More than likely, in booking a timeslot, the user would already be providing you with all of the information you’d need to generate an invoice.The remaining piece of the puzzle would be finding a solution to transfer this to whichever platform you create invoices in - including any required transformations to get the data into the right format, using basic automated data pipelines.2. Invoice review and approval flowsOne of the biggest time-sinks in manual processing workflows is the need to follow internal rules for reviewing and approving invoices - although this is, of course, important in its own right.So how do we square this circle?Automation can help in a number of ways here - reducing the time and resources required to ensure internal process adherence.Again, there are two broad levels to this:Codifying the underlying business logic so we can fully automate certain approvals.Streamlining access to information to ensure that - where human interactions remain - that they’re as efficient and effective as possible.Let’s think about an example of how this might work in practice.One of the most common approval workflows is handling vacation requests. It’s also a good example for our purposes because there’ll generally be a couple of specific decisions involved in approving or rejecting a request.So, say we based our approval decisions on how many days of annual leave the employee has left, which of their colleagues have requested time off in that period, what work their department has on, and their manager’s discretion.With the right data in place, we can easily perform the first two without any manual interactions. So, we can simply compare the requested days with the employee’s entitlement and decline the request automatically if their remaining leave is insufficient.We can do something similar by comparing the employee’s requested days with any leave their employees have already booked, to ensure any cover rules are met. The request is declined automatically if there isn’t someone to cover the employee’s work.Therefore, we can greatly reduce the need for requests to be manually approved. We can apply the exact same strategy to different invoice approval workflows.We’ll look at the specific steps to leverage this principle in Budibase in a few minutes.3. Fully automated invoicingSo far, we’ve talked about automating specific, granular tasks. However, we can also opt for more of an end-to-end, fully automated invoicing solution. Some of the benefits of this are probably fairly immediately apparent to you.Essentially, automating your entire invoicing processes from start to finish offers huge efficiency dividends.However, there are downsides too.One important consideration is the cost of implementation. We’re almost inevitably going to need a heavy-weight, dedicated solution - whether this is a custom build or a COTS tool. In the latter case, we’d have additional issues to contend with relating to vendor dependency.Another thing to keep in mind is that end-to-end solutions can present challenges in terms of maintenance and ongoing improvements. New issues, fringe cases, security threats, and requirements will continuously emerge - requiring us to make changes.Therefore, we can end up fighting a losing battle where we never fully realize the all-encompassing solution we envisioned.4. Document management workflowsWe can also think about invoice automation in the wider context of document management processes. That is, we can treat managing invoices in much the same way as we would any other kind of document.Let’s explore some of the key permutations of this.One obvious example is invoice tracking. So, there might be a whole range of reasons why we’d want to keep track of who’s looked at an invoice and when. This can be useful in a range of internal and client-facing processes.Alternatively, we could just as easily find a situation where we’d benefit from other kinds of automated document management, like routing our invoices through different flows based on defined rules.For example, we might follow slightly different processes for invoices above a defined value, relating to specific clients, or even on a randomized basis for QA purposes.Automated invoice approvals in BudibaseIt’s about time we checked out some of the ways we can put invoice automation to work using Budibase. In truth, we could spend all day doing this - but chances are you don’t have the time for that.So, as an exemplary case, let’s take a look through how we’d go about building an automated invoice approval workflow using Budibase.For the purpose of demonstration, we’ve built this simple app, where users can create invoices, add line items, and link them to a client:However, the data model is more important than the UI for what we want to achieve. Briefly, we have one internal table for invoices and this has one-to-many relationships with two other tables, for lineItems and clients.In the real world, we might draw this data from existing platforms like our CRM and eCommerce platform, and access this via API requests. But, since we only want to show off how to build an automation flow, Budibase internal tables are sufficient.For the sake of example, we’ve created a very simple automated approval flow based on total invoice values.Essentially, this does three things:An invoice is automatically approved if its total value is under $500.If its value is over $500, it’s routed for manual approval.When an invoice is approved, it’s sent onward.Knowing how to implement this, you’ll be much better positioned to implement extra custom rules to build on it.So, here’s what we did to create our solution.Actually, we’ve got three separate automation flows in place. The first approves any invoice that comes in under the threshold value of $500. Here’s the flow:All of our automation today are triggered by user actions, to make our demonstration a little easier to digest. We could just as easily do this when a row is created or updated - or even with a chronological or external trigger.So, when the automation is triggered:We store the relevant invoice number (or any other attribute that’s unique to a row).We query the invoices table to retrieve the relevant row.We query the lineItems table to retrieve any related rows.We use a condition block so the automation stops if the total value of all line items exceeds $500.If not, we update the status attribute of the invoices row to approved.What happens when an invoice is approved is handled in a separate automation, which we’ll come to in a minute. First, though, we’ll drill a bit deeper into what’s going on within each of these steps.For our two query rows blocks, all we need to do is filter the table against the value we stored at the trigger stage:The real fulcrum in our automation is the condition block:The reference value is what we’re trying to assess to see if it’s greater or less than $500 - the comparison value. Our lineItems table stores separate attributes for unitCost and quantity. So, we need to write a bit of JavaScript to:Create a variable for our total cost and set it to 0.Iterate over each of the lineItems rows that are related to our invoices row.Get the product of the unitCost and quantity attributes for each row.Add this to our running total.Return the total cost of all of the lineItems rows.Here’s what this looks like in our JavaScript binding:We then built a second automation flow for invoices that are above $500 in value. Here’s what this looks like:Everything is the same until step 3, where the only difference is we continue the flow if the automation is greater than 499. We then update the invoices row’s status attribute to Pending Approval.And finally, we have an extra block to email whoever’s responsible for approval that they have a new invoice to reviewOur third automation rule creates and sends the invoice whenever a row’s status updates to Approved:Again, we’re querying the row that matches our trigger target. Then, we’re applying a condition to the row, so the rule only proceeds if the status attribute is equal to Approved.For the final step, we use a Zapier WebHook, which we could configure to connect to just about any external platform in order to generate and send our invoice.For instance, we could pass a Markdown template with our invoice data to a word processor, and then send back our completed invoice file to email on. Or we could just send everything straight to a dedicated platform.Actually, the possibilities here are pretty broad.Let’s check out some of the other Budibase features we can leverage for more sophisticated invoice automation solutions.Build better solutions, fasterBudibase is revolutionizing the way IT teams build custom solutions for all kinds of business problems. Our open-source, low-code platform is the fast, easy way to build professional applications, with minimal custom code.Take a look at our ultimate guide to digital transformation platforms .Let’s take a look at what makes Budibase tick.Our open-source, low-code platformOur design philosophy is simplicity by default; extensibility when you need it. We’ve built our platform to offer the most efficient developer experiences possible, without compromising on flexibility.Check out our features overview to learn more.Connect your dataBudibase leads the pack for external data support. We offer dedicated data connectors for MySQL, MSSQL, Postgres, Airtable, Mongo, Couch, Oracle, REST API, S3, Arango, Google Sheets, and more.We also offer BudibaseDB - our built-in database, with full support for CSV uploads.Self-host or Budibase CloudSecurity-first organizations love Budibase for the power to host their custom solutions on their own infrastructure. Self-host your Budibase tools with Kubernetes, Docker, Digital Ocean, and more for full control.Or, use Budibase Cloud and let us worry about everything. Check out our pricing page to learn more about both options.Build your own automationsBudibase makes building custom automation rules a breeze. As we’ve seen already today, our built-in automation editor features a range of nestable, configurable actions and triggers to build the perfect flow for your needs, with minimal custom code.Connect to external tools with Zapier, REST, and WebHooks to build fully integrated automation rules to support your business.Configure roles and accessWe also offer configurable role-based access control. It’s never been easier to strike the perfect balance of security and efficient user experiences.Assign roles to users and grant permissions at the level of data sources, queries, screens, automations, or individual components.Custom plug-insNo other low-code platform comes close to Budibase for extensibility. Build your own components and data sources to leverage across your app builds with our custom plug-ins CLI.Check out our custom plug-ins page to learn more.50+ free app templatesBudibase is the fast, easy way to build custom web apps with minimal coding skills. To prove what our platform is capable of, we’ve created more than 50 free, deployable, fully customizable app templates .To start building solutions for free, sign up to Budibase today. Ronan McQuillan