Skip to main content

 

 

Yoshi Test Site

Global Integration Services

 

Services and best practices the GIS Team is currently able to provide for PV E1 PRM/CTM & PPM Pro. Best Practices ("Standard") Interfaces, Data Importers, etc...

Overview

clipboard_ea18f037b7dee9f8346222eb09816126d.png

Model N Price Protection is a mechanism used by manufacturers to provide compensation to channel partners when the DBC and MPP prices shift for parts they already have in stock or in backlog. The Model N Price Protection feature automates the process of analyzing the impact on the business as a result of DBC / MPP price changes. The Pricing Protection function analyzes price changes on inventory and backlog. After analysis, changes can be published for distributor notification and review. Model N Price Protection is a mechanism used by manufacturers to provide compensation to channel partners when the DBC and MPP prices shift for parts they already have in stock or in backlog.

When distributors or other channel partners have inventory on hand (or backlog) of parts on which the manufacturer lowers the DBC (Disti Book Cost) or MPP (Market Price Program) price, "Price Protection" ensures that the channel partners are compensated for the price reduction. This implies that the distributor’s inventory is re-priced by the manufacturer and they receive a credit for the delta between the original price that the distributor paid and the new price.
Similarly, when a distributor is enabled for “Reverse Price Protection”, a price increase of the book cost or MPP price results in the distributor’s inventory (plus backlog) being adjusted up to the new price – in this case, the manufacturer is protected.

When a distributor is “Price Protected” or “Reverse Price Protected”, then the distributors’ inventories (inventory buckets) are updated with the new prices – that is, the Current Price on each relevant inventory bucket is adjusted and a history record is added. (If the inventory bucket has already been partially consumed, then a new linked bucket is created with the new Price for the remaining available quantity – this is done to preserve the original price on what has already been sold to end customers.)
 

Process Flow

The following diagram captures how PPID is generated and the roles of a manufacturer/distributor/system in the process.

Swim Lane Diagram of PPID.pdf

Notes:

  1. Nightly job is set up as part of the initial set up by the admin or implementation team. It runs daily irrespective of price change events on a day.
  2. The Price Protection nightly thread automatically creates a price protection record for any change in the price (DBC or MPP).
  3. If there are any price change events for a part, Model N application looks for any inventory for the part > extracts parts with Price Protection (PP) flag set to Yes >  gets the distributor information from inventory bucket > validates if the distributor is eligible for PP or not > generates PPID records.
  4. If there already is a price protection record for the same effective date, the nightly thread updates the price protection record. Price analysis is run for all the parts whose CalcQOH>0 or ReqQOH>0.
  5. The price protection effective date will be DBC Effective Date-1. The date on which the price is effective is called Price Effective Date.  
  6. PPIDs will not be created for DBC changes which satisfy any of the following conditions:

•    The new DBC is null/0
•    The effective date of the new DBC is before the price updated date

 

Prerequisites and Setup

Ensure you have the appropriate Properties and Capabilities enabled.

The following table lists the required Properties for Price Protection.

The following table lists the required Capabilities for Price Protection.

Capability Name Capability Description Release Version User Types User Roles
ManagePriceProtect

This capability provides the ability to approve the price protection. Approved records will update the transactions (debits, backlogs and MPP) upon price protection nightly thread on the effective date.

5.0

Mfr, Rep, Stocking Rep

Marketing, Marketing Management, Finance

OverridePPCreditQty This capability enables the user to edit Credit Quantity even if system calculated eligible quantity is zero. Also, the value of Credit Quantity must be less than the maximum of either Calculated QOH or Reported QOH. Spring 17 Mfr, Rep, Stocking Rep  
UpdatePriceProtect

This capability allows you to edit Distributor Partner Setup for Price Protection and approve price protection.

5.0

Mfr, Rep, Stocking Rep

Finance, Marketing

UpdatePriceProtectDetailInfo

This capability allows you to edit Credit Quantity and Delta Price on Price Protection Detail page if the Price Protection is in between "Pending Inventory Update" and "Closed" status.

8.3.1.1

Mfr, Rep, Stocking Rep

Finance
ViewPriceProtect

This capability allows you to view all price protection screens. You can also respond to queries from ManagePriceProtect and UpdatePriceProtect users.

This capability is appropriate for Distributor users.

5.0

Distributors, Mfr, Rep, Stocking Rep

Distributor Marketing, Distributor Sales, Distributor Opps, Finance, Marketing Management

OverridePPCreditQty This capability enables you to edit Credit Quantity even if system calculated eligible quantity is zero. Also, the value of Credit Quantity must be less than the maximum of either Calculated QOH or Reported QOH. Spring 17    

 The Price Protection Setup page allows you to specify the price protection rules for distributors. You must have the UpdatePriceProtect or ManagePriceProtect capability to select the distributors eligible for price protection / reverse price protection and define a review cycle. The Price Protection Analysis is run against the inventory buckets which have Price Protect flag = True. The bucket price will be updated irrespective of the Price Protection option on the bucket. You can also search for a distributor on the page and specify the price protection rule. 

Navigation: Chanel > Price Protection > Selected View > SetupEdit section

 

Columns and Description
Column Name Description
Distributor Name of the distributor.
Price Protection Enabled Whether the price protection is enabled for the distributor. 
Reverse Price Protection Enabled

Whether the reverse price protection is enabled to the distributor.

This field is only available when the “PriceProtectUp” property is set to true.

Enable Price Protection At Root

If selected the price protection will be triggered only for price changes at the root part. 

Only if the property EnableRootPartTransaction is set to true, the column Enable Price Protection At Root is available. For more information, see Price Protection for Root Parts. 

Review Period

The review period is the window during which the Distributor can review a price protection adjustment after the new effective date.

Please ensure that the Review Period is set. This is important as the Price Protection record's status changes to "Expired" only after the review period ends. 

Currency  The currency in which the PPID should be generated. 
 

 

Scenarios

PPID creation is triggered by the following scenarios:

1. Update in DBC or MPP

2. Price Protection for Regular Parts, Root Parts, or kits and bundles

3. PPID creation based on Property

Impact of the AutoApprovePriceProtection Property

DBC Changes

The following table describes the DBC changes due to the AutoApprovePriceProtection property:
 

AutoApprovePriceProtection=True AutoApprovePriceProtection=False
PPIDs are created for DBC changes that have occurred after the previous run of Run Price Protection Analysis & Processing job irrespective of the price effective date of the DBC changes. 

PPIDs are created for DBC changes that have occurred after the previous run of Price Protection Analysis and Processing job and the price effective date of the DBC change is greater than or equal to job run date (current date) + 2. 

The PPIDs are automatically approved.   The PPIDs are created in Preparing status and they have to be manually approved. 
For the PPIDs created the price effective date is always equal to the price effective date of the DBC change.  For the PPIDs created the price effective date is always equal to the price effective date of the DBC change. 
MPP ChangesEdit section

The following table describes the MPP changes due to the AutoApprovePriceProtection property:
 

AutoApprovePriceProtection=True AutoApprovePriceProtection=False

PPIDs are created for MPP changes that have occurred after the previous run of Run Price Protection Analysis & Processing job irrespective of when the MPP is expiring. 

If MPP is modified after it is expired, then PPIDs will be not created for those changes.  

PPIDs are created for MPP changes that have occurred after the previous run of Price Protection Analysis and Processing job and the expiry date of the MPP is greater than job run date (current date) +2. 
The PPIDs are automatically approved.   The PPIDs are created in Preparing status and they have to be manually approved. 

For the PPIDs created the price effective date is always equal to greater between the following two dates: 

  • MPP modified date
  • Start date

 The changes to the following fields are considered for PPIDs creation:  

  • Start Date
  • Expiry Date
  • Approved Price
  • Exchange rate 

For the PPIDs created the price effective date is always equal to greater between the following two dates: 

  • job run date +2
  • Start date 

 The changes to the following fields are considered for PPIDs creation:  

  • Start Date
  • Expiry Date
  • Approved Price

 

Example 1: (When AutoApprovePriceProtection=False)

Let us consider a scenario where you have scheduled a nightly job prior to the midnight of GMT timings. Say, today is 2nd and you have made price change for three parts:

  • Part 1 with Effective date as 3rd of the current month 
  • Part 2 with Effective date as 4th of the current month
  • Part 3 with Effective date as 5th of the current month

Then the nightly job automatically picks Part 2 and Part 3 changes for price protection, as they are modified on 2nd and Effective date is > = (today + 2). However, Part 1 is not considered as its Effective date is less than (today + 2).

Example 2:

Lets us consider that DBC for part1 has changed today (5th Dec) with price effective date as 15th Dec. Price has changed from $10 to $9. 
Now Price protection process is triggered on 5th Dec Night and price protection record is created with the effective date as 15th Dec 2017. (In DB its stored as 14th Dec). 
On 14th Dec 2017, Transaction Update nightly process is executed and updates all the prices in transactions to $9 (i.e MPP, Debits and Backlog orders). 

 

Impact of the RestrictCreationofPPIDsBasedOn Property

The PPIDs are created only for distributors associated with the pricing region on the updated price table. If the global price table is updated, the PPIDs are created for all distributors who are associated with the global pricing region. When an MPP is created with a distributor then the PPID is created/updated only for the distributor associated with the MPP. 

The RestrictCreationofPPIDsBasedOn property determines whether the creation of PPIDs should be restricted based on the pricing region.
 

RestrictCreationofPPIDsBasedOn=None RestrictCreationofPPIDsBasedOn=PricingRegion 

If none is provided, the PPIDs are created for all distributors for a price effective date. 

 

If PricingRegion is provided in the property, the creation of unnecessary PPIDs is restricted based on the Pricing Region. 
 

Price Protection for Root Parts

On the Price Protection Setup page, if you select Enable Price Protection At Root for specific distributors, the system runs price protection only for root parts in their inventory.


NOTE: Only if the property EnableRootPartTransaction is set to true, the column Enable Price Protection At Root is available.

If Enable Price Protection at Root is selected for a distributor, the price protection record (PPID) is created at the root part level. Any change in the DBC of a regular part does not generate a PPID. 


NOTE: For price protection at root to execute effectively, DBC prices must not be in price tables for the linked parts.  


On the Price Protection Summary page, when you click the PPID, the Price Protection Detail page opens. On this page, in the Root column, you can view the root part for which the PPID is created. You can click the  icon to view the parts linked to the root.

For root parts, when Enable Price Protection At Root is selected, the Min of MPP or DBC is considered.

The difference in inventory amount=Difference in DBC/MPP * Total Inventory Quantity at Root

For regular parts, when Enable Price Protection At Root is not selected, the minimum value of MPP or DBC is considered as follows:

  • For DBC, the Min of DBC of Part or DBC of Root
  • For MPP, the Min of MPP of Part or MPP of Root

Irrespective of whether Enable Price Protection At Root is selected or not, price protection records are created for kits.


NOTE: Kits cannot contain root parts, but linked parts can derive prices from the root part they are associated with.


Reporting Inventory for Root Parts

If Enable Price Protection At Root is selected, distributors upload inventory at the root and linked parts. The inventory is then aggregated at the root part level.

The reported inventory of the root part is the sum of linked parts and the root part.  

Calculated inventory is the sum of linked parts.


NOTE: If the inventory is reported at the part level and also at the root part level, the inventory is counted twice.

Price Protection for Kits and Bundles  

For kits, when the price (DBC/MPP) for a component part changes, the nightly thread runs and the system checks if the part is associated with a kit. If the part is associated with a kit, the nightly thread creates a price protection record. If a record exists for the same effective date, the kit DBC is updated. For kits, the new effective date is the latest date on which the new DBC for the component part was updated. 


NOTE: The nightly thread does not run on bundles. 


ExampleEdit section

In this example, when DBC/MPP for part P1 changes, the system searches for kits made of part P1 and identifies Kit_123. Price protection runs for Kit_123.

The following table lists the component parts of Kit_123 and the quantity of each component part defined for this kit. 
 

MPN Quality
Kit_123 N/A
P1 1
P2 1
P3 1

In the Catalog module, on the Kitting Detail page, you can view the details of Kit_123 such as the kit component parts, quantity, product family, and so on. 

On the 1st of January 2015, the manufacturer shipped three buckets for Kit_123 to the distributor ‘Disti’.

The following table lists the eligible quantity, DBC for Kit_123, and its component parts as on 1st January, 2015.
 

MPN Eligible Quantity DBC
Kit_123 100 12
P1 200 5
P2 50 4
P3 40 3

Where DBC of Kit_123=Sum of (DBC of a component part*Quantity of a component part defined for the kit)

DBC of Kit_123=5*1+4*1+3*1=12

On the 1st of March 2015, the DBC for P1 was updated from $5 to $4.  

The following table lists the eligible quantity, DBC for Kit_123, and its component parts as on 1st of March, 2015.
 

MPN Eligible Quantity DBC
Kit_123 100 11
P1 200 4
P2 50 4
P3 40 3

New DBC of Kit_123=4*1+4*1+3*1=11

Updating Kit Price for Component Part Prices in Different CurrenciesEdit section

When kit components parts are in different currencies, the kit price is updated as follows:

  1. On the effective date, the kit component part price is converted to the base currency.
  2. On the maximum effective date, the total kit price is converted to the transaction currency of the distributor.

Example 

In this example, the price of Kit_123 is recalculated when the exchange rates are modified.  

The following table lists the component parts of Kit_123, the price table definitions for the parts, current and updated exchange rates, and the dates on which the exchange rate changes. 
 

MPN Price Table Definition MPN Price Current Exchange Rate Effective Date for Exchange Rate Updated New Exchange Rate
P1 Vietnam 100 Vietnamese Dongs 12.00000000 10/5/2015 13.00000000
P2 Yen 50 Yens 120.00000000 10/10/2015 130.00000000
P3 GBP 120 British Pounds 1.20000000 10/15/2015 1.30000000    

The exchange rates for Vietnamese Dong, Japanese Yens, and British Pounds change on 5th, 10th, and 15th October respectively.

The component part price is converted to the base currency (in dollars) on these dates as follows:

  • On 5th of October 2015, P1 price=100*13.00000000=1300$ 
  • On 10th of October 2015, P2 price=50*130.00000000=6500$
  • On 15th of October 2015, P3 price=120*1.30000000=156$

As the transaction currency of the distributor is in Euros, on 15th of October, 2015 the price of Kit_123 is updated as follows:

Updated kit price=(1300+6500+156)*0.87460000=6958.3176 Euros

Where the exchange rate for Euro is 0.87460000.

 

PPID Detail Page

By clicking on the Price Protection ID, the distributor user can review the details (Price Protection Detail screen) and can either “Accept” the credit calculation (which sets the Price Protection process to “Accepted”) or can drill into the details of and request a review on one or more parts (which sets the Price Protection process to request marketing review and the red exclamation mark is displayed and an alert sent). 

Search Filters 

  • Search by - search the price protection records using the search by filters: 
    • Product Family
    • MPN
    • Part Class
    • Reported Date
  • MPN 
    • All - search all parts
    • Impacted Parts - search parts which are impacted because of the price protection process. 
Fields/Column Description 
Column Name Column Description 
Price Effective Date The date on which the price is effective
Status Status of the price protection
Finalize Date Date on which finalize action was performed on the price protection
Credit Memo Invoice Number Credit memo invoice number that was used in the ERP for making the payments.
Credit Memo Amount

Total payment amount for that Price Protection.

Credit Memo Invoice Date Date when the credit memo was invoiced. 
Click the icon to review part eligibility. For more information, see Distributor Review of the Price Protection.
The red exclamation mark means a Request Review was made for that item; a black checkmark means that the user has reviewed the request and made any adjustments.  
Comments  Add/View comments for any MPN. You can view all the comments and comments can be only added/viewed when the status on PPID is "Pending Inventory Update" and "Closed".
MPN Manufacturer part number
Class The class name of the part
Calculated QOH Calculated QOH amount.
Reported QOH Reported QOH amount
Reported Date Date the distributor reported their inventory 
Adjusted QOD Net Calc QOH after taking into account In-Transit inventory
Prior Price Price prior to the price change
Average Price The weighted average of eligible buckets based on current cost and available quantity. 
Current Price The new effective price.
Prior Price Source Price Price based on MPP or effective DBC.  
Current Price Source The agreement type (MPP or DBC) from the new effective price. 
Delta Price Change in price calculated as Average Price- New price
Freeze Delta Price? Select to freeze the user entered delta price.
Credit Quantity Eligible Quantity for Price Protection.
Freeze Credit Quantity? Select to freeze the user entered credit quantity.
Credit Adjustment Credit adjustment amount

NOTE:  The “Freeze Delta Price?”, “Credit Quantity”, “Freeze Credit Quantity?”, and “Comments” fields become visible on the Price Protection Detail page when a record is in ‘Pending Inventory Update’ or ‘Closed’ status, and the user has the “UpdatePriceProtectDetailInfo” capability. It is recommended not to change the location of the Comments column. 


Click the History Log link to view the status changes of a price protection record and modifications made to the items in the Price Protection Detail page. For more information, see Price Protection History Log

Header Actions
Action Name Description
Save Save the modified details. 
Accept Accept this entire price protection transaction. 
Review Approve the price protection details. This icon is displayed only for the records in Expire or Open status. 
Return Return the Price Protection Summary page. 

 

 

PPID Summary Page

The Price Protection Summary screen displays a record for each distributor involved and displays total price impact plus past price protection reviews.

Search Filters
  • Search By - search the price protection record using the following search by filters: 
    • P.P.ID# - view price protection record of the specified price protection id number
    • Distributor - view price protection records for the specified distributor
    • Price Effective Date - view records of the specified price effective date
    • Review End - view records of the specified review end date
    • Credit Memo Invoice Number - view records of the specified credit memo invoice number
  • Status - view records according to the selected status:

For more information about statuses, see  Price Protection Statuses. 

  • Time - view price protection created within specific days such as 5, 15, 30, 180, 365 days.
  • Distributor - view price protection records of the specified distributor. 
Column Description 
Column Name Description
P.P.ID# Price protection id number.
Distributor Name of the distributor
Status Status of the price protection
Price Effective Date The date on which the price is effective is called as Price Effective Date.
Review End The date by when the distributor should review the price protection.
Finalize Date Date on which finalize action was performed on the price protection
Last Modified Date on which the price protection record was last modified.
Elig Inventory  Eligible inventory amount
Adjustment Adjustment amount 
Credit Memo #

Credit memo number that was used in the ERP for making the payments. 

Credit Memo Invoice Date Date when the credit memo was invoiced. 

Credit Memo Amount

Total payment amount for that Price Protection Record. The currency of the credit memo amount is the same as the distributor currency.  

Click the History Log link to view the modifications made to the price protection record. 

Price Protection Summary History page

A history record for the following actions are captured on the Price Protection Summary History page:

  • Created 
  • Deleted

However, a user can view only the history records belonging to the PPIDs of assigned distributors (Primary and Assigned).   

The following is a sample of the history log: 
 

P.P.ID #

When

Who

Text

PPID number

Date and time

User Name/Nightly Job 

Price Protection'[PPID]' for distributor '[distributor name]' effective on '[Date]' with review end date '[Date]' was [created/deleted]  

Navigation: Click Channel > Price Protection > click History Log link 

 

Search Filters  
  • Search By...:
    • P.P. ID #: Search the price protection record according to the specified PPID number. 
    • When: Search the price protection record by the specified date or time
    • Who: Search the price protection record by the specified user name
    • Text: Search the price protection record by the specified history text 

 

Header Actions Edit section
Action Name Description
Open Allows the ManagePriceProtect user to re-open any Price Protection that has expired and sets the Price Protection back to "Open" status. 
Close Allows the ManagePriceProtect user to set any Price Protection that has expired to "Closed".
Approve Allows the ManagePriceProtect user to approve PPID records which are in preparing status. The price protection nightly thread will pick up approved records to update backlogs, debit, and MPP's. This button is only available when property AutoApprovePriceProtection is set to false.
However, you cannot approve the PPI records earlier than the current date.
Delete Allows a ManagePriceProtect user to delete selected Price Protection transactions that are in Approved, Preparing, Expired or Closed status.
Refresh Refreshes the inventory and update the quantity in the Price Protect Record Detail page. This action button applies the price protection changes to the inventory buckets.  
Finalize This action button applies the price protection changes to the inventory buckets.

 

PPID Status

The following flow diagram depicts the chronological order in which PPID is initiated until it expires.

 

Status

Description

Action
Preparing

Status when the distributor user accepts the credit calculations.

To approve, perform the following steps:

Approving Pricing Protection Process:

 

Approved

Status that occurs when you use the Approved button to approve the Price Protection records.

Note that Price Protection nightly task will create the records only if the AutoApprovePriceProtection property is set to True.

The price effective night-1 nightly job runs and picks the approved PPIDs. No user action is required in this step.

Pending Inventory Update

Status when the nightly task selects all approved records on a date prior to the effective date and before selecting the Finalize button.


Manufacturer finalizes the PPID.
Open Status when the Finalized button is clicked for Price Protection records in PendingInventoryUpdate status to be opened. By clicking on the Price Protection ID, the distributor user can review the details (Price Protection Detail screen) and can either “Accept” the credit calculation (which sets the Price Protection process to “Accepted”) or can drill into the details of and request a review on one or more parts (which sets the Price Protection process to request review and the red exclamation mark is displayed and an alert sent). 
Review Requested The status when the Distributor user send the Price Protection records in "Open" status for review. Manufacturer has to review and update the PPID. The manufacturer marks it reviewed.
Reviewed Status when the UpdatePriceProtect or ManagePriceProtect user has reviewed the requests. Distributor has to take action and accept the calculations.
Accepted Status when the distributor user accepts the credit calculations. Accepted PPIDS cannot be expired. System/Manufacturer closes the PPID once the payments are made.
Closed The status when the expired PP records can be closed using the Close button, leading to the Closed status for these records.

A user must have UpdatePriceProtect or ManagePriceProtect to close, delete, or export price protection. 

 

Expired The status when the Price Protection records review period has ended. Once a PPID is Accepted by a Distributor, the status of the PPID will remain as Accepted. It will not change to Expired even after the Review End Date.

No action required

After the review period has ended, the status for a Price Protection record is “Expired”.

  • If a record is “Expired”, it can be opened again by clicking the Open icon. 
  • Records in Open and Expired status can be closed
  • Records can be only deleted when they are in Preparing, Approved, Expired or Closed Status.

Credit information can be exported back to the back office systems for processing. Users can use ProLink for this function. Please see the related ProLink guide for additional information.

 

Troubleshooting

1. PPID didn't pick MPP price change lower than DBC (RECHT-49500)

Resolution:

Check if custom hooks are stopping the PPID creation. Please check the following and make sure this returns null.

public PriceProtectionUtil.PriceTypeInfo setNewPriceTypeWhenNewPP(DbConnection dbConnection, PriceProtectionItem priceProtectionItem, PriceProtectionUtil.PriceTypeInfo priceTypeInfo, PriceProtectionUtil.PriceTypeInfo priceTypeInfo1){ inheritCOO(priceProtectionItem); return priceTypeInfo; }

You can also try this solution:

Change the value of the property PriceProtectionHook as pc.asset.EmptyPriceProtectionHook.

2. PPID was not created for DBC change (RECHT-45706)

Check if the DBC change happened at the root part level or MPN. Price change on MPN will not lead to PPID creation if in the disti setup, "at root" flag is set to yes.

3. Debit Price does not match the resale ship date after Price protection was updated to a new MPP (RECHT-45242)

Claim was rejected with an old ship date which had a valid MPP. This MPP was active until the new effective date of MPP. The Debit was linked to old MPP and new MPP debit did not match.

Resolution: 

  • Mandate receiving Claims prior to Price Effective Date to continue to use cost assignment Rule = DBC
  • Change Cost Assignment Rule != DBC (Blended, Highest or Lowest) and then mandate receiving Claims between Price Effective Date and PPID Finalize Date

 

 

  • Was this article helpful?