Mandatory Dependencies and Integrations

This chapter covers the following topics:

Mandatory Dependencies

Oracle Incentive Compensation requires the following related products and components to be installed and implemented:

Resource Manager is the common source for resource definition. The ability of Oracle Incentive Compensation to read Resource Manager directly eliminates the need to create commonly used definitions and relationships in multiple applications.

Oracle General Ledger contains all of the accounting information that is used by Oracle Incentive Compensation. Everything that is necessary for running Oracle Incentive Compensation is included during setup.

Oracle Resource Manager

Use Resource Manager to:

The Compensation Manager maintains resources, roles, groups, and teams. See the Oracle Incentive Compensation User Guide, Chapter 3, for details.

Refer to appropriate sections of the Oracle Common Application Components Implementation Guide or Oracle Common Application Components User Guide.

Create Resources

To receive commission payments in Oracle Incentive Compensation, the resource must be created, assigned a sales compensation role and assigned a compensation group. The roles and groups are created in Resource Manager, and the assignment takes place when employee resources are imported from HR. Resources that are not salespeople, for example, nonemployees set up as supplier vendors or TBH (to be hired), are not imported from HR, but are created directly in Resource Manager. See the Creating and Importing Resources chapter in the Oracle Common Application Components Implementation Guide for the procedures.

Create and Assign Sales Roles

In Oracle Incentive Compensation, compensation plans are assigned to roles, and the salespeople are assigned a role. A Role may encompass one or more job descriptions and job titles. Within the role type used for Oracle Incentive Compensation, roles are assigned to resources, resource groups and resource teams. Oracle Resource Manager is delivered with predefined role types for all CRM modules, including Oracle Incentive Compensation, however you can define additional custom roles for your enterprise. The role types for Incentive Compensation include Sales Compensation and Sales Compensation Payment Analyst. See the Managing Roles and Role Types chapter in the Oracle Common Application Components Implementation Guide for the steps for this procedure.

Create Compensation Groups

Resources must belong to a group to receive payments in Oracle Incentive Compensation. Groups are created in Resource Manager. A group is based on the similar functionality or roles of its members. Groups exist in a hierarchy, with parent and child groups defining the structure of the sales organization. Groups must have the usage type of Sales Compensation in order to be used in Oracle Incentive Compensation.

A Team is a type of group in which the members work together to complete a project. Teams and groups are both created in Resource Manager, and are assigned when you import the resource from HR. See the Managing Teams and Groups chapter in the Oracle Common Application Components Implementation Guide.

Create Reporting and Payment Analyst Hierarchies

In Resource Manager, when you set up resources and groups, you select reporting hierarchies, which determine who has access to information. These include Sales and Telesales, Sales Compensation, and Compensation Reporting Hierarchy.

The Compensation Reporting Hierarchy usage in Resource Manager determines user access to the Commission Statement report. This usage makes it easier to set up reporting structures so that managers have access to commission statements for the people that report to them. This usage can be selected using this system parameter: Reporting Hierarchy for Manager Access to Resources Reports. It is located on the Set Up General Parameters section of the Configuration Workbench. See Set Up General Parameters.

Oracle General Ledger

Oracle General Ledger is a necessary part of an Oracle Incentive Compensation implementation. Oracle Incentive Compensation uses calendars and periods from General Ledger to calculate commission. You must select these General Ledger setups at the beginning of the implementation process. See Chapter 3, General Setup Tasks, for more information, and also Chapter 4, Operating Unit Specific Setup Tasks, Set up General Ledger Parameters section, for details.

Also see the Oracle General Ledger User Guide.

Integrations

Oracle Payables is used to pay companies who are vendors or suppliers, or resources who are not full-time, regular employees. Oracle Payables recognizes resources for payment only if they are activated as suppliers.

Oracle Payroll is used by the application to pay employees.

Oracle Receivables and Oracle Order Management are the standard collection sources for transactions in Oracle Incentive Compensation. You can also define custom sources.

