Buyer heirarchy Best Practices

I had a hard time wrapping my head around Buyers and fixing our poorly implemented setup. I wasn’t able to find a concise Best Practices guide on here or in the KB or elsewhere on google. So I thought to write one while it is still fresh, and the knowledgeable folks here can either confirm or correct.

How Buyer Hierarchy Works:

  • A “Buyer” in Epicor is actually a group of users. It is generally not just one person. I’m calling them “Buyer Groups” in this guide.
  • Normally you want more than one person in each group, so that if one person is out, someone else has access to work on the PO.
  • If you want to securely use the PO approval amount process, you need to be very careful on who you put in each group, and what PO limits you place on each group. Otherwise someone could use someone else’s group to place a PO for a larger amount than they are authorized. Also know that a $0 limit means no limit.
  • Approval permission is assigned to a Buyer Group, NOT a person! So anyone in that group can approve POs for a lower group.
  • You can have as many levels of authorization as you want. So the PO can be made to go through several successive people before being authorized.
  • In order to access Buyer Workbench, (currently) a user must have the Primary Buyer checkbox checked on one of the Buyer Groups s/he is part of.

Suggested secure setup for a small company

  1. Make a Buyer Group called “Unassigned” with a PO limit of $1. Add all purchasing agent userid’s as authorized users to this group. Set this as the System default group.
  2. Create individual buyer groups for each agent, with a suitable PO Limit amount for each user. Check the Default/Primary option for each user’s matching group.
  3. Not everyone needs their own group! If IT or Management want to be able to see suggestions etc, add them as authorized users on the Unassigned Buyer group. Check the Detault/Primary box for them on this group.
  4. Add at least one peer or supervisor to each user’s buyer group. So that if the user is out, someone else can edit their POs. Be careful not to add a junior agent (with eg a $1k limit) to a senior agent (with eg a 10k limit), or the junior agent would be able to place 10k POs under the senior buyer group, without approval.
  5. It may be best that senior agents have low PO limits on their personal buyer group. Then they can include the junior agents in their group, without above risk.
  6. Make a Management buyer group with a higher limit (with eg 100k limit), and add senior users to it. They can then authorize their own POs, without giving their limit to junior agents.
  7. If additional approval is required, create an Executive buyer group, assign as Approver to the Management group. Can have no limit ($0), or can add a limit and have more levels as needed.
  8. As the Buyer setup is pretty complex, you may want to limit access to just security managers.

Suggestions

  • For companies that have many recurring orders, you can default those recurring suggestions to a specific buyer based on Part Class, individual part or operation.

  • The labels on the OOTB screens can be pretty confusing. We have the following customizations:


image

  • You may want to create a BAQ/Dashboard that shows each user’s maximum PO approval amount. Just join the PurAuth table to the PurAgent table. Match PurAuth.DcDUserID with max(PurAgent.POLimit. Replace zero with something big!!

Good luck!

Bonus - example of how to force a PO to go through 2 people

  1. Set up buyer group(s) with eg a $1 limit. Add your agent(s) as authorized users.
  2. Set up an “Approver” Buyer group, with no limit. Add your 2 or more agents as authorized users.
  3. Apply the Approval group to all the other buyer groups.
  4. Make a Method Directive BPM preventing “Approver” from being selected as the buyer on the PO entry screen.
  5. Make another Method Directive BPM preventing the logged in user from approving a PO that s/he created.
7 Likes

Awesome post Terry. Bookmarking this for sure.

Agreed, this is explained very well and all in one place.

Alright, what about parts? My sense is that at your company all parts have no buyer assigned, so all suggestions go to unassigned? And then since all purchasing users are in this group, they all can grab what they want and reassign it to their own smaller group? Is that right?

Correct, we have all suggestions go to unassigned, and any of our agents can take/be assigned to the item. We’re constantly making/buying new parts and have relatively few recurring orders.

Interesting setup. Like a trading floor or something. Really elegant in a lot of ways, but for us, I can’t see letting go of the concept of a buyer “owning” a part. We do have 80-90% recurring parts, so it is a different situation.