Session ID:
Prepared by:
Remember to complete your evaluation for this session within the app!
10763
Oracle R12 IBY Electronic Payment
Automation and Approval
7-April-2019
Renan Evangelista
Technical Analyst
Emerson Automation Solutions
Presenter
Renan Evangelista
• Oracle Certified Professional
• More than 12 years experience in Oracle EBS Workspace
• Oracle EBS Solutions Architect/Technical Analyst/Consultant
Objective
1. To demonstrate the EFT automation and approval process2. To allow the approval and/or rejection action outside of Oracle EBS thus giving the
business user more flexibility and effectiveness.3. To enable the option of full automation from payment creation, PPR submission,
approval/rejection, transfer, acknowledgement and remittance without user intervention.
4. To eliminates most of the manual process resulting to a more efficient handling of Electronic Fund Disbursement.
Overview of Oracle Payments Electronic Fund Transfer(EFT)
You can pay your suppliers electronically by delivering to your bank an electronic funds
transfer output file that Payables creates. Examples: NACHA, WIRE, ACH and SEPA.
Components
• Payment Profile
• Payee and Payer Bank Setup
• Payment Formatting and Transmission Media
• Payment Template
Original Process Flow
Kick off Payment
BatchSystem selects eligible
invoices to be paid
Validation process /
Payment Instruction is
generatedPreliminary report is
manually downloaded
from Oracle
END
Final payment report is
downloaded from
oracle
Email is sent to AP
manager for payment
authorization
Manager
Approve or
Reject
Payment Batch is
manually confirmed
Rejection report is
emailed to VMT
team
Payment instruction is
transferred to bank
Bank accepts file and
sends
acknowledgement
back to Oracle
Send
Remittance
advice to
suppliers
Manager respond
with rejection
reason
Payment Batch is
manually rejected
END
- Automated
- Manual
- SubmittedManually
** Almost all of the processes and tasks require logging in to Oracle EBS
What are the Challenges
• Too many manual processes
1. Approval (Completion) and/or Rejection
2. Notification email
3. Report and attachment to the email
4. Electronic Fund Transfer program
5. Remittance advise
• Approver needs to login to EBS to execute the action
• Approver vacation rule is not automated
• Inconvenience
Propose Solution Process Flow
Start
Manual Submit of PPRValidation process /
Payment Instruction is generated
END
Automatic email is sent to AP manager for payment authorization with attachment
AP managers approve or reject thru
Payment Batch is automatically
confirmed
Payment instruction is automatically transferred to bank
Rejection email and reason is sent to AP Analyst
Approved
Bank accepts file and sends acknowledgement back to Oracle
Automatically kickoff remittance advice to suppliers and send notification email
Receive acknowledgement and void rejected payment ref. no. Send email notification
Reject
- Automated
- Manual
System automatically kicks off Payment Batch
based on predefined scheduled template
Process Flow Explanation
• Payment Process Request(PPR) can be submitted manually or schedule for specific
date
• Build payment, validation and payment formatting concurrent programs will be
automatically triggered by IBY background engine
• After Formatting and payment instruction is completed, payment approval workflow
will be launched and will send the approval email.
• Approver approve or reject the payment using response template.
• Oracle Workflow parsed the response and call the payment confirmation program.
• Custom Request set (from Payment Profile DFF) will be submitted, it includes file
encryption and transmission(SCP) and the program to wait the bank
acknowledgement.
• Remittance program for the PPR/payment batch will be submitted
Automation Components and Tasks
▪ Setup payment profile
▪ Create payment template
▪ Define Approval hierarchy
▪ Identify and setup the approval trigger point
▪ Create Business Event
▪ Design and Build Oracle Workflow Approval Process
▪ Create stored procedure to handle the workflow function
▪ Additional Setup for a full automation
▪ Workflow Notification Mailer Setup in Oracle
Payment Profile Setup
Processing Type: ElectronicPayment Completion Point: Manual Setting OnlyAllow Manual Setting of Point Completion will be automatically checked
DFF is used to enable the Automation and Approval process.Optionally, another DFF handles the File processing such as encrypting and transfer.
Payment Template Definition
The template should reference the Payment Process Profile you defined earlier. If the Automation DFF value is NO, then Approval Workflow will not start.
All the STOP tasks in the Process Automation should be unchecked to enable the continuous processing without any stop until the payment batch is formatted and ready for approval.
Approval Hierarchy
Category Code form is used to define the approval hierarchy. Approval is defined per operating unit and is further divided according to the total payment per batch of payment instructions.
You can also use Oracle AME and utilize the AME API to trigger the approval
Define the triggering point
"Format Payment Instructions with Text Output" concurrent program will be monitored thru business events.
Program Completed should be checked
After successful completion of this request the approval workflow will start.
Business Events Definition
A custom subscription need to be added to “oracle.apps.fnd.concurrent.request.completed” standard business event.
This business events kicks in for every concurrent program where business events->Program completed is enabled
Business Event Definition Cont…
Phase should be between 1-99 to run synchronously. PL/SQL Function is the custom stored procedure which will trigger the approval workflow.
Sample Store Procedure
FUNCTION Launch_approval (p_subscription_guid IN RAW, p_event IN OUT wf_event_t)
RETURN VARCHAR2
IS
l_param_list wf_parameter_list_t;
BEGIN
l_param_list := p_event.getparameterlist;
g_request_id := p_event.getvalueforparameter('REQUEST_ID');
IF l_param_list IS NOT NULL
THEN
FOR i IN l_param_list.FIRST .. l_param_list.LAST
LOOP
l_param_name := l_param_list (i).getname;
l_param_value := l_param_list (i).getvalue;
END LOOP;
END IF;
Launch_WF ( p_intruction_id => l_param_value , p_approver => g_approve);
RETURN 'SUCCESS’;
Exception
when others then
RETURN ‘ERROR’;
END Launch_approval;
Approval Workflow
Workflow has 3 focus, 1st is the attachment readiness, 2nd is the rejection path and 3rd is the approve path.
Workflow Cont.. Attachment Assembly
It has 2 functions, 1 which checks if the attachment is ready, the other which creates the attachment files. “Payment Process Request Status Report” output and a customer csv file are the required attachment.
The concurrent request output is read and stored in a clob.
CSV file is generated using DBMS_SQL standard API. The pre-defined query is pass to the API and the return value is stored in a clob.
Both clob’s are inserted to FND_LOBS table. The returning ID will be used as an address when generating attachment via the workflow engine.
Below is sample code for workflow attribute value for the above attachments:
wf_engine.setitemattrtext (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'ATTACHMENT_DOC1’,
avalue => 'PLSQLBLOB:XXYH_IBYP_CONTROL_PKG.notif_attach_procedure/' || l_itemkey );
wf_engine.setitemattrtext (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'ATTACHMENT_DOC2', avalue => 'PLSQLBLOB:XXYH_IBYP_CONTROL_PKG.notif_attach_procedure2/' || l_itemkey );
DBMS_LOB, DBMS_SQL and BFILENAME standard API are used to process the attachment
Workflow Cont.. Approve Path
• Approve function uses IBY_DISBURSE_UI_API_PUB_PKG.mark_all_pmts_complete
• ACH File Processor uses the value in the Payment Profile Transfer Processor DFF(Attribute2)
• DFF value is a Request Set with 3 concurrent programs1. Process and transmit the formatted file.2. Wait for the bank confirmation3. Send remittance advise to the vendor
• Exception is handled and error messages will be sent to Submitter and Approver
• Rejection Function calls standard API IBY_DISBURSE_UI_API_PUB_PKG.terminate_pmt_instruction
• Rejection Email with reason will be sent to the Submitter
• Payment Process Request(PPR) will be marked as Terminated
• Any error and exception in the rejection process will be send to the Submitter and Approver.
Workflow Notification Mailer Setup
Sample Approval Email
Sample Approve Response Sample Rejection Response
Conclusion
• It can be implemented with minimal efforts and with the use of oracle out of the box
functionality and standard development tools.
• Oracle payment process will be more effective and manual process can be avoided.
• Possibility is endless…..
Acknowledgment
I would like to acknowledge my
Business Analyst Adviser,
Mr. Susil Kumar Jayakumar
(469 - 321 -1897)
Session ID:
Remember to complete your evaluation for this session within the app!
10763