1/ Default field values for new "Sales Quote - Novecare" Quote Record type
If not possible for some of them (eg : Quote title)
| Field label | API Name | Default value |
|---|---|---|
| Quote Title | SLV4_Quote_Title__c | SQ_[SLV2_quote_Account__c.Name]/[Today Date]/[Auto Number : 000001] If not possible configure by default "This field (Quote Title) will be filled automatically" and update it with an automation after creation. |
| Status | SLV2_quote_Status__c | Default value : "Draft" |
| GBU | SLV2_quote_GBUp__c | Novecare |
| BU | SLV2_quote_BUp__c | RunningUser.BU__c |
| Quote expiring by | Today + 7 days | |
| Standard Payment term | Linked to IPP-314 Populate Account “Standard Payment terms” value If blank at account level → "30 D InvD" by default | |
| Ship to | Check with account functional process (Josiane) | |
| Pricing Region | RunningUser.Region__c | |
| Account customer Segment | TBD |
2/ Validation Rules to create :
"The Deviated payment term and the Standard payment term must be different." :
IF($Permission.Bypass_Validation_Rules, FALSE,
AND(
TEXT(Deviated_Payment_Terms__c) = TEXT(Standard_Payment_Terms__c), Record_Type_Developer_Name__c = 'ONE Sales Quote',
&& NOT(ISPICKVAL(StageName, 'Closed - Sales Started'))
)
)"Manually you can only update the Stage from Draft to Closed - Abandoned and vice-versa." Please find below the Icare rule to adapt for Core Novecare :
NOT($Permission.Bypass_Validation_Rules) &&
NOT(Bypass_Validation_Rules__c) &&
ISCHANGED(StageName) &&
NOT(
OR(
ISPICKVAL(StageName, 'Closed - Abandoned') && ISPICKVAL(PRIORVALUE(StageName), 'Draft'),
ISPICKVAL(StageName, 'Draft') && ISPICKVAL(PRIORVALUE(StageName), 'Closed - Abandoned'),
ISPICKVAL(StageName, 'Quote Expired') && of_Active_OppLines__c = 0 && ISPICKVAL(PRIORVALUE(StageName), 'Closed - Sales Started')
)
) &&
Record_Type_Developer_Name__c == 'ONE Sales Quote'"You can only update the status to "Sent to customer" or "SAP upload preparation" if quote has been approved"
NOT($Permission.Bypass_Validation_Rules) &&
NOT(Bypass_Validation_Rules__c) &&
ISCHANGED(StageName) &&
NOT(
OR(
ISPICKVAL(StageName, 'Sent to Customer') && ISPICKVAL(PRIORVALUE(StageName), 'Approved'),
ISPICKVAL(StageName, 'SAP upload preparation') && ISPICKVAL(PRIORVALUE(StageName), 'Approved', 'Sent to Customer'),
)
) &&
Record_Type_Developer_Name__c == 'ONE Sales Quote'"The Stage for new Sales Quotes must be 'Draft'. :
NOT($Permission.Bypass_Validation_Rules) &&
NOT(Bypass_Validation_Rules__c) &&
ISNEW() &&
NOT(ISPICKVAL(StageName, 'Draft')) &&
Record_Type_Developer_Name__c == 'ONE Sales Quote'"You are not allowed to select manually the stage "Closed - Sales Started" :
To be reviewed with dev "You can’t edit the region, currency and Contractual Commitment fields if there is already a product on the quote". Please find below the Icare rule to adapt for Core Novecare + add GBU + BU
IF($Permission.Bypass_Validation_Rules, FALSE,
AND(
OR(
ISCHANGED(Region__c),
ISCHANGED(CurrencyIsoCode),
ISCHANGED(Contractual_Commitment__c)
),
of_OppLines__c > 0
)
)- VR to add if SLV2_quote_Payment_terms__c = Other (Please Describe) ?
3/ Validation Rules to edit to exclude new "ONE Sales Quote" record type
- SLV10_Prevent_edition_accepted
- SLV11_CSR_Mandatory
- SLV11_QUO_User_GBU_Validation
- SLV4_Location_ShipTo_mandatory
- SLV4_Specific_Invoice_Periodicity_empty
- SLV4_Specific_Payment_Term
- SLV5_block_validate_status
- SLV7_QUO_Confidential_MBU_Validation
- specific_billing_frequency
- Volume_validity_FromTo
Be sure current VR on validity dates will work :
Change error message : "Quote valid to (Internal)" needs to be greater than "Quote valid from (Internal)"
4/ Primary contact to be added after creation to related contact
After creation and edition of the contact lookup, create automatically a related "Customer Contact" (SLV_Customer_Participants__c) record linked to the quote with the mapping below :
- Contact Name : Quote.contact__c (new field created on IPP-312)
- Role : Participant (do we want new values ?)
- Primary : True
- Quote : Current quote
If the contact__c field is updated we need to replace the primary contact created before by the new one.