Skip to main content
Solved

Approval Map : Employee From Document not working


I am trying to create an approval map where if an employee belongs to a Purchase Approval Group then the PO is automatically approved by the Owner of the PO document.  

I thought the way this worked was fairly simple; but apparently Acumatica does NOT work this way.  So I am looking for help to understand how to make this work.  
Below is the logic in the Rule for the Condition I have set.

Step Conditions:
     If No Approver Found: Reject Document
     Execute Step: If No Approvers Found at Previous Steps

Rule Condition:
    EMPLOYEE          Workgroup     Equals      Purchasing Approval Group

Rule Actions: 
         Approver:  EMPLOYEE FROM DOCUMENT
         Employee: ((Document.EmployeeID.Selected))
         On Approval : Complete Step

Again, what I WANT to happen is to reject all PO's that reach this step, except for the ones created by an employee in the workgroup Purchase Approval Group.

But this does not appear to be the way that Acumatica works.

What am I missing?

Thank you in advance

Best answer by cmetzger

Please let me know if any of these work out.

Idea #1

((Document.EmployeeID.Selected)) doesn’t result in an EmployeeID. Just use ((Document.EmployeeID)), which is the PO Owner (creator).

Idea #2

I don’t have a PO Approval map, because Edit / Create / Delete permission is limited to our purchasing department. Using custom access rights and roles in “Access Rights by Role” will sidestep your issue by only allowing approved PO writers access to modify a PO.

Idea #3

You may have more success in Approval Maps if the approve and the reject steps are separated. For my company, the Bills approval map has a final catch-all step without any criteria, and every bill goes to one workgroup. If no workgroup or employee is assigned, your final it will be rejected by default.

Step 1, named “PO Approval”
     If No Approver Found: Go to next step
     Execute Step: If No Approvers Found at Previous Steps

Rule Condition:
    EMPLOYEE          Workgroup     Equals      Purchasing Approval Group

Rule Actions: 
         Approver:  EMPLOYEE FROM DOCUMENT
         Employee: ((Document.EmployeeID)) <---- Exclude “Selected”
         On Approval : Complete Step

 

Step 2, named “PO Rejection”
     If No Approver Found: Reject
     Execute Step: If No Approvers Found at Previous Steps

Rule Condition:
    None - leave blank

Rule Actions: 
         None - leave blank

View original
Did this topic help you find an answer to your question?

5 replies

  • Author
  • Freshman II
  • 2 replies
  • May 12, 2021

I posted this a week ago and have received no response.

So am I the only person and company ever to have this particular set of criteria?  

I am bit surprised by that.


Forum|alt.badge.img
  • Jr Varsity I
  • 16 replies
  • Answer
  • November 2, 2021

Please let me know if any of these work out.

Idea #1

((Document.EmployeeID.Selected)) doesn’t result in an EmployeeID. Just use ((Document.EmployeeID)), which is the PO Owner (creator).

Idea #2

I don’t have a PO Approval map, because Edit / Create / Delete permission is limited to our purchasing department. Using custom access rights and roles in “Access Rights by Role” will sidestep your issue by only allowing approved PO writers access to modify a PO.

Idea #3

You may have more success in Approval Maps if the approve and the reject steps are separated. For my company, the Bills approval map has a final catch-all step without any criteria, and every bill goes to one workgroup. If no workgroup or employee is assigned, your final it will be rejected by default.

Step 1, named “PO Approval”
     If No Approver Found: Go to next step
     Execute Step: If No Approvers Found at Previous Steps

Rule Condition:
    EMPLOYEE          Workgroup     Equals      Purchasing Approval Group

Rule Actions: 
         Approver:  EMPLOYEE FROM DOCUMENT
         Employee: ((Document.EmployeeID)) <---- Exclude “Selected”
         On Approval : Complete Step

 

Step 2, named “PO Rejection”
     If No Approver Found: Reject
     Execute Step: If No Approvers Found at Previous Steps

Rule Condition:
    None - leave blank

Rule Actions: 
         None - leave blank


Forum|alt.badge.img
  • Jr Varsity I
  • 16 replies
  • November 2, 2021

Forum|alt.badge.img
  • Freshman II
  • 10 replies
  • April 20, 2022

I just spent 4 weeks figuring this out. The SQL for Approvals for the “Employee” field when using “Employee from Document” is expecting a username value from Users.username. I have a custom field in Employee that uses 

[PXDBString(255)]
[PXUIField(DisplayName="Approver")]
[PXSelector(typeof(Users.username),SubstituteKey = typeof(Users.fullName))]

Everything works great now!


Chris Hackett
Community Manager
Forum|alt.badge.img
  • Acumatica Community Manager
  • 2750 replies
  • April 20, 2022

Thank you for sharing this with the community @kgawryluk80 !


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings