Quantcast
Channel: Oracle Maniacs' Notes » Modules
Viewing all 68 articles
Browse latest View live

Single/Quick payment process in Oracle R12

$
0
0

In Oracle R12 the payables process has deviated from the 11i process quite a bit. The Invoice entry form and the Payment forms have remained very similar to 11i but the Payment batch form has now been replaced with “Payments Manager”.

You can check the Oracle 11i single payment process and batch payment process in the site.

AP Invoice creation

The invoice creation process is very similar to Oracle 11i. You can compare this process with the 11i process.

Let us check the Invoice form

Responsibility: Any Payables responsibility allowing invoice entry

Navigation: Invoices > Inquiry > Invoices

Enter an invoice as given below

This process is similar to the 11i process except that several fields have been added to the form including a tab, 2 Lines.

Click on 2 Lines tab

Now click on Distributions button

Enter the distribution account(s) for this line. This is different from Oracle 11i as in 11i we had to enter line and distributions together. You can see that both processes, Oracle11i and r12, are very close to each other.


Single/Quick payment process in R12

Now we shall check the single payment process in Oracle Apps r12.

Responsibility: Any Payables responsibility allowing single payment

Navigation: Payments > Entry > Payments

You can see that this form looks similar to the Single Payment form in Oracle 11i.

Enter a supplier to make a payment

Click on Enter/Adjust Invoices button.

Now enter and invoice number AMA1001 (from above)

Save the form and go back to the main form

Click on Actions button

The separate actions are displayed. Let us select all the options needed to make the payment. We shall select

  1. Create Accounting
  2. Print Remittance Advice

Now we also have to select a program for sending out Remittance Advice. Click on the LOV for Program

We will select Separate Remittance Advice program and click on OK button.

A popup appears giving us the request number.

Next popup mentions that accounting has been created successfully.

Now we get an error because the payment was by check and there is no Address Line 1 for the vendor to send the check. Click on OK to come to the main form. On the form scroll on the top section to come to the Payment address field.

Notice that there is no payment address. Let us update this field. Click on this field.

The address flexfield is displayed. Notice that Address Line 1 is mandatory and hence the error. Update this field.

Click on OK

Now click on Actions again and process the payment as we had done before.

Click on OK and check the SRS for the requests run

You can see the request for Send Separate Remittance program. Note that the program had run the previous time as well even though the payment was not processed. Now the payment has been made to the supplier.

If you compare this process with the Oracle 11i single payment process you will find both very close to each other.

Cheers!



AME rule setup using database function

$
0
0

I have given a live example of setting up an approval process. This example shows how AME can be used with database objects and work as per requirements.

The requirement for generating an expense approval hierarchy

Check Signing Limit form

Responsibility: Payables Administrator/Super User

Navigation: Employees > Signing Limits

Query the form.

All the expense report approvers have been given a signing limit and cost center for all approvers have been set to 0000. As per the client the approvers will have access to all cost centers and therefore instead of assigning approvers for each cost center the value of cost center is defaulted to 000.

The expense approval process should check this form, i.e. the signing limit table AP_WEB_SIGNING_LIMITS, and pick up the approver for an expense report if the approver exists. Once an approver has approved an expense report, his/her signing limit is checked against the value in this table. If the expense report amount is below the signing limit for the approver then the expense report goes to the auditor. If not, the expense report goes to the supervisor of the approver and the cycle continues.

The following steps are needed for configuring the expense approval process of Fellowes.

As a prerequisite the logged in user should have access to AME configurations.


Step 0: Write a database package to get the approver list

Prepare a database package to return the approvers. The code is given below.

CREATE OR REPLACE PACKAGE fca_ap_uk_iexp_approval_pkg
AS
TYPE approver_list IS TABLE OF VARCHAR2 (25);

   FUNCTION get_expense_report_tot (p_transaction_id NUMBER)
      RETURN NUMBER;

   FUNCTION person_has_approval_authority (
      p_person_id      NUMBER,
      p_amount_limit   NUMBER,
      p_doc_type       VARCHAR2,
      p_cost_centre    VARCHAR2
   )
RETURN VARCHAR2;

   FUNCTION get_approvers (p_report_header_id IN NUMBER)
      RETURN approver_list PIPELINED;

   FUNCTION get_person_name (p_person_id IN NUMBER)
RETURN VARCHAR2;

   FUNCTION get_supervisor (p_person_id IN NUMBER)
      RETURN NUMBER;

   PROCEDURE get_exp_creator_det (
      p_transaction_id   IN       NUMBER,
      x_creator          OUT      NUMBER,
x_creator_job      OUT      VARCHAR2
   );
END fca_ap_uk_iexp_approval_pkg;
/

CREATE OR REPLACE PACKAGE BODY fca_ap_uk_iexp_approval_pkg
AS
   g_module_name   VARCHAR2 (75) := NULL;
   g_seq_num       NUMBER        := 0;

-----------------------------------------------------------------------------------------------------

   -- Procedure Name : Get_person_name
-- Purpose        : To get person name for the given Person_id
-- Parameters     : p_person_id
-----------------------------------------------------------------------------------------------------
   FUNCTION get_person_name (p_person_id IN NUMBER)
RETURN VARCHAR2
   IS
      CURSOR cur_get_name
      IS
         SELECT last_name || ' ' || first_name
           FROM per_all_people_f
          WHERE person_id = p_person_id
AND TRUNC (SYSDATE) BETWEEN TRUNC (NVL (effective_start_date,
SYSDATE
                                                   )
                                              )
AND TRUNC (NVL (effective_end_date,
SYSDATE
                                                   )
                                              );

      l_name   VARCHAR2 (140) := NULL;
   BEGIN
      OPEN cur_get_name;

      FETCH cur_get_name
       INTO l_name;

      CLOSE cur_get_name;

      RETURN l_name;
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line
                         (   'Exception in Function Get_person_name; error :'
|| SUBSTR (SQLERRM, 1, 120)
                         );
         RAISE;
   END get_person_name;

-----------------------------------------------------------------------------------------------------

   -- Procedure Name : get_exp_creator_det
-- Purpose        : To get the Expense creator Person_id and Job details
-- Parameters     : p_transaction_id  IN  Number
--                  x_creator         OUT Number
--                  x_creator_job     OUT Varchar2
------------------------------------------------------------------------------------------------------
   PROCEDURE get_exp_creator_det (
      p_transaction_id   IN       NUMBER,
      x_creator          OUT      NUMBER,
x_creator_job      OUT      VARCHAR2
   )
   IS
      CURSOR cur_get_exp_creator_det
      IS
         SELECT paa.person_id, pj.NAME
           FROM per_all_assignments_f paa,
                per_jobs pj,
                ap_expense_report_headers_all aerh
          WHERE paa.primary_flag = 'Y'
AND TRUNC (SYSDATE) BETWEEN TRUNC (paa.effective_start_date)
AND TRUNC (paa.effective_end_date)
            AND paa.job_id = pj.job_id(+)
            AND paa.person_id = aerh.employee_id
            AND aerh.report_header_id = p_transaction_id;

      l_creator    NUMBER               := 0;
      l_job_desc   per_jobs.NAME%TYPE;
   BEGIN
      OPEN cur_get_exp_creator_det;

      FETCH cur_get_exp_creator_det
       INTO l_creator, l_job_desc;

      CLOSE cur_get_exp_creator_det;

      x_creator := l_creator;
      x_creator_job := l_job_desc;
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line
                     (   'Exception in Function get_exp_creator_det; error :'
|| SUBSTR (SQLERRM, 1, 120)
                     );
         RAISE;
   END get_exp_creator_det;

