Any Clever solutions for suppliers with same name?

So we have a bunch of branches, and all of the invoicing goes through corporate. These different branches sometimes use supplier that have different locations and billing goes to the specific location that business is done. That’s all fine in epicor, they just have their own supplier record, differentiated by the billing address. These are misc invoices as only about a 1/3rd of our branches are fully live with Epicor using epicor PO’s and whatnot. So I don’t have a PO to cross reference in these case. (thankfully this problem will slowly go away as we keep implementing across the company)

So, when trying to use OCR it’s doing a lookup by name, I have an issue in the best I can do automatically is find the first matching name on these.

I need some way to make this better. I can think of a couple of options, in order of Idealness (that’s a work right??)

  1. Somehow get a reference to name and address to better pick when multiple matches exist (I have no idea how this could work).
  2. Get and indicator on the number of possible matches and make sure that OCR holds up the invoice to be verified manually. I can lookup and display the address for user verification. I could probably do some LIKE searching or regex searching with a SQL query, and make a soft validation on the number or records returned.
  3. Other ideas?

image

Anyways, this was a mostly rubber duck post as typing it up gave me some good ideas. But if anyone else has some neat tricks, let me know!

China Art GIF

You can make a view and then have the company and vendor appended with Pipes and then use SPLITGETREV on the delimited values.

image

1 Like

I’ll have to think about how I apply that. I think I just have to rethink how I’m doing my lists with ID and display values. That’s a good thought though.

2 Likes

We do the same, but we add City/State to it. We use a view inside the IDC database whose source is the Epicor Vendor table. It brings in Company as well, which allows for our M/C validation lists for vendors.

image

1 Like

So does the match just happen against the name that’s selected on the document? And if you have multiples, do you have a way to stop it from automatically going through? Or do you just manually check each doc before it flows through?

It does - sort of. The IDC learning process identifies the document and because we’ve previously matched document to vendor, it does OK. But new invoices have to be trained.

But yes, our AP person does a manual check of every invoice during the IDC batch to validate the Vendor - because of this problem and a few oddball situations with international stuff if i recall correctly.

Considering how I would create the fully automatic/headless IDC process, I think I’d alter my SQL view to include the vendors I want (from the group of duplicates and problem vendors) and get it to go through to ECM - or all the way to an AP Group - but somewhere in there the AP folks will have to audit that and correct the vendor when necessary.

OR - if possible that is - get those problem vendors to go through as a different IDC batch set up for manual audit/processing separate from those you know work. Oh! You could alter the Vendor list to identify them and pass along the ‘flag’ then having ECM move them to a different “manual” review workflow process step before continuing.

2 Likes

One of the things that I think I’ll try to implement on some level is a “confidence match” based on various factors, like name and maybe some other things like address. Then do a count of matches over a certain threshold, and if it’s more than 1, then make a soft validation in IDC so someone has to validate the higher number that they picked the correct one before it moves on to EDC. I don’t want to have someone look at every invoice that comes through because some of them might have a problem. Then won’t get caught it its 1 out of every 100 invoices. It’s too hard to stay that vigilant.

3 Likes

How’d you start playing around with that? Did you open their DB and find that yourself or…

Ah, you made the confidence interval field haha I thought they had that field for each run they had through their recognition.

@utaylor , this will blow your mind too. I started a class on copilot usage (I’m like 2 videos in lol) but it opened up the possibilities of using the co-pilot chat and asking it to make things for me. So I just made a sql file and asked to try to do some sql code for me and it’s how it came up with this. This is like using chatGPT to write your code, but on steroids because it can look at what you already have and extrapolate from there.

In the class I (it really) made a whole working classic “snake” game in a browser just by asking it to make it, and did the whole thing in about 5 minutes (including me having to remember how to host a local web server)

2 Likes

That’s sick, I love this stuff.

Hi Brandon,
Could you do this as a baq search that returns all matching records, with the key differentiator column(s) in a grid and some selection method like buttons or number to snag the desired one from the grid?
It would make it a 2 or 3 step process but at least the user would hopefully make the correct selection with the key differentiators (city, primary contact, product/part association from partplant supplier info etc)
.02 cents

Here is a very simple solution that I’ve found universal for most companies.

Create a SQL view with a group by name. Use that view in IDC.

1 Like

Our Sales Order Automation has a field called Customer Map where you can select a field from the Customer’s PO that determines the Customer ID. In our case, the shipping address gives us the Customer ID, so I have used a formula to copy the Shipping address into the Customer Map. Then I put the Customer ID in the first time and those 2 fields are now linked. Whenever that Shipping address is found in the Customer map, the Customer ID is now entered.