You are on page 1of 35

Oracle R12 Payments: An In-depth Technical Setup Configuration for

R12 Upgrade
Vinod Dua
Bechtel Corporation
Editor’s Note: The purpose of this paper is to describe the high-level technical configuration for
Release 12 Payment process. Since the setup configuration of payment process has drastically changed
in Release 12, this paper has attempted to highlight all the changes in comparison with 11i payment
configuration. Additionally, some valuable tips have been addressed to speed up the customizations
development.

Overview
Bechtel is among the most respected engineering, procurement, and construction companies in the
world. We stand apart for our ability to get the job done right – no matter how big, how complex, or how
remote the project. For 115 years, customers have placed their confidence in Bechtel’s ability to manage
large projects in which they have substantial investments. Our legacy of more than 22,000 successful
projects in 140 countries reflects a longstanding commitment to quality. It’s a commitment we are proud of
and one that’s been substantiated by independent audits and customer loyalty.
Bechtel implemented Oracle Financials (Release 9.4) in the early 1990’s. Since then it has been
upgraded multiple times and software patches have also been regularly applied to stay current with the
technology. In 1999, all financial instances were upgraded to 10.7 to meet Y2K requirements. In 2003, a
major initiative was undertaken and all 10.7 financial instances were consolidated into One Single Global
Instance (Oracle 11i). This effort took almost three years. Following this consolidation, Oracle 11i has
been upgraded to Release 11.5.10 and Oracle patches have been regularly applied.
In 2007, Oracle released Oracle R12. The premier support for Release 11i ended in 2010 and the
extended support ends in 2013. Due to this, a business decision was made to upgrade Oracle Release
11i to Oracle Release 12.1.3, which is the latest release.
The upgrade to Release 12 requires database versions to be 11g. As a result, all the financial instances
st
are being upgraded to 11g in preparation for the upgrade to R12, occurring in the 1 PMC Oracle cycle.
Release 12 also includes many architectural changes in technology and processes, therefore an
extensive study and analysis is being conducted to capture all the improvements and key changes.
Bechtel has three 11i financial instances, and many other custom application 11i instances. The R12
upgrade has been successfully done on the two smaller financial instances, and several custom
application instances. The complex financial instance with 1TB database, 25 sets of books, and 24
operating units is under development and unit testing.

R12 Payments Benefits
In Oracle Release 12, the Centralized Payment Processing engine combines both Funds Disbursement
and Funds Capture into one payment system. Organizations can now leverage the centralized processing
engine across multiple operating units, currencies, payment methods, and pay groups to increase the
real-time visibility of cash inflows and outflows.

COLLABORATE 13 – OAUG Forum
Copyright ©2013 Bechtel Corporation

Page 1 of 35

In Oracle Release 12, Payments have a new concept of “Payment Process Request” similar to Release
11i “Payment Batch.” This feature has better controls, more visibility and flexibility, and thus has
enhanced the overall performance of Payment process.
Oracle has also streamlined all the customizations by introducing standard payment XML tags. Custom
objects typically include check formats and PL/SQL Packages to create Electronic Data Interface (EDI)
files to be sent to the trading partners. To speed up the customizations, custom hooks to standard
packages have also been provided. Overall, the configuration/customizations changed in R12 were
designed to help organizations improve their payment processes.
The new release of Oracle R12 has brought in many enhancements to the Payment Process. Some of
the key benefits are:









Offers Centralized Payment Processing to consolidate Payment runs
Gives Payables transparency by using Payment Process Manager Dashboard
Provides Payment Process Controls and enhanced accurate Payment Information using Payment
Process Profile
Eliminates redundant Payment Processes using Payment Templates
Uses MOAC to help the Shared Service Centers drive cost savings and increase the quality of
information they provide
Includes Banks and Branches as part of the TCA architecture
Increases effectiveness of Master Data – Fewer Configuration Steps
Reduces Customization by using Standard Oracle-provided XML Tags and RTF Templates
Allows for easy customization through the use of Standard Extensions or hooks to XML Tags

Things to Consider
During an upgrade from Release 11i to Release12, Oracle recommends the following:




Confirm is cancel the status of all open Payment batches Update the NULL Bank Branches
Country Code to either “USA,” or the respective country code
Closely analyze and document all customizations
Use standard custom naming conventions; it is advisable to use the Custom Objects names the
same as one would use Oracle Standard Objects
Reduce downtime by using SQL to validate the configuration

R12 Payments Process Changes
The R12 Payments has many process changes. Key changes include:



To create Quick Checks / Manual Checks, Payment Process Profile is used, which is new to R12
The use of Templates to run/schedule payment batches
The use of Payment Dashboard to forecast cash balances and monitor payment batches

COLLABORATE 13 – OAUG Forum
Copyright ©2013 Bechtel Corporation

Page 2 of 35

R12 Payment Setup Technical Configuration Changes
In the upgrade from Oracle 11i to Oracle Release 12, many changes have been made to Payment
Configuration.

Banks, Branches and Bank Accounts
This section will explain the details of Banks, Branches, Bank Accounts, and the Payment Process. In
each section, the 11i and R12 tables and changes will be described. Let’s take an existing bank account
from 11i instance and see the corresponding changes in R12.
Table 1.1 – Details
S No

Form Name

Field Name

Value

1

Banks

Bank Name

XXX Bank Name

Bank Branch Name

XXX Bank Branch Name

Institution

Bank

Description

XXX Bank Name

Country

France

Address Line1

X1 Address 1

Address Line 2

X2 Address 2

City

PARIS

Postal Code

92974

Operating Unit

XXX Operating Unit

Bank Account Name

XXX Bank Account Name

Bank Account Number

X123456

Account Type

Internal

Currency

EUR

Cash Account

Cash Account

Multiple Currency Payments

Yes

Allow Zero Payments

Yes

2

3

Address

Bank Accounts

Banks
The Banks in Release 12 are treated as PARTIES, as they are shared with AR, CM, and Payables. They
are part of TCA architecture. Note that when we upgrade from 11i to R12, the AP_BANK_BRANCHS
table still exists but it has no role in R12. The Banks from this table are converted to HZ_PARTIES and
this table is now obsolete. When you create a new Bank, the data gets inserted into HZ_PARTIES.

COLLABORATE 13 – OAUG Forum
Copyright ©2013 Bechtel Corporation

Page 3 of 35

1. Branches and Bank Accounts.2 – Table Details Table Name Column Name Comments PARTY_ID This will be used in CE_BANK_BRANCHES_V as BANK_PARTY_ID PARTY_NUMBER System Generated PARTY_NAME Bank Name PARTY_TYPE Defaults to ORGANIZATION ORIG_SYSTEM_REFERENCE AP BANK:1000 – Points to 11i Bank_Branch_Id ORIG_SYSTEM_REFERENCE AP BRANCH:1000 – Points to 11i Bank_Branch_Id HZ_PARTIES From the Payables Super User Responsibility.Table 1. The Bank and Bank Branches are linked together by COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 4 of 35 . navigate to the below screen This screen shows all the Banks. The Bank Branch is created as another record in HZ_PARTIES. Bank Branch The Banks Branches in Release 12 are also part of TCA architecture.1. As we drill down. The “+” sign under each country indicates that there are many banks and branches defined in the country. This screen is same from any AP Super user responsibility. Table 1.1 – Banks Oracle 11i Table Name · AP_BANK_BRANCHES Oracle R12 Column Name Table Name Column Name · · BANK_NAME HZ_PARTIES · PARTY_NAME The following columns in HZ_PARTIES are important. the “Total Accounts” column indicates the number of Bank Accounts associated with each branch.

The Oracle 11i AP_BANK_BRANCHES table is replaced by AP_BANK_BRANCHES_V.2.1 – Tables Oracle 11i Table Name · Oracle R12 Column Name Table Name Column Name · · · AP_BANK_BRANCH ES BANK_BRANCH_NA ME HZ_PARTIES PARTY_NAME AP_BANK_BRANCH ES BANK_NUM HZ_ORGANIZATION_PROFIL ES BANK_OR_BRANCH_NUMB ER The following Release 12 tables are very important. OBJECT_TABLE_NAME Always HZ_PARTIES RELATIONSHIP_CODE For a Bank.2 – Table Details Table Name Column Name Comments PARTY_ID This will be used in CE_BANK_BRANCHES_V as BANK_PARTY_ID PARTY_NUMBER System Generated PARTY_NAME Bank Branch Name PARTY_TYPE Defaults to ORGANIZATION ORIG_SYSTEM_REFERENCE AP BRANCH:1000 – Points to 11i Bank_Branch_Id SUBJECT_ID This is the PARTY_ID from HZ_PARTIES. For a Bank. Table 1. This can be for a Bank or a Branch SUBJECT_TABLE_NAME Always HZ_PARTIES OBJECT_ID Very Important field. This view has the base tables from HZ _PARTIES. the AP_BANK_BRANCHS table still exists but it has no role in R12.HZ_RELATIONSHIPS. Note that when we upgrade from 11i to R12. it is HAS_BRANCH and for a Bank Branch it has BRANCH_OF RELATIONSHIP_TYPE BANK_AND_BRANCH PARTY_ID PARTY_ID of the Bank Branch from HZ_PARTIES BANK_OR_BRANCH_NUMBER Bank Branch Number BRANCH_CODE Bank Branch Number HZ_PARTIES HZ_RELATIONSHIPS HZ_ORGANIZATION_PROFILES COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 5 of 35 . this field will have the PARTY_ID of the Bank Branch. Table 1.2.

COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 6 of 35 .3 – View Details View Name Tables Used in the View CE_BANK_BRANCHES_V HZ_ORGANIZATION_PROFILES Comments HZ_CODE_ASSIGNMENTS HZ_PARTIES HZ_ORGANIZATION_PROFILES HZ_RELATIONSHIPS HZ_CONTACT_POINTS Bank Accounts The Banks Accounts in Release 12 are also part of TCA architecture. type the bank account name with a % sign. Some of the 11i bank account names have been changed in Release 12. Note that when we upgrade from 11i to R12. The Bank Account is created as another record in HZ_PARTIES. From the Payables Super User Responsibility.2. navigate to the below screen. To find an existing 11i Converted bank account. A simple search region is displayed when the “Bank Accounts” is opened.The Banks Branches is now a View in Release 12. Table 1. They have been appended by the 11i Operating Unit as shown in the next screen. the AP_BANK_ACCOUNTS_ALL table still exists but it has no role in R12.