-----------------------------------------------------------------------------------------------------

   -- Function Name  : get_supervisor
-- Purpose        : To get the Supervisor for the given Person_id
-- Parameters     : p_person_id  IN  Number
------------------------------------------------------------------------------------------------------
   FUNCTION get_supervisor (p_person_id IN NUMBER)
      RETURN NUMBER
   IS
      CURSOR cur_get_supervisor
      IS
         SELECT paa.supervisor_id
           FROM per_all_assignments_f paa JOIN per_all_people_f pap
                ON paa.person_id = pap.person_id
WHERE TRUNC (SYSDATE) BETWEEN pap.effective_start_date
                                    AND pap.effective_end_date
AND TRUNC (SYSDATE) BETWEEN paa.effective_start_date
                                    AND paa.effective_end_date
            AND pap.person_id = p_person_id
            AND paa.primary_flag = 'Y'
AND TRUNC (SYSDATE) BETWEEN paa.effective_start_date
                                    AND paa.effective_end_date;

      l_supervisor_id   NUMBER := 0;
   BEGIN
      OPEN cur_get_supervisor;

      FETCH cur_get_supervisor
       INTO l_supervisor_id;

      CLOSE cur_get_supervisor;

      RETURN l_supervisor_id;
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line
                         (   'Exception in Function get_supervisor ; error :'
|| SUBSTR (SQLERRM, 1, 120)
                         );
         RAISE;
   END get_supervisor;

-----------------------------------------------------------------------------------------------------------
-- Function Name  : get_expense_report_tot
-- Purpose        : To get the Expense Report total amount
-- Parameters     : p_transaction_id  IN  Number
----------------------------------------------------------------------------------------------------------
   FUNCTION get_expense_report_tot (p_transaction_id NUMBER)
      RETURN NUMBER
   IS
      CURSOR get_expense_report_tot
      IS
         SELECT fnd_number.number_to_canonical (erh.total),
NVL (erh.default_currency_code, asp.invoice_currency_code),
NVL (erh.default_exchange_rate_type,
                     asp.default_exchange_rate_type
                    )
           FROM ap_expense_report_headers_all erh,
                ap_system_parameters_all asp
          WHERE erh.report_header_id = p_transaction_id
            AND erh.org_id = asp.org_id;

      l_exp_rep_tot          NUMBER        := 0;
      l_currency_code        VARCHAR2 (5)  := 0;
      l_exchange_rate_type   VARCHAR2 (15) := 0;
   BEGIN
      OPEN get_expense_report_tot;

      FETCH get_expense_report_tot
       INTO l_exp_rep_tot, l_currency_code, l_exchange_rate_type;

      CLOSE get_expense_report_tot;

      RETURN l_exp_rep_tot;                                         --Pending
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line
                 (   'Exception in Function get_expense_report_tot ; error :'
|| SUBSTR (SQLERRM, 1, 120)
                 );
   END get_expense_report_tot;

----------------------------------------------------------------------------------------------------------

   -- Function Name  : person_has_approval_authority
-- Purpose        : To check whether person has approval authority or not
-- Parameters     : p_person_id  IN  Number
--                  p_amount_limit IN Number
----------------------------------------------------------------------------------------------------------
   FUNCTION person_has_approval_authority (
      p_person_id      NUMBER,
      p_amount_limit   NUMBER,
      p_doc_type       VARCHAR2,
      p_cost_centre    VARCHAR2
   )
RETURN VARCHAR2
   IS
      CURSOR cur_get_emp_approval_limits
      IS
         SELECT signing_limit
           FROM ap_web_signing_limits
WHERE document_type = p_doc_type                          --'APEXP'
            AND cost_center = p_cost_centre                           --'0000'
            AND employee_id = p_person_id;

      l_approval_limit   NUMBER := 0;
   BEGIN
      OPEN cur_get_emp_approval_limits;

      FETCH cur_get_emp_approval_limits
       INTO l_approval_limit;

      CLOSE cur_get_emp_approval_limits;

      DBMS_OUTPUT.put_line (   'Person_id :'
                            || p_person_id
                            || ' Approval Limit :'
                            || l_approval_limit
                           );

      IF l_approval_limit >= p_amount_limit
      THEN
         RETURN 'Y';
      ELSE
         RETURN 'N';
      END IF;
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line
            (   'Exception in Function person_has_approval_authority; error :'
|| SUBSTR (SQLERRM, 1, 120)
            );
   END person_has_approval_authority;

----------------------------------------------------------------------------------------------------------

   -- Function Name  : get_approvers
-- Purpose        : To get the approvers list for the expense report
--                 >> This function will be called from AME approvers group.
--                 >> For testing purpose; we can this function from SQL too.
-- Parameters     : p_person_id >> Employee Person_id
----------------------------------------------------------------------------------------------------------
   FUNCTION get_approvers (p_report_header_id IN NUMBER)
      RETURN approver_list PIPELINED
   IS
      l_expense_report_tot   NUMBER         := 0;
      l_creator              NUMBER         := 0;
      l_creator_job          VARCHAR2 (125) := '';
      l_person_can_approve   VARCHAR2 (1)   := '';
      l_supervisor_id        NUMBER         := 0;
      l_approver_id          NUMBER         := 0;
      l_cost_centre          VARCHAR2 (100) := '';
      l_doc_type             VARCHAR2 (100) := '';
   BEGIN
      g_module_name := 'Expense_Report_ID:' || p_report_header_id;
      l_expense_report_tot := get_expense_report_tot (p_report_header_id);
------------------------------------------------------------------------
 --1. Get the Expense creator details
 ------------------------------------------------------------------------
      get_exp_creator_det (p_transaction_id      => p_report_header_id,
                           x_creator             => l_creator,
                           x_creator_job         => l_creator_job
                          );
      DBMS_OUTPUT.put_line (   ' Creator:'
                            || get_person_name (l_creator)
                            || '; Creator_Job :'
                            || l_creator_job
                           );

      BEGIN
         SELECT override_approver_id
           INTO l_approver_id
           FROM ap_expense_report_headers_all erh,
                ap_system_parameters_all asp
          WHERE erh.org_id = asp.org_id
            AND erh.report_header_id = p_report_header_id;
      EXCEPTION
         WHEN OTHERS
         THEN
            l_approver_id := NULL;
      END;

      BEGIN
         SELECT meaning
           INTO l_doc_type
           FROM fnd_lookup_values_vl
          WHERE lookup_type = 'FCA_AP_UK_IEXP_DOC_COST_DET'
            AND lookup_code = 'DOC_TYPE'
            AND enabled_flag = 'Y'
AND NVL (end_date_active, TRUNC (SYSDATE) + 1) >= TRUNC (SYSDATE);
      EXCEPTION
         WHEN OTHERS
         THEN
            l_doc_type := NULL;
      END;

      BEGIN
         SELECT meaning
           INTO l_cost_centre
           FROM fnd_lookup_values_vl
          WHERE lookup_type = 'FCA_AP_UK_IEXP_DOC_COST_DET'
            AND lookup_code = 'COST_CENTRE'
            AND enabled_flag = 'Y'
AND NVL (end_date_active, TRUNC (SYSDATE) + 1) >= TRUNC (SYSDATE);
      EXCEPTION
         WHEN OTHERS
         THEN
            l_cost_centre := NULL;
      END;

      l_person_can_approve :=
         person_has_approval_authority (l_approver_id,
                                        l_expense_report_tot,
                                        l_doc_type,
                                        l_cost_centre
                                       );

      FOR i IN 1 .. 20
      LOOP