Oracle Human Resources is where you must first create employees in order for them to be paid compensation in Oracle Incentive Compensation. After creating employees in Human Resources, you then import these records into Resource Manager to create resources. See the Oracle Incentive Compensation User Guide, Resource section. See Oracle Human Resources documentation for the procedures for creating employees.

Oracle Quoting uses Oracle Incentive Compensation to project commissions for resources and for Credit Allocation. Oracle Incentive Compensation receives data through an API and then sends back projected commissions to Oracle Quoting. Because the projected commissions calculator is less complex than a compensation plan, the projections are approximate. The more complex the compensation plan, the more inaccurate the projection may be.

Oracle Territory Manager provides integration with the Territory Assignment Engine for Credit Allocation. See Chapter 5, Implementing Credit Allocation.

Oracle Sales integrates with Oracle Incentive Compensation to provide resources access to view their commission statements.

Oracle Workflow is a workflow management system that is used by Oracle Incentive Compensation to integrate business processes. Workflow is already configured for use in Oracle Incentive Compensation and does not require any setups.

Oracle Transportation Management integrates with Oracle Incentive Compensation to calculate incentive pay of drivers.

Oracle Payables

Full-time, regular employees are paid using Payroll. If you want to pay commission to other resources who are not part of your standard payroll system, you can set them up as suppliers in Oracle Purchasing. This creates an integration with Oracle Payables to pay the resource. For purposes of collecting transactions and paying commissions, Oracle Incentive Compensation treats a supplier contact the same as any other resource. To enable integration with Oracle Payables, see the Payment Setups in the Configuration Workbench.

For the steps to this procedure, see the Oracle Payables User Guide. Please also refer to the Oracle Purchasing User's Guide for more information.

After a payment batch has been processed (Paid status against the payment batch name), the Salespeople Sub-ledgers are updated to reflect the amounts paid in the appropriate accounts and balances, and the data is transferred to the Oracle Payables Invoices Interface table.

Oracle Payables uses two interface tables as entry points for data from other applications, including Oracle Incentive Compensation:

The following two tables show the columns that map to the columns in each invoice interface table in Oracle Payables:

AP_INVOICES_INTERFACE Populated with
INVOICE_ID AP_INVOICES_INTERFACE_S.NEXTVAL
INVOICE_NUM CN_PAYMENT_TRANSACTIONS.PAYMENT_TRANSACTION_ID
INVOICE_DATE CN_PAYRUNS.PAY_DATE
VENDOR_ID PO_VENDOR_SITES.VENDOR_ID
VENDOR_SITE_ID PO_VENDOR_SITES.VENDOR_SITE_ID
INVOICE_AMOUNT CN_PAYMENT_TRANSACTIONS.PAYMENT_AMOUNT
INVOICE_CURRENCY_CODE FUNCTIONAL CURRENCY CODE
PAYMENT_CURRENCY_CODE REP CURRENCY CODE
SOURCE ORACLE.SALES.COMPENSATION
ACCTS_PAY_CODE_COMBINATION_ID CN_PAYMENT_TRANSACTIONS.LIABILITY_CCID
INVOICE_TYPE_LOOKUP_CODE CREDIT (if amount <0); STANDARD (if amount >0)
AP_INVOICE_LINES_INTERFACE Populated with
INVOICE_ID Same value as entered for AP_INVOICES_INTERFACE
INVOICE_LINE_ID AP_INVOICE_LINES_INTERFACE_S.NEXTVAL
LINE_NUMBER 1
LINE_TYPE_LOOKUP_CODE ITEM
AMOUNT CN_PAYMENT_TRANSACTIONS.PAYMENT_AMOUNT
DIST_CODE_COMBINATION_ID CN_PAYMENT_TRANSACTIONS.EXPENSE_CCID

Oracle Payroll

You can integrate Oracle Incentive Compensation with Oracle Payroll for employee type resources. When enabled, this integration transfers data from Oracle Incentive Compensation to the Oracle Payroll Batch Element Entry (BEE) interface. Oracle Incentive Compensation has an API that calls the payroll package to populate data into the BEE interface.

The payroll mapping is stored in these tables:

A resource must already be set up in Resource Manager and be assigned to a role with a compensation plan. See Defining Resources and Assign Resources to Roles and Groups in the Oracle Incentive Compensation User Guide. Pay elements must be set up in Oracle Payroll.

Navigation

Setup Tasks > Payment > Setup Payment Parameters

Steps

  1. Check the Integration to Oracle Payroll box. See Payment.

  2. Map plan elements in Oracle Incentive Compensation to pay elements in Oracle Payroll. See Define Pay Element Mappings.

  3. Map Pay Element Input Values.

Oracle Receivables and Oracle Order Management

Transactions are primarily collected from Oracle Receivables and Oracle Order Management. These are the standard transaction sources included in the application. Oracle Incentive Compensation transactions can originate from a sales order, a customer billing, a customer payment, or other business events.

As a customization, you can use APIs to bring transactions into Oracle Incentive Compensation and to send transactions out to other systems.

From Oracle Receivables, you can collect the following types of transaction data:

From Oracle Order Management, you can collect booked orders and adjustments to booked orders.

To select these or any custom transaction source, go to the Configuration Workbench and select Collection > Define Collection Sources and Mapping.

Oracle Human Resources

In Oracle Human Resources Management System (Oracle HRMS), you create employees in order for them to be paid compensation in Oracle Incentive Compensation. See Oracle Human Resource Management System documentation for specific details of this procedure.

Note: Set up Oracle Human Resource Operating Unit to enable Configuration Workbench

In addition, there is an integration that enables the compensation workbench in Oracle HRMS to call an API to determine an employee's variable compensation earned and paid for a given date range. Because the actual payment to a resource is made through Oracle Payroll, Oracle Payables, or another third party payment system, the compensation paid amount may or may not be the amount the resource receives.

Oracle Quoting or Third Party Quoting Application

Out of the box, Oracle Quoting integrates to Oracle Incentive Compensation's projected commission API. After viewing the projected commission amounts, Oracle Quoting users can perform commission what-if analysis by changing quantities and prices of the items. This, in turn, alters the sales credit amount and recalculates the projected commission. The changes are not saved to the quote itself--they are used only for projecting commission. Projected commission can be displayed at three levels of granularity: the header level, product category level, or individual quote line level.

When integrating with Oracle Quoting, you must set four profile options:

See the Profiles chapter for more information, or refer to the Oracle Quoting Implementation Guide .

If Sales Credit Allocation is implemented as well, you must refresh sales credit before viewing commissions.

There is a public API that you can use to project commission for salespeople. Projected Compensation provides an estimation of projected variable compensation earnings and their potential impact on quota attainment. Oracle Quoting uses Sales Credit Allocation.

Oracle Incentive Compensation receives data through the API and then sends back projected commissions to the calling application. See the Oracle Incentive Compensation API Reference Guide, for details on the API.

The projection calculator cannot be configured with the complexity of an actual compensation plan, so projections are estimates only and are not guaranteed amounts. The more complex the compensation plan, the more inaccurate the projection can be. You can include disclaimer text in the output.

The calling application provides the following values to the Oracle Incentive Compensation API table (CN_PROJ_COMPENSATION_GTT):

In order for the application to process the projected commission, the following must be verified:

Oracle Incentive Compensation returns the following information to the calling application:

Integrating with Projected Compensation

These are the setups required to use Projected Compensation with Oracle Quoting or with a third party quoting application. See the separate sections for any steps that are specific to them.

  1. Define input and output calculation expressions to be used by the Projected Compensation API. See Define Calculation Expressions in the Oracle Incentive Compensation User Guide.

  2. Reference the expressions in a formula as forecast input expressions and forecast output expressions. The formula must be of the Commission type. The expressions can reference calculation values from the following tables:

    • CN_QUOTAS

    • CN_SRP_PERIOD_QUOTAS

    • CN_PERIOD_QUOTAS

    • CN_SRP_QUOTA_ASSIGNS

  3. Configure the Plan Element Classification Rule set to include the Projection Identifiers that are sent to the Projected Compensation API. These identifiers, which are set up in Oracle Quoting, identify the appropriate plan element to be used to determine the projected compensation for a given transaction. You must use the Rules Attributes hyperlink for the corresponding rule in the Rules Hierarchy to configure the projection identifiers. See Build a Rules Hierarchy in the Oracle Incentive Compensation User Guide for the steps.

Integrating with a Third Party Quoting Application

Use the same three integration steps as shown previously. Then, write SQL code to:

  1. Populate the API table with data

  2. Call the Projected Compensation API with the required parameters.

Note: Both of these steps should be performed in the same SQL session.

Oracle Territory Manager

To support the credit allocation process, Oracle Incentive Compensation provides the ability to integrate with Oracle Territory Manager. Sales Credit allocation in Oracle Territory Manager is used to define and assign the Who (for example, a resource in a role) on a transaction. Sales Credit Allocation in Oracle Incentive Compensation is used to define and assign the How Much credit (for example, percentage credit splits) on a transaction for a given resource in a role. If you don't use Sales Credit Allocation to change the allocation percent the credit receivers get, then sales credit is split evenly (transaction amount divided by number of credit receivers). See Chapter 8, Credit Allocation Setups, for more information.

After territory rules are defined in Oracle Territory Manager, the Territory Assignment Engine (TAE) applies these user-defined rules to provide a transactions with credit receivers and their roles with evenly split amounts. Next, the allocation rules set up in Oracle Incentive Compensation are applied to the transactions created by the Oracle Territory Manager through the collection process to create the allocation splits.

The assignment of resources, using TAE, and the determination of credit allocation, using the Sales Credit Allocation Engine, primarily occurs after the transaction is collected into the Oracle Incentive Compensation transaction API table CN_COMM_LINES_API during the Post Collection phase. Post Collection is a trigger within the Collection process that provides the means for applying additional logic to collected transactions.

The overall setup steps for using Oracle Territory Manager are:

  1. Create resources

  2. Create roles

  3. Assign roles and groups to resources

  4. Create customers

  5. Enable Territory Manager access types if needed and not enabled

  6. Create a territory and assign resources and roles

  7. Generate a territory package using concurrent manager

See the Oracle Territory Manager User Guide for the procedures for steps 5 through 7.

Integrate with the Territory Assignment Engine

There are several ways of integrating with Oracle Territory Manager:

To illustrate the first option above, Oracle Incentive Compensation integrates with Territory Manager to validate credit allocations on a collected transaction as part of the post collection phase. The integration flow is:

  1. Collect Oracle Incentive Compensation transactions with credit allocations that may or may not be validated. For example, transactions from a particular channel may not require territory validation. See the following section for specifics on modifying the code template.

  2. Identify Oracle Incentive Compensation transactions that require credit allocation validation. Oracle Incentive Compensation assumes that a single credit receiver order line or invoice line is represented as a single Oracle Incentive Compensation transaction record in CN_COMM_LINES_API.

  3. Run collection.

  4. If necessary (for example, if credit receivers do not all receive an even split) then run the Sales Credit Allocation concurrent program to allocate percentage credit for all Unprocessed transactions in CN_COMM_LINES_API for a given date range.

Oracle Transportation Management

Work Invoice for a driver gets generated in Oracle Transportation Management and the work invoice data is then passed on to Oracle Incentive Compensation for the compensation pay of the driver. The following table illustrates data mapping between Oracle Transportation Management and Oracle Incentive Compensation.

Oracle Incentive Compensation Interface Table Oracle Transportation Management Data
Attribute 41 Payable Indicator
Attribute 42 Distance
Attribute 43 UOM for Distance
Attribute 44 Duration
Attribute 45 UOM for Duration
Attribute 46 Weight
Attribute 47 UOM for Weight
Attribute 48 Volume
Attribute 49 UOM for Volume
Attribute 50 Ship Unit Count
Attribute 51 Item Package Count

Integrate with the Territory Assignment Engine

These are the basic steps for integrating with the Territory Assignment Engine.

