We have a particular buyer setup that requires Approval for any PO over $0 (because every purchase from this buyer requires approval). This works as intended so that when a PO moves into Pending Approval, the Approvers review and Approves or Rejects the PO. If Approved, the buyer issues the PO to the vendor. This buyer is purchasing from a vendor over-seas, so nearly all the time there are small price discrepancies (due to exchange rate fluctuations). The fluctuations normally amount to less than 1% of the total price. Everything is fine if the price goes down or stays the same. The problem is, if the price goes up by one cent or more, built in Epicor functionality requires re-approval. The Executive approver does not want to have to re-approve a PO if the price increases by a small amount (either a set $ or %) over the previously approved amount.
How are others reducing the number of required re-approvals for PO confirmations where the price goes up a small amount (within an acceptable tolerance)?
So I ran a trace over the approval process to see what business objects are firing.
I see the new price appearing in the following locations:
ERP.Proxy.BP.POApvMsgImpl, parameter: vAprvAmt
table: POApvMsg, column: ApvAmt
I am just not sure how to best to modify or adjust these in a customization (or even if I have access to these - being public Cloud).
We have a similar need but for some personnel with low purchasing limits maintain po release dates on orders worth more than their limit. We use an updateable dashboard to provide access and update to the PO releases. See screenshot below. When the unapprove and reapprove occur, you need to deal with:
ReadyToPrint , Approve and ApprovalStatus
As suggested by @enbw, you can update the Approval Amount when user re-approves after changing the price in PO.Update Method Pre-Processing when Approve is set from false to true.
@Arul thank you for the tip. It got me thinking about how I wanted to proceed. I decided to use an In-Transaction data directive on the PO Header. My data directive checks that we have the correct buyer, that the approver is our Executive, and that the approval status goes from āPā to āAā (pending to approved). When those 3 criteria are met, then it takes the ApprovedAmount and multiplies by 1.02 (to give us a 2% buffer before a re-approval will be needed).
There are a couple of cool things that happen. The higher amount does not show up in the change log, but it is working. See the change log, previously approved amount of $61090.02, then bump it by 2% = $62311.82. Unapproving the PO, changing the price to anything less than or equal to 62311.82 can be checked to approved by the buyer. If the price is changed to an amount higher than this, then it needs to get re-approved (and then that new approved amount will also be bumped up by 2%).