IF i = 1 AND l_person_can_approve = 'Y'
         THEN
            PIPE ROW ('PERSON_ID:' || l_approver_id);
            EXIT;
         END IF;

         DBMS_OUTPUT.put_line (l_approver_id || '-' || l_person_can_approve);
         l_supervisor_id := NULL;
         l_supervisor_id := get_supervisor (l_approver_id);

         IF l_approver_id IS NULL
         THEN
            DBMS_OUTPUT.put_line
                          (   'Could not find the Supervisor for Person_id :'
                           || l_approver_id
                           || '; Employee Name :'
                           || get_person_name (l_approver_id)
                          );
            EXIT;
         ELSE
            PIPE ROW ('PERSON_ID:' || l_approver_id);
         END IF;

         l_person_can_approve :=
            person_has_approval_authority (l_supervisor_id,
                                           l_expense_report_tot,
                                           l_doc_type,
                                           l_cost_centre
                                          );
         l_approver_id := l_supervisor_id;
         PIPE ROW ('PERSON_ID:' || l_approver_id);

         IF l_person_can_approve = 'Y'
         THEN
            EXIT;
         END IF;
      END LOOP;
   EXCEPTION
      WHEN OTHERS
      THEN
         DBMS_OUTPUT.put_line (   'Exception in Function get_approvers :'
|| SUBSTR (SQLERRM, 1, 120)
                              );
   END get_approvers;
END fca_ap_uk_iexp_approval_pkg;
/

Now we shall configure AME.

Step 1: Go to Responsibility: Approval Management Business analyst

Step 2: Search for transaction type “OIE Expense Report

Step 3: Click on Setup as shown above for “OIE Expense Reports

Step 4: Click on Approval Groups

Once the form opens click on Create button.

Step 5: Create Approval group with below details

Name: FCA Expense Approval Group

Description: Fellowes Expense approval group

Order Number: 1

Voting Method: Serial

Usage Type: Dynamic

Query: select column_value from table (fca_ap_uk_iexp_approval_pkg.get_approvers(:transactionId))

Click on Validate button. If the message on top is the query is says that it is valid then the form is ok to proceed. It is shown below.

Step 6: Click on Apply “Button”

Step 7: Click on Action Types tab on top menu

Click on Use Existing action Type button

Step 8: Select Rule Type as Chain of Authority and click on Go button

You need to select Name, approval-group chain of authority. If this value does not show up you may need to click on “Next 5″ button on the right hand side of the screen until you see this option.


Select approval-group chain of authority by clicking on the check box to the left and then click on Continue button

Click on “Finish” button

Click on Apply button.

Step 9: Creating rules

Click on Rules tab


Click on Create button


Enter below details

Name: FCA Expense Approval Rule

Rule Type: List Creation

Item Class: Header

Category: Approver

Start Date: <<Current Date>>

End Date: 31-Dec-4712


Click on Next Button

Step 10: Add conditions


We do not have any conditions to add and therefore we shall click on Next button.

Step 11: Add Actions

We shall find the action type selected already from the approval group.

Select Action; Require approval from FCA Expense Approval Group, from Lov for Action column

Click on Next button. You might get a warning as shown below.

The screen will look like the following,

Step 12: Click on Finish button

The rule has now been created and AME for expense report approval is now set as per the requirement.

Cheers!


Handheld device usage and emulators for Warehouse transactions on Oracle

$
0
0

Handheld devices are used in warehouses for completing shipping transactions as workers in a huge warehouse will not have immediate access to a computer to complete the transactions. Also it is easy for the workers to scan bar codes and send the details directly to Oracle using the Wi Fi network set up within the warehouse.

A handheld device looks like the following,

Once a user has logged into the handheld device the screen looks like the following,

For testing the transactions on test instances we would prefer to carry out the functions on a computer instead of an actual handheld device as it would be very time and effort consuming. The handheld screens can be emulated on a computer. Oracle provides 2 ways to do so.

  1. Telnet
  2. Oracle client

Note: You need to ensure that the mobile server is up and running. Refer to this article on starting the mobile server.


Telnet

You need to connect to the telnet server on the mobile server port. If you use putty the configuration will be like this,

Note that the port number is as per the mobile port that is given in $CONTEXT_FILE. The mode should be telnet.

If you are using telnet, the command will be erpdev3.na.****.com 10392.

Click on “Open2 button on Putty

Click on 5 to select Handheld Device (You can type 5 and press enter as well)

You can enter your Oracle user name and password (note that you need to type in user name and press enter instead of TAB) to log in and continue to transact as if you are using a handheld device.

After entering the password press enter

The menu comes up in a little while

Once we log in we are taken to a responsibility named, DON Whse Mgmt, by default. Responsibility cannot be changed on a handheld device. This is the same screen that we had got on the handheld device.


Oracle Client

We can emulate the handheld device functionality using a GUI supplied by Oracle. This GUI can be used instead of the CUI (Character User Interface) telnet screen. You can download the zip file containing the GUI. You need to unzip the GUI on your local computer. The main directory will contain an icon as shown below. Ensure that the local computer can access Oracle via the network.

Click on the GUI icon

Once the main screen opens, click on Site drop down button. The list of sites are the Oracle instances that have been connected previously.

As you had downloaded the zip file you might not have these connections set. We need to create a new connection. Select New Connection

Enter new connection details.

Site should match the SID of the Oracle instance. The value for Port has to be taken from $CONTEXT_FILE. You can get more information here. You can also ask the DBAs for the Mobile Server port and the SID.

Click on Connect. Once the connection is established you will get the following screen.

If there is a failure in connection you will get the following error.

If there is an error it means that the server details are wrong or the mobile server is down. To bring up the mobile server you can refer to this article. Once connection is established the screen will look like the following.

Click on 5 for Handheld Device.

You can login with the Oracle credentials. (Note that you need to press Enter after entering the user name instead of TAB)

Press enter to go to the next screen

As before, we are taken to the responsibility named, DON Whse Mgmt. Now we get the same screen as the handheld device.

Important: The Oracle username should have the, WHSE Mgmt, responsibility.

We have attached a customized version of this responsibility named, DON Whse Mgmt, and therefore this is the responsibility you get to see when I logged in to the mobile server.

Cheers!


Dunning letter setup and usage in Oracle r12

$
0
0

The dunning letter setup has improved substantially in Oracle r12. I have illustrated the steps to set up a dummy Dunning Letter and how to set up a custom Dunning letter report.

Custom Dunning Letter

Create a new query

We have the option to use a seeded query but we would like to create our own custom data definition. To set a custom dunning letter data definition we need to register the query for the Dunning letter. We cannot set a custom data template for dunning letter as we normally do for a XML/BI Publisher report.

Responsibility: Collections Administrator

Navigation: Manage Queries

Create a query

Click on Create Query button

Enter the details

Click on Apply button.

A confirmation message will be displayed showing that the query has been saved.

Important:
The queries are saved in a table called, IEX_XML_QUERIES

select * from iex_xml_queries where description = 'XX Dunning Letter Query'


Create a Template

A custom template for Dunning letter can be attached as we attach any other template, i.e. in XML Publisher Administrator responsibility. As this template(s) will be used for Dunning letter we need to ensure that the Data Definition used is Collection XML Data Source.

