<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content



Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color
Home arrow Technical Articles arrow Financials arrow iProcurement Setups [not BR100]
This website has now moved to http://apps2fusion.com

iProcurement Setups [not BR100] | Print |  E-mail
Written by Anil Passi   
Sunday, 26 November 2006
This is not a comprehensive BR100, but this article will give you an outline of the steps to implement Oracle iProcurement using Punchouts.

I will try to cover as many steps for full cycle iProcurement implementation using Punchouts. This is due to email requests & the comment requests that I received to write something on iProcurement implementation.

What is a punchout?
In your iProcurement homepage, your suppliers can raise requisition to buy items like stationary. By punchout, we integrate iProcurement with Suppliers website. From a users perspective below steps take place:-
1. Buyer logs into iProcurement Homepage
2. Buyer then sees various suppliers for which punchouts are enabled [depending on their security via realm & secured attributes]
3. Buyer clicks on a stationary supplier and browser displays supplier’s website.

4. Buyer selects the items on supplier website and adds them to his cart.
5. Buyer checks out the basket from Suppliers iStore [website]

6. The items selected are brought in as “Shopping Basket in iProcurement”
7. Requisition is created in iProcurement and sent for Approval [can be auto approved].

Typical iProcurement Steps [assuming no encumbrances setup]
a. Create Requisition
b. Approve Requisition
c. Auto-create & auto-approve Purchase Orders for approved requisitions.
d. Send PO XML to Supplier [if approver is setup as trading partner for XML PO]
e. Create receipts for goods [optional depending on setup]
-----Other non iProc steps----
f. Supplier sends Invoice electronically [posts to your XML Gateway electronically]
g. Invoice is Matched, Approved & Paid

Account Generation for iProcurement Requisition
Decide the rules for your account generation. For this you will need to customize “PO Requisition Account Generator”. For details of account generator implementation visit link Account Generation using Workflow .
You may also visit Rebuilding Generated Account in iProcurement 11.5.10 using OA Framework

PO Create Documents Workflow
In iProc you create Requisitions, which then get converted to a Purchase Order using workflow “PO Create Documents”.
In this workflow, you must examine & modify the default values of following attributes[sample defaults values listed below]:-
            Is Automatic Creation Allowed  -- Y
                        Should PO be created from iProc requisition without user intervention.

            Is Automatic Approval Allowed – Y
            Should Contract be used to auto create Doc  Y

            Should non-catalog request be auto sourced from contract  Y

            Is Contract Required on Requisition Line  N

There could be other attributes of your interest, but my implementation involved usage of contracts to create Purchase Orders. We have a blanket contract against each iProc supplier. The values above for those attributes are merely indicative of one scenario.


PO Requisition Approval Workflow
Similarly for workflow “PO Requisition Approval”, assign a default value for attribute
            Send PO Auto-creation to Background N


This means, as soon as a Requisition is approved, the creation of Purchase Order is kicked off [rather than wait for workflow background process]


Charge Account Flexfield Display-Prior to 11.5.10
If you are not on 11.5.10, then you would be using AK Developer.
Prior to 11.5.10, You will modify below AK regions to enable region items POR_CHARGE_ACCT_SEG1...X [depending upon the number of segments in your accounting flexfield.]

You will also set the profile options to relate to those regions for Accounting KFF
POR: Multiple Account Regions: POR_BILLING_MULT_CHARGE_AC_R

Charge Account Flexfield Display-On or after 11.5.10
You can use personalization to decide which segments are visible in Accounting Flexfield in iProc. Hence you no longer have to touch the “AK Developer”

Indicative Profile options for iProcurement [Assuming punchout implemented & no local hosting of catalogs]




Indicate Attachments


Show attachment icon

INV: Dynamic Precision Option



PO: Terms and Conditions File Name

No need for Punchouts


MO:  Operating Unit

Your operating Unit


ICX:  Days Needed By

4 --Change as you  desire


