Escolar Documentos
Profissional Documentos
Cultura Documentos
Oracle Payments
By
Kondaiah Mandadi (kondaiah.mandadi@oracle.com)
&
Anil Kumar Sarada (Anilkumar.sarada@oracle.com)
Change Record
Oracle supports many Open Interface Programs for importing data from any third party systems. For importing
bank account information Oracle provides interface programs named ‘Customer Interface’ for importing Customer
bank accounts and ‘Supplier Open Interface/Supplier site interface ’ for importing Supplier bank accounts.
This document helps in understanding the process of importing the external bank accounts data for customers or
suppliers.
2. Current Process
The process of importing supplier’s data has been documented in the Payables Reference Guide R12. For further
details on the supplier’s data, please refer to the Payables Reference Guide.
The process of importing customer’s data has been documented in Oracle Trading Community Architecture
Reference Guide and Oracle Trading Community Architecture User Guide.
An import program is a program that is written to convert data from a third party system into a standard data format
that Interface program can read and load in to Oracle eBusiness suite. Once the import data is loaded into the
interface tables, run the Oracle Interface programs to validate the data and insert in to Oracle tables.
The type of feeder program (program that loads the data in to interface tables) depends on the environment from
which the data is imported. For example, use SQL*Loader, SQL*Report, PL/SQL, or C to write an import program
to import data from a non-Oracle system
3. Importing Supplier bank accounts
The data to be imported is to be inserted in the interface tables first. After inserting the data in the interface tables,
the ‘Supplier Open Interface Import’ program is run for inserting the data in the R12 tables.
An important point to be noted with regard to the supplier bank accounts – the bank accounts data related to the
suppliers can only be imported along with the supplier or supplier site. The bank account details cannot be
imported individually. After creating the supplier or supplier site, the bank account can only be added from the
user interface.
The supplier bank accounts can be assigned at the Supplier or Supplier Site or Address or Address Operating Unit
level from the user interface. The import program supports assigning Supplier bank accounts at Supplier or at
Supplier Site level only.
The main interface tables used for importing Suppliers, Supplier sites and Bank accounts data are as follows -
AP_SUPPLIERS_INT
IBY_TEMP_EXT_BANK_ACCTS.
AP_SUPPLIER_SITES_INT
Please refer to the Oracle Payables Reference guide
(http://download.oracle.com/docs/cd/B40089_05/current/acrobat/120aprg.pdf) for further details on the tables.
The detailed steps for each of the scenarios have been mentioned below.
3.1. Prerequisite
Cash management owns the setting up of Bank and Branch details. While importing the external bank
accounts data, the Bank and Branch details should have been imported in the relevant tables.
Please refer to the Cash management’s white paper on Public APIs for further details
3.2. Importing the bank account at Supplier level along with Supplier data
Please follow the below mentioned steps for importing the bank account at supplier level.
Step 1 –
Insert the Suppliers data in the interface table AP_SUPPLIERS_INT.
Step 2 –
While inserting the data in the table AP_SUPPLIERS_INT, the data in the column
VENDOR_INTERFACE_ID should be generated sequentially. This is the unique identifier for
records in this table
Step 3 –
The bank account details should be inserted in the interface table
IBY_TEMP_EXT_BANK_ACCTS
Step 4 –
While inserting the data in the table IBY_TEMP_EXT_BANK_ACCTS, as the bank account data
is being assigned at supplier level, the column
IBY_TEMP_EXT_BANK_ACCTS.CALLING_APP_UNIQUE_APP_REF1 should be updated
with the value from its corresponding suppliers
AP_SUPPLIERS_INT.VENDOR_INTERFACE_ID
Step 5 –
While inserting the data in IBY_TEMP_EXT_BANK_ACCTS and AP_SUPPLIERS_INT, the
value for the column ‘Status’ should be updated as ‘NEW’ (case sensitive) in both the tables.
Step 6 –
Navigate to the Payables >> Other: Requests >> Run -‘Submit Request’. The following screen
is displayed.
Step 7 –
Select ‘Single Request’ and select ‘OK’ button.
Figure 2 View of the program parameters screen.
Step 8 –
In the request name, search and select the program with name ‘Supplier Open Interface
Step 9 –
Navigate to the parameters LOV and select the options based on the imported data.
Figure 3- View of the parameters LOV.
Step 10 –
Parameters: Batch size indicates the number of records to be imported in one import program.
The default value is 1000 and can be modified.
Step 11 –
Parameters: Print exceptions only indicate whether the log file should contain only the exception
details. Default value is ‘No’ and can be modified to ‘Yes’.
Step 12 –
Parameters: Debug switch indicate whether the log file should contain the debug details. Default
value is ‘No’ and can be modified to ‘Yes’.
Step 13 –
Parameters: Trace switch indicate whether the trace file of the program should be generated.
Default value is ‘No’ and can be modified to ‘Yes’.
Step 14 –
Import options LOV: Default value is ‘All’. If the program is to import only the records with the
status ‘New’, select the option ‘New’. If the program is run to import only the rejected
transactions of the earlier run, select the option ‘Rejected’. If the request program is to import all
the records in the table, select the option ‘All’.
Figure 4- View of the parameters – Import options
Step 15 –
Select ‘Submit’ button.
Step 16 –
The program ‘Supplier Open Interface Import’ automatically calls the ‘Create external bank
account’ (IBY_EXT_BANKACCT_PUB.CREATE_EXT_BANK_ACCT) program and imports
the bank accounts data related to the supplier.
On successful import of the records the column ‘Status’ will be updated from ‘NEW’ to
‘PROCESSED’. If a record is not imported due to any error, the field will be updated as
‘REJECTED’.
Step 17 –
To track the status of the request program, navigate to the ‘View requests’ screen.
Figure 5 - View of the Requests status screen
Step 18 –
When the Phase column shows ‘Completed’ and the status column shows ‘Normal’, select the
‘View Output’ button to know the number of records that have been imported.
Figure 6 -Requests screen showing the phase as ‘Completed’ and status as
‘Normal’.
Step 19 –
Select the ‘View Log’ button to go through the error messages if any.
After Successful import of Supplier/Supplier Site with the bank account details, following IBY Tables are
being populated.
IBY_EXT_BANK_ACCOUNTS: A record is inserted in this table with the bank account details
provided in IBY_TEMP_EXT_BANK_ACCTS.
IBY_PMT_INSTR_USES_ALL: For every external bank account created, a record is inserted in this
table. This table also holds relationship between External Payee and External Bank Account
Note:
2) While importing the bank account along with the supplier, if there is some error in the bank account
details, the supplier data will only be created without the bank details.
3) Bank account can be created without bank and branch details if the bank is not used for making
international payments. In other words bank account will be created without the bank and branch if
Bank_id and Branch_id is not inserted in IBY_TEMP_EXT_BANK_ACCTS table and
FOREIGN_PAYMENT_USE_FLAG is ‘No’.
3.3. Importing the bank account at site level along with Supplier and Supplier site
While importing the bank details for a supplier site, there are two scenarios –
a) Importing bank account at site along with supplier and site details.
b) Importing bank account along with supplier site for an existing Supplier.
3.3.1. Importing Bank account at site along with supplier and site details.
The additional interface table for storing the supplier sites data is AP_SUPPLIER_SITES_INT.
Step 1 –
Insert the data in the AP_SUPPLIERS_INT and AP_SUPPLIER_SITES_INT.
Step 2 –
While inserting the data in the table AP_SUPPLIERS_INT, the data in the column
VENDOR_INTERFACE_ID should be generated sequentially. This is the unique
identifier for records in this table
Step 3 –
While inserting data in the table AP_SUPPLIER_SITES_INT, the column
AP_SUPPLIER_SITES_INT.VENDOR_INTERFACE_ID should be filled in with the
respective suppliers record value of the
AP_SUPPLIER_INT.VENDOR_INTERFACE_ID
Step 4 –
Insert the bank account details in the interface table IBY_TEMP_EXT_BANK_ACCTS.
Step 5 –
As the bank account data is being assigned at supplier site level, while inserting the data
in the table IBY_TEMP_EXT_BANK_ACCTS, the column
IBY_TEMP_EXT_BANK_ACCTS.CALLING_APP_UNIQUE_APP_REF2 should be
updated with AP_SUPPLIER_SITES_INT.VENDOR_SITE_INTERFACE_ID.
Step 6 –
While inserting the data in AP_SUPPLIERS_INT, AP_SUPPLIER_ SITES_INT and
IBY_TEMP_EXT_BANK_ACCTS, the value for the column ‘Status’ should be updated
as ‘NEW’.
Step 7 –
Navigate to the Payables >> Other: Requests >> Run -‘Submit Request’ screen and run
the program with name ‘Supplier Open Interface Import’.
The other steps to run the ‘Supplier Open Interface Import’ are same as explained for importing
Bank accounts details at supplier level.
3.3.2. Importing bank account along with supplier site for an existing Supplier
The interface table for storing the supplier sites data is AP_SUPPLIER_SITES_INT and the bank
account data is
IBY_TEMP_EXT_BANK_ACCTS.
Step 1 –
Insert the data in the AP_SUPPLIER_SITES_INT.
Step 2 –
While inserting the data in the AP_SUPPLIER_SITES_INT, the column VENDOR_ID
should be updated with the respective supplier for which the supplier site is being
created.
The column VENDOR_ID is used to link the supplier with the respective Supplier site
details.
Step 3 –
The bank account details should be inserted in the interface table
IBY_TEMP_EXT_BANK_ACCTS.
Step 4 –
As the bank account data is being assigned at supplier site level, while inserting the data
in the IBY_TEMP_EXT_BANK_ACCTS the column
‘CALLING_APP_UNIQUE_APP_REF2’ should be updated with the respective
VENDOR_SITE_INTERFACE_ID.
The field AP_SUPPLIER_ SITES_INT is used to link the supplier site with the
respective bank account details.
Step 5 –
While inserting the data in AP_SUPPLIER_ SITES_INT and
IBY_TEMP_EXT_BANK_ACCTS, the value for the column ‘Status’ should be updated
as ‘NEW’.
Step 6 –
Navigate to the Payables >> Other: Requests >> Run -‘Submit Request’ screen and run
the program with name ‘Supplier Sites Open Interface Import’.
The other steps to run the ‘Supplier Open Interface Import’ are same as explained for importing Bank
accounts details at supplier level.
External bank account can be imported for Employee type suppliers while importing the supplier
data for the employee.
Prerequisite
Employee record should have been created in the HR.
The interface tables for storing the supplier, supplier site and the bank account details remain the
same - AP_SUPPLIER_SITES_INT, AP_SUPPLIER_SITES_INT and
IBY_TEMP_EXT_BANK_ACCTS respectively.
Step 1 –
Insert the data in the AP_SUPPLIERS_INT.
Step 2 –
As the data is inserted for an employee type of supplier, the
AP_SUPPLIER_INT.EMPLOYEE_ID should be updated with employee Id and
VENDOR_TYPE_LOOKUP_CODE should be updated as ‘EMPLOYEE’.
Step 3 –
Insert the data in the AP_SUPPLIER_SITES_INT.
Step 4 –
As the data is imported for an employee type supplier, the
AP_SUPPLIER_SITES_INT.VENDOR_SITE_CODE should be updated as ‘HOME’ or
‘OFFICE’ or ‘PROVISIONAL’ (please note that values are case sensitive and should be
given in capitals).
Step 5 –
Insert the bank account details in the interface table IBY_TEMP_EXT_BANK_ACCTS.
Step 6 –
As the bank account data is being assigned at supplier site level, while inserting the data
in the table IBY_TEMP_EXT_BANK_ACCTS, the column
IBY_TEMP_EXT_BANK_ACCTS.CALLING_APP_UNIQUE_APP_REF2 should be
updated with AP_SUPPLIER_SITES_INT.VENDOR_SITE_INTERFACE_ID.
Step 7 –
Navigate to the Payables >> Other: Requests >> Run -‘Submit Request’ screen and run
the program with name ‘Supplier Open Interface Import’.
The other steps to run the ‘Supplier Open Interface Import’ are same as explained for importing Bank
accounts details at supplier level.
4. Process of importing Customer banks
The bank accounts for customers can be imported at customer account level or customer site level or for the
existing customers.
After inserting the data in the customer interface tables, the ‘Customer Interface’ program should be submitted for
inserting the data in the Oracle base tables.
The Customer Interface program validates the data that is loaded in Customer Interface tables by ensuring that the
columns in the interface tables reference the appropriate values and columns in the rest of the system.
Using the Customer interface program, the bank accounts can be imported for the new customers and sites as well
as customers and customer sites existing in the system.
The main interface tables used for importing Customer accounts, Sites, Profiles and Bank accounts data are as
follows -
RA_CUSTOMERS_INTERFACE_ALL
RA_CUSTOMER_BANKS_INTERFACE
RA_CUSTOMER_PROFILES_INT_ALL
RA_CUST_PAY_METHOD_INTERFACE
RA_CONTACT_PHONES_INTERFACE
The detailed steps for each of the scenarios have been mentioned below.
4.1. Importing bank account at Customer account level along with Customer account
To import customer bank account information for new customers that are getting created by using
customer interface program, party information, party customer account, profile and site information should
be successfully imported first before bank account information is inserted.
Please follow the below mentioned steps for importing the bank account at customer account level for a
new customer.
Step 1 –
Insert the Customer data in the interface table - RA_CUSTOMERS_INTERFACE_ALL
Step 2 –
While inserting the data in the table RA_CUSTOMERS_INTERFACE_ALL, the data in the column
RA_CUSTOMERS_INTERFACE_ALL.ORIG_SYSTEM_CUSTOMER_REF should be inserted
with a value that uniquely identifies the customer in the original system. This column forms part of
primary key.
The column, RA_CUSTOMERS_INTERFACE_ALL.ORIG_SYSTEM_CUSTOMER_REF is used
to link the customer with the respective profile and bank account details.
Note: The data in the table RA_CUSTOMERS_INTERFACE_ALL is used to import customer and
customer sites as well. As the site is not being created now, the data need not be provided for the
address columns like Original system address reference, City, Country, Postal code, etc.
Step 3 –
Insert the Customer bank account data in the interface table -
RA_CUSTOMER_BANKS_INTERFACE
Step 4 –
While inserting the data in the table RA_CUSTOMER_BANKS_INTERFACE, as the bank
account is to be assigned at customer account level, the column
RA_CUSTOMER_BANKS_INTERFACE. ORIG_SYSTEM_CUSTOMER_REF should be
updated with the value from its corresponding customers interface
RA_CUSTOMERS_INTERFACE_ALL.ORIG_SYSTEM_CUSTOMER_REF.
Step 5 –
Navigate to the Receivables >> Control: Requests >> Run. The following screen is displayed.
Step 7 –
In the request name, search and select the program with name ‘Customer Interface’.
Figure 9 Customer Import – Parameters screen view
Step 8 –
Select ‘yes’ or ‘No’ based on the requirement in the ‘Create Reciprocal Customer Accounts’
Default option will be ‘No’.
Step 9 –
In the parameters screen, the Operating unit field is optional. The LOV displays the operating
units that the user has access to. If the user does not provide any value, the customer accounts
will be automatically created for all the operating units for which the user has the access.
Step 10 –
After selecting the parameters, select ‘OK’ button. User is navigated back to the request
submission screen.
Figure 10 - View of the request submission screen after selecting the program
name and the parameters.
Step 11 –
Select the ‘Submit’ button to start the import program.
Step 12 –
To track the status of the request program, navigate to the ‘View requests’ screen.
Figure 11 - View of the Requests status screen.
Step 13 –
If the Phase column shows ‘Completed’ and the status column shows ‘Normal’, it indicates that
the import process has been completed successfully.
Step 14 –
Select the ‘View Log’ button to go through the error messages if any.
Step 15 –
Select the ‘View Output’ button to go through the number of records that have been successfully
inserted.
If there is an exception while inserting the bank account due to error in bank account data, the customer
account will only be imported without the bank account.
After Successful import of Customer/Customer Site with the bank account details, following IBY Tables
are being populated.
IBY_EXT_BANK_ACCOUNTS: A record is inserted in this table with the bank account details
provided in IBY_TEMP_EXT_BANK_ACCTS.
IBY_PMT_INSTR_USES_ALL: For every external bank account created, a record is inserted in this
table. This table also holds relationship between External Payee and External Bank Account
4.2. Importing bank account at site level along with Customer account and Customer site
Step 1 –
Insert the Customer data in the interface table - RA_CUSTOMERS_INTERFACE_ALL
Step 2 –
As the bank account is imported at site level, the column ORIG_SYSTEM_ADDRESS_REF
should also be inserted for uniquely identifying the address record.
Note:
As the customer site needs to be created, provide the data for the address fields in the
RA_CUSTOMERS_INTERFACE_ALL.
Step 3 –
Insert the Bank details data in the interface table - RA_CUSTOMER_BANKS_INTERFACE
Step 4 –
While inserting the data in the table RA_CUSTOMER_BANKS_INTERFACE, as the bank
account data is being assigned at customer account level, the column
RA_CUSTOMER_BANKS_INTERFACE. ORIG_SYSTEM_ADDRESS_REF should be
updated with the value from its corresponding customers
RA_CUSTOMERS_INTERFACE_ALL. ORIG_SYSTEM_ADDRESS_REF.
The other steps for running the Customer interface program is similar to the steps followed for importing
the bank account at customer account level.
A customer account and site is also created as per the details given and the bank account will be assigned
at the site level.
Bank accounts can be imported for an existing customer. Please follow the below mentioned steps for
importing the bank account for an existing customer.
Step 1 –
Insert the Bank details data in the interface table -
RA_CUSTOMER_BANKS_INTERFACE
Step 2 –
While inserting the data in the RA_CUSTOMER_BANKS_INTERFACE, as the bank
account is imported for an existing customer, the column
RA_CUSTOMER_BANKS_INTERFACE.ORIG_SYSTEM_REFERENCE should be
updated with the HZ_CUST_ACCOUNTS.ORIG_SYSTEM_REFERENCE
The other steps for importing the data remain the same. The ‘Customer Interface’
program is run to import the data.
Step 1 –
Insert the Bank details data in the interface table -
RA_CUSTOMER_BANKS_INTERFACE
Step 2 –
While inserting the data in the RA_CUSTOMER_BANKS_INTERFACE, as the bank
account is imported for an existing customer, the column
RA_CUSTOMER_BANKS_INTERFACE.ORIG_SYSTEM_REFERENCE should be
updated with the HZ_CUST_ACCT_SITES_ALL.ORIG_SYSTEM_REFERENCE
The other steps for importing the data remain the same.
Run the ‘Customer Interface’ program to import the data.
5. Table description
The columns have the following attributes, which help in importing the data.
Required Columns
If you do not enter a valid value in a ‘Required’ field, then the specific record will be rejected during import.
Optional Columns
You can use some columns in the interface tables to import additional invoice information for the invoices created
by Payables Open Interface Import. Payables Open Interface Import imports the data that you load into these
optional columns, provided that the information passes the validation checks during Payables Open Interface
Import.
Internal ID Columns
These columns contain values that Payables uses internally and the user never sees. You can obtain these values
only by looking in Payables tables. These ID columns correspond to other columns in the interface table.
AP_SUPPLIER_SITES_INT holds Supplier Site information that is loaded by the user for import. The columns in
the table map to corresponding columns in the PO_VENDOR_SITES_ALL table. Payables use this information to
create a new Supplier Site record when the Supplier Sites Open Interface Import program is submitted.
Validations
As with defaults, the validations performed by the Suppliers Open Interface Import program are intended to
emulate the processing done by the Supplier Entry form. In addition to checks done at the database level for correct
data types, these validations include checks performed against existing lookup values or values derived from other
tables.
Rejections
If an invalid value is encountered when the concurrent process is evaluating each row, the 'REJECT_CODE'
column is populated with the relevant rejection message and the 'STATUS' is updated to 'REJECTED'. Processing
on that row then stops and the program moves on to the next row.
5.1. Table Description - IBY_TEMP_EXT_BANK_ACCTS