Responsibility: XML Publisher Administrator

Navigation: Templates

Click on Create Template button

Enter the information as you require. We have entered the following,

Name: XX Dunning Letter Above 60 days

Code: XX_DUNNING_TEMPLATE

Application: Collections

Data Definition: Collection XML Data Source

Note:
Ensure that Application is always Collections and Data Definition is always Collection XML Data Source.

Upload the template file

Click on Apply to create the template.


Attach the query to the template

Navigation: Manage Templates Query

Click on Assign Query

Enter the details

Template Name: XX Dunning Letter Above 60 days (This is the name of the template we have created in the earlier step)

Query Description: XX Dunning Letter Query (This is the query we had created in Step 1)

Once the query description is entered and the control moves out of the field the query is automatically populated along with the Query Level field.

Click on Apply

You will get a message that the query template is created.

The custom dunning letter data definition/query and templates are set up. We will need to ensure that the configurations of Dunning Letter refer to this setup.


Dunning Letter configurations

Create a Dunning Letter Set

Responsibility: Collections Administrator

Navigation: Setup Checklist

Click on Collections Method Setup tab

Then click on Define Dunning Letter Sets tab

Click on Add Another Row to add a new letter set

Click on Apply to save this new letter set.


Create a new Scoring Engine

Responsibility: Collections Administrator

Navigation: Setup Checklist

Click on Create Scoring Engine tab

Click on Create Scoring Engine button

We shall create a new Scoring Engine named XX Scoring Engine

Click on Concurrent Program field to select the program to be associated with the Scoring Engine.

Select the concurrent program and set Enabled to Yes and check Weight Required

Click on Next button

Let us add a scoring component. Click on Add Score Component button. You will get to choose a score component from a list. The values in the list are,

We shall select Number of Delinquencies for Customer and set Weight to 1

Now we need to add Score Components. We shall add component details as below

Click on Next to go to the next form.

If you click on the drop down on View Name you will get the following,

Select View Name as IEX_F_ACCOUNTS_V and Key as CUST_ACCOUNT_ID (Key is a dependent LOV on View Name)

Click on Next

Review the information and click on Finish button.

You will get a confirmation message


Assign Templates to the Dunning Plan

Responsibility: Collections Administrator

Navigation: Setup Checklist

Click on View Existing button () on Create Dunning Plan.

Click on Create Dunning Plan button

We shall enter the values here

Name: XX Dunning Plan

Dunning Letter Set Name: XX Letter Set

Check Enabled Flag and Include Unapplied Receipts

Click on Next

Select the drop down on Scoring Engine.

We shall select the Scoring Engine as XX Scoring Engine

Click on Next

Click on Add Another Row button

Now the different Aging buckets are created. Set the values according to the business need.

Enter the following

Range as 1-30 Days Past Due

Score Low as 1

Score High as 100

Template as XX Dunning Letter Above 60 days

Click on Add Another Row button and enter the following in the new line

Range as 31-60 Days Past Due

Score Low as 1

Score High as 100

Template as XX Dunning Letter Above 60 days

Click on Next

Review the configuration and click on Finish button. The dunning plan is now set.

Configuration is now complete.


Execute and send Dunning letters to delinquent customers

Responsibility: Receivables responsibility

Navigation: View > Requests

Execute a single request

Select concurrent program, IEX: Send Dunnings for Delinquent Customers.

Set Dunning Plan to XX Dunning Plan.

Submit the request

When the concurrent program ends it spawns another concurrent program, Oracle Collections Delivery XML Process (IEX: Bulk XML Delivery Manager). This program delivers the dunning letters as per the delivery method defined in the dunning plan. In this case it is via email.

You can check the output of the program, IEX: Send Dunnings for Delinquent Customers. I have attached a sample output as there are no invoices as per the original dunning plan.

The output displays which customers will receive dunning letters and in which mode.

Note: The delivery concurrent program, Oracle Collections Delivery XML Process (IEX: Bulk XML Delivery Manager), failed because there are 2 profile options necessary for Dunning Letters to deliver the letters via email.

Email profile options

IEX: SMTP From

IEX: SMTP Host

These profile options are not set deliberately so that customers do not receive Dunning Letters via email from test Oracle instances.

Printer profile options

IEX: Fax IPP Host

IEX: Fax IPP Port

IEX: Fax IPP Printer Name

IEX: IPP Printer Name

IEX: Print IPP Host

IEX: Print IPP Port

IEX: Use IPP/CUPS Setup

Once these profile options are set up for use with Dunning letter the letters will automatically be delivered to the customers as per their preferences set in customer master.

Cheers!


Order to Cash process using Warehouse Management

$
0
0

We have discussed the Order to Cash (O2C) process earlier. We shall now go through the O2C process with where WMS (Warehouse management) is installed. When WMS is installed in Oracle the shipping process is handled outside of Oracle forms.

The warehouse employees use handheld devices to carry out shipping. The handheld devices are used as warehouses are huge and the employees working there will not have a computer close to them to conduct the transaction on the Oracle forms. Also, the process involves scanning barcodes and this is done very easily on handheld devices. The process of handheld devices can be simulated using a Java plug in or a telnet client. We shall demonstrate the warehouse process using the Java plugin as we have discussed in the previous article.


Step 1: Raise an Order

Responsibility: Order Management

Navigation: Orders, Returns > Sales Orders

Enter the order header

Enter the order lines

Save the order. Note that the order number is 1001000460


Step 2: Book the order

On the order form press Availability button to check the quantity available for the item.

We see that the quantity ordered is 2 and quantity reservable is 2864. Therefore the order can be booked with it going into a backorder.

Close the Availability form. Press Book Order button to book the order

Click OK and the order header is shown

Notice that the order status is now booked.


Step 3: Release the sales order

Responsibility: Order Management

Navigation: Shipping > Release Sales Orders > Release Sales Orders

Select a Rule and enter the order number (1001000460)

Note that the Document Set is picked up automatically from the Rule. Now go to Shipping tab. Set Autocreate Delivery to Yes.

Check Inventory tab

Click on Execute Now button to release the order. Once the order is released the message pops up

Click on OK

Note that a batch number has been generated now (6690208).The order is ready to be picked.


Step 4: Pick the order (Pick Release)

Responsibility: Order Management

Navigation: Shipping > Transactions

Enter the order number

Click on Find

Note the next step of the order. It is Pick Release. Select Launch Pick Release from Actions.

Click on Go

The popup message says that the concurrent requests launched successfully. Note that the number of requests is 1. This number only refers to the Pick Slip Report. The actual number of requests might vary as the programs to be executed for Pick Release are based on the setup in Shipping Document Set. You can get the details on this form in this article.

Click on View > Requests. You will see the requests fired for Pick Release

After the requests complete, check the output of the Pick Slip Report.

                                                                                                Report Date:20-FEB-2014 08:08

                                                            Pick Slip                           Report Page:     1
                                                                                             Pick Slip Page:     1

          Warehouse:DON     DONCASTER INVENTORY ORGANIZATION

          Pick Slip:2265019                       Pick Batch:6690210
 ----------------------------------------------------------------------------------------------------------------------------------
        Grouping Rule: STANDARD
                       ----------------------------------
    Customer:YORKSHIRE PURCHASING ORGANISATION   Delivery:                                             Order:1001000460
    Ship to: YORKSHIRE PURCHASING ORGANISATION       Stop:                                          Priority:ROW
             41 INDUSTRIAL PARK                                                                      Carrier:BJS-LTL-Next Day
             WAKEFIELD, WEST YORKSHIRE WF2                                                      Subinventory:
             0XE, GB                                                                             Requisition:

