Okay, so we already know to extract data from invoices. In many cases, you'd also want to extract line items in the same workflow.
For instance, if you analyze invoices, you can use line items to understand the quantities you buy each month and then forecast future needs.
In another example, if you receive a lot of purchase orders, line items contain important information about ordered quantities that impact your inventory.
Challenges in Extracting line items
If you extract line items manually, there is no need to explain the challenge - it is very very boring. We, humans, hate that kind of task. Thus, naturally, everyone wants to automate this activity and here we run into trouble.
If you issue purchase orders and the template is always the same, then you use table extraction and that's it. Well, the table will in CSV format, and you will still have to split it into columns. But it is quite easy.
However, if you receive invoices from multiple vendors with a different format or wording, you cannot use simple table extraction because you will have different tables.
A.I. converts data to a common format
And this is where artificial intelligence plays a major role. No matter the format or the column name wording, A.I. tries to understand the real meaning and produce a standard output.
Thus, if you send to Bitskout Purchase Order template a set of 10 different purchase orders, all with different line item tables, it will still produce a standard output of 21 columns. This way you can set up a real automation and stop worrying about the format.
Configuring the automation
In order to extract the line items we will need to set up three tools:
Make.com - to run the scenario
Bitskout - to create a purchase order or invoice analysis plugin
monday.com - to visualize the data. As we use monday.com as an output, we will convert line items into sub-items.
The next screen will show you the output options - choose make.com as an output. And then press Create.
Now, our plugin is ready. The next step is to configure a make.com scenario.
Configuring make.com scenario
In this example, we will use the simple trigger of a new file upload to Dropbox. You can use different triggers like a new email with a purchase order, etc. Once the trigger is set and we have a link to the file that Bitskout needs to analyze, let's add a Bitskout module called "Run Plugin for File".
In this module, you'll need to specify the plugin name and the download URL. Download URL in this case is taken from the previous modules and it should be a public URL that Bitskout can access.
Next, we need to create an item on monday.com with the main purchase order or invoice data. We will use the monday.com Create Item module.
Once the item has been created we can now add sub-items to it. But first, we need to parse our line items table that is in CSV format. We will native Parse CSV module for it:
Thus the parameters should be as you see above. The CSV data is taken from the Bitskout module. There is a field called LINE_ITEMS and this is the one we are looking for.
The next step is to set up a sub-item creation part. We will use monday.com Create Sub-item module for it:
Please pay attention to the board name - it is called "Sub-items of ". monday.com has a tricky way to store data about sub-items by creating a board under a board. In any case, map the values from the Parse CSV module to the corresponding columns.
Now you can run it.
Now you can automatically process invoices and get line item data as well. Why line items are such a big deal? Well, as simple as it may get, even automating invoice information is super effective, if we can also extract line items in the same workflow, it can triple the RoI of this automations.
This is because the time it takes to manually input data from an invoice should not be calculated as 1 invoice = 1 document, but it should be 1 invoice = 1 document X number of line items.