Original requirements in 



Split from 

Create a new custom object : named Pricing Campaign CPC with: the following characteristics:


LabelPricing Campaign CPC
Plural LabelPricing Campaign CPCs
Object NamePricing_Campaign_CPC
DescriptionIPP-182
Record NamePricing Campaign CPC Name
Data TypeAuto Number
Display formatCPC -{00000000}
Allow Reports   

True

Allow Activitie

True

Track Field HistoryTrue
Allow in Chatter GroupsFalse
Enable LicensingFalse
Allow Sharing  True
Allow Bulk API AccessTrue
Allow Streaming API AccessTrue
Deployment StatusDeployed
Allow SearchTrue
Record TypesNone required (Master only)


Data Dictionary - Pricing Campaign CPC



Field NameAPI NameData TypeTrack HistoryMandatory fieldRead OnlyPicklist Values or formulaHelp TextProfile accessCommentsLayout SectionNeeded for initial Data Load (Kunal files)?
1OwnerOwnerLookup(User,Group)YesYes (default)



Pricing Campaign CPC Owner (standard Owner field of the object); See Automation SectionInformation
2Account Manager ReviewAccount_Manager_Review__cPicklistYes

  • Rejected
  • Committed

Should we have a default value for this picklist called "Not Started" - aka, every new CPC record created will always have this default value until a User changes it (to Rejected or Commited) AND a VR to prevent Users from making this field = null? (making it Required is a problem because it would "force" uploaders/Dataiku to always have to input "Not Started" at CPC record creation 



Restrict picklist to the values defined in the value set = TRUEAccount Manager input
3Annual salesAnnual_sales__cNumber(18, 0)

Yes, on layout



Metrics
4Annual volumeAnnual_volume__cNumber(18, 0)

Yes, on layout



Metrics
5Capped Reco price - Document CurrencyCapped_Reco price_Document_Currency__cCurrency(18, 0)







Not relevant for initial Data load
6Capped Reco price - Pricing CurrencyCapped_Reco price_Pricing_Currency__cCurrency(18, 0)







Not relevant for initial Data load
7Capped Recommended price (%)Capped_Recommended_price__cPercent(18, 0)

Yes, on layout



OverallNot relevant for initial Data load
8Committed priceCommitted_price__cNumber(18, 0)





Pre-populate with Capped Recommended Price on record creation

NOE, Julien- does it make sense to pre-populate a Number field with the initial value of a Percent field?

Account Manager input
9Contracting modelContracting_model__cText Area(255)






DimensionNot relevant for initial Data load
10CountryCountry__c

Formula (Text) This formula references multiple objects




TEXT(Sold_To__r.Payment_Country__c)

NOE, Julien - Account object has 8 different fields where "Country" can be captured - which one should we look to to expose in the Pricing Campaing CPC record? Prod Analysis here

DimensionNot relevant for initial Data load
11CPC StatusCPC_Status__cPicklist


  • WIP
  • Rejected
  • Committed
  • Quote drafted
  • Quote in approval
  • Quote under CSR review
  • Quote closed - Sales started (Updated in SAP)

Read only

Workfow to create :

If Commit/Reject is Blank: WIP
if Commit/Reject is Rejected : Rejected
if Commit/Reject is Committed : Committed
If quote created (New lookup at CPC or Quote lvl TBD) : Retrieve Quote stage

NOE, Julien - unless there is a need to allow Users to change this value at their own will - this does not seem like it should be a picklist field, rather a formula field that retrieves the value from:

  • The OppStage if there is an Opp linked to the CPC record; OR
  • The Account_Manager_Review__c field if there is no Opp linked to the CPC record
Overall
12Dataiku IDDataiku__ID__cText(50) (External ID)

Yes, on layout


Field to be populated by Dataiku with the Pricing campaign ID
Not relevant for initial Data load
13Decision logic (path to microsegment)Decision_logic_path_to_microsegment__cText Area(255)

Yes, on layout


To be aligned with CherylModel DataNot relevant for initial Data load
14Document CurrencyDocument_Currency__cCurrency(18, 0)






DimensionNot relevant for initial Data load
15End UseEnd_Use__cPicklist

X

NOE, Julien why do we need a picklist field just to make it read-only???

Use Global Value Set: End Use


DimensionNot relevant for initial Data load
16Forecasted annual volumeForecasted_annual_volume__cNumber(18, 0)





If below MOQ populate first bracket on quote 

NOE, Julien what is the purpose of this requirement/automation? Where would the MOQ value be retrieved from?

MetricsNot relevant for initial Data load
17FX rate usedFX_rate_used__cNumber(18, 0)

Yes, on layout



MetricsNot relevant for initial Data load
18Important featuresImportant_features__cLong Text Area(32768)

X

NOE, Julien why do we need a long text area field just to make it read-only???





Model DataNot relevant for initial Data load
19Last priceLast_price__cNumber(18, 0)

Yes, on layout



MetricsNot relevant for initial Data load
20Local CurrencyLocal_Currency__cCurrency(18, 0)

Yes, on layout


NOE, Julien What is the purpose of this field? Define a currency (ie USD, EUR, etc) or define a currency value (ie, 5 USD or 4 EUR). 

DimensionNot relevant for initial Data load
21Market ClusterMarket_Cluster__cPicklist

XNOE, Julien why do we need a picklist field just to make it read-only???





Use Global picklist values 

NOE, Julienthere is no Global picklist value for Market Cluster.

Overall
22Market segmentMarket_Segment__cPicklist

XNOE, Julien why do we need a picklist field just to make it read-only???

Use Global Value Set: Market Segment Global


DimensionNot relevant for initial Data load
23Microsegment (node)Microsegment_node__cNumber(18, 0)

Yes, on layout



Model DataNot relevant for initial Data load
24Modelling approach
Free text

X



DimensionNot relevant for initial Data load
25Modelling level
Free text

X



DimensionNot relevant for initial Data load
26Node price
Number(18, 0)

X



MetricsNot relevant for initial Data load
27Price reco rationale
URL

X


Link to Dataiku chartAccount Manager inputNot relevant for initial Data load
28Pricing Campaign
Lookup(Pricing Campaign)

Yes, visible only on Compact Layout

Read only
Dimension

on initial load, 3 campaigns: Long Tail, non-Long Tail and H2

29Pricing Currency
Currency(18, 0)
Yes




OverallNot relevant for initial Data load
30Pricing Increment - Document Currency
Currency(18, 0)







Not relevant for initial Data load
31Pricing Increment - EUR
Currency(18, 0)







Not relevant for initial Data load
32Pricing Increment - Pricing Currency
Currency(18, 0)







Not relevant for initial Data load
33Pricing region
Picklist
Yes



Use picklist value - same as quote onesOverallNot relevant for initial Data load
34Product
Product lookup
YesCompact Layout


Retrieved from Product Code (Material Group Code);
If failing to match during upload, needs to notify campaign owner
Overall

will come from Product code automation

35Product code
Free text
YesX


material_group_product_lvl3_code on dataiku export
Material Group Code field at product level
Overall
36Product H4
Picklist

X


Use Global picklist valuesDimension

Formula field to bring the Product H4 Name (ie. Aquivino)

37Projected sales impact
Number(18, 0)

X



Overall

Formula - will be used for Dataiuk entries only

38Quantified importance of feature
Number(18, 0)

X



Model DataNot relevant for initial Data load
39Quote
Lookup to Opportunity automatically filled if Quote was created via that specific CPC record

X

Read only

Not relevant for initial Data load
40Reason for rejection
Picklist





- Competitive threat
- Growth customer or initiative
- Price fixed by contract
- Customer or product discontinued
- Other (Please describe)
Account Manager inputNot relevant for initial Data load
41Region
Formula field to capture the Sold-to Account ECCO Reporting Region

Formula field


Use Global picklist valuesDimensionNot relevant for initial Data load
42Rejection description
Free text






Account Manager inputNot relevant for initial Data load
43Sold-To
Account Lookup

Compact Layout

For full CPC - Needs to be aligned with account access rules (confidentiality, roll up to managers)Retrieved from Sold To "SAP Code"; If failing to match during upload, needs to notify campaign owner
Check SAP Code at account level
.
OverallNot relevant for initial Data load
44Sold-To SAP Name
Free text

X


To store the SAP Name of the Sold-To "Account"Overall
45Sold-To Code
Free text
YesX



Overall
46Team Cluster
Picklist

Formula


Formula field to grab value from Account;s Team Cluster

DimensionNot relevant for initial Data load
47Uncapped Recommended price - EUR
Number(18, 0)

X



MetricsNot relevant for initial Data load
48Uncapped Recommended price (%)
Number(18, 0)

X



MetricsNot relevant for initial Data load
49Unit of Measurement
Picklist





Same values as Unit of Measurement at Pricing setting level: Retrieve value of "Unit of Measure" from the corresponding product pricing setting (Region, currency, market segment)
Not relevant for initial Data load
50Weighted average price
Number(18, 0)

X



MetricsNot relevant for initial Data load



Validation Rule(s)

Validation Rule NameFormulaError MessageError Location
Account_Manager_Rejected


AND(ISPICKVAL(Account_Manager_Review__c,'Rejected'),ISBLANK(TEXT(Reason_for_rejection__c)))


Please provide a Reason for RejectionField: Reason for Rejection
  • Sharing and security : Private (only Owner and user above in role hiearchy) + Edit access. Do we need to give a view all and/or modify all to some profiles or users ? Is some region managers who need to see more than their records ? What about confidential accounts ? Access only by owner or account team ? Product manager access ?

  • Don’t create tab for this object

  • Create a “Pricing Campaign CPC” tab at Pricing campaign level

Automations Required

1. On record insertion - the field Sold-To (Account lookup) needs to be automatically populated with the Account found via the value available in the Pricing Campaign CPC field Sold-To Code - the Account field where the code can be queried is:

SAP Code

SAP_Sold_To_Number__c

Text(10) (External ID) (Unique Case Insensitive)

2. On insertion of Pricing Campaign CPC record - the standard Owner User lookup needs to be the same as the Account Owner from the Account lookup labeled as Sold-To