----------------------------------------------------------------------------------------------------------------------------------

Pick From       Pick To         Pick To
Subinv          Subinv          Location
--------------  --------------  --------------
FG-PKF          STAGE           M01..

 Move Order
 --------------

 6690210

                                                                    Tolerance
                                                                        Below
                                                             Tolerance      |
                                   Unit                          Above      |
       Move                        |                                 |      |                   Sales
      Order                        |       Quantity    Quantity      |      |       Sales       Order  Ship
   Line No. Item                   |      Requested     Shipped      |      |       Order    Line No.  Set      Trip     Delivery
    ------- ---------------------  ----   ---------    --------  ----- ------  ----------     -------  ----     -----    ---------
          1 POWERSHRED P-48C       EA             2                  0      0  1001000460           1                    5290878
            SHREDDER (CROSS CUT)
            230V UK

           Task Id    Lot Number       From Serial       To Serial         Quantity  Revision       Pick from Location
            ------    --------------   -----------       ---------    -------------  ----------     ------------------

         383363595                                                                2  B              AM.030.A

                                                        ** End of Data **

Now it is clear that the items have been picked.

Let us go back and check the order in Shipping Transactions form.

The item has now been released to warehouse and we need to Transact Move Order and a Delivery Number has been generated. Note the Delivery number 5290878.

We shall not be transacting move order using the Move Order form in Oracle. This will be done by the mobile system, i.e. handheld device.


Step 5: Transact Move Order

Responsibility: Warehouse Management

Navigation: Inquiry > Warehouse Control Board

Select the organization as DON (as you have seen on the Release Sales Order form) and click OK.

Check Unreleased in Status

Check Outbound in Source and the Outbound tab will be enabled on the form

Click on Outbound tab now and enter the delivery number from the previous step.

Click on Find

The Tasks form and you can now view the order line for the delivery. The line status is Unreleased.

Click on Manage button

Enter Status as Pending

Click on Execute Now and you will be taken back to Tasks form

The value of the column, message, is now Task Updated. Click on Save.

We shall add a column “Transaction Number”. Right click on the header.

Select Transaction Number to add the field into the form view

On the form click on Manage again and enter LOV on User Task Type

Select the value, DPIK

Click on Save Action and Execute Now respectively. You will be again taken back to the Tasks view.

Save the form. Right click on the transaction number

Select Copy Cell to copy the value. The Transaction Number is 383363595. Note this number.


Step 6: Pick items on mobile device

The item will now be transacted in the warehouse as it will be picked and shipped using a handheld device. To transact on the mobile device we need to ensure that the user id has access to the mobile responsibility.

The responsibility to be used for mobile devices

Note that the responsibility is available from Oracle Mobile Applications. If you now check the menu, Mobile WMS Navigation you can see the functions available.

Now the user is setup we shall start to transact on the mobile device. Let us open the mobile device/handheld device simulator.

The responsibility is attached to the user id

Now the user is ready for use on a handheld device.

Open the handheld simulator

Click on Connect

Click on 4 GUI Client

Now enter the Oracle apps user name and password.

Note:
Navigation on the handheld device – Tab should now be used. Instead of tab button, the enter button should be used. Click on F2 to go back to the previous screen.

Note that the user must have the mobile responsibility attached. Once the user name and passwords have been entered the next screen appears

Select the option, 6 Tasks

Select option, 2 Manual Tasks

Select option 5 Paper based pick

Enter DON as the org code

Press enter

Press Done button without entering anything.

On this screen we will enter the transaction number from the Tasks form (previous step), i.e. 383363595

Press enter button

Pull the screen to enlarge it

On enlarging the screen we can see the buttons which were hidden earlier. Now confirm the fields by entering the same value as the previous fields. Do press enter after keying in the values on each field.

On confirming all the fields the screen is greyed out and only the Xfer LPN field is enabled. Click on this field and press Ctrl + G to generate the LPN.

Now that the LPN is generated click on Load and Drop button. Note the LPN number, 04400003669.

Now confirm the fields by entering the same values, as we have done in the previous screen.

Click Done button

The next screen shows that the task is complete. Now the items have been moved from the warehouse to the staging area.

Click F2 to go back. You will see a message a bottom of the screen asking whether the control should go back to the main form. Press y to go back. Log out of the application.

Note: This step has to be executed using the handheld for as many order lines there are for an order. This is because all the items for an order have to be picked and moved from the warehouse to the staging area.

Now go to back to the Shipping Transaction form

Responsibility: Order Management

Navigation: Shipping > Transactions

We shall search by delivery number instead of order number. The delivery number that we had got at the end of Step 3, i.e. 5290878.

Click on Find

You can see the delivery line. Click on Contents tab.

Note that the Detail value, 04400003669, for the LPN line (LPN checked) is the same as the LPN number generated on the handheld device in the previous step.

The LPN line shows that the items have been picked and there is no next step for it as the items are now in the staging area. The order line status shows that the items are Staged and Pick Confirm is done. The next status for the line is Ship Confirm.


Step 7: Load items from staging to the loading dock

Log back into the handheld device.

Select the option, 3 Outbound.

Select option, 3 Shipping.

Select option 2 LPN Ship

Enter DON as Org Code.

Press Enter

Click on Dock Door field and click on Ctrl +L to open the list of values

The list of Dock Doors is displayed. Let us select the first one, i.e. DCKDR.000.001.

We need to enter the LPN now. This value can be taken from the Shipping Transaction form, i.e. the same value generated while picking the items in the warehouse. LPN = 04400003669

Press enter button

We get a message showing that the LPN has been loaded. This means that the items have been loaded on the carrier with that LPN.


Step 8: Ship Confirm

Responsibility: Order Management

Navigation: Shipping > Transactions

Search for delivery number , 5290878

Click on Contents tab

Note that the line status of the delivery shows Loaded to Dock. The order line shows the next step is Ship Confirm/Close Trip Stop.

Go back to Deliveries tab

Click on Ship Confirm button at the bottom left of the form

The Ship Confirm Rule is picked up as per the configuration. Click on OK.

Click on Details to see the warnings.

The warnings are regarding receiving calendar of the customer. This will not prevent the order from shipping.

If there had been no warning the popup message would have shown

Press OK and you will be taken back to the Shipping Transaction form

The delivery is now closed. Click on Contents tab

The LPN line status is shipped (items have left the warehouse) and the order line status is Interfaced (the order lines are now ready to be transferred to Receivables to be picked for creating invoice)

Click on View > Requests and find all executed requests. The following 4 requests were executed as per the configuration in Shipping Document Set.

Now the order is closed and the items have been shipped.


Step 9: Run Autoinvoice to create the invoice

As the order line status is “Interfaced” the order is now sitting in the interface table. Execute the query in the database.

<br />SELECT *<br />  FROM ra_interface_lines_all<br /> WHERE interface_line_attribute1 = '1001000460'   -- order number<br />   AND sales_order = '1001000460'                 -- order number<br />   AND purchase_order = 'TEST10'<br />

The line is now ready to be picked up by Autoinvoice program

Responsibility: Receivables

Navigation: View > Requests

Submit a new program, Autoinvoice Master Program

Ensure that Invoice Source is set to ORDER ENTRY.

Submit the program. The Autoinvoice Master Program program spawns 2 more requests,

  1. Autoinvoice Import Program
  2. Prepayment Matching Program (Prepayments Matching Program)

