Oracle Incentive Compensation (OIC)

0 0
Read Time:5 Minute, 18 Second

Last year I’ve been working on the Oracle Incentive Compensation (OIC) module (version 11.5.10), the successor of Oracle Sales Compensation.

For those who haven’t heard of the module before, OIC is an Oracle e-Business Suite module by which you can calculate and pay commissions for salespersons based on incoming transactions. The four main processes of OIC are: Collect, Load, Calculate and the last one is the Payment Process. Each process has a simple user interface, with a couple of standard input parameters. 


Normally ....
the transaction data is provided by Oracle Order Management, but it is also possible to define your own source. You can also use Excel sheets for example, but therefore you will have to load them into database tables via SQL Loader for instance. In OIC you can map attributes from different source systems to the OIC attributes.
Besides the automatic delivery of the transactions, transactions could be created manually through the application via the Adjustment screen with the Incentive Compensation Analyst responsibility.

At the outgoing part of OIC you could implement Oracle Payables which is the standard Oracle process flow. And of course an external payment system is possible, but then you will have to create an interface.

To use OIC, you must define Salespersons via the CRM Resource Manager module. Without Salespersons, you’re not able to calculate commissions. Each Salesperson must have the Sales Compensation Type assigned and an active Resource Role. Also the Salesperson has to be assigned to a Resource Group.
There are a couple of standard steps to take in General Ledger like defining a Period Type, Calendar, Currency and a Chart of accounts.

For the Payment process, you have to create an employee by using the Human Resources responsibility. After an employee has been created, you have to assign the Sales Compensation Payment Analyst Type to it, together with the ANALYST, MANAGER or SUPERUSER Role. An employee with the SUPERUSER Role can create a Pay run, with the ANALYST Role you can create Worksheets and also lock and submit them. The MANAGER Role could be used to approve the Worksheets. At the end, the employee with the SUPERUSER Role has to finally pay the Pay run. It is advisable to assign the different Roles to different end-users, so that ANALYST employees are not responsible for the final approval step.

My own experiences

The very strong part of OIC is the flexible way of calculating commissions. Based upon self defined Revenue Classes, Rule sets, multi Dimensional Rate Tables and last but not least the Calculation Formulas, you have the ability to define a very flexible commission structure. With this flexibility you can create a different commission structure for each salesperson.

Another very good point is the salesperson structure. In the CRM Resource Manager responsibility, you can define your own salesperson structure. You can create a parent-child relation between salespersons for example. In that case you can assign Resources Roles to both the salespersons. In that case it is possible that both the salespersons receive a commission when the ‘child salesperson’ sells a product. Whenever the ‘parent salesperson’ sells anything, only the parent receives a commission.

You can make commission structure changes whenever you want, but you have to be careful with that. Some changes could have impact on transactions which are already paid, so those transactions will be reverted and calculated again. Making changes at all times gives you very much flexibility, but again you have to be careful with that.
It is advisable to use start- and end dates of different components in OIC every time you can. When you plan to change components like Dimensions, Rate Tables and Plan Elements for example, it is advisable to create a new component with new start- and end dates if possible.

The reporting functionality in OIC is very limited. That’s why we had to create some additional customized reports during the project. What I really missed in OIC was a report for each transaction process with all the failed transactions. The standard Oracle report shows failed transactions for one Salesperson only.
Another disappointment was the missing copy Rate Table function. We had to create new Rate Tables each month because of the huge amount of changes. Creating them manually each time was absolutely not an option. Because of that we created our own customized copy functionality.

Implementation Considerations

Before starting the OIC implementation, you have to consider a few things. Being flexible in calculating commissions is a good thing, but remember that it takes more time to maintain all the necessary OIC components. Using standard Oracle API’s are useful for setting up the OIC module. Rate Dimensions, Rate Tables, Plan Elements and Compensation Plans are examples of components which can be created with use of these API’s.
The Salesperson structure is also an important thing. You can create all kinds of parent-child relations which give you again al lot of flexibility, but al lot of mistakes could be made by end-users especially with hundreds or maybe thousands of Salespersons.

Release 12

In January 2007 Oracle has put release 12 in the market. In the new release OIC has new responsibilities. A Compensation Administrator responsibility is now available, which has a nice Workbench to create OIC components. In the ‘old’ 11i release you had to switch between multiple screens to setup components. In the Workbench you can see the setup tasks and the status of every task.


The Multi Organization Access Control (MOAC) is a nice new feature in release 12, not only for OIC, but also for other modules. You can access different Operating Units with only one responsibility.
Besides the above new features and the new ‘SWAN’ user interface the OIC process itself hasn’t changed that much.


My overall conclusion is that Oracle Incentive Compensation (11.5.10) is a nice module to implement. It has an easy user interface and because OIC hasn’t many mandatory dependencies, you can quite easily implement this module.
Of course some improvements could be made for example more copy functions for OIC components and some additional reports would be fine.
Release 12 has a total new user interface which really looks great, but besides that the functionality of OIC is basically the same. 


0 %
0 %
0 %
0 %
0 %
0 %

Average Rating

5 Star
4 Star
3 Star
2 Star
1 Star

31 thoughts on “Oracle Incentive Compensation (OIC)

  1. Need a help OIC gurus on a release 12 impl.As per client requirements, need to map some external tables and bring them into OIC.As far as I understood, I need to create a new transaction source type to map the extra tables.Would request some pointers from all of you on how to create a new transaction source.Some actual examples would be of great help.


  2. Hi Feroz,

    Could you give more details on what you meant by OIC 12 with 11i as back office ?

    If you mean having 2 instances (12 for OIC) and 11i (for Order/Onvoice), yes, it can be done.


  3. We are trying to implement OIC Rel. 12 with Siebel 8 as our CRM and Oracle 11i as our back office. Question I have can we implement OIC 12 with 11i as back office. Are there in issues we should be consider?

  4. Hi Satya,

    OIC can be used to calculate thr rebates.

    OIC can interface the rebate amount to AP if the reseller is et up as supplier.

    If you need create Credit memo for the rebate amount and send it back to AR, this will be a customization. I see this is a common requirement.

    Hope this helps.


  5. Hi OIC gurus,
    We are exploring OIC 11.5.10 to fill in for Rebate accrual functionality to compensate reseller customers, based on their quotas and sales achievements. We have tried Oracle Trade Management module, but decided that the functionality there is not robust enough to accomplish what we are trying to do. I know that it is NOT the intended use of OIC, but I was just wondering if anyone used the module to track sales budgets, achievements and paying the rebates etc. We have implemented the entire Distribution suite of applications.

    Thanks in advance for your help!

  6. Hi Bharat,

    Thank’s for your comment. When we implemented OIC (release 11.5.10), we also used staging tables. We didn’t use Oracle Order Management and Receivables either. During the setup of OIC, you have to map these staging tables with the Oracle OIC tables. Besides this approach, it is also possible to create manual transactions, which can sometimes be usefull.

    If you sent me an email, I can give you some documents with some screenprints how to set this up. There are of course other setupsteps needed before you can collect, load, calculate and pay the transactions. I will put screenprints with these setupsteps as well. I have another document with steps from collect till the payment process.

    Please sent your email to

    Kind regards,

    Richard de Boer

  7. Srinivas,

    You can build a program to load quotas from spread sheet or flat file. There are API available to load quota into oracle.

    Let me know if you need more details.


  8. Hi San,

    If you have a need to build a report to get the commission rates for multi dimension rate table table, it can be done. Depending on how the rate tables are set up, we can build a custom report.

    Please contact me at parimi_srini at yahoo if you need help.


  9. Hi Richard, I have been assigned a project for implementing OIC R12i. I have worked with OHR for some time now, but this is the first time I am implementing an OIC.
    The client wants to use Open collections rather than Standard Collection as he does not have Oracle Order managemnt and receiveables. There are 2 staging tables created in OIC which are loaded with data everyday for creation of transactions.
    I wanted to know what is the process that is required to be set to create transactions and how.
    I hear there are 2 batch jobs to be run, 1 for collecting transactions (CN_COMM_LINES_API) and 2nd called TRansfer Interface load (whchi loads data into comminsion lines and commission header)
    I am a little confused as to how to load the order data and ready the system for calculation. Request you to please throw some light on the same as I am not able to get a clear understanding from User guide/implementation guide.
    Thanking in anticipation, Bharat

  10. I am looking for someone who can implement OIC for a major financial services firm in Pennsylvania. This is esentially a BA role. Need a good consultant for at least 4 months. If you know anyone please contact me. The start date is the beginning of May.

  11. Hi Prade,

    There is a note on metalink which explains a way to do that. It is Note:263394.1



  12. Looking at ways by which we can automate collect,load and calculate. Is there anyway by which I can automate these processes so that they can run every night with minimal manual intervention?

  13. We want to Load targets into OIC 11.5.9 in an automated fashion as participant population has grown significantly and we donot want data entry.
    Is there an tool for that. Your response would be highly appreciated


  14. We have assess OIC and found some limitations with the reporting capability. More importantly, we needed a set of analytical tools to give us the ability to be more nimble and to link our incentive spend to actual business result. Oracle is great in providing some accurate calculation of incentive but lack the next level. We have chosen instead Callidus software.
    Regards, Louis

  15. Hi Richard ,

    Thanks for the reply. I did looked at the query in note 430816.1 on metalink . But that explains the rate table only for 1 dimension (correct me if I am wrong) . My requirement is that we have three dimension Country , State , City and a rate is defined for the combination of the 3 of them. I executed the the query however the result were displayed on row basis for each dimension. What I neeed is basically three columns representing Country , State , City and forth column should be the rate. Hope i have explained my issue, any help regarding this would be really great.



  16. Hi San,

    Thanks for your message. Have you already read note 430816.1 on metalink? See the reaction from Srini Parimi from July 25th. This query could be very useful for a simple report. We on the other hand created a report with pl/sql. We had some additional requirements for the layout and used different API’s for that. Let me know if note 430816.1 on metalink is useful for you or if you have other questions about Oracle Incentive Compensation.



  17. Hi ,

    I am in need of the a SQL to list the Dimentional Rate Table . The requriement is that we have Three dimentions Country , State , City and I need the list of all the items, if I choose/pass the one of the dimention. Eg. Show all the items dimension country has a value of ‘US’.

    Any help will be appreciate . I have tried to study the API CN_FORMULA_COMMON_PKG.GET_RATES but its to complicated for this simple report.


  18. Hi Salma,

    Could you please give details on what you looking for? If you give some details on the compensation model you have, I may be able to help.

    You can email me at also.


  19. Dear Sir/ Madam,

    I have gone through your web page, but could not find any answer for my question. The thing that I would like to know is how I could calculate the
    commissions between employees in our company. I also like to say that we are one of the Companies who are in Forex and on-line trading, but could not find
    any solutions for that.. Would you please let me know how I could calculate it?
    I am looking forward to hearing from you soon.

    Thanks and best regards,
    Salma Kazerooni

  20. Hi All!
    I am IT Recruiter for a US Company and I am searching for a Functional Consultant Oracle Incentive Compensation position; this consultant should work at Mexico City for 8 months; fluent english and spanish, release 5.10; the rate is really atractive and I would really appreciate it if you could please reply this message if one of you are interested or maybe can recommend someone. My email is Pleae feel free to contact me. Many thanks!!!

  21. Hi Mark,

    Check the metalink note 430816.1. It has the actual query to get the rate table details.


  22. Richard,
    I think the main problem I have is that I don;t understand the relationships between the tables to be able to duplicate a multi-dimension rate table using calls to the API. Is there an easily available ERD for the relationships?


  23. Richard,
    many thanks for your reply. I’ve seen these APIs in the docs and it’s useful to know how you used them. I’ll start developing in a couple of weeks so I’ll let you know if I have any more questions! Many thanks,

  24. Hi Mark,

    Yes, we created our own copy Rate Table function. We copied all the Rate Tables of a specific selection (in the cursor) and copied the same Rates as that copied Rate Table, because otherwise we had to change all the rates by hand. We used a couple of API’s shown below:

    – cn_multi_rate_schedules_pub.create_schedule;
    – cn_multi_rate_schedules_pub.update_rate;
    – cn_plan_element_pub.create_plan_element;
    – cn_comp_plan_pub.create_comp_plan;

    We used the first API to just create the new rate tables, bases on the previous Rate Tables. The second API was used to update the new Rate Tables with the rates of the previous Rate Tables. The third one was used to assign the new Rate Tables to the right Plan Elements and the last one to update the Compensaton Plans.

    I think the most difficult part was the coordinates of the Rate Tables. You have to use different loops, because of the different numbers of Dimensions, Tiers and Tier Values in the Rate Tables.

    Maybe you can explain at what particular part you need help/information, than I can explain things a bit more.

    Kind regards,

    Richard de Boer

  25. Richard,
    I’m trying to use the OIC API to copy multi dimension rate tables for every salesrep – I need to have a new rate table with new data for every rep with new start and end dates without changing the old rate tables. You mention you created your own customized copy function – would it be possible for you to explain how you did this? It’s difficult to see how the API and the limited help at are any good for this…. Any help greatly appreciated.

  26. Hi Richard,

    I did multiple implementations. I did implementations in Software, Publishing, Leasing and Medical equipment indusries. I did not get a chance to work on 12i yet. Based on what ever I saw at Solution Becons vision instance and oracle manuals, there not that many changes in 12 compared to 11.5.10 (even though jsp screens look lot different). Main changes are OIC is now based on OA Framework, Multi Org related changes, some report enhancements,some of the process flow is changed slightly and introduced new roles.

    Reporting is week in Oracle OIC till 11..5.10. Most of the places where I worked, we ended up using discoverer or some other tool to build new reports. Without good reports, OIC project will be a failure.

    In 12i, as per the release document, it seems to have been integrated with Seibel Analystics.


  27. Hi All- Srini,Naresh and Rich
    12 is a phenomenal change in the look and feel of the OIC application. I have just come off a POC/Design phase of OIC.In my past I have worked in quite a number of OIC versions,implementations and verticals.As such from my past experience we should be able to plug a reporting tool in to the OIC module so that there is variety in the type of reports.As such each reporting requirement is different.In a way the OIC’s reporting capability is restricted that way.

    Please let me know if you have any questions in OIC.


  28. Hi Naresh and Srini,

    Thanks for both your replies. Questions concerning Oracle Incentive Compensation can always be posted here of course.

    Naresh, how are things going with the implementation? I was just wondering for which kind of industrie you are implementing OIC. En do you also use Oracle Order Management as the delivery module for the transaction data? Have you already found out the differences between OSC and OIC? I think that the multiple dimension Rate Table is one of the best new features comparing with OSC. The customer where I implemented OIC also used OSC before, they experienced that they are much more flexible in calculating commissions right now with OIC (11.5.10).

    Srini, have you done multiple implementations before and for which kind of industries? Already worked with release 12? If yes, what is your experience with the release? And how do you thing about the reporting functionality in 11.5.10? Please let me know 😉

    Kind regards,

    Richard de Boer

  29. Hi Naresh,

    What version of OIC are you implemeting?

    If you have any specific questions, you can send me an email ( or post it here.


  30. Very good introductory information on OIC.
    I am implementing this version for this time, coming from the OSC.
    Can someone help me to better run through the functionalities.

    Thanks in Advance.

Comments are closed.

Next Post

How upgrading to Apex 3.0 spoiled my weekend!

Allright, that is an exaggeration. Hugely. But it cost me some headache before I realised what was my problem. I still had HTML DB 1.6 running and I thought it was time I upgraded to the only just released version 3.0. So I downloaded the zip-file, and followed the instructions […]
%d bloggers like this: