AP Hold Resolution Workflow
AP Hold Resolution Workflow
White Paper
How to Use AP Hold Resolution Workflow in R12
Contributors:
Sanjay Prasad
Reviewer:
Sriram Ramanujam
Versions:
1.0
Create Date:
07-OCT-2013
Update:
Contents
INTRODUCTION ....................................................................................................................................................3
Objective .........................................................................................................................................................3
Scope/Out of Scope .........................................................................................................................................3
Terms Used .....................................................................................................................................................3
BUSINESS CASE ...................................................................................................................................................4
Methodology ...................................................................................................................................................4
Business Example ...........................................................................................................................................4
SETUP ..................................................................................................................................................................6
Setup in Payables ...........................................................................................................................................6
Setup in System Administrator ........................................................................................................................9
Setup in AME ................................................................................................................................................ 10
TRANSACTION FLOW ......................................................................................................................................... 13
Business Flow 1 ............................................................................................................................................ 13
Business Flow 2 ............................................................................................................................................ 25
TECHNICAL DETAILS ......................................................................................................................................... 30
AP Invoice Hold Notification ....................................................................................................................... 30
AP Invoice Hold Negotiation ........................................................................................................................ 31
Introduction
Objective
How to use AP Hold Resolution workflow in Oracle Payables Release R12.X.X
Scope/Out of Scope
In this white paper we will cover followings:
a) Setup in Oracle Payables to enable AP Hold Resolution Workflow
b) Configure AME (Approval Management Engine) to use AP Hold Resolution Workflow
c) Guide explaining how to use AP Hold Resolution Workflow for Business transaction
This paper does not cover:
a) How and why System places hold on Invoice
b) Details of Generic AME setup
c) Supplier contact directory setup
Terms Used
AME : Approval Management Engine
Invoice : Oracle Payable Invoice
PO : Purchase Order Transaction
Matching Hold : Holds resulting due to discrepancy between Purchase Order and Invoice
Business Case
Methodology
AP Hold Resolution Workflow can be used to automate resolution (releasing) of Hold by using
workflow. By using AP Hold Resolution, the hold details can be routed to a designated user for
his/her decision on how to release the hold. User can take decision on notification like release the
Hold, correct the invoice data to get the hold released, check / negotiate with supplier if there is any
discrepancy in Invoice sent by supplier etc. There may be many business scenarios arising in this
flow. To explain the feature we will discuss Matching Hold Resolution/Negotiation which covers
wider spectrum of the feature.
Business Example
To explain Matching Hold Resolution/Negotiation we will take business example , go through
different steps to complete business flow and to get the hold released by using workflow.
We will discuss following 2 business examples ;
1) Supplier Cancels the Invoice: Due to discrepancy in Suppliers invoice, system places a
matching Hold. The hold ultimately gets routed to supplier as a negotiation to have the
discrepancy corrected, after review of discrepancy supplier finds mistake and decides to
cancel the invoice. Following different activities would be performed in sequence:
a. Raise Purchase Order to buy material from supplier.
b. Supplier delivers Material.
c. Supplier sends Invoice. (To generate discrepancy we will have supplier invoice for
quantity more than delivered)
d. Record the Invoice as sent by supplier
e. On performing validation of Invoice, system places Quantity Received hold
(Matching hold) as Quantity of Invoice is more than quantity received
f. Notification about discrepancy between PO and Invoice goes to Buyer of PO
g. Buyer reviews the data and decides to Negotiate with Supplier on Discrepancy
h. Supplier reviews the negotiation and decides to cancels the invoice.
i. In Payables Invoice gets cancelled automatically.
2) Supplier Accepts the Negotiation: Due to discrepancy in Suppliers invoice, system places a
matching Hold. The hold ultimately gets routed to supplier as a negotiation to have the
discrepancy corrected, after review of discrepancy supplier finds mistake and decides to
accept the negotiation. Following different activities would be performed in sequence:
a. Raise Purchase Order to buy material from supplier.
b. Supplier delivers material.
c. Supplier sends Invoice. (To generate discrepancy we will have supplier invoice for
quantity more than delivered)
d. Record the Invoice as sent by supplier
e. On performing validation of Invoice, system places Quantity Received hold
(Matching hold) as Quantity of Invoice is more than quantity delivered
f. Notification about discrepancy between PO and Invoice goes to Buyer of PO
g. Buyer reviews the data and decides to Negotiate with Supplier on Discrepancy
h. Supplier reviews the negotiation and decides to accept the correction.
i. In Payables Invoice data gets corrected according to the negotiation accepted
Setup
Setup in Payables
To use workflow for a specific Invoice Hold, hold definition need to be configured.
Navigation: Payables> Setup> Invoice> Hold and Release Names
Query the Hold for which we want to use AP Hold Resolution Workflow.
Enable Initiate Workflow. This makes the respective Hold to be eligible for Hold resolution
workflow.
Notify After: Value for this determines, when the hold notification to be sent to respective one who is
supposed to resolve the hold. If its set to zero, then the moment system places hold, system notifies
the respective one for hold resolution.
Remind After: Value for this is used to determine, after how many days a reminder notification would
be sent to approver.
As per above definition of Hold, Qty Rec is selected for Hold Resolution workflow. This particular hold is
related to Tolerances configured, hence lets review respective Tolerance set up.
Navigation: Payables>Setup>Invoice>Tolerance
Tolerance is 0%, this means if there is any difference between quantity received and billed, system will place
Qty Rec hold on respective Payable Invoice. This control would be applicable for the invoices of the suppliers
who have above tolerances attached. Lets review Supplier Setup
Navigation: Payables>Suppliers>Entry
Query the supplier
Note:
Value for Invoice Tolerance: SAN-GOODS
In the business scenario we are discussing, there is interaction with supplier, hence set up Suppliers contact
directory
Navigate Contact Directory
Note:
Username:[email protected]
This is contact e mail id of the supplier, same is taken as user name for suppliers log in. Name of the Supplier
contact is Sanjay Prasad. The moment Supplier contact is created, system automatically creates FND User,
Respective user created would be discussed in Setup in System Adminstrator Section.
This completes setup in Payables.
Note:
Person: Employee Prasad1, Mr. Sanjay
User Name: SAN
User Definition of Supplier Contact:
Note:
Customer: Supplier Contact Name Sanjay Prasad
User Name: E mail id of the Supplier contact [email protected]
This completes setup in System Administrator.
Setup in AME
For approval AME needs to be configured. System does provide seeded approver group and rules,
lets review those.
Approver Group Setup
Navigation: Approvals Management Business Analyst>Setup>Approver Groups
Review AP_HOLDS_RESOLUTION_APPROVER_GROUP
Attribute Setup
Navigation: Approvals Management Business Analyst >Setup>Attribute
Review attribute HOLD_LOOKUP_CODE
10
As per above definition, this attribute derives hold_lookup_code for the specific hold placed on invoice
Condition Setup
Navigation: Approvals Management Business Analyst >Setup>Conditions
Review Condition HOLD_LOOKUP_CODE in (AMT ORD, AMT REC, PO REQUIRED, PRICE, QTY
ORD, QTY REC)
As per definition this condition refers the attribute HOLD_LOOKUP_CODE to get hold placed in invoice and
checks whether the hold on invoice is related to matching hold listed in the list shown above.
11
Rule Setup
This completes set up in AME, in summary if hold look up code is in AMT ORD, AMT REC, PO
REQUIRED, PRICE, QTY ORD, QTY REC, approval is required from approver as per approver group
AP_HOLDS_RESOLUTION_APPROVER_GROUP
This completes Setup.
12
Transaction Flow
To have better understanding we are going to discuss step by step guide to test business scenarios.
As discussed earlier, we will be discussing following two different business scenarios:
1) Supplier cancels the invoice during Negotiation
2) Supplier accepts Negotiation
Business Flow 1
Step 1: Create PO
Point to note:
Supplier: SUP100
Quantity: 10
13
Note:
Match approval level: 3-Way
Invoice Match Option: PO
Note:
Requester: Prasad1 , Mr. Sanjay. FND User attached to requestor is SAN(refer Setup in System Adminstrator
Section).
14
Approve the PO
PO#7149 is approved
15
Business Activity: Supplier sends material/service and Organization receives. Organization creates
receipt against PO#7149. Lets assume Supplier sends Qty 1 against the Qty 10 ordered in PO#7149
Navigation: Purchasing Responsibility>Receiving>Receipt
Click on Ok button
16
Received Quantity: 1
17
Business Activity: After sending material, supplier sends Invoice. Organization creates Invoice. Lets
assume that supplier sends invoice for Quantity 2 instead of shipped Quantity 1.
Navigation: Payable Responsibility>Invoices>Entry>Invoices
Note
PO#:7149
Invoice#TR270813-02
Click on Match Button
18
Note
Qty Invoiced: 2 (As mentioned earlier, supplier sent invoice for 2 Qty)
Click on Match button
Navigation: Actions>Validate
Click on Ok button
19
Note
On validation, as expected system places Qty Rec hold due to following discrepancy in quantity:
Billed: 2
Received: 1
And so system placed Qty Rec hold.
For Qty Rec hold Initiate Workflow is enabled and so value for WF Status is Started for Qty
Rec hold on Invoice.
As per AME setup the notification would go to FND User attached with Requestor Prasad1, Mr.
Sanjay on respective PO.
To Check whom approval notification is sent:
Navigate: Reports>View Invoice Approval History
20
Business Activity: Requestor of PO, Prasad1, Mr. Sanjay, logs into system and reviews the
notification related to Discrepancy
Navigation: User Log in Page
Click on Login
21
Note:
Note:
22
Business Activity: Supplier reviews the discrepancy. Supplier realizes the mistake and decides to
cancel the invoice.
Navigation: User Log in Page
23
Note
24
Note:
Invoice#TR270813-02
Status: Cancelled
This completes Business Flow 1 with expected result of Automatic cancellation of Invoice based on
Suppliers decision on Negotiation.
Business Flow 2
Till system routes Qty Rec hold to buyer, activities in this business flow is same as to respective
ones in Business Flow 1, hence elaboration in this section starts from Step 4 : Review Hold
Notification . Before we begine with Step 4 : Review Hold Notification , lets have look on
Invoice#TR260813-03 on which Qty Rec hold is placed:
25
Click on Login
26
Note:
Business Activity: Supplier reviews the discrepancy. Supplier realizes the mistake and decides to
cancel the invoice.
Navigation: User Log in Page
Click on Login
27
28
Hold is released.
This completes Business Flow 2 with expected result.
29
Technical Details
Following two workflows are used in AP Hold Resolution Workflow (apfhanwf.wft)
1) AP Invoice Hold Notification
2) AP Invoice Holds Negotiations
Detail of the workflow can be analyzed as per requirement, would like to highlight few points here:
Legend 1: Exists Initial Wait-This particular node does below:
It checks if there is any wait. The wait is determined as per value set for Notify After as
explained in Setups in Payable-> Hold and Release Names.. If value is set as Non zero for the
specific hold then value for this is returned as Yes and system does not send notification (PO
Matched Hold Notification or PO Unmatched hold approval notification) and moves to Wait
node.
30
System waits for number of days (value setup in Notify After) and then on running workflow
background process system moves to next nodes as per workflow definition.
Respective Technical code: AP_WORKFLOW_PKG.exists_initial_wait
Legend 2:Is NegotiableHold?- At this node system checks if respective Hold a Negotiable Hold.
If the respective hold code is in 'PRICE', 'QTY ORD', 'QTY REC', 'AMT ORD', 'AMT REC'
System treats that as Negotiable hold. Any other hold is considered as its not a Negotiable
Hold and its processed as per definition in workflow shown above.
Respective Technical Code: AP_WORKFLOW_PKG.is_negotiable_flow
Legend 1: Get Supplier Contact- At this node system gets Suppliers contact details which we have defined in
Suppliers contact directory set up.
Respective Technical Code: AP_WORKFLOW_PKG. get_supplier_contact
31