Check the output of the import program

UK OPERATIONS                                       AutoInvoice Execution Report                             Date: 20-FEB-2014 11:44
                                                                                                             Page:       1 of      4
             Request Id: 61676299

           Batch Source: ORDER ENTRY

  Transaction Flexfield:

       Transaction Type:
Bill To Customer Number:                                          to
  Bill To Customer Name:                                          to
                GL Date:                                          to
              Ship Date:                                          to
     Transaction Number:                                          to
     Sales Order Number:                                          to
       Transaction Date:                                          to
    Ship To Cust Number:                                          to
      Ship To Cust Name:                                          to

Interface Lines:                                 Interface Distributions:

                   Selected:          2                             Selected:          0
     Successfully Processed:          2               Successfully Processed:          0
                   Rejected:          0                             Rejected:          0

Interface Salesreps:                             Interface Contingencies:

                   Selected:          2                             Selected:          0
     Successfully Processed:          2               Successfully Processed:          0
                   Rejected:          0                             Rejected:          0

Transactions Created:

     Currency Name Pound Sterling

                                        Number of     Number of     Number of     Number of     Number of    Invoice Currency
     Class                           Transactions     Lines (*) Sales Credits Distributions Contingencies              Amount
     ------------------------------ ------------- ------------- ------------- ------------- -------------   -----------------
     Invoice                                    2             4             2                           0              175.54
                                    ------------- ------------- ------------- ------------- -------------   -----------------
                                                2             4             2                                          175.54

UK OPERATIONS                                       AutoInvoice Execution Report                             Date: 20-FEB-2014 11:44
                                                                                                             Page:       2 of      4
             Request Id: 61676299

    Grand Totals:

                                        Number of     Number of     Number of     Number of     Number of
     Class                           Transactions     Lines (*) Sales Credits Distributions Contingencies      Invoice Amount
     ------------------------------ ------------- ------------- ------------- ------------- ------------- -------------------
     Invoice                                    2             4             2                                          175.54
                                    ------------- ------------- ------------- ------------- ------------- -------------------
                                                2             4             2                                          175.54

    * Number of Lines includes Tax lines

Now the invoice has been created in Receivables. Let us check in the database with the following query

SELECT *
  FROM ra_customer_trx_all
 WHERE purchase_order = 'TEST10'
   AND request_id = 61676299
   AND interface_header_attribute1 = '1001000460'              -- order number
   AND interface_header_attribute2 = 'STANDARD - UK'             -- order type
   AND interface_header_attribute3 = 5290878                -- delivery number

We get the value of TRX_NUMBER as 110000022 and this is the invoice number.

The rest of the process is same as the original O2C process as documented earlier in this article.

Special thanks to Anshul Jain for helping to write this article.

Cheers!


Setup Custom templates for payment in Oracle R12

$
0
0

In one of the articles we have seen the process to create custom templates to view custom outputs when a Payment is processed. The output viewed from the “Format Payment Instructions” concurrent request depends on the template associated in the Payment setup.

Let us now look at the setup in a detailed manner where the custom template is linked to the Payment Process Request that is processed.

In simple words, the basic setup looks like this:

XML Publisher Template à Payment Format à Payment Process Profile à Payment Process Request

The setups required are given below:

  1. Creating an XML Publisher template for Payment process request output and attaching it to the Payment Format.
  2. Creating a Payment Format in Payments Administrator setup.
  3. Creating a Payment Process Profile and attaching it to the Payment Format
  4. (Optional) Add custom validation to the seeded package (IBY_FD_EXTRACT_EXT_PUB)

You can see how all the steps are linked to each other to make a custom payment output.

Step 1: Create a XML Publisher template

Create a XML Publisher template for Payment process request output.

Responsibility: XML Publisher Administrator

Navigation: Home à Templates

Ideally when creating a template, one has to create a Data Definition first but here we are going to use a standard Data Definition “Oracle Payments Funds Disbursement Payment Instruction Extract 1.0“. This standard data definition acts as the link between the data and the template when a Payment is processed. In simple words, when a payment is processed, the payment xml data from the standard program “Format Payments Instructions” is passed to this Data definition. Therefore, to create a link between the Payment Process Request and the template, we use the “Oracle Payments Funds Disbursement Payment Instruction Extract 1.0” data definition. The data definition is shown below

In the templates Screen, give the template name, application as “Payments” and data definition details. Upload the concerned rtf layout file that has been created. You can check this article on creating an eText template for Payment processes.

Giving the template application as “Payments” is important. If any other application name is given, you will not be able to access this template in Payments setup.

Save the template and it will be ready to be associated with the Payment Format.

Important: The data definition, Oracle Payments Funds Disbursement Payment Instruction Extract 1.0 , is kicked off from the seeded program named, Format Payment Instructions. The concurrent program definition is


Step 2: Create a Payment Format in Payments Administrator setup:

A Payment Format basically acts as a medium between the Payment Process request and the template. To get an output from “Format Payments Instruction” as you like, Payment Format has to be attached to the template that you have created.

Navigate to Payables Manager responsibility.

Navigation: Setup: Payments à Payment Administrator.

You will see the below screen:

In the “Formats” section, use the “Go to Task” option to create a new Payment Format.

In the below screen, click on the Create button to create a new Payment Format:

You shall see the below screen wherein you can enter the required data to create a Payment Format.

Enter the appropriate values for Code and Name; give the Data Extract as “Oracle Payments Funds Disbursement Payment Instruction Extract, Version 1.0” as this would be linked to the standard definition mentioned during template creation.

For the XML Publisher Template field, give the custom template name (created in the first step) from the LOV.

Give the user defined validations as required by the business and click on Apply button to save the Payment Format.

Below screen shows a Payment Format that has been created.

Now the Payment Format is linked to the template.


Step 3: Create a Payment Process Profile and attach it to the Payment Format:

A Payment Process Profile (PPP) basically contains the rules and criteria based on which Payments are processed. It is linked to the Payment Format so when a Payment Process Profile is selected during Payment Process Request, the Payment Format and the template are also selected there by creating a link between the Payment request and the output generated by the payment process request.

To create a PPP, use the same Oracle Payments Setup page from the Payment Administrator function.

Responsibility: Payables Manager

Navigation: Setup  > Payments > Payment Administrator.

In the below screen, use the “Payment Process Profiles” section and click the button across it.

You shall now see the Payment Process Profile screen as shown below:

Click on the Create button in the above screen to go to the Payment Process Profile creation page:

Enter the appropriate values for all the fields required; In the Payment Instruction Format field, enter the Payment Format name created to link it to the Payment Process Profile. Save the changes and Payment Process Profile is ready.

When a Payment Process Profile is created, it shall look like this:

With this, we have created our Custom template, Payment Format and Payment Process Profile.

Now when you create a Payment Process request, you can mention the PPP and once the Payment request is formatted, the “Format Payment Instructions” is run and the output shall be in the layout of the RTF attached to the template.


Step 4: (Optional) Add custom validation to the seeded package (IBY_FD_EXTRACT_EXT_PUB)

The seeded API, IBY_FD_EXTRACT_EXT_PUB, is called by the payment processor. This API is provided by Oracle so that custom validations on the data can be added in the seeded procedures. If we need to add our own logic in addition to the seeded logic we can add our code to it.

An example of customization is given here.

Test payments

Responsibility: Payables Manager

Navigation: Payments: Entry à Payments Manager

Below is the screen you shall see when Payments Manager function is clicked.

