1/ Default field values for new "Sales Quote - Novecare" Quote Record type
| 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 :
These VR has been pasted from iCare. Please adapt them with the Novecare fields and Record type "ONE Sales Quote"
"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 Status 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". + add GBU + BU fields :
IF($Permission.Bypass_Validation_Rules, FALSE,
AND(
OR(
ISCHANGED(Region__c),
ISCHANGED(CurrencyIsoCode),
ISCHANGED(Contractual_Commitment__c)
),
of_OppLines__c > 0
)
)- Contact__c has to be related to Account
- If Status = Closed Sales Started or Quote expired all quote should be in read only
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 :
- Validation rule : Price_validity_FromTo
- 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.