ABBYY Vantage – Creating Your First Invoice Skill

Learn how to create and customize your first invoice extraction skill in ABBYY Vantage.

Hello. Today I’d like to show you how we can create our very first invoice extraction skill. Now, what we’re gonna do is we’re actually gonna use a pre-built skill that ABBYY has provided for us, and we’re gonna customize it. We’re gonna add some of our master data for things like vendors and business units and purchase orders and purchase order line items. This will give us the ability to really use this skill, but bring it back to the core data that our business runs on.

So the way that we do this is we start with this Invoice US Skill. That’s already predeveloped by ABBYY. And in order to use this skill, we actually have to duplicate it. So we’re gonna create a duplicate skill. Vantage will create a copy of that skill for us, which we will then go and customize. So we now have this copy. When I open this copy, you’ll see a couple of things. This is actually a brand new skill with a prebuilt editor that has the extracted fields that we’re ready to extract off of it. I’m not gonna upload a sample yet though, because I wanna show you one of the critical pieces of any invoice operation. Is giving us the ability to use what we refer to as catalogs. These catalogs are the master data that our business run on so that when we detect a vendor or when we detect a business unit, I will be able to tell what specific vendor ID or business unit ID, for example, that we’re referencing on the document. So this is the ID that our downstream systems will need and will need access to in order to automatically continue processing this document.

Vantage gives us the ability to upload these catalogs and what they do is it gives us the ability to reference these on a FTP site. So the software is expecting a Vendors.csv file. And of course we know where to upload that and how to access that on the FTP by copying this information. And then we have the columns that the software is expecting us to have, and the order that we expect them to have. So in order to do this, I’ve already prebuilt a Vendors.csv file. I’ll actually show it to you if you’d like to see it.

Now, this is one Vendors.csv file with one record, and obviously in a real business, we would have potentially hundreds or even thousands of records here. Just to show the concept today, you’ll see, this is very similar to what Vantage is wanting us to provide to it. So my columns represent the columns here and the proper order. You may wanna reference the help information just for looking for some of these caveats when we do have commas and preexisting files and all that sort of stuff. But in general, the concept is very, very easy. Let’s provide it a CSV that has the columns in this order. Now, obviously in order to put that in an FTP site, I need to copy this and I’m gonna go ahead and open that up on my side.

So now that I’ve opened up that FTP site, you’ll see here, these are my two CSVs that I already have pre-built for vendor and business units. So I’m gonna go ahead and just pass those into this Catalogs folder. The software will then monitor this folder and ingest and reindex its catalogs with my master data, so that I now have the ability to reference my own details and my own master data so that when the software extracts the vendor or extracts the, the business unit, it will know the proper record on my side to map that to. So the software will pick those up periodically. You can see it’s already picked up by master data. This is only something we would do periodically. It’s not something we have to do with every transaction. And it is something that we may want to schedule sometimes daily, sometimes weekly, depending on how often this information changes on your side, but the software will ingest that for us.

Now out of the box, you’ll actually note that we have vendors and business units. If we’re using purchase orders and purchase order line items, or we wanna do some sort of two way match with our backend system, we would have the ability to perform those uploads as well.

So now that I’ve uploaded the master data files, what I’ll do is go ahead and upload a sample here. Now, once I’ve uploaded. The software is going to make sure it can classify this document correctly. In other words, it knows that it’s an invoice, and once it’s done here, we will be able to look at our editor and see what we’ve extracted.

And so a typical invoice model has things like header details. So the fields that we’re expecting that are found one time on the document, invoice number, date, totals, currency taxes, et cetera. We then of course have purchase orders and or purchase order line items. We also then of course have just the line items that are on this actual invoice and I can reference those and see those on the document as well.

The part that I want you to note is that we now have business unit and we also have vendor. If you recall, I uploaded those on our FTP site. So now I have the ability to have the software perform fuzzy matching so that it can determine who the vendor is, who the business unit is. But more importantly, provide me the proper ID for each of those records. So the ID in this business unit is one, the ID for the vendor record is 1, 2, 3, 4, 5.

So the software is not only determining who the vendor is, but it’s actually mapping that and performing a fuzzy match against my list of data to find that proper vendor in business unit. This is a key part to most invoice automation implementations.

So from here, what we can do is we can publish this skill, just like we would any other skill. The part that I want you to remember, however, is that the master data that we use, those catalogs that we use happen through an FTP upload process, and those can be synchronized periodically. So it doesn’t have to happen with every transaction.

Also, we have a web service API. If you’d like to see that I’ll show it to you. The web service API is a very cool way to do this. You’ll see that we have what are called catalogs. So we have a business unit catalog. We have a vendor catalog, for example, and we can manage those. Then we can actually manage the individual records within the catalog. So if we want to programmatically tell Vantage about new records or when to update them or when to delete them, we would have the ability to programmatically handle that through some web service calls, which is yet another really cool feature of how to manage this data.

So there’s our very first invoice setup. A very simple, low code, no code requirement here to get us some invoice details that we’re now extracting, and we can automate in our business process. Thank you so much.

[Music- “‘Engineered to Perfection’ performed by Peter Nickalls, used under license from Shutterstock”.]

Related Content:

Leave a Comment