Click on the Submit Single Request button in the above screen.

Enter the Payment Process Request Name as shown below.

In the Payment Attributes tab, you can provide the Payment Process Profile name in the Payment Process Profile field and you can get the output as per your template attached to Payment Process Profile mentioned.

If you have multiple payments in your Payment Request and if you are required to enter a different Payment Process Profile for each of the payment, then do not mention the Payment Process Profile name in the Payment Attributes tab as shown above; Leave the field blank and select the invoices and convert them into “Payment Documents” ready for Formatting as shown below.

See the below screenshot.

You can see that the Payment documents have been selected for formatting but an action is pending which is mandatory for a Payment to be formatted.

When you click on the button in the “Start Action” section, you will be able to enter the PPP name for each of the Payment document. Remember we had left the PPP field in the Payment Attributes tab blank. Now you can enter the PPP name for each of the payment document in the Payment Process Profile field. See the below screen.

When the Payment process request is formatted, the “Payment Format Instructions” is run and the output appears as designed in the template layout.

To get information on creating an eText template for payment process request you can read this article.

-Hasan


Batch payment process in R12 for Electronic payments

$
0
0

In a previous article we had talked about batch payment process in Oracle 11i. In Oracle R12 the batch payment process has changed considerably. A new module named Payments is created in R12 to make payment in batches (short name IBY).

In this article I have demonstrated how an Electronic payment is made in Oracle R12.


Step 0: Create invoice

Responsibility: Payables responsibility

Navigation: Invoices > Entry > Invoices

We shall create an invoice that we plan to pay using the batch payment process. Enter invoice header

Invoice Num is TESTINV12,

Trading Partner/Supplier is CEPAC DONCASTER

Invoice Amount is GBP 140. The amount includes tax amount as well. Scroll right on the header

Note that the fields,

Match Action is set to NULL

Terms is NET 30

Pay Group is NON INVENTORY

Payment Method is Electronic (This is set by default based on supplier setup)

Enter invoice line

Enter line distribution by clicking on Distributions button

Save and close this canvas. Click on Calculate Tax button to generate the tax lines on the Invoice form.

Now click on Actions and check Validate.

Select OK to validate the invoice. Note the Status on the invoice form after validation.

It shows Needs Revalidation. There can a hold on the invoice. Click on Holds tab.

We see that there is a hold on it. Let us check the reason for the hold. Click on Hold Reason field and click on Ctrl + E.

It mentions that the invoice is on hold because the invoice is not matched to any PO. We are not going to match this invoice to a PO and that is why on the invoice header we had set Match Action to NULL.

Click on Release button and the release window will appear

Enter the Release Name and Release Reason.

Press OK to release the hold

Now the invoice has been released. Click on General tab.

Notice that the invoice status shows that it is Validated. Let us check the invoice due date. Click on Scheduled Payments tab.

Oracle has calculated the Due Date of the invoice as 01-Apr-2014. The due date is calculated as per the payment terms, i.e. NET 30 (selected in invoice header). The batch payment process will pick up the invoice for payment based on due date.

The invoice is now ready to be picked up by the Payment Process Requests.


Step 1: Create Payment Process

Responsibility: Payables responsibility

Navigation: Payments > Entry > Payments Manager

Click on Payment Process Requests

Click on Submit Single Request button to create a single request. If we need to create a recurring request with similar parameters we need to click on Schedule Repeating Request button. This is especially useful to have a recurring batch running at fixed intervals, E.g. every day, week, etc.

Enter the details

Payment Process Request Name: CEPAC Electronic Payment 12

Pay From Date: 31-Mar-14

Pay Through Date: 02-Apr-14 (setting dates to include invoice due date as we have seen in Step 0)

Pay Groups: NON INVENTORY (same as invoice pay group)

Payment Currencies: GBP (same as invoice currency)

Click on Payment Attributes tab

Enter Disbursement Bank Account and Payment Exchange Rate Type

Now click on User Rates tab

As both the ledger currency and invoice currency are GBP we do not need to specify a conversion rate. Click on Processing tab

Check the box for Stop Process for Review After Scheduled Payment Selection. This will ensure that the payment process stops after the invoices are selected and we can then review those invoices.

Now click on Validation Failure Results tab

We do not need to make any change on this page. Click on Additional Information tab

This page displays the DFF attributes enabled for payments. There are no DFF attributes enabled.

Note: Instead of manually entering all the parameters we could have entered a template to set all the preset values on the template.

Let us set a template to this payment named, UK Bankline Payments in GBP.


If we check the parameters now,


Note that the values we had set earlier have been overridden with the values set in the template. If you would like to see the template setup go to Templates tab on the top menu.


Click on Templates


Enter the Template Name, UK Bankline Payments in GBP and click on Go button.


Click on Update icon () on the right to open the template


Now you can see the values set to the template.

Let us restore the payment process request values and submit the request.

A confirmation message is shown. Now click on Home tab on the top menu.

If we search for requests on the SRS form

You will see Scheduled Payment Selection Report request running.


Step 2: Review selected invoices

After the Scheduled Payment Selection Report request completes we go back to Payment Process Requests page and search for the payment request we created i.e., CEPAC Electronic Payment 12.

The Payment Process Request status is now Invoices Pending Review and 2 invoices have been selected for payment.

Click on the link, CEPAC Electronic Payment 12. (shown below)

The screen opens up and displays the payment details and the invoices

We have the option of adjusting the payment amount, discount, updating exchange rates, etc. The invoice details are,

We will update both payment amounts to GBP 100.

Now click on Submit

We get another confirmation request. The payment status now changes to Calculating Special Amounts.

Check for requests on the SRS form

5 concurrent requests are executed.

  1. Apply Changes, Recalculate Amounts and Submit Request (Recalculate Payment Process Request)
  2. Scheduled Payment Selection Report
  3. Build Payments
  4. Payment Process Request Status Report


Step 3: Confirm Payment

After the previous requests have completed we go back to Payment Process Requests page and search for the payment request we created i.e., CEPAC Electronic Payment 12.

Now the status of the payment is Information Required – Pending Action.

Click on Start Action icon

Notice there are no Payment Process Profile set for the invoices (see below).

We shall enter the Payment Process Profile, UK Bankline Payments in GBP, for the invoices

Now select Action to Run Payment Process and click on Go button

The screen goes back to the Payment Process and the status changes to Assembling Payments.

If you check the SRS form you will see 2 requests executed

  1. Payment Process Request Status Report
  2. Format Payment Instructions with Text Output

Check the output of Format Payment request

The payment is now formatted and the output is now ready to be sent to the bank for making the electronic payment


Step 4: Review payment

After the previous requests have completed we go back to Payment Process Requests page and search for the payment request we created i.e., CEPAC Electronic Payment 12.

Note that the status of payment is Confirmed Payment.

Click on the payment link () to view the details

Clicking on the link of the payment () we will get

The details of the payment, including bank, beneficiary details are shown. This is the payment that will be made to the supplier bank.


Step 5: Verify payment on invoice

Open the invoice

Note that the amount paid, GBP 100, is displayed on the invoice.

Click on View Payments tab

Payment details can now be viewed on the Invoice form.


Step 6: Cancelling payment (Optional)

If the need arises this payment can be cancelled as well

On the Payment Manager page click on Payments tab on the main menu

Now enter the Payee as CEPAC DONCASTER (this is the supplier to whom the payment was made) and Payment Date as 05-Mar-14 (this is the date the payment was made even though the Due Date was 01-Apr-14) and click on Go button.

Click on Void icon () so that the payment is cancelled

On the next screen provide a reason

Click on Apply

On the Warning screen click on Yes

The control goes back to the Payments screen and the payment status becomes Void.

Now let us check the invoice on the Invoice form

Now the Amount Paid is shown as 0. Click on View Payments tab

We see that the payment has been voided by offsetting the amount. Now the invoice is available for full payment. The same cycle can be followed to make the payment or we can make a quick payment as shown in the previous article.

Important: We had set the Payment Process Profile for confirming the payment. The Payment Process Profile name was UK Bankline Payments in GBP.

To check the setup you need to go to

Responsibility: Payments Setup Administrator

Navigation: Oracle Payments Setup


Locate Payment Process Profile


Click on () to open


Enter Name as UK Bankline Payments in GBP


Click on Go button


Click on Update icon


The payment process profile is defined here. You can modify as you feel fit.

Cheers!


Batch payment process in Oracle R12 for Check payments

$
0
0

Previously we discussed how Electronic payments are made in Oracle Payments R12. In this article I shall demonstrate how Check payments are made. The main difference in the 2 process is that the payment has to be printed out as a check after the payment is formatted.

Step 0: Create the invoice

Responsibility: Payables responsibility

Navigation: Invoices > Entry > Invoices

We shall create the invoice whose payment method will be Check. The invoice header details are,

Scroll right

Note the following,

Trading Partner is CEPAC DONCASTER

Invoice Num is TESTINV15

Invoice Amount is 70.00

Invoice Currency is GBP

Terms is 1.25%, NET 14

Payment Method is Check

We shall follow the rest of the invoice creation process as we have discussed in Step 0 for Electronic payments.

After the invoice is validated go to Scheduled Payments tab on the Invoice lines section of the form.

Note that the invoice Due Date is 18-Mar-2014.

The invoice is now ready to be paid.


Step 1: Create a payment process request

Responsibility: Payables responsibility

Navigation: Payments > Entry > Payments Manager

Click on Payment Process Requests on the top menu

Click on Submit Single Request button

Enter the details

Payment Process Request Name: CEPAC Check Payment 15

Pay From Date: 10-Mar-14

Pay Through Date: 20-Mar-14 (setting dates to include invoice due date as we have seen in Step 0)

Payment Method: Check (same as invoice payment method)

Payment Currencies: GBP (same as invoice currency)

Click on Payment Attributes tab and enter the Disbursement Bank Account and Payment Exchange Rate Type.

Now click on Processing tab and check the box for Stop Process for Review After Scheduled Payment Selection so
that selected invoices can be reviewed

Submit the request

The confirmation appears

Check the SRS form to view requests. 2 requests are executed

The requests are

  1. Auto Select (Payment Process Request Program)
  2. Scheduled Payment Selection Report

You can view the output of Scheduled Payment Selection Report. There 4 pages of output in PDF format.

Page 1

Page 2

Page 3

Page 4

This report displays to the user the details of the invoices selected for payment, credits, prepayment details etc. We can see that 1 invoice has been selected for payment.


Step 2: Review selected invoices

Go to the Payment Process Requests window and search for the payment process you just created, i.e. CEPAC Check Payment 15

It shows that 1 invoice has been selected for payment (as given in the report before). The status of the Payment Process Request status is Invoices Pending Review. Click on the icon for Start Action ()

The selected invoice is shown. We can adjust the payment on this screen as we had done in the previous example on Electronic payments. In this case we shall make the full payment. Click on Submit.

You will be automatically taken to the Payment Process Requests page

A confirmation message is displayed shown that a request has been submitted (Request ID 59523413). The request status now is Calculating Special Amounts.

Check the requests in SRS form

4 concurrent requests are executed starting with the request that was displayed on the Payments form (see earlier)

  1. Apply Changes, Recalculate Amounts and Submit Request (Recalculate Payment Process Request)
  2. Scheduled Payment Selection Report
  3. Build Payments
  4. Payment Process Request Status Report

 

Step 3: Build and format payment

Once all the requests complete go to the Payment Process Requests screen and requery for the payment process

The status of the payment request is, Information Required – Pending Action. Click on Start Action icon.

Enter the Payment Process Profile for the invoice. We selected, UK Manual Check.

Ensure Actions is set to Run Payment Process () and click on Go

The control goes to Payment Process Requests screen

The status of the payment process changes to Assembling Payments.

Check the requests on the SRS form. 3 requests are executed.

The requests are

  1. Build Payments
  2. Payment Process Request Status Report
  3. Format Payment Instructions with Text Output

Check the output of Format Payment Instructions with Text Output request

In text format

VOL1000015                                                                     1^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
HDR1A      S         00001500010001       14065 1     000000                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
HDR2F0200000100                                   00                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UHL1      999999    000000001 DAILY  001          0000                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬^^^^^^^^^^^^^^
30159900703000 9960063900244465    00000006937NWB-Sterling      10503             CEPAC DONCASTER
60063900244465 1760063900244465    00000006937NWB-Sterling      CONTRA            NWB-Sterling
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
EOF1A      S         00001500010001       14065 1     1                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
EOF2F0200000100                                   00                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UTL10000000006937000000000693700000010000001                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬^^^^^^^^^^^^^^
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬^^^^^^^^^^^^^^

This is the information that will be printed out as a check


Step 4: Print the check

Requery for the payment process on the Payment Process Requests screen

The status of the payment process is Formatting. Click on Show link under Details ()

The payment details are displayed. Click on the payment reference link

The payment details are displayed. Payment status shows as Formatted – Ready for Printing. Click on Ready for Printing button on top right of the form.

You need to select a printer to print the check. For this example we shall not print the output to an installed printer. Hence we will leave the default printer name as “noprint”. Click on Print button.

We are taken to the Funds Disbursement Process Home screen

We get a confirmation message that the Payment Instruction 113886, i.e. the payment process, has been sent for printing. Let’s check the SRS form

We find that 1 request was fired, i.e. Format Payment Instructions with Text Output. This is the same request that was executed while the payment was formatted, except that this time the printer has been set to the printer we have selected. In this case the printer is “noprint”.


Step 5: Confirm Payment

On the Funds Disbursement Process Home screen click on Refresh button underneath the Payment Instruction 113886 link as shown below

On clicking the button the status of the process is updated to Submitted for Printing.

Click on Take Action icon

The Payment Instructions details are displayed. Click on Record Print Status button on the top right of the screen or bottom right

Oracle has automatically assigned a document number, i.e. the check number, as 4. We also could enter the check numbers that should not be used if the checks have been spoiled or if just need to skip certain range of check numbers, by entering the numbers below and clicking on Update Print Status button on the right hand side.

We are not entering any check numbers to skip. We will just click on Continue button.

A warning message is displayed mentioning that the process cannot be reversed and we should not proceed unless we are sure that all documents with status Printed were printed out by the printer. We shall press Apply button to complete the process.

We are brought back to the Funds Disbursement Process Home screen with a message that a request “Record Print Status” has been executed. The payment instruction does not show here anymore.

Let us check the SRS form

We see the request has been executed.

We shall requery for the payment process request we had created in the payment process form once more.

The status of the payment process is Confirmed Payment.

If we check the payment on the invoice form we shall see the following,

The payment is now associated with the invoice. If we need to void the payment we can do so as demonstrated in step 6 of Electronic payments. The supplier has now been paid off completely and the payment process is now complete.

Cheers!



Viewing all 68 articles
Browse latest View live