ICX:  Override Location Flag



ICX:  Override Requestor

By All


ICX: Allow Funds Override



POR:  Amount Based Services Line Type



POR:  Approved Pricing Only



POR : CA Certificate File Name

In ApacheTop/conf/ssl.crt/ca-bundle.crt

Used for https punchout

POR: Emergency Requisitions Restrict To Templates



POR:  Goods Line Type



POR: Override Supplier P-card



POR:  Parallel Routing Allowed



POR : Proxy Server Name


Leave this blank

POR : Proxy Server Port


Leave this blank

POR:  Rate Based Services Line Type

Service Quantity


POR: Sort By Relevance



POR:  System Approvers Are Mandatory



POR:  Use Sequence for Requisition Numbering



POR: Catalog Bulk Load Directory


Ignore for punchout

POR: Catalog Bulk Load Host


Ignore for punchout

POR:  Default Currency Conversion Rate Type


Change as you wish

POR:  Edit Accounts Regions



POR:  Enable Requisition Line Customisation



POR: Extract BPA/Quote Images



POR: Help Path


For help customisations

POR:  Hosted Images Directory


Ignore for punchout

POR: Items Display Num



POR:  Load Auto Category



POR:  Multiple Accounts Region


 Prior to 11.5.10

POR:  One Time Location



POR: Purge Commit Size



POR:Purge Jobs Older Than (days)






POR:  Result Set Size



POR:  SSP Version



POR:  SSP4 Installed



POR: Select Internal Requisition for Confirm Receipt



POR:  Select Inventory Replenishment Lines for Confirm Receipt



POR:Allow Manual Selection of Source



POR:Display Search Box and Browse Categories



POR:  Load Auto Attrib



POR:  Load Auto Root



ECE: Output File Path



ECX: Log File Path





Your company domain

ECX: Server Time Zone



ECX: System Administrator Email Address



ECX: XSLT File Path



PO:  Workflow Processing Mode



RCV:  Processing Mode



PO: In File Path

No need for Punchouts




Define Approval Groups
Define Approval Groups [In Purchasing super User]
For example, assuming the below approval groups is assigned to Buyer named Anil Passi, this approval group means that Anil Passi can work on documents upto  $5000, within all accounting range of Company and Cost Centre [because 00 to ZZ covers everything].
Similarly you may also exclude a range. In this implementation example, I am assuming one Approval Group per person. You could have one to many relation too.

Once you have defined Approval Groups, you can  use Approval Assignments screen to assign approval rules to Positions or Jobs defined in HRMS.

Assign Approval Group
Effectively in this screen, you give ability to your buyers to Approve different document types like Requisitions, Blankets, Contracts within the restrictions as they were defined in Approval Groups(prior step)


Define Document Types
The different attributes are self explanatory. Refer to Metalink for details.
The example in screenshot displays Document type for Purchase order, but the setup must be configured for other Document Types being used too.


Define Line Types

You can define the default information for a line type. Line types can identify transactions involving goods, services, outside processing, or any line type you define. They allow you to distinguish between quantity-based and amount-based transactions.


Note: When you have set the Line Types up you can go back and complete these  Profiles Options, as in screenshot  below:


Define Financial Options
In this screen, some of the fields are used for defaulting and some other fields for defining the behaviour of iProcurement/Purchasing. The setup here is done per Operating Unit. Here within Accounting Tab, you specify accounts like Liability, Prepayment, Discount accounts.
Also Specify the following here
  - Whether supplier numbering is manual or automatic.
  - Default payment terms for [say  1month], and default payment type like Electronic.
  -Specify FOB, Default inventory location and ship to and bill to, freight etc
  -Encumbrance :- specify whether you use encumbrance and the type
  - Default tax code
  -VAT registration number of Operating unit

Define Purchasing Options
Again, this screen is defined per Operating unit, and it drives defaults & various controls in Purchasing & iProcurement.
Specify various controls like Min release amount , Price Break Type, Price Type(say fixed).
Define Accrual rules and Expense AP accrual account.
Define price tolerance rules, tax defaults & document type numbering.

