Oracle Incentive Compensation (OIC)

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. 



  1. Jaideep November 25, 2008
  2. Srini Parimi September 15, 2008
  3. feroz September 12, 2008
  4. Srini Parimi June 17, 2008
  5. Satya Velagapudi June 12, 2008
  6. Richard de Boer April 24, 2008
  7. Srini Parimi April 18, 2008
  8. Srini Parimi April 18, 2008
  9. Bharat April 18, 2008
  10. Gary April 17, 2008
  11. Richard March 31, 2008
  12. Prade March 25, 2008
  13. Srinivas February 15, 2008
  14. Louis February 13, 2008
  15. San January 14, 2008
  16. Richard January 10, 2008
  17. San January 9, 2008
  18. Srini Parimi November 13, 2007
  19. salma August 28, 2007
  20. Elizabeth Trujillo August 27, 2007
  21. Srini Parimi July 25, 2007
  22. Richard July 11, 2007
  23. Mark July 9, 2007
  24. Mark July 9, 2007
  25. Richard July 2, 2007
  26. Mark June 27, 2007
  27. Srini Parimi June 1, 2007
  28. Chandra May 11, 2007
  29. Richard de Boer May 3, 2007
  30. Srini Parimi May 2, 2007
  31. Naresh GAMANLAL April 8, 2007