The Lookup Table REVERSE Validator action allows you to validate data against data in another Record Type but in a more thorough way

If you have a Record Type that has master data in it you an use this action to check data against that Record Type. In Accounts Payable this is commonly used for Vendor data matching. Vendor names are often read from invoices using OCR which is not 100% perfect. When the vendor has been read you can use this action to check the vendor name against the master list to see if there is a match.


The REVERSE matching algorithm loops through every record in the lookup table and looks for values in the current Record's OCR data that matches. For instance, you can configure the reverse validator to check the vendor name field and look anywhere on the pages of OCR for the name. You can also set it to look for the address. It is common for invoices to have the vendor's address on them. If the vendor name is not readable for some reason you can use the address in the reverse validator to make the match.


For this to work properly you need to make sure your lookup table has fields in which you can set Matching and Disqualifying values. These are used to check against the OCR data in the current records to see if there is a match.  You can match against phrases by enclosing the phrase in double  quotes. For example, if you are matching vendors you may have one invoice type that is hard to recognize because a logo is the only place that has the vendor name. However, the invoices always have the vendors address in it so you can use that. You could add a field to the Vendor lookup record type called "MatchWords". For the problem vendor you could add their address to the MatchWords field like this "123 Maple Street". Then add MatchWords into the "Matching Words Field" described below. When the reverse validator gets to that vendor it will see "123 Maple Street" in the Matching Words Field" and will look for that in the invoice OCR data. It will find the address and will make a match to that vendor.



BE CAREFUL OF QUOTES!

If any of your lookup table fields have values with double quotes in them, then that field's value will be split into multiple possible match values instead of being treated as a single match value. For instance, if you are using the NAME field as a matching field and you have one record where the name is 'John "Johnny Boy" Smith' then what happens is that the value is split into 3 possible matches:

"John"

Johnny Boy"

"Smith"

If a document has ANY OF THOSE 3 VALUES in it then that is viewed as a match even though you probably only wanted it to match if it found the entire 'John "Johnny Boy" Smith' value.


To get around this issue, please a tilde ~ at the front of the field name. This will tell the system to use the value of the entire field and NOT split using quotes. 


Lookup Table


    • Lookup Table- The Record Type that contains the master list of correct values to check against. In the AP example above this might be the "Vendors" Record Type.


    • Lookup Limits - There are times when your master list contains data for more than one type of information or for more than one department. If you need to limit the records you are matching against, add the additional limits here. For instance, you might limit the vendor names to match against by the department stored in the invoice's DEPT field. For this you would set something like Department = [Dept] in the filters.


    • Sort By - If more than one record matches the validation, you can use the sort order to make sure the most likely ones are found first. The first match found is used.


    • Matching  - The field(s) in the lookup table that holds words to look for in the current record's OCR data. You can have multiple fields listed with a semi-colon between them. For instance you could say to match Vendor's name or address by using "name;address" here as long as you have Name and Address fields in the lookup table.


    • Disqualify - The field in the lookup table that holds words that cannot be in the current record's OCR data and still be a match. You can have multiple fields listed with a semi-colon between them as well. If you have lookup records that have similar information in them but one has values the other doesn't you might add those words to the lookup table to avoid mismatches.


Field Updates


    • Update if Matched - You can update the current Record's data fields here IF AND ONLY IF you find a match in the lookup table. This is a great way to pull in address info or ID numbers.


    • Update if NOT Matched - You can update the current Record's data fields here IF AND ONLY IF you DO NOT find a match in the lookup table. This is a great way to mark the record as having no match in the lookup table. For instance, you might set VENDORID = NOMATCH here then in another workflow trigger you look for invoices where VENDORID = NOMATCH and handle the exceptions there.