Define Receiving Options
Various receipts related setup per Operating Unit, like Tolerance, Substitute Receipt Allowed.

Define transaction reasons
Your client specific setup, refer Metalink. Primarily this is an inventory function.

Define locations
The locations/Office Address where your suppliers will deliver goods and also send invoices.

Define Employees         
Use this screen in PO if you do not have full HRMS Suite installed, in which case you would be using shared HR installed [cutdown version of HRMS to support Purchasing].

Define Buyers
Define the people that can use Application to create and approve documents.

Category Search Display
Not needed for punchout implementations.


“XML Gateway” responsibility: Define Hubs
Use this form to define the hubs via which XML documents will be sent & received. If you are using Exchange for punching out, then your setup will look like below



XML Gateway Responsibility: Define Transactions

Here you indicate, the type of Documents you wish to exchange with your suppliers using XML



XML Gateway Responsibility: Define Trading Partner
In this screen you will create a record for each Supplier with whom you wish to exchange XML Documents electronically.
For example, if you wish to send XML Purchase Orders to “Go 4 Gold Management Ltd”, then you will create an entry similar to below. The connection can either be direct or via exchange server.

You will also capture trading party’s DUNS numbers in this screen.
During the implementations you usually use testexchange.oracle.com.
The DUNS number for the supplier also needs to be entered in the EDI Location field against supplier site in Vendor Definition Screen.

The DUNS number for your implementation client needs to be entered in the EDI Location field on Other Details section of Location form for Client location[lets say your client for which iProc is being implemented is “XX Machine Inc”].

Process PO 007 is an OAG standard that dictates the structure of XML document which your supplier will receive.

For those that do not know, PO007 is nothing but an Approved Purchase Order sent to the supplier. Its format is XML.
To see its structure, on your middle tier, review the dtd file as listed below. $PO_TOP/xml/oag71/003_process_po_007.dtd

Oracle Apps uses XML Gateway to generate the PO-007 file.

How is this PO 007 file generated?
FTP the xgm file to you PC from $PO_TOP/patch/115/xml/US/process_po_007.xgm

Open that file in XML Gateway Message designer
You will notice that message designer reads information from views like  ITG_PO_HEADER_ARCH_V  [Prior to 11.5.10 it was PO_ECX_HEADER_ARCH_V]
iProcurement uses the XML Gateway engine in conjunction with PO-007 message definition to generate PO007 XML document.

Configure your Exchange setup
Given that in this setup, we will use Oracle’s exchange server to send PO Documents to supplier, hence we need to enable this Document Type[PO 007] in exchange[for the company implementing iProc]

Logon to exchange.oracle.com or the testexchange
Navigate to Application Setup tab/ Transaction Delivery
Select the document type PROCESS_PO_007 and edit
Set the communication method and click Apply

Your Supplier will have to register on Oracle Exchange Server too.
To begin with, during implementation, each  supplier must register themselves on http://testexchange.oracle.com
Your supplier does the below:-
Clicks on Registration on testexchange, and selects the option to register as an affiliate of your client.
Say your client is “XX Machine Inc”, hence your supplier will search & select “XX Machine Inc”. Supplier will be prompted to enter further details.
Following this, your client will have to approve the request for Supplier’s registration.
Supplier Enables PROCESS_PO_007 for themselves on the Exchange
The sequence of flow for PO 007 in this case is…
XX Machine Inc-->PO 007-->Exchange server-->Supplier

Hence Supplier needs to enable “PO 007” for themselves on the exchange server
For this your Supplier does the below steps:-
Login to the testexchange (i.e. exchange.oracle.com  after testing during goLive).
Clicks on Transaction Delivery under Company Administration
Selects Sales Order Outbound (PROCESS_PO_007) [going out  from Exchange, becoming sales order in Suppliers System]
Under transaction type they select delivery method HTTPS etc
They specify their URL on server which where exchange will post the PO 007 XML doc.... https://inboundpo...
They also need to specify other connection details to their server like port number, userid password etc.
Exchange server will use those credentials to connect  and post the XML PO Document[PO 007]

Note: Oracle Exchange supports various protocols like http,https,smtp . The supplier selects a protocol based on the protocols their server supports.

Supplier Enables themselves for PunchOut on the Exchange Server

Oracle supports both cXML ad XML punchouts. Hence the supplier must support one of these two options.
Supplier does the following steps to enable punchouts:-
Logs in to TestExchange Server or the Exchange Server
Clicks on “setup punchout”
Enters their punchout URL, userid password for their iStore.
Select XML or cXML and then clicks on APPLY.
Supplier can then test whether their punchout setup works by punching out to their iStore from testexchange/exchange.

”XX Machine Inc” reviews suppliers Punchout
Client “XX Machine Inc” logs into testexchange or exchange server, and navigates to “Control Punchout Access” and accepts Suppliers Punchout definition.

”XX Machine Inc” makes Oracle EBS aware of the Punchout setup
It is possible that with some suppliers, you would like to Punchout to their iStores via exchange, and for the other suppliers you may like to punchout directly to their iStore.
I am detailing both the scenario’s below.

Scenario 1 Use the Supplier punchout definition from Exchange
Navigate to Internet iProcurement Catalog Administrator.



As in picture above, by downloading[click on download], you will bring into Oracle, all the Punchout Suppliers that are enabled for your business in exchange.

Scenario 2 Create Supplier punchout definition directly in Oracle Apps eCatalog Mgr

If  you were not to be using Exchange, then you will have to create the Punchout definition from scratch in Oracle Apps itself.
For this, click on “Manage Content” in responsibility “Internet iProcurement Catalog Administrator”
Click on create catalog


Select Punchout catalog and click on continue

As in picture above, we select Supplier and Direct Punchout.
Given that you are creating Punchout definition of the supplier from scratch straight in Oracle Apps, you then need to enter information in below fields like Punchout URL, Encoding Method, password etc.

NOTE: As you may have noticed, effectively we are trying to create a punchout definition in Oracle Apps…either by downloading the Supplier’s punchout definition from exchange or by directly creating the Punchout definition in Oracle Apps.

Display the punchout site on iProcurement Homepage
This will be the last step. You need to define a store that is attached to the punchout catalog definition.

For this Click on create store in responsibility “Internet iProcurement Catalog Administrator”


This finishes the punch-out setup with your Supplier.

Further notes:-
1. Your suppliers punchout basket may contain items with UOMs that are not defined in Oracle Apps inventory module. In this case, you must navigate to responsibility “eCommerce Gateway” and define those mappings using menu “Code Conversion Values”
2. As per the OAG format, the item category used in punchout baskets is 8 digit UNSPSC code. Effectively UNSPSC code is a global code for item categories. However in Oracle EBS, we implement Item Categories using Key FlexField for Item Categories. For a 3 segment Item category flexfield in inventory, your item category may look like AA.BB.CC. This value of AA.BB.CC must be mapped with the UNSPSC codes that your suppliers will be sending for their item categories. This definition is mapped in the same screen under “eCommerce Gateway”.

Comments (30)add
written by Janel , January 08, 2007
Extremely better than the Oracle documentation!
written by Ramesh, India , January 09, 2007
Hi Anil,
This is excellent documnet... Hat off to you for your efforts.

written by Siva , February 23, 2007
Hi Anil,
the document is very good and useful.
written by Anil Passi , February 24, 2007
Thanks Siva !
written by Anil Passi , February 27, 2007
Hi Santosh

Thanks for your kind words.

Not sure where you are based? I occassionally meetup with my ex-colleagues that are Oracle Consultants working on different projects. If you are based around London, will give you a shout.

written by Santosh Desai , February 27, 2007
Hi Anil,

Excellent article , I had been looking for such a detailed explanation for a long time. My interests into Oracle all started with i procurement training to superuser and then moving on to understand other Oralce modules.
I have gone through the article today more than 3 times and everytime i read it , i feel im catching important features one at a time, which is quite obvious for a beginner like me.

Hope to meet you some time in the future for you excellent article:-)
Santosh Desai
written by Praveen Challa , March 05, 2007
Awesome Anil. Nice article for iprocurement implementation. I came across this site while browsing on google. The content and the effort which has gone into making this site really amazes me. Great Job!!! I recommend this site to all my collegues.
written by Prativa , March 06, 2007
Hi Anil, We have Purchasing setup, I have to impliment i-procurement.I found this as a very good document. Could you please provide more step by step instructions. We need to have both catalog and non catalogs.

Thanks and regards,
written by Jabs , March 20, 2007
Hi anil, I am a newbee to oracle apps and i have joined an organisation recently and in the project assigned i have to enable iprocurement module in the application where financials and purchasing is already running? can u give me the steps how can i do that? and do i have to apply any patches for that? i will be very grateful to you anil.
thanks and regards
written by Anurag Bhatt , April 30, 2007
I am trying to play around with Oracle Apps Vision Instance. I defined a new business Group which is an Operating Unit also and new responsibility.Define HR:Security level, Hr:Business Group etc. Under Purchasing responsibility, I am not able to define Purchasing Parameters as It is not allowing update. Under Document Type window, I see only Quotation & RFQ and not PO etc.
Please tell me what else I need to check??
written by Sharon , June 01, 2007
hi Anil,

If you can pls help me out on Advanced Pricing. I want to know if it is possible to invoice the customer with the List price and whatever India Localized taxes are applied are not added up along with the List price. The List price is not the Unit Price but the Selling Price in Order Management. Also i want to enforce price list but discounts should be applicable but this is not working even after setting the profile option OM: Discouting Privelege to Unlimited. Your feedback will be a big help to me

written by Anil Passi , June 15, 2007
Hi Avinash

Did you load the XML Message Map into the database ? You need to do that step for the new message map to take effect.

Anil Passi
written by Aravind , June 15, 2007
Hi Anil,
I am trying to customize the standard PROCESS PO 007 xgm file by adding some more fields to it.I am able to load the map to my custom top but still this is not reflected in the supplier that I set up to use this xgm file rather it uses the standard xgm file.Should I ftp the custom xgm to PO_TOP rather and try to reference it..?
Kindly let me know of any possible solutions..
written by mohd arif ali , July 07, 2007
Hi Anil,
This is the first time I am reading your articles. U had done really a great job.
I may be knowing that can I download ur presentations like audio/video ...


written by Anil Passi , July 07, 2007
Hi Arif,

Thanks for your kind words.
I am afraid , at the moment, the only way to watch these are online

written by sarath kumar , July 13, 2007

Pls forward me the set up steps and set up document ot implementing isupplier module

thanks in advance,
written by jaihind reddy , July 31, 2007
Hi Anil
Really nice doc. My client is implementing punchout with 2 suppliers. Client is asking how to punchout the inventory items. i.e. when we submit the shopping cart in supplier site it directly comes to iPro shopping cart and with e-commerce gateway category mapping but where supplier and inventory item is tied. Is it a standard functionality to procure inventory item through punchout.

written by Anil Passi , July 31, 2007
Hi Jaihind

Been long time now since I worked on iProc.
I think When you punchout, the Supplier Item Item is brought into iProcurement.
At the time of PO Creation, if that Supplier Item Number had ever been associated in invetory_item_id in PO_LINES, then the same inventory item will be defaulted for new line.
So try this
Step 1. Create a PO with Supplier Item Number and a specific Inventory Item
Step 1. Create a relation between supplier item number and inventory_item_id
--Approve PO
Step 2. Create an iProc requisition for the same Supplier and same Suplier item number
Create a PO for that req

Also check for concurrent program "Catalog Data Extract Classifications and Items" and tables icx_por_items,
ICX_CAT_ITEMS_B and ICX_CAT_ITEMS_TLP in documentation

Anil Passi
written by Aamer , August 22, 2007
Very useful information, I was looking for what needs to be done for opening firewall (if oracle exchange is used) - we are intranet based right now, this is the first i-* product dealing with internet. Any thing we need to do for https://
written by Anil Passi , August 23, 2007

Your network team should open the firewall port.
If you are punching out via exchange, then simply open the firewal for exchange.oracle.com

However, in case of direct punchouts, you will have to open firewall ports for machines of each of your punchout suppliers

Anil Passi
written by Pradeep Konduru , October 23, 2007
Client wants to implement iP for non inventory items (expense items). These items are not in their INV at all. Currently they create POs for these items by just filling in the description field in the PO Line. How to create these items then? By using UNSPSC? Please help
Thanks Angle
written by Harish Kumar Sharma , October 27, 2007
Hi Anil,
Excellent. Can I receive the setups and other Ora Apps info at my above email,please sir.

i procurement
written by chinkanlu , November 02, 2007
Hi Anil,
i have a requirement on iprocurement please see the details and suggest me the procedure to follow.
a)Update iprocurement tables from EBS extract (All item types)
b)Update iprocurement category Mapping & catalogue Content
i am summaririzing the requirement , customer is changing the category structure (from 5 segments to 4 segments) due to which there will be change in categorys and other related stuff.

so at present they want to update the itemtypes in R12 based on the EBS(11i), so how to go ahead is there any seperate concurrent program or directly we need to update the base tables(if so) please mention the tables which have to be updated, similarly i need the explanation for question b).

it would be of great help if you can reply me as soon as possible,

written by Deva , November 06, 2007
Hi Anil,

The detailed I-proc setup is very useful for a beginner like me and I am in need of a sample i-Proc BR100 Document for reference.

I would greatly appreciate if you can share them.

Changes made to cXML_OrderRequest.xgm not getting reflected
written by MSAMTD , December 07, 2007

If anybody can help me in figuring out the below issue regarding XML Gateway Message Designer, I'd greatly appreciate it.

Trying to add a addressID in Linelevel of PO XML (cXML_OrderRequest.xgm)

1) copied the Map from the server
2) Opened the Map using Latest Version of Gateway Designer. (
3) Mapped the AddressID at the linelevel
4) Uploaded the Map back to Server by physically placing the file and also through LoadMap command.
5) Verified by making sure that the changes in the map are saved by downloading it and also verifying the timestamp in ECX_MAPPINGS table.
6) Restarted the WF Agent Listener.

7) Went to Autocreate the PO and looked at XML in Workflow / OSN but cannot see the modifications.

Can anybody let me know if I'm missing any steps here.
UOM error
written by vijayku , January 09, 2008
Hi Anil,

I was using Model4 , XML via Oracle Exchange for punchout. I m getting UOM not configured for purchasing error upon return of shopping cart. Are you aware of how to fix this? My data mapping was done right.
written by Anil Passi , January 19, 2008
Hi Vijay

You need to map UNSPSC code of UOM received in basket to your Inventory UOM.

This can be done using XML Gateway responsibility.

Anil Passi
IProcurement technical questions
written by tania , January 25, 2008
Hi Anil,
I regularly watch ur site. The way u present ur articles is really nice. I am new to OA Framework.
My question is what type of extensions or customizations we can do with requisitions in Iproc.
Please help me.

Amazing article
written by venkatakrishnan , March 07, 2008
Absolutely amazing. Very clear in presentation.



Amazing Article......
written by Vijayakumar Kasi , March 19, 2008


Amazing Article.... A Job Well Done.


Kasi, Vijayakumar
You must be logged in to a comment. Please register if you do not have an account yet.