3. Table 1.In Release 12 the INTERNAL Bank Accounts have been separated from EXTERNAL Bank Accounts in two different tables. This is the PARTY_ID of the Bank from HZ_PARTIES SET_OF_BOOKS_ID ACCOUNT_OWNER_PARTY_ ID CURRENCY_CODE CURRENCY_CODE ORG_ID ACCOUNT_OWNER_ORG_ID HZ_PARTIES COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 7 of 35 .1 – Tables Oracle 11i Table Name · AP_BANK_ACCOUNTS_A LL Oracle R12 Column Name · BANK_ACCOUNT_NA ME Table Name Column Name · · CE_BANK_ACCOUNT S BANK_ACCOUNT_NAME BANK_ACCOUNT_NU M BANK_ACCOUNT_NUM BANK_BRANCH_ID BANK_BRANCH_ID. This is the PARTY_ID of the Bank Branch from HZ_PARTIES BANK_ID.

Table 1. The 11i Check Format executable name can be easily queried in this table using the REFERENCE_FORMAT_CODE. The table AP_CHECK_FORMATS is now obsolete. The AP_CHECK_FORMATS table still exists but it has no role in R12. Table 1. Format Type Code. navigate to the below screen. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 8 of 35 . HZ_PARTIES does not have the Bank Account. ALL THE CUSTOM FORMATS have to be converted to XML Template.1 – Tables Oracle 11i Table Name · AP_CHECK_FORMATS Oracle R12 Column Name Table Name · · NAME Column Name · IBY_FORMATS_TL FORMAT_NAME IBY_FORMATS_B FORMAT_CODE FORMAT_TYPE_CODE FORMAT_TEMPLATE_CODE Therefore.4. and Format Template Code can then be derived for each Oracle Standard Check Format. The R12 Format Code. For an upgrade from 11i to Release 12. The names of these templates can be found in IBY_FORMATS_B. in Release 12.3.When a new INTERNAL Bank Account is created in Release 12. All the Standard Check Formats have been converted to XML Template. From the Payables Super User Responsibility. a record is inserted in HZ_PARTIES as well.2 – Table Details Table Name Column Name Comments PARTY_ID This will be used in CE_BANK_ACCOUNTSBRANCHES_V as BANK_PARTY_ID PARTY_NUMBER System Generated PARTY_NAME Bank Account Name PARTY_TYPE Defaults to PARTY_RELATIONSHIP ORIG_SYSTEM_REFERENCE NULL HZ_PARTIES Check Formats The Check Formats in Release 12 are XML Templates.

Define Format. Create a RTF Template for the Check/EFT Format b. the “Formats” Task Name opens up with the below screen.The Administration of Formats is an OA Framework Form. The Setup of Formats involves the following steps: a. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 9 of 35 . Register the Template c. link them to XML Template and assign other validations For an existing XML Format.

To create a new Format. A Default “Code” is “SAMPLE_FORMAT_CODE”. All the 11i Formats have been converted into XML Template. The next few screen shots will show how to create a Custom Check Formats which does not upgrade. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 10 of 35 . click the “Create” Button. This needs to be changed to Custom Format Code which will be used in the Template.

This is the same as 11i.1 – Tables Oracle 11i Table Name · AP_CHECK_STOCKS_ALL Oracle R12 Column Name · Table Name Column Name · · NAME COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 11 of 35 . Choose “Disbursement Payment Instruction”. Table 1. Choose “Oracle Payments Funds Disbursement Payment Instruction Extract.The other information for “Data Extract” has the following options. The table AP_CHECK_STOCKS_ALL still exists but it has no role in R12. Check Stocks The Check Stocks in Release 12 are associated with Bank Account Setup. “Type “. Version 1. b.0” a. “XML Publisher Template” and “Name” is the Registered Template and Name.5.

Perform a “Simple Search” on the Bank Account Name. The results of the “Simple Search” is as shown: Select the Bank Account Name using the “Radio” Button.” COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 12 of 35 . Click on “Manage Payment Documents. The 11i Bank Account Name is appended with Operating Unit.

the existing Payment Documents will show up: COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 13 of 35 .Once the Bank Account has been queried and selected.

use the “Create” button and enter the required information as in 11i. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 14 of 35 .For new Check Stocks.

especially in payments. Update the NULL Bank Country Code to the required country. branches. then unmasking helps. use the following SQL’s to speed up your configuration. It has also enhanced the usability of some modules. 2. Go to Task “System Security Options” COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 15 of 35 . Cleanup banks. make sure the following is done: 1.” 3. Make sure all Payment Batches are either “Canceled” or “Confirmed”. There should not be any payment batch in any other stat. the upgrade process appends the ORG_ID after the bank account name.Valuable Tips prior to the R12 Upgrade Before the Upgrade is completed. If the same bank account is used in multiple operating units. Also if the first four characters of Bank Account Numbers are same. After the Upgrade is done. If this is not done. Valuable Tips after the R12 Upgrade The Oracle Release 12 has some new features in every module which has helped the organizations to secure data and control access. navigate to the below screen. Click “Payment Administrator”. R12 defaults the NULL country code to “United States. and bank accounts before the upgrade. By default – Masking is setup on Internal and External Bank Accounts. From the Payables Super User Responsibility. 1.

