Automating Third-Party Royalty
Computations
(Case Study using Oracle Incentive Compensation)
- Donald Fernandes
2013
Agenda
• Scope of Project
• Proposed Process Flow
• Proposed Accounting Flow
• System Changes
• Test Issue Log
• Deliverable Inventory
• Production Cutover Plan
• Challenges
Scope and Problem Description
• Automate Computation of Commission Calculation and Payment Processing for ISV Royalty
SKUs
• Expense Accounting, Calculation Processing, Payables Approval, Reporting Requirements to
be included in scope
• Solution based on Oracle Incentive Compensation module framework
• All transactions apply to US Operating Unit only
Proposed Accounting Flow
#
Accounting
Event
Event
Date
Mechanism Amt
DR Account
CR Account
1 Create AR Invoice 01-01-20XX Oracle Autoinvoice 100
TRADE AR 01.0000.12101.0000
DEF_REV 01.0000.40401.0000
2
Recognize ISV
Liability
01-01-20XX Manual JV 70
CONTRA REV 01.0000.40402.0000
EXP 01.0000.25126.0000
3
Receive/ Apply
Cash
02-15-20XX
Oracle Lockbox/
Manual
100
CASH 01.0000.10007.0000
TRADE AR 01.0000.12101.0000
4 Generate AP Invoice 04-01-20XX Oracle OIC 70
COGS 01.0000.53101.0000
TRADE AP 01.0000.22207.0000
5 Reclass 04-01-20XX Manual JV 70
ISV Liability 01.0000.25126.0000
COGS 01.0000.53101.0000
6 Make Payment 04-10-20XX Oracle Payments 70
TRADE AP 01.0000.22207.0000
CASH 01.0000.10909.0000
Business Rules
SKU Processing Commission Calculation
Payable/ Payments
Processing
All eligible ISV Royalty SKUs have the below
attributes populated:
- Floor Price, upto 6 decimals precision
- Floor Price Currency
- Commissionable Flag
- Royalty Salesrep
Commission is calculated for AR
Invoices (net Credit Memos) which
were “Fully Closed” within a given
Quarter, to be paid off in the following
Quarter
AP Invoices will be grouped by
SalesRep and Computation Type
(FLOOR or STANDARD)
Above SKU information needs to reflect
signed Contract Agreement
All Invoices and Credit Memos have to
be posted to GL, prior to getting
consumed for OIC
AP Invoices will start aging
IMMEDIATEly
All SKUs for a specific Product Line have the
same Royalty Salesrep
For foreign-currency Invoices, the
Exchange Rate of the Invoice will
dictate the Translation
Taxation is suppressed to zero
Partially Paid Invoices will be excluded
from Calculation basis
Approvals mechanism leverages
existing AME design
Unapplications and adjustments on a
Fully-Closed Invoice will be reconciled
offline, by a custom report
Scope, Limitations and Mitigation
Product/ Design Limitation Mitigation Action
Collected data in OIC cannot be reversed
or purged
Test Collections and Computation in SUP
on static data sets, before production
consumption
Partially received AR Invoices cannot be
collected in OIC
By design and requirement
Floor Price does not have Effectivity Dates Process control to maintain static prices for
a given Quarter
All SKUs for a given Product Line should
belong to a single Royalty Supplier
SKU QA Report to identify Data
discrepancies
ISV Liability has to be recognized manually
at AR Invoice creation point
Automation to be examined in a later
phase
$0.00 AP Invoices get created if there is no
qualifying FLOOR or STANDARD type
Cancel the $0.00 AP Invoices, as a manual
step
System Changes (Configurations)
Inventory OIC Payables
Item Master DFF Role/ Groups Payment Terms
Floor Price Details Compensation Plan Supplier Contact
Royalty Association Compensation Elements
Expression and Formulas
Collections Source and Parameters
Transactions Report (Summary/ Detail)
View Mapping
Application Controls
Pay Group
Liability/Expense Accounts
Rate Table
System Changes (Custom Code)
Custom
Object Type
Custom Object Name Purpose
Oracle DB
View
XXABC_RETRO_PAYMENTS_V Custom Logic to Collect
Invoices data
Oracle DB
Trigger
XXABC_AP_INV_LINES_INT_T1 Custom Logic to derive
Payment Requestor
Testing Highlights
Examples of High Severity Issues
#1 Duplicate Invoices inflates calculation basis
#4 Floor Price Missing for some eligible SKUs
#13 Receipts get picked up incorrect Quarter
#17-22 Various AR scenarios
#35 AP Invoice Approval fails
#36 Self-assessed Tax gets computed
#37 Incorrect Expense Accounting
Production Cutover Plan
Approvals
PRD System Changes
SUP Runs
PRD Runs
PRD Monitoring
Production Support FAQs
# Question/Symptom Severity Response/Suggested Resolution
1 Can I run Collection task
again?
Medium You can only collect the same transactions for the Quarter once
2 How do I know that Collections
actually collected data?
Medium View the log file and it will show the number of records collected for the quarter
3 When loading transactions, it
shows this error: There is no
transaction in the Transaction
Interface Table to load based
on the parameters provided
High Possible causes:
1. The collected date has already been loaded and the interface is empty
2. Check the date parameters
3. Collection task has not been performed yet.
4. Cash Receipts are not posted
4 Maintain Transactions Report
shows Failed Rollup for some
invoices
High Failed Rollup means that a resource is not in the hierarchy in a compensation
group or has not been assigned Sales Compensation group usage, hence, the
rollup fails.
Check if new resources are assigned properly in a compensation group as a
supplier contact.
5 Transactions Register shows
Failed Population for some
invoices.
Low Population during Calculation fails if a transaction does not match any plan
element in the compensation plan for the credited resource. Transactions and
plan elements are matched using products and the effective product hierarchy.
Check the Plan setups, related to product, product hierarchy, product
classification rule, sales role assignment to the plan.
6 Why are there zero amount
invoices?
Low A compensation plan has two components – one for standard royalty and one for
floor royalty. OIC calculates for both plans, so if some ISVs do not have floor
royalty payments, OIC will still create a separate zero invoice. There is no option
to drop this from OIC. Instead, you can cancel the zero invoices in AP
7 What to do if in the payment
batch, paysheets are showing
zero amounts?
Medium Delete the paysheets
8 What happens if the floor price High OIC will take the floor price at the time of royalty calculation. This is a limitation as
Challenges
• Lack of experienced SME in OIC
• Lack of Detailed Requirements Document
• No dedicated environment for Development / Testing (~45 hrs cost)
• Cross-functional dependencies
• Platform/Product -specific Limitations and Constraints
Deliverable Inventory
Category
BR100
Program Code
User Guide
Test Case Log
SOX / SDLC Approvals
MD120
Cut Over Plan

Managing Third-Party Royalties

  • 1.
    Automating Third-Party Royalty Computations (CaseStudy using Oracle Incentive Compensation) - Donald Fernandes 2013
  • 2.
    Agenda • Scope ofProject • Proposed Process Flow • Proposed Accounting Flow • System Changes • Test Issue Log • Deliverable Inventory • Production Cutover Plan • Challenges
  • 3.
    Scope and ProblemDescription • Automate Computation of Commission Calculation and Payment Processing for ISV Royalty SKUs • Expense Accounting, Calculation Processing, Payables Approval, Reporting Requirements to be included in scope • Solution based on Oracle Incentive Compensation module framework • All transactions apply to US Operating Unit only
  • 5.
    Proposed Accounting Flow # Accounting Event Event Date MechanismAmt DR Account CR Account 1 Create AR Invoice 01-01-20XX Oracle Autoinvoice 100 TRADE AR 01.0000.12101.0000 DEF_REV 01.0000.40401.0000 2 Recognize ISV Liability 01-01-20XX Manual JV 70 CONTRA REV 01.0000.40402.0000 EXP 01.0000.25126.0000 3 Receive/ Apply Cash 02-15-20XX Oracle Lockbox/ Manual 100 CASH 01.0000.10007.0000 TRADE AR 01.0000.12101.0000 4 Generate AP Invoice 04-01-20XX Oracle OIC 70 COGS 01.0000.53101.0000 TRADE AP 01.0000.22207.0000 5 Reclass 04-01-20XX Manual JV 70 ISV Liability 01.0000.25126.0000 COGS 01.0000.53101.0000 6 Make Payment 04-10-20XX Oracle Payments 70 TRADE AP 01.0000.22207.0000 CASH 01.0000.10909.0000
  • 6.
    Business Rules SKU ProcessingCommission Calculation Payable/ Payments Processing All eligible ISV Royalty SKUs have the below attributes populated: - Floor Price, upto 6 decimals precision - Floor Price Currency - Commissionable Flag - Royalty Salesrep Commission is calculated for AR Invoices (net Credit Memos) which were “Fully Closed” within a given Quarter, to be paid off in the following Quarter AP Invoices will be grouped by SalesRep and Computation Type (FLOOR or STANDARD) Above SKU information needs to reflect signed Contract Agreement All Invoices and Credit Memos have to be posted to GL, prior to getting consumed for OIC AP Invoices will start aging IMMEDIATEly All SKUs for a specific Product Line have the same Royalty Salesrep For foreign-currency Invoices, the Exchange Rate of the Invoice will dictate the Translation Taxation is suppressed to zero Partially Paid Invoices will be excluded from Calculation basis Approvals mechanism leverages existing AME design Unapplications and adjustments on a Fully-Closed Invoice will be reconciled offline, by a custom report
  • 7.
    Scope, Limitations andMitigation Product/ Design Limitation Mitigation Action Collected data in OIC cannot be reversed or purged Test Collections and Computation in SUP on static data sets, before production consumption Partially received AR Invoices cannot be collected in OIC By design and requirement Floor Price does not have Effectivity Dates Process control to maintain static prices for a given Quarter All SKUs for a given Product Line should belong to a single Royalty Supplier SKU QA Report to identify Data discrepancies ISV Liability has to be recognized manually at AR Invoice creation point Automation to be examined in a later phase $0.00 AP Invoices get created if there is no qualifying FLOOR or STANDARD type Cancel the $0.00 AP Invoices, as a manual step
  • 8.
    System Changes (Configurations) InventoryOIC Payables Item Master DFF Role/ Groups Payment Terms Floor Price Details Compensation Plan Supplier Contact Royalty Association Compensation Elements Expression and Formulas Collections Source and Parameters Transactions Report (Summary/ Detail) View Mapping Application Controls Pay Group Liability/Expense Accounts Rate Table
  • 9.
    System Changes (CustomCode) Custom Object Type Custom Object Name Purpose Oracle DB View XXABC_RETRO_PAYMENTS_V Custom Logic to Collect Invoices data Oracle DB Trigger XXABC_AP_INV_LINES_INT_T1 Custom Logic to derive Payment Requestor
  • 10.
    Testing Highlights Examples ofHigh Severity Issues #1 Duplicate Invoices inflates calculation basis #4 Floor Price Missing for some eligible SKUs #13 Receipts get picked up incorrect Quarter #17-22 Various AR scenarios #35 AP Invoice Approval fails #36 Self-assessed Tax gets computed #37 Incorrect Expense Accounting
  • 11.
    Production Cutover Plan Approvals PRDSystem Changes SUP Runs PRD Runs PRD Monitoring
  • 12.
    Production Support FAQs #Question/Symptom Severity Response/Suggested Resolution 1 Can I run Collection task again? Medium You can only collect the same transactions for the Quarter once 2 How do I know that Collections actually collected data? Medium View the log file and it will show the number of records collected for the quarter 3 When loading transactions, it shows this error: There is no transaction in the Transaction Interface Table to load based on the parameters provided High Possible causes: 1. The collected date has already been loaded and the interface is empty 2. Check the date parameters 3. Collection task has not been performed yet. 4. Cash Receipts are not posted 4 Maintain Transactions Report shows Failed Rollup for some invoices High Failed Rollup means that a resource is not in the hierarchy in a compensation group or has not been assigned Sales Compensation group usage, hence, the rollup fails. Check if new resources are assigned properly in a compensation group as a supplier contact. 5 Transactions Register shows Failed Population for some invoices. Low Population during Calculation fails if a transaction does not match any plan element in the compensation plan for the credited resource. Transactions and plan elements are matched using products and the effective product hierarchy. Check the Plan setups, related to product, product hierarchy, product classification rule, sales role assignment to the plan. 6 Why are there zero amount invoices? Low A compensation plan has two components – one for standard royalty and one for floor royalty. OIC calculates for both plans, so if some ISVs do not have floor royalty payments, OIC will still create a separate zero invoice. There is no option to drop this from OIC. Instead, you can cancel the zero invoices in AP 7 What to do if in the payment batch, paysheets are showing zero amounts? Medium Delete the paysheets 8 What happens if the floor price High OIC will take the floor price at the time of royalty calculation. This is a limitation as
  • 13.
    Challenges • Lack ofexperienced SME in OIC • Lack of Detailed Requirements Document • No dedicated environment for Development / Testing (~45 hrs cost) • Cross-functional dependencies • Platform/Product -specific Limitations and Constraints
  • 14.
    Deliverable Inventory Category BR100 Program Code UserGuide Test Case Log SOX / SDLC Approvals MD120 Cut Over Plan