Steps

  1. Create a territory and rules to determine credit receivers.

  2. Run the Generate Territory Package concurrent program for Oracle Field Sales and Telesales usage and no value selected for transaction type.

  3. Add the call to CN_POST_COLLECTION_TAE_PUB.get.assignments as a post collection action for transaction source order booking/Receivable posting.

    1. Log in to Oracle Incentive Compensation with the Incentive Compensation Administrator responsibility.

    2. In the Configuration Workbench, go to Collection > Define Collection Sources and Mapping > Order Management trigger.

    3. Select Order Booking and click Details.

    4. Click the Triggers subtab and select Post-Collection in the Event drop-down.

    5. Enter the following code:

      CN_POST_COLLECTION_TAE_PUB.Get_Assignments
      ( 
      p_api_version => 1.0,  -- IN parameter
      x_start_period_id  => x_start_period_id, -- IN parameter
      x_end_period_id => x_end_period_id, -- IN parameter
      x_conc_program_id => x_col_audit_id, -- IN parameter
      x_return_status => x_return_status, -- OUT parameter
      x_msg_count => x_msg_count,  -- OUT parameter
      x_msg_data => x_msg_data, -- OUT parameter
      x_org_id => x_org_id -- OUT parameter
      );
    6. Click Update.

  4. Navigate to the Collections page in Oracle Incentive Compensation and generate the Collection package for the transaction source that calls the Territory Assignment Engine. You should be able to run the Collection process, which integrates with TAE during the post collection process.

You must run the concurrent program Synchronize Territory Assignment Rules (STAR) before calling the Territory API for assignments. Run STAR with the following parameter values:

It is important to specify value for all the parameters while running STAR in @ date effective mode.

The attributes in the insert statement will vary depending on the business requirement. For example, if you are not using provinces, you can exclude squal_char05 from the insert statement.

The attributes in the select statement will vary depending on the mappings that you have defined in Oracle Incentive Compensation. For example, if you have configured ATTRIBUTE22 to store the State name in CN_COMM_LINES_API, then you want to map ATTRIBUTE22 in the select statement to the corresponding State column, SQUAL_CHAR04, insert statement to JTF_TAE_1001_SC_TRANS.

The Trans_object_id is mandatory and must be a unique identifier. This is necessary so you can pass in comm_lines_api_id.

You can use a Where clause, for example, on load_status, if you do not want to insert every record from comm_lines_api.

Modify the Code in the API Template

Oracle Incentive Compensation does not require any modification of the Code in the API template for regular integration with Territory Manager. However, if you need to perform customization, the steps in this section are provided for that purpose.

To add or modify the code in the API Template, use the code template CN_POST_COLLECTION_TAE_PUB.Get_Assignments to integrate with the Territory Assignment Engine process.

Populate data from Oracle Incentive Compensation transaction interface table (cn_comm_lines_api) into the TAE input interface table (jtf_tae_1001_sc_trans).

Populate SOURCE_ID with -1001, TRANS_OBJECT_TYPE_ID with -1002, TRANS_OBJECT_ID with COMM_LINES_API_ID, and WORKER_ID with 1. For details of the Territory qualifier attribute mapping in jtf_tae_1001_sc_trans, please refer to the table following.

In this code template, first write the statement(s) or make your custom call(s) to insert transaction data into the TAE input interface table. After that, perform the following two procedure calls, which are already in the code template:

Column Mapping of Account Qualifiers to JTF_TAE_1001_SC_TRANS

In Oracle Incentive Compensation, Sales Credit Allocation uses the Account transaction object. The following section shows the data mapping between the Account transaction object qualifier attributes and the corresponding value columns in the JTF_TAE_1001_SC_TRANS table.

The account qualifiers are categorized into four types.