if a Bank Account Number has a dash “-“. ar_amount_tolerance = 0. ap_percent_tolerance = 0. ar_percent_tolerance = 0.3 they are hosted in CE_BANK_ACCOUNTS table. Bank Accounts Descriptive Flex Fields (DFF) are the same but in R12. ce_percent_tolerance = 0. recon_oi_perence_tolerance = 0 WHERE account_classification = 'INTERNAL' 3. 5. ce_amount_tolerance = 0. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 16 of 35 .Set up “Number of Digits” to display for External Bank Accounts 2. Bank Accounts Tolerances fields for Internal Bank Accounts are now mandatory in the Bank Accounts OA Form. recon_oi_amount_tolerance = 0. the dash will be removed in R12. The Bank Account number length is restricted to 11 characters in the Bank Accounts OAF Form.1. The Documents for each bank account has been moved to a different table: IBY_DOCUMENTS_B. The 11i bank account number with dashes has been upgraded to CE_BANK_ACCOUNTS. you will have to use a tolerance amount and percentage. MASKED_ACCOUNT_NUM. If you are editing any internal bank account. In 11i. Use the following SQL to update them: UPDATE ce_bank_accounts SET ap_amount_tolerance = 0. 4.

check to see if the Bank Account Number is enabled for “Payables” and “Cash Management” COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 17 of 35 . 7. or other special characters. The Bank Account Number cannot have special characters such as hyphens. dashes. After the upgrade. After masking. The Bank Account Numbers are masked in R12. The masking can be done either in the beginning of the bank account number or at the end of the bank account number. 8. only the first four or last four characters will show in the screen.6. colons.

bank_branch_name. do a quick analysis of the existing bank.How to Speed Up Payment Configuration and Customizations E-Business Suite Customizations are the key to every upgrade process. abaa.bank_account_num. aca.name document_name. Oracle has attempted to document many examples and recommend the best practice to bring those customizations into R12. Additionally. abb. aipa. and then deciding what to do about them.bank_name. Since every organization has specific customizations. abaa.payment_method_lookup_code.name.bank_account_name. b.concatenated_segments cash_account. SELECT hou. Any EDI Payment Program written in PL/SQL Package will have to be rewritten using Standard Oracle XML Template. aia.pay_group_lookup_code. Types of Payments In Release 11i. You can either hard-code the Operating Unit in the SQL or use the bank accounts which have been used to pay in the last 18-24 months depending on your needs. abaa. then those reports will need to be changed to point to CE_BANK_ACCOUNTS.Batch Processing for Electronic Data Exchange (EDI) Third Party Payments with specific file format To speed up customizations for the above payment types.currency_code. and check formats in 11i using the following SQL. Custom Check Formats will have to be re-done using XML/eText. bank accounts. Payments Administration is a new module and all personalization will have to be created again. abb. you will have to re-create them again after the upgrade.bank_branch_id. and extensions.Some of the Form Personalization will work but there are significant changes in Invoice Workbench and Supplier Workbench. Customization costs can inflate the lifecycle effort cost by at least 75%. many organizations have four major categories of payments: a. bank branches. Form Personalization .bank_account_id.org_id. As a result. aca. Oracle has more than 15 different types of customizations. abaa. abaa.asset_code_combination_id cash_account_id. acsa. d. the challenge every organization faces today is determining what customizations have been made. abb.bank_num. If you have used Descriptive Flex Fields (DFF) from AP_BANK_ACCOUNTS_ALL table for any reports.set_of_books_id sob. Here are some of the important customizations which are affected by the R12 upgrade:      Folders – If you have created custom folders. modifications. abaa. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 18 of 35 . c. Clearing or Quick Check Payments – Mainly used for Clearing or recording purposes Manual Checks – Printing on a custom check stock EDI Payments . gcc.

check_format_id AND aca.check_stock_id AND aca. abb.name. acsa.bank_num. hr_operating_units hou WHERE aca. abaa. abaa.concatenated_segments.bank_account_id = abaa.check_date ).invoice_id = aia. apps.check_id AND aipa.ap_bank_branches abb. abb.bank_branch_id = abaa. Download the output of this SQL into an Excel File.ap_bank_accounts_all abaa.ap_check_stocks_all acsa. ap. acf. aca. acf.invoice_id AND aca.ap_check_formats acf .bank_account_name. acsa.asset_code_combination_id AND acsa. abaa.org_id.check_format_id = acf. abaa.code_combination_id = abaa.check_id = aipa. ap.check_date >= '01-JAN-12' AND aca. ap. System OrgId SOB XXX_Clearing XXX_Quick Check XXX_Manual_Check_Stock XXX_EDI 5001 5006 5166 5366 1002 1009 11009 22009 Bank Account Id Bank Branch Bank Branch Id 10002 10020 10282 15642 10000 10006 20008 210008 XXX Bank Branch XXX Bank Branch XX_Bank_BR1 XX_Bank_BR2 COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 19 of 35 .payment_method_lookup_code.ap_checks_all aca.check_stock_id = acsa. gcc. acsa.max(aca.bank_branch_id.ap_invoices_all aia.pay_group_lookup_code. aipa. abaa. acf.check_format_id. abb. ap.bank_account_name.check_stock_id.currency_code.bank_name.bank_account_id AND abb. hou.bank_account_num. aia.name ORDER BY 2.name payment_format_name FROM ap.name.bank_branch_id AND gcc. ap.ap_invoice_payments_all aipa.asset_code_combination_id. ap. abaa.bank_branch_name.gl_code_combinations_kfv gcc. aca.bank_account_id.check_stock_id.set_of_books_id.organization_id GROUP BY aca.check_date ) last_used_date.org_id = hou.max(aca.

IBY Format Name Custom R12 Payment Process Profile Code Custom R12 Payment Process Profile Standard Check Format External Check Format BAP_PAYMENT_CLEAR ING Bechtel .ZZ17_Third_Party 5426 Bank Branch Name 25009 16028 XX_Bank_BR3 Currency Cash Bank Account Bank Number Code Account Name XXX Bank Branch Name EUR XX XXX Bank Branch Name XXX Bank Branch Name1 XXX Bank Branch Name2 XXX Bank Branch Name3 CNY XX1 03030 USD XX2 2333 AUD XX3 3300 PEN XX4 Bank Account Number X12344555 223008 Check Stock Id Document Name XX Bank Account Name 1 XX Bank Account Name 2 XX Bank Account Name 3 XX Bank Account Name 4 XX Bank Account Name 5 Payment Format Name 10003 X12344555A X12344555B X12344555C CLEARING-EURO QUICK-CHECKCNY USD_CHECK EDI-EFT-AUD 10013 10273 10773 Clearing Payment-EUR Evergreen Long CHK Format CNY BEC-PRAIRE-QCHK BAP-EDI-AUD-EFT X12344555D PAYLINK-PEN 11353 Bechtel Paylink Format .IBY Format Code IBY_PAY_CHK_STANDARD_1 IBY_PAY_CHK_STANDARD_2 R12 .PEN Check Format Id Payment Method Format Payment Program Program Short Name Oracle Standard Format Payments Evergreen Format Payments Program BECHTEL CUSTOM QUICKCHECK Bechtel EDI Format Program APXPBFOR APXPBFEG BAPCKFEG1 BAP_EDI_FORMAT 10001 10004 10224 10504 CLEARING CHECK CHECK EFT Bechtel Paylink Format Program BAP_PAYLINK_FORMAT 10984 PAYLINK R12 .Check Payment BAP_PAYMENT_CHECK COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 20 of 35 .Clearing Payment Bechtel .

ift.reference_format_code = ‘program_short_name’.format_code r12_format_code. Update the Excel with IBY Format Code and IBY Format Name. Format Payment Program.langugae = ‘US’ AND ifb. SELECT ifb. ifb. Clearing / Quick Check Payment To minimize customization and configuration.  Navigation Path: Setups/Payments/Payment Administrator  Create new Format.format_name r12_format_name FROM ifb_formats_b ifb. and Program Short Name.format_code = ift.format_code AND ift. Query the program short name from 11i using the below query to find out the corresponding R12 IBY Format Name. Sort the data by these fields.   There are three important fields.format_template_code r12_format_template_code. ifb_formats_tl ift WHERE ifb.  Enter the following details Field Name Field Value Code CUSTOM_FORMAT_CODE Name Custom Format Code Name Disbursement Payment Instruction Type COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 21 of 35 . follow these steps:  Create a custom check format for recording/clearing using the standard R12 format code. Payment Format Name.

 Navigation Path: Setups/Payments/Payment Administrator  Enter the following details Field Name Field Value Code Name Processing Type Electronic Processing Channel CUSTOM_CHECK_PROFILE Payment Completion Point Allow Manual Setting of payment Completion Payment Instruction Format Comments Custom Check Profile Electronic Oracle Payments When the Payment Instruction is Formatted No Custom Format Code Name COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation This is under "Payment Instruction Format" Tab Page 22 of 35 .Data Extract XML Publisher Template Attachments  Oracle Payments Funds Disbursement Payment Format Instruction Extract. Version 1.0 Standard Check Format None Create a Custom Payment Process Profile.

REFERENCE_FORMAT_CODE. generally the custom check stock is copied from the Standard Oracle check format. UPDATE ce_payment_documents SET object_version_number = 2.  Care must be taken as the above SQL updates all the check stocks to Clearing/Quick Check. If this is not done.  This step helps you when making manual/quick payments for clearing. but it is no longer used. such as “Evergreen Format. The 11i check stock is not upgraded to R12. link them to XML Template and assign other validations To create a new Format. follow the steps:  In 11i. and error prone. format_code = 'CUSTOM_FORMAT_CODE' WHERE internal_bank_account_id IN (SELECT bank_account_id FROM ap_bank_accounts_all) Note: The 11i Bank accounts table gets moved as is after the upgrade. cumbersome. then you have multiple payment process profile to choose which is confusing. The “Payment Process Profile” then defaults for each document name for the bank account.  The setup of Custom Formats involves the following steps:     Create a RTF Template for the Check/EFT Format Register the Template Define Format. use the “Create” Button A Default “Code” is “SAMPLE_FORMAT_CODE>” This needs to be changed to Custom Format Code which has been created as a Template. Now the R12 Check Stock table is ready to be updated with this new Format.  This is the starting point for the Customization.  Find out the “Format Code” and “Format Template Code” from the table. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 23 of 35 .” Find the concurrent program short name for the standard check format. This can be done for all bank accounts possessing this check Format in 11i. Manual Check Manual checks printed on a check stock stationary must be customized in R12. To customize the check stocks. This will automatically connect the newly created custom Payment process profile.  Query the “Program Short Name” in IBY_FORMATS_B.

such as.0” “XML Publisher Template” and “Name” is the Registered Template and Name “Type. “Data Extract.  Navigation Path: Setups/Payments/Payment Administrator COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 24 of 35 .” has the following options Choose “Oracle Payments Funds Disbursement Payment Instruction Extract.The other information. Version 1. Choose “Disbursement Payment Instruction”  Create a Custom Payment Process Profile.”.

 Create a Payment Batch using the Bank Account and Custom Payment Document. The custom check stocks will have to be converted to the RTF template using the standard payment XML Tag.  Delete the xml fields which are not required and re-format the RTF Template to look similar to the 11i Check Format. The Custom Payment Process Profile automatically gets associated. This XML tag can then be used to create an RTF template for Check printing. none of the custom check formats will be converted. In both circumstances. EDI Payments Every organization has customized check stocks for printing checks.  The output of the Payment Batch is an RTF Template. Enter the following details Field Name Field Value Code Name Processing Type Electronic Processing Channel CUSTOM_CHECK_PROFILE Payment Completion Point Allow Manual Setting of payment Completion Payment Instruction Format Comments Custom Check Profile Electronic Oracle Payments When the Payment Instruction is Formatted No Custom Format Code Name This is under "Payment Instruction Format" Tab  Once the Custom Check Stock is configured.     Payment Batches are normally created when the organization is either printing a check on a preprinted check stock or creating an EDI file to be sent to the bank. or it can be used as input for an EDI file. One standard XML tag can be created for all custom check formats and EDI files. To create an standard payment XML tag. it is necessary to create a new Format and a Payment Process Profile as shown below: COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 25 of 35 . attach it to the Bank Account as a new Payment Document. Oracle R12 provides a standard mechanism to create an XML tag. When we complete the upgrade from 11i to R12.

0 Extract Identity None Create a Custom Payment Process Profile.  Enter the following details. Version 1. Navigation Path: Setups/Payments/Payment Administrator  Create new Format. Field Name Field Value Code CUSTOM_FORMAT_CODE_FOR_XML Name Custom Format Code Name for XML Disbursement Payment Instruction Type Data Extract XML Publisher Template Attachments  Oracle Payments Funds Disbursement Payment Format Instruction Extract.  Navigation Path: Setups/Payments/Payment Administrator COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 26 of 35 .

 Enter the following details Field Name Field Value Code Name Processing Type Electronic Processing Channel CUSTOM_CHECK_PROFILE_XML Payment Completion Point Allow Manual Setting of payment Completion  Comments Custom Check Profile for XML Electronic Oracle Payments When the Payment Instruction is Formatted No Create Payment System Transmissions  Navigation Path: Setups/Payments/Payment Administrator Field Name Field Value Comments Select Protocol Local File System Delivery Click "Create Configuration" Name Bechtel File System Delivery Enter Name and leave the rest as default COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 27 of 35 .

 Create Payment Systems  Navigation Path: Setups/Payments/Payment Administrator  Enter the following details Field Name Field Value Code BAP_EDI Name Bechtel EDI Payment Systems Processor Processing Model Bank Account Transfer Name Type Name Yes Bechtel EDI Format Code Disbursement Payment Instruction Local File System Delivery Comments This is under "Funds Capture" This is under " Formats" This is under " Formats" This is under " Formats" Add a new row under "Settings Required by Payment Systems" Code Name Data Type TEST TEST Date COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 28 of 35 .

This prompts the payment batch to stop after the creation. Submit the Payment batch for completion. You can either create a new Template or enter the selection criteria for the batch manually. Select / De-select invoices for this payment batch. Make sure under the “Process Automation” tab.” COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 29 of 35 . Once the batch has been “Formatted” the XML tag can be found in the output of the Concurrent Program “Format Payment Instructions. “Stop Process for Review After Scheduled Payment Selection” is checked.      Update the Payment Process Profile for “Payment System” Tab  Search for “BAP_EDI_PAYMENT_PROFILE  Click “Update”  Navigate to “Payment System” Tab and enter the details as shown below Also update the following: Field Name Field Value Electronic Processing Channel Oracle Payments Payment Completion Point When the Payment Instruction is Transmitted Now run a Payment batch using this new Payment Process Profile.

<OutboundPaymentInstruction> + <PaymentInstructionInfo> Batch Information + <PaymentProcessProfile> Payment Process Profile Name + <PaymentFormat> Payment Format Code + <CheckFormatInfo> Document Name + <InstructionTotals> Total Checks + <InstructionGrouping> Payer.document_payable_id = P_document_payable_id. Bank Accounts and Details + <OutboundPayment> Organization Details </OutboundPaymentInstruction>   For creating an extension or a custom hook to the standard Payment XML tag. OutboundPayment Get_Pmt_Ext_Agg(p_pa yment_id IN NUMBER) SELECT * FROM iby_payments_all ipa WHERE ipa.Output of “Format Payment Instructions” is the Standard Oracle XML Tag <?xml version=“1. DocumentPayable Get_Doc_Ext_Agg(p_do cument_payable_id IN NUMBER) SELECT * FROM iby_docs_payable_all dp WHERE dp. DocumentPayableLine Get_Docline_Ext_Agg(p _document_payable_id IN NUMBER.0” encoding=“UTF-8” ?> . p_line_number IN NUMBER) COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 30 of 35 . Oracle has provided a package “IBY_FD_EXTRACT_PUB”.payment_id = p_payment_id. This package can be used to create custom tags as needed: XML File Level IBY_FD_EXTRACT_EXT _PUB Function To Modify Example of Parameter Usage OutboundPaymentInstr uction Get_Ins_Ext_Agg(p_pay ment_instruction_id IN NUMBER) SELECT * FROM iby_pay_instructions_all WHERE payment_instruction_id = p_payment_instruction_id.

e. There can be multiple Document Payable tags per Outbound Payment. There can be multiple Document Payable Line tags per Document Payable. This is due to legacy system or the third-party company which is being used for making payments. The R12 Payment configuration and Customization for these kinds of file formats is not recommended by Oracle. Top Level: Outbound Payment Instruction: This is the top level of the XML File and there is one Outbound Payment Instruction per Payment process request. The file format for these kinds of payments is very specific and unique which cannot be easily customized using RTF Template or eText. Third-Party Payments Every organization has sometimes a very unique requirement when making payments. Follow the steps to accomplish exactly the same file format:  Create a new Custom Payment Method – “Third-Party Payment Method”  Create a new Custom Format – “Third-Party Format. but still can be done. Level 4: Document Payable Line: This level details the invoice line. Level 3: Document Payable: Details the documents (i. an individual check or BACS payment amount to a supplier.e. There can be multiple Outbound Payments per Outbound Payment Instruction.PaymentProcessProfile Get_Ppr_Ext_Agg(p_pa yment_service_request_ id IN NUMBER) SELECT * FROM iby_pay_service_requests WHERE payment_service_request_id = p_payment_service_request_id.” use the Oracle Standard XML Template used for Clearing Payments or Check Payment  Create a new Custom Payment Process Profile using the “Third-Party Payment Method” and specify any currency if applicable  Add the “Organization Names” to the Custom Payment Process Profile to make it very specific to the Third-party payment COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 31 of 35 . The assumption is that a Concurrent Program already exists which is either a SQL or a PL/SQL package which creates this file format. i. Level 2: Outbound Payment: This is the Payment Level. invoices) being paid.

and Payment Exchange Rate  Make sure under “Process Automation” Tab. Disbursement Bank Account. Payment Document Name. Payment Process Profile. Create a Custom Payment Document (Check Stock) for the Internal Bank Account using the Custom Third Party Format  Create a Payment Template with all the required Payment Attributes. the check box labeled “Stop Process for Review After Scheduled Payment Selection” is checked  Create a Payment Batch using this new Template  Select/De-Select invoices and “Submit” the Payment batch  The Payment Batch completes normally and stops at the status “Formatting”  Change the Custom 11i SQL or PL/SQL Package code to reflect the R12 Payment tables 11i Tables Comments R12 Tables AP_INV_SELECTION_CRITERIA_ALL PO_VENDORS PO_VENDOR_SITES AP_SELECTED_INVOICE_CHECKS AP_SELECTED_INVOICES_ALL No Change Changed Changed Obsolete No Change AP_INV_SELECTION_CRITERIA_ALL AP_SUPPLIERS AP_SUPPLIER_SITES_ALL IBY_DOCS_PAYABLE_ALL AP_SELECTED_INVOICES_ALL IBY_PAY_SERVICE_REQUESTS IBY_PAYMENTS_ALL  Change the program to pick up all the selected invoices with Payment Batch Status = “Formatting”  Run the Custom program to format the file as required COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 32 of 35 .

it is only used to select invoices. Therefore. The Payment batch status of all the batches should be either “Confirmed” or “Canceled. In R12. Do not try to over-write the Standard tag information using the Extension. Branches and Bank Accounts are now Parties.” Cleanup Bank. and Bank Accounts in 11i prior to the upgrade. In 11i. while limiting the need for additional patches. make sure to cancel all payment batches in 11i before upgrading to R12. Payee. Make sure to print the XML RTF template for Check Stocks. Instead. create a small shell script to FTP the file  Update the status of the Payment batch to “Formatted” after the file has been successfully FTP to the Third-Party system  Confirm the Payment Batch Note: This is a Non-Standard way of creating a Payment File. the following points could speed up configuration and save an organization lost productivity caused by rework. Lessons Learned During the R12 upgrade process. In R12.           First and foremost.” The Location Code used in 11i for Legal Entity MUST have a valid Location Address.” It contains a unique sequence “Payment Instruction ID. Branches. the “Check Number” tag does not contain the “Check Number.” The R12 Upgrade is dependent on this. COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 33 of 35 . care must be taken to find the “Check Number“ from the “Payment Instruction ID” and update the corresponding table when the EDI acknowledgement file is received from the bank. any customization in terms of reporting using the Pay Group is difficult to achieve. in particular “Country. Bank. It is advised to unmask the Bank Account Numbers for initial configuration and setups. and other invoice information.” Thus. Do not underestimate EDI Payments using XML tags. The only way to repair this is to apply additional patches. If this step is not done. Make sure the NULL country codes for Banks are updated with a Country code. the upgrade process makes some of the banks redundant if it is setup by currency in 11i. and in particular for the Payments. during the R12 upgrade the Banks country code will default to “United States. If the formatted file needs to be FTP to the Third-Party software. because the Banks. “Pay Group” plays a very important role in Payment Batch process. When a Payment Batch is created in R12 using the XML tag. the role of “Pay Group” is very limited. end-toend testing is essential. Since this is relatively new in R12. try to configure correctly so that the tag’s information gets populated during Payment Batch creation. The Oracle Standard XML Tag is very detailed and exhaustive. The “Pay Group” is NOT saved in any R12 payment table. Oracle has incorporated almost every minute detail of Payer. The Bank Accounts and other default configuration will be incomplete if this step is missed.

HZ_LOCATIONS HZ_PARTIES. HZ_ORG_CONTACTS. IBY_PMT_INSTR_USES_ALL.IBY_PAYMENTS_ ALL. AP_CHECKS_ALL. HZ_CONTACT_POINTS.No Process/Setup AP_SUPPLIERS.CE_BANK_BRANCHES_V IBY_EXTERNAL_PAYEES_ALL. CE_GL_ACCOUNTS_CCID. AP_CHECKS_ALL. AP_SELECTED_INVOICES_ALL. IBY_EXT_BANK_ACCOUNTS. S. IBY_PAY_SERVICE_REQUESTS. HZ_ORGANIZATION_PROFILES. CE_BANK_ACCOUNT_USES_ALL CE_PAYMENT_DOCUMENTS. HZ_ORGANIZATION_PROFILES. IBY_DOCUMENTS_B IBY_FORMATS_B. HZ_PARTY_SITES. AP_PAYMENT_SCHEDULES_ALL. CE_BANKS_V.11i vs. HZ_ORG_CONTACT_ROLES. IBY_PAY_INSTRUCTIONS_ALL COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 34 of 35 . AP_SELECTED_CHECKS_ALL Yes IBY_DOCS_PAYABLE_ALL IBY_DOCS_PAYABLE_ALL. CE_BANK_ACCOUNTS. HZ_RELATIONSHIPS.No Process/Setup Oracle 11i Tables Change (Yes/No) R12 Tables Setups 1 Supplier Workbench PO_VENDORS Yes 2 Supplier Sites PO_VENOR_SITES_ALL Yes 3 Banks and Branches AP_BANK_BRANCHES Yes 4 Internal Bank Accounts AP_BANK_ACCOUNTS_ALL Yes 7 Supplier Bank Accounts AP_BANK_ACCOUNTS_ALL. IBY_FORMATS_TL IBY_PAYMENT_METHODS_TL Payments 1 2 Quick /Manual Check Payment Batch AP_INV_SELECTION_CRITERIA_ALL. AP_BANK_ACCOUNT_USES_ALL Yes 8 9 Check Stocks Check Formats Payment Methods AP_CHECK_STOCKS_ALL AP_CHECK_FORMATS LOOKUP TABLE Yes Yes Yes Oracle 11i Change Oracle R12 (What is the (Yes/No) change) 10 S. HZ_PARTIES AP_SUPPLIER_SITES_ALL. HZ_RELATIONSHIPS. Below is a summary of some of the key configuration tables for 11i and R12. R12 Payments: Table Level Comparison We have also noted that many of the 11i Payment tables have changed in R12. HZ_RELATIONSHIP_TYPES. AP_PAYMENT_SCHEDULES_ALL Yes AP_INV_SELECTION_CRITERIA_ALL.

COLLABORATE 13 – OAUG Forum Copyright ©2013 Bechtel Corporation Page 35 of 35 . It would be in the best interest of any organization to spend once some quality time in the development of these customizations/templates and protect them against future patch applications. it is not easy to navigate customization changes. even though Oracle has standardized the XML Tags and RTF templates.Conclusion We have observed that Oracle Release 12 Payments has many benefits in terms of consolidation and integration. The configuration has changed drastically. the experience of Oracle Payments in Release 12 with regards to configuration and Payment processing is very promising and is in the right direction of growth. and upgrades. with added features for better control and efficiency. That being said. migrations. Overall. The use of Extensions to achieve further customization has enriched the development experience altogether.