Learn how to setup and configure master data to be used within your ABBYY FlexiCapture for Invoices project.
Hello. Today I'm going to chat with you about how we set up master data for ABBYY FlexiCapture for invoices.
Now, master data is a very, very important step in the implementation process, and the reason for that is because the master data actually helps us recognize information on the invoice. It makes the recognition quality much higher, and the better we do it and the better we prep for it, the better the outcome will be.
So, we're gonna take this time and chat a little bit about it. Now, what I have in front of me is a database, and this can be any database. This is in SQL, but it can be in Oracle, it can even be in Access or any ODBC compliant database. But within the database, we have our master data. Master data consists of things like business units, cost centers, GL codes, purchase orders, purchase order line items as well as vendors.
Now, if we take a peek at the columns here, you can kind of see the information we expect to receive for vendor. Now, because this is a demo system, the information we have is actually quite basic. But for vendors, we can have multiple addresses, multiple states, multiple names, different codes and such that we reference them by. With our POs and line items, we have our PO header information, which is pretty normal. Typically a PO number, who the vendor is, and then how much that PO is for, and then we have our line items, of course, which get a little bit more technical, which are what the article number is, the quantities, the unit price, et cetera. So, those would be POs.
We have our GL codes. GL codes are just our expense account codes, so we can reference those any way that we want. But in this case, in my sample here, you can see I just have a GL code column, an ID column of course, and then a description column.
Cost centers are kind of very similar layout where we have a cost center name and then what business unit that goes to, and then of course we have a business unit table which has business unit, name, where they are, the addresses are, and things. Here's a good example where we can have multiple names and addresses and states and cities for one record. I'll just take a peek at that here to show you what the data looks like.
So, this is what we call master data. This is very, very important to have prepared before an implementation. It makes our implementation go very, very smoothly. So, what we're going to do is set up a brand new FlexiCapture for invoices project. We're gonna just go ahead and start our new project, and we will call this an invoices project, and we'll go ahead and just create a new folder on our desktop, call it US invoices, and we'll call this our US invoices project.
So, what's gonna happen now, of course, is the project setup is gonna be created by default for the invoices project. It's gonna create that project for us, and once this is done, we're gonna go set up the master data.
Okay. Now that the project has been completed, we'll close that and of course on an invoices project, we already have a document definition created for us, so what we will do is we will go into that invoice document definition. It depend on my other screen here, so I'm gonna drag this over for us to review. Of course, we have our typical out of the box fields here, which we're not gonna study too much in this demo, but we can definitely reference those in other videos and through personal demos with you.
But in order to update the master data or even to set up the master data, we would go to document definition and then of course go to the properties. From here, we're going to populate those data sets. Now, each one of these data sets are the data sets that you saw me have in my master data table in SQL, which again can be in any database format. But in this case, we're gonna set up these to reference the database that I showed you earlier.
So, we're gonna simply do setup, and then here we need to specify the connection string. You can see by default there's not one specified. So, we're gonna set this up. Of course, I know that we're talking to SQL, and I'm just gonna set this up to be used for my own personal database here, and we know that this is the database. Of course we always want to test to make sure that works correctly, and then now knowing that that works correctly, we can go ahead and proceed.
Okay. Now that we can proceed, what we need to do is determine the schema. In this case, we'll just go ahead and hit all, and of course in your environment you would want to determine what schema is best. Then of course we need to determine what table the business unit information is derived from. In this case, we will say business unit table. Now what we'll do is we'll match the field. So, we need to obviously match the fields in this data set for every one of those columns that we have in SQL, in the SQL table that I showed you. So, we're gonna say the column ID within FlexiCapture, so it matched to this field called ID in SQL, and it's very, very simple. You can kind of see once you map it, it looks like you can kind of see where it says it's found, whether or not it's normalized, et cetera, and what the externalized database column is. So, we will want to do that for every single one of these.
I do want to show you this. Now, if we have a column, and for this example we have name, but if we have a column that would have maybe references in multiple columns, like a name one, a name two, a name three, or sometimes an address that an address one, two, and three, you can use what we call several columns. Within several columns, you can drag which columns make up the name field. So, we can actually reference all of those. Same thing with street. Street is a very common one where we would reference every one of those. Then of course I'm just gonna go ahead and map these for us, and then we'll do state as well, zip code. There are multiple zip codes, so we will go ahead and use several columns for that. If there's a country code associated with it, we will do that, and then of course if there's a value at a tax ID, we will do that as well.
If for some reason one of these columns is not associated with what you want to do, which for US we may not be using a value at a tax, but of course for other countries, especially European countries, we would. But if we do not want to use that column, we can simply tell the software that that is not used, and then hit okay.
Of course, within this screen, you have the ability to do a few things. You can tell ABBYYY how often to update from that dataset. Whether or not the operator doing verification can add or edit records. For this demo, I'm gonna leave those blanks, but it would be something that you'd want to consider before processing invoices.
So, once that's set up, you can see here we have what we call a connective field, and it's obviously connected, but we still have no records. All we need to do to update the records is hit update, and when we do that, you should see our record count increases. So, if we go look at our business units table here in SQL, you can see we have 12 records, and now within ABBYY FlexiCapture we have 12 records as well. So, we will do the same setup for every one of these tables here. It actually is a very quick process.
Specify what you want the data to come from. In this case, we'll just kind of keep this easy. We are working on the vendor, so, whoops, I hit the wrong fields here, so we would just set up the ID column, the name, the street, the street we are not using, so we would just tell the software not to use it, the city, the state, zip code, and the country code. If there's a business unit associated with it, which I don't think we're using in this case, so we will say no, and if there's a value at a tax field, which again, I think we will say no, we can move on.
Now, we can add fields here if you want to reference information from the dataset, besides what are shown here, but in this case, we're gonna leave it out of the box.
So, once again, I set that up. All I need to do is update it. You'll see now that I have three records, and that is also what I have in my database, so we'll quickly set up the purchase orders. We'll map these columns as well. You can see here it's a very easy mapping session. All we need to do is map them and move on. Of course, after we map and you can see it's connected, then we will want to update. You can see there we have those items set up. This is a very nice, simple process here where we just do that mapping. I think I missed on here, description. Once again, you're just mapping the FlexiCapture field to the field in the database. Very, very simple. Some of these fields I know are not used, so we're gonna go ahead and skip them. Okay. Very good.
Of course, once we do that, we need to update. The same process for GL codes and cost centers. We're not gonna do that on the demo today because I think you understand now that the process is very simple. We just need to set up the source where it comes from, and then of course make sure it's connected, and then when we're connected, we just need to update. So, it's very, very simple.
Now that we have the datasets defined, that's kind of the core step in setting up an invoices project. So, we can save the document definition, and even from here, we can run a test batch for those vendors. We'll actually go ahead and do that. We'll just go ahead and create a test batch. We'll load some images here, just to do our testing. You'll see that the process will begin to do the recognition, and then the software will tell us when it's done. There, it's complete.
We can open it, and the important part here is that we determine the vendor. Now, once again, that's all we set up, which is an out of the box project that we set up. So, it's not set up to detect line times and those things yet. But we can obviously do that through the properties in the project. We'll just load a couple other ones here to prove that those vendors are set up and that we're detecting the vendor. If we get a vendor in this slot over here, that's kind of the secret key to know that we detected it.
So, we just loaded a couple other ones. We just want to make sure that we found the vendor here, and once again we can look at that information for the vendor. This information just comes directly from the dataset that we just populated. Then of course our last one, and we have our vendor there.
So, that is a video of how you set up master data for an invoices project. It is actually a very simple process once we have the data in a location that is easy for us to reference, use, and adapt into the software. So, I hope you enjoyed the video. If you run into any struggles with this, please let us know. We're very, very comfortable with this process, and would love to help you out. Thank you so much.