Use the following questions to determine which qualifiers you should use for column mapping for territories.

  1. Is this a stand alone implementation of Oracle Incentive Compensation?

    1. If the answer is No, is your customer data stored in TCA?

      • If the answer is Yes, and you want to create territories that use a qualifier of type 2, you must place your customer data into TCA.

      • If the answer is Yes, you can use one of the qualifiers of type 1 for any purpose without dependencies.

    2. If Yes, you can use qualifiers of type 1 and type 2.

    3. If No, you can use qualifiers of type 1.

  2. Are you creating territories that use a qualifier of type 3 or type 4?

    1. If the answer is Yes, you must seed values appropriately.

    2. If the answer is No, then ignore this question.

In the table below, column 1 indicates the JTF_TAE_1001_SC_TRANS column name. Column 2 contains the name of the account qualifier. Column 3 displays the Type of dependencies, as described earlier. Column 4 contains comments regarding the territory qualifier mapping.

Account Qualifier Mapping
JTF_TAE_1001_SC_TRANS Column Account Qualifier Type Comments
SOURCE_ID - N/A Must be -1001
TRANS_OBJECT_ TYPE_ID - N/A Must be -1002
TRANS_OBJECT_ID - 1 Map to unique OIC transaction identifier
TRANS_DETAIL_ OBJECT_ID - 2 Only if your customer record is stored in Oracle's Trading Community Architecture (TCA), this is a unique identifier to the party site ID on a transaction.
Otherwise, set it to NULL
SQUAL_NUM02 Account Code 2 Only if your customer data is stored in Oracle's Trading Community Architecture (TCA), maps to TCA's PARTY_SITE_ID
SQUAL_NUM04 Account Hierarchy 2 Maps only to parties rolling up to a specific PARTY_ID within TCA
SQUAL_CHAR08 Area Code 1 Area Code
SQUAL_CHAR09 Category Code 2 Maps only to the TCA CATEGORY_CODE
SQUAL_CHAR02 City 3 Maps only to Cities set up in Oracle Receivables (AR)
(Need to seed the AR lookup values)
SQUAL_CURC01 Company Annual Revenue (Currency Code) 1 Currency of Company Annual Revenue, for example, Euros
(Both SQUAL_CURC01 and SQUAL_NUM06 need to be populated)
SQUAL_NUM06 Company Annual Revenue 1 Company Annual Revenue, for example, 100,000,000
(Both SQUAL_CURC01 and SQUAL_NUM06 need to be populated to work together)
SQUAL_CHAR07 Country 3 Maps only to Countries set up in Oracle Receivables (AR)
(Need to seed the AR lookup values)
SQUAL_CHAR03 County 3 Maps only to Counties set up in Oracle Receivables (AR)
(Need to seed the AR lookup values)
SQUAL_NUM01 Customer Name 2 Maps only to Party IDs set up in TCA, identifying a unique customer
SQUAL_FC01 Customer Name Range
(First Character: for LIKE processing)
1 First character of Customer Name Range
(Both SQUAL_FC01 and SQUAL_CHAR01 need to be populated to work together)
SQUAL_CHAR01 Customer Name Range 1 Customer Name Range
(Both SQUAL_FC01 and SQUAL_CHAR01 need to be populated to work together)
SQUAL_NUM10 DUNS Number 2 Maps only to DUNS Number of parties set up in TCA
SQUAL_NUM05 Number of Employees 1 Number of Employees
SQUAL_CHAR06 Postal Code 1 Postal Code
SQUAL_CHAR05 Province 3 Maps only to Province set up in Oracle Receivables (AR)
(Need to seed the AR lookup values)
SQUAL_NUM_01 Registry ID 2 This is the REGISTRY_ID in TCA
SQUAL_NUM03 Sales Partner Of 2 This is the PARTY_ID of the Partner in TCA
SQUAL_CHAR10 SIC Code 2 Maps only to SIC Codes set up in TCA
SQUAL_CHAR04 State 3 Maps only to States set up in Oracle Receivables (AR)
(Need to seed the AR lookup values)
WORKER_ID N/A N/A Must be set to 1

Oracle Sales

Oracle Sales uses four reports from Oracle Incentive Compensation:

Oracle Sales users can access these reports on the Sales Dashboard. The Sales Administrator must set up functions for each report:

You must include the menu CN_ASN_INTEGRATION in the corresponding menu for the pages to render correctly.