Version Control
| Version | Date | Description | Author |
|---|---|---|---|
| v.1 | 29.02.2024 | Creation | Josiane Peytraud |
1. General overview
This Conversion process flow is launched by an action button for the Non SAP Accounts. So it's visible only on the layout “Non SAP Customer Lightning”.
Do not allow to run the flow if:
- The Partner Type is not "Prospect" => error message: "You can not convert this Account since his Partner Type is not Prospect."
The Account Status is not “Prospect” => error message: "You cannot convert this from prospect to customer, as a request has already been created. Please contact your CSR"
- The Corporate Group is flagged as “Not SAP Compatible” => error message: "All customers in CRM are supposed to be assigned to a Corporate Group. Can you please indicare whoch Corporate Group does this customer belong to? If non of the ones created in CRM, the account should then be added to the group "Decision: Various"."
2. Screen Flow detail
2.1 Before presenting the 1st screen
Check if there is already an existing request for this Account.
If Yes, retrieve it and populate the 1st screen with those information
If no, create one, so until the end of the process, we won't have 2 ways of working, with:
- Record Type = Conversion Request
- Account (SLV2_REQ_Account__c)= ID of the Account we're converting
Record Status (SLV2_REQ_Record_Status__c) = Draft
Owner = ID of the user doing the conversion
2.2 Screen 1
2.2.1 Selection of the CSR
There are 3 possibilities for the user to select the CSR who will receive the email with the summary of the Conversion Request and the one with the SAP Request number (for all GBUS except Technology Solutions and Novecare) or will be the main point of contact for Data Team who manages the Account creation in SAP for Technology Solutions and Novecare.
- “Select my CSR from the account team” => selection in the list the user from the Account Team with the role = "Customer Service Representative"
- “Search for my CSR based on his/her name” => search on User object
- “I am part of a GBU working with CSR Teams or Service Center” => selection in the list of the queues from QueueSobject with SobjectType = 'SLV2_Request__c' AND Queue.Email != '’ (This option is used by ECO GBUs)
2.2.2 Definition of the Account Sub-Type
Based on the GBU of the user ???, retrieve the GBU Account Sub-type from the GBU Segmentation object (SLV_Involved_GBU__c) and give the possibility to the user to change it.
If none, put default value as "End-User".
2.2.3 Detail of File upload?
For Novecare, we don't propose the possibility to load a file. So, set the value to "Ask me the Detail...." and don't show this section
For the other GBUs, give the following possibilities with a Radio-button:
- I have prepared a creation form and can attach it Download Customer Creation Form
- Ask me the details required and I will provide what I know (inclu. attachments)
2.2.4 File Upload:
Even when the user hasn't selected the option "I have prepared ...", they must have the possibility to load a file.
So, in any situation, give the possibility to load one.
2.2.5 Sold-to or Ship-to
Ask the user to confirm if he would like to create a Sold-to or a Ship-to in SAP.
Pre-populate the information based on the Partner Sub-Type of the Account.
2.3 When clicking "Next" on the 1st screen
Before displaying the following screen, we need to perform few activities in order to save what has been done so far and be able to re-start the process if stopped in the middle and not re-ask everything to the user.
2.2.1 Update the request with the information from the screen
On the Request, depending on the option selected, update the following information:
If “Select my CSR from the account team” or “Search for my CSR based on his/her name” is selected => "My CSR" (SLV_REQ_My_CSR__c) = CSR Id
- If not,
CSR Team (SLV2_REQ_CSR_Team__c) = ID of the selected queue
CSR Queue name (SLV2_REQ_CSR_Queue_Name__c) = Name of the selected queue
"Conversion Request?" (SLV2_REQ_Conversion_Request__c) = Picklist value depending on what has been selected
Type of Account (SLV2_REQ_Type_of_account__c) = "Sold-ToShip-to" if "Sold-To & Ship-To" is selected, "Ship-To" if not
- Attach the loaded file is there is one.
2.2.2 Update / Create the GBU Segmentation
Update: If there is already a GBU segmentation existing for this Account and this GBU, update the GBU Account Sub-type with the selected value
Creation: if there is no GBU Segmentation already existing, create one with:
- Record Type = GBU Customer Segmentation
- Account = Id of the Account
GBU (SLV7_GCS_GBU__c) = the one determined previously
- GBU Account Sub-type = the selected one
2.2.3 if option 'I have prepared ..." has been selected
Ensure there is a file uploaded => error message: "You can't go further unless you attach a file."
If yes, go to the summary screen.
2.4 Sold-to or Ship-to flow?
Depending of the selection done in Point 2.2.5, go on with the Sold-to or Ship-to Account Process.
Ship-to Process is described on point XX
2.5 Contact Screen
Fields to display are:
- Ask if Sold-to contact is existing.
- If yes, lookup on contact
- If no, input fields
- Ask if the Safety Data Sheet Contact is the same as the Sold-to
- If yes, copy/paste the information from the Sold-to Contact
- If no, ask if the Safety Data Sheet Contact exist
- If yes, lookup on contact
- If no, input fields
- Ask if the Certificate Of Analysis Contact is the same as the Sold-to
- If yes, copy/paste the information from the Sold-to Contact
- If no, ask if it’s the same as the Safety Data Sheet one
- If yes, copy/paste the information from the Safety Data Sheet Contact
- If no, ask if the CoA Contact exist
- If yes, lookup on Contact
- If no, input fields
The list of fields to display to the user when the contact is not existing are:
- First Name => Mandatory
- Last name => Mandatory
- Language => Picklist based on the field Language of the object Contact or the Global Picklist Language (it's the same picklist, use the simplest option), Mandatory
- Function => Picklist based on the field Function of the object Contact, Mandatory
- Job Department => Picklist based on the field Job Department of the object Contact, Mandatory
- Phone
- Mobile
If possible, check that at least one of the 3 following information is populated: Phone, Mobile or Email.
When a contact is selected with the lookup, populates the same fields as above + Account Name from the contact and display them so the user can ensure he selected the contact he was looking for.
2.5 When clicking "Next" on the "Contact Screen"
2.5.1 Update the request with the following information
- For Sold-to Contact:
Contact exist (SLV2_REQ_Contact_exist__c) = Does the Sold-to Contact exist?
Sold-to Contact (SLV2_REQ_Sold_To_Contact__c) = the ID of the contact if one has been selected
Sold To Cont. First Name (SLV2_REQ_SoldToContFirstName__c) = First Name
Sold To Cont. Last Name (SLV_REQ_SoldToContLastName__c) = Last Name
- Language (SLV2_REQ_LanguagePick__c) = Language
Sold To Cont. Function (SLV2_REQ_SoldToContFunction__c) = Function
Job Department (SLV2_REQ_SoldToContJobDepartment__c) = job Department
Sold To Cont. Phone (SLV2_REQ_SoldToContPhone__c) = Phone
Sold To Cont. Mobile (REQ_SoldToContMobile__c) = Mobile
Sold To Cont. Email (SLV2_REQ_SoldToContEmail__c) = Email
- For Safety Data Sheet Contact:
- Safety Contact same as Sold-to (To be created) = Is the Safety Contact same as Sold-to Contact?
Safety Data Contact exist (SLV29_REQ_SafetyData_Contact_Exist__c) = Does the Safety Contact exist?
Safety Data Contact (SLV4_1_REQ_Safety_Data_Contact__c) = the ID of the contact if one has been selected
First Name (SLV29_REQ_SafetyData_First_Name__c) = First Name
Last Name (SLV29_REQ_SafetyData_Last_Name__c) = Last Name
Language (SLV29_REQ_SafetyData_Language__c) = Language
Function (SLV29_REQ_SafetyData_Function__c) = Function
Job Department (SLV29_REQ_SafetyData_Job_Department__c) = job Department
Phone (SLV29_REQ_SafetyData_Phone__c) = Phone
Mobile (REQ_SafetyData_Mobile__c) = Mobile
Email (SLV29_REQ_SafetyData_Email__c) = Email
- For Certificate Of Analysis Contact:
CoA Contact same as Sold-to (To be created) = Is the Safety Contact same as Sold-to Contact?
- CoA Contact same as Safety (To be created) = Is the CoA Contact same as Safety Contact?
COA Contact exist (SLV29_REQ_SafetyData_Contact_Exist__c) = Does the Safety Contact exist?
COA Contact (SLV4_1_REQ_Safety_Data_Contact__c) = the ID of the contact if one has been selected
First Name (SLV29_REQ_COA_First_Name__c) = First Name
Last Name (SLV29_REQ_COA_Last_Name__c) = Last Name
Language (SLV29_REQ_COA_Language__c) = Language
Function (SLV29_REQ_COA_Function__c) = Function
Job Department (SLV29_REQ_COA_Job_Department__c) = job Department
Phone (SLV29_REQ_COA_Phone__c) = Phone
Mobile (REQ_COA_Mobile__c) = Mobile
Email (SLV29_REQ_COA_Email__c) = Email
2.5.2 Get the information needed for the "Delivery Screen"
- Retrieve the information of the "Linked Ship to Account" if there is one. The access is done with the Request Number.
- Extract the list of Country based on the field Country of the Account or on the global picklist
- Extract the list of State based on the field State of the Account or on the global picklist
- Extract the list of Language based on the field Language of the object Request
- Extract the list of Alphabet based on the field Alphabet of the object Request
- Extract the list of sales area for WP1 from the object Utility with the following filters:
- Record Type = Sales Area
- GBU = GBU defined at the beginning of the process
- Source System = WP1
- Is Active = True
Display Sales Organisation, Distribution Channel and code.
- Extract the list of sales area for PF1 from the object Utility with the following filters:
- Record Type = Sales Area
- GBU = GBU defined at the beginning of the process
- Source System = WP1
- Is Active = True
Display Sales Organisation, Distribution Channel and code.
- Extract the list of Shipping Conditions for WP1 based on the field "Shipping condition for WP1" from the object Request
- Extract the list of Shipping Conditions for PF1 based on the field "Shipping condition for PF1" from the object Request
- Extract the list of plants from the object Utility with the following filters:
- Record Type = Other
- Type = Plant
- Involved GBU = contains the GBU defined at the beginning of the process
- Is Active = True
- Extract the list of Incoterm 1 based on the field Incoterm 1 from the object Request
2.6 Delivery Screen
Fields to display are:
- "Does this account require a different delivery address?" + Radio button Yes/No
If Yes, "Does the ship-to (delivery address) already exist in Core CRM?" + Radio button Yes/No
If Yes, "Type the name of the account to identity the delivery address" + lookup on Account to find the ship-to
If No, "Provide the details of the Ship-To account (delivery address) + following input fields
- Customer Name, Mandatory
- C/O Name
- Country, Mandatory, Picklist based on the previous extraction
- Street, Mandatory, text area
- State/Province, Dependent picklist on the country one
- City, Mandatory
- Postal Code, Mandatory (really?)
Customer Name (Local Language)
- C/O Name (Local Language)
- Street (Local Language), Text area
- City (Local Language)
- State/Province (Local Language)
- Postal Code (Local Language)
- Country (Local Language), Lookup on Utility with Type = Country
- Language, Picklist based on the previous extraction
- Alphabet, Picklist based on the previous extraction
If No, nothing else
- Target System and Sales Area:
2 columns, 1 for WP1 and 1 for PF1 with:
- Target System WP1, Checkbox, Pre-ticked for Novecare and Technology solutions
- Sales Area WP1, Data table populated with previous extraction, with a search
Shipping conditions for WP1, Picklist based on the previous extraction, Help text = "General shipping strategy for the delivery of goods from the seller to the buyer (rail, truck, ...)"
- Target System PF1, Checkbox, Pre-ticked for Novecare and Technology solutions
- Sales Area PF1, Data table populated with previous extraction, with a search
- Shipping conditions for PF1, Picklist based on the previous extraction, Help text = "General shipping strategy for the delivery of goods from the seller to the buyer (rail, truck, ...)"
- "Do you wish to copy the incoterms and payments terms from an existing quote?" + Radio Button Yes/No, Mandatory
- Not for Technology Solutions and Novecare as they don't do Quote on Prospect
- Default value = No ???
- If Yes, "Quote" +
- Lookup on Quote (SLV2_Quote__c)
- Retrieve
- Payment Term (SLV2_quote_Payment_terms__c)
- Incoterm 1 (SLV2_quote_Incoterm__c)
- Incoterm 2 (SLV2_quote_Location__c)
- If No, nothing else
- Fill in the Delivery details for this shipping address with:
- Full/Partial Loads, only 20 characters
- Delivery Hours
- Delivering Plant, Picklist based on the previous extraction
Incoterm 1, Picklist based on the previous extraction, Help text = "Internationally accepted rules set by the International Chamber of Commerce (ICC) that define delivery conditions and connected buyer and seller obligations."
Incoterm 2, Help text = "Exact place where the seller will handle the goods to the buyer (not necessarily the same as ship-to location)."
- Provide a Supply Chain Contact with:
- First Name
- Last Name
- Phone
- Mobile ???
2.7 When clicking "Next" on the "Delivery Screen"
2.7.1 Update the request with the following information
Different Delivery Address (SLV2_REQ_Different_Delivery_Address__c)
Delivery Address Exist (SLV2_REQ_Delivery_Address_Exists__c)
Target System WP1 (SLV20_REQ_Target_System_WP1__c)
Sales Area WP1 (SLV20_REQ_Sales_View_WP1__c) = the ID of the selected Sales Area
Shipping conditions for WP1 (SLV2_REQ_Shipping_Conditions__c) = the value of the selected value
Target System PF1 (SLV20_REQ_Target_System_PF1__c)
Sales Area PF1 (SLV20_REQ_Sales_View_PF1__c) = the ID of the selected Sales Area
Shipping conditions for PF1 (SLV23_REQ_Shipping_Conditions_PF1__c) = the value of the selected value
Copy Incoterms and Payment terms (SLV2_REQ_Cpy_Incoterms_and_Payment_terms__c)
Quote (SLV2_REQ_Quote__c)
Full/Partial Loads (SLV2_REQ_Full_Partial_Loads__c)
Delivery Hours (SLV2_REQ_Delivery_Hours__c)
Delivering Plant (SLV20_REQ_Delivering_Plant__c)
Incoterm 1 (SLV2_REQ_Incoterm_1__c)
Incoterm 2 (SLV2_REQ_Incoterm_2__c)
Supply Chain Contact First Name (SLV2_REQ_Supply_Chain_Contact_First_Name__c)
Supply Chain Contact Name (SLV2_REQ_Supply_Chain_Contact_Name__c)
Supply Chain Contact Phone (SLV2_REQ_Supply_Chain_Contact_Phone__c)
Supply Chain Contact Mobile (REQ_Supply_Chain_Contact_Mobile__c)
Supply Chain Contact Email (SLV2_REQ_Supply_Chain_Contact_Email__c)
2.7.2 Create/Update the Linked ship-to Account if needed with the following information
If an additional delivery Address is required and if it doesn't already exist, we need to store the information until the submit is done. This is done in a custom object: Linked Ship to Account.
Search, if there is already an existing record in the object "Linked Ship To Account" for the on-going request. If yes, then update it, if not, then create it with:
Request (SLV2_LSA_Request__c) = The ID of the on-going conversion
Account Name (SLV2_LSA_Account_Name__c) = concatenation of "Customer Name" and "C/O Name" separated by a space
Customer Name (SLV2_LSA_Account_Name__c)
C/O Name (SLV42_C_O_Name__c)
Country (SLV2_LSA_CountryPick__c) => Need help
Street (SLV2_LSA_Street__c) =>
State/Province (SLV2_LSA_State_Province__c)
City (SLV2_LSA_City__c)
Postal Code (SLV2_LSA_Postal_Code__c)
Customer Name (Local Language) (SLV42_Customer_Name_INT__c)
C/O Name (Local Language) (SLV42_C_O_Name_INT__c)
Street (Local Language) (SLV2_LSA_Street_Local_Language__c)
City (Local Language) (SLV2_LSA_City_Local_Language__c)
State/Province (Local Language) (SLV2_LSA_State_Province_Local_Language__c)
Postal Code (Local Language) (SLV2_LSA_Postal_Code_Local_Language__c)
Country (Local Language) (SLV2_LSA_Country_Local_Language__c)
Language (SLV2_LSA_LanguagePick__c)
Alphabet (SLV2_LSA_Alphabet__c)
2.7.3 Get the information needed for the "Payer Screen"
- Extract the list of Payment Terms based on the field "Payment Terms" from the object Request
- Extract the list of Payment Mode based on the field "Payment Mode" from the object Request
Extract the list of Unit of Measure based on the field "Unit of Measure" (SLV7_REQ_Unit_of_Measure__c) from the object Request
- Extract the list of Industry (Giro) based on the field "Industry(Giro" from the object Request
- Extract the information about the Tax codes from the object Utility with
- Record Type = "Other"
- Type = "Country"
- Language Key = "EN"
- Country = the country of the Account we're converting
2.8 Payer Screen
Fields to display are:
- "Is your Sold-To also the Payer?" + Radio button Yes/No
- If Yes, nothing else
- If No, "Identify the Payer:" + following input fields:
- Payer Name, Mandatory
- Payer Country, Mandatory, Picklist based on the previous extraction
- Payer Street, Mandatory, text area
- Payer City, Mandatory
- Payer State/Province, Dependent picklist on the country one, Mandatory (really?)
- Payer Zip/Postal Code, Mandatory (really?)
- Provide the Payment Details:
- Payment Terms, Picklist based on the previous extraction, Mandatory for Novecare
- Payment Mode, Picklist based on the previous extraction, Mandatory for Novecare
- Yearly Estimated Turnover, Mandatory
- Estimated Volume, Mandatory
- Unit of Measure, Mandatory
- Estimated Value of First Order, Mandatory
- Currency
- Industry (Giro), only if country of the account = Chile, Picklist based on the previous extraction
- "Is Customer Tax Exempt?", Checkbox, Help text = "When applicable, document from administration to provide"
- VAT Number, displayed only if the field "Check VAT" is ticked, Mandatory if displayed
- Tax ID 1, displayed only if the field "Tax ID1' is not "Not Used", Mandatory if field "Check Tax ID1" is ticked. Display the field "Tax ID1" from Utility in display mode above the input field.
- Tax ID 2, displayed only if the field "Tax ID2' is not "Not Used", Mandatory if field "Check Tax ID2" is ticked. Display the field "Tax ID2" from Utility in display mode above the input field.
- Tax ID 3, displayed only if the field "Tax ID3' is not "Not Used", Mandatory if field "Check Tax ID3" is ticked. Display the field "Tax ID3" from Utility in display mode above the input field.
- Tax ID 4, displayed only if the field "Tax ID4' is not "Not Used", Mandatory if field "Check Tax ID4" is ticked. Display the field "Tax ID4" from Utility in display mode above the input field.
- Tax ID 5, displayed only if the field "Tax ID5' is not "Not Used", Mandatory if field "Check Tax ID5" is ticked. Display the field "Tax ID5" from Utility in display mode above the input field.
- "Does the Payer contact already exist in Core CRM?" "The Payer contact is the person we call when we have questions about the payment."+ Radio button Yes/No, Mandatory
- If yes, lookup on contact
- If no, input fields (Same fields as the ones for the sold-to Contact)
- The Payer contact is Mandatory
2.9 When clicking "Next" on the "Payer Screen"
Update the request with the following information
Is Sold-To also Payer (SLV2_REQ_Is_Sold_To_Also_Payer__c)
Payer Name (SLV2_REQ_Payer_Name__c)
Payer Country (SLV4_Payer_Country__c)
Payer Street (SLV4_Payer_Street__c)
Payer City (SLV4_Payer_City__c)
Payer State/Province (SLV4_Payer_StateProvince__c)
Payer Zip/Postal Code (SLV4_Payer_ZipPostalCode__c)
Payment terms (SLV2_REQ_Payment_terms__c)
Payment Mode (SLV2_REQ_Payment_Mode__c)
Yearly Estimated Turnover (SLV2_REQ_Estimated_Turnover__c)
Estimated Volume (SLV2_REQ_Estimated_Volume__c)
Unit of Measure (SLV7_REQ_Unit_of_Measure__c)
Estimated value of first order (SLV7_Estimated_value_of_first_order__c)
Currency (CurrencyIsoCode)
Industry (Giro) (SLV7_Industry_Giro__c)
Is Customer Tax Exempt (SLV4_1_REQ_Tax_Exempt__c)
VAT Number (LV2_REQ_VAT_Number__c)
Tax ID1 (SLV20_REQ_Tax_ID1__c)
- Tax ID2 (SLV20_REQ_Tax_ID2__c)
- Tax ID3 (SLV20_REQ_Tax_ID3__c)
- Tax ID4 (SLV20_REQ_Tax_ID4__c)
- Tax ID5 (SLV20_REQ_Tax_ID5__c)
Payer Contact Exist (SLV4_REQ_Payer_Contact_Exist__c)
Payer Contact (SLV2_REQ_Payer_Contact__c) = the ID of the contact if one has been selected
First Name (SLV2_PayerFirst_Name__c)
Last Name (SLV2_Payer_ContactLastName__c)
Language (SLV17_REQ_Payer_Contact_Language__c)
Function (SLV17_REQ_Payer_Contact_Function__c)
Job Department (SLV27_Payer_Job_Department__c)
Phone (SLV2_PayerContPhone__c)
Mobile (REQ_PayerCont_Mobile__c)
Email (SLV2_PayerContEmail__c)
2.10 Bill-To Screen
Fields to display are:
- "Is your Sold-To also the Bill-to?" "The bill-To is the Account where to send the invoice" + Radio button Yes/No, Mandatory
- If Yes, nothing else
- If No, "Identify the Payer:" + following input fields:
- Bill-To Name, Mandatory
- Bill-To Country, Mandatory, Picklist based on the previous extraction
- Bill-To Street, Mandatory, text area
- Bill-To City, Mandatory
- Bill-To State/Province, Dependent picklist on the country one, Mandatory (really?)
- Bill-To Zip/Postal Code, Mandatory (really?)
- "Customer interested in e-invoicing?" + Radio button Yes/No, Mandatory
- If Yes, display the field "Invoice Email", Mandatory
- If No, nothing else
2.11 When clicking "Next" on the "Bill-To Screen"
Update the request with the following information
- Is Sold To Also Bill To (SLV2_REQ_Is_Sold_To_Also_Bill_To__c)
Bill-To Name (SLV2_REQ_Bill_To_Name__c)
Bill-To Country (SLV4_Bill_To_Country__c)
Bill-To Street (SLV4_Bill_To_Street__c)
Bill-To City (SLV4_Bill_To_City__c)
Bill-To State/Province (SLV4_Bill_To_StateProvince__c)
Bill-To Zip/Postal Code (SLV4_Bill_To_ZipPostalCode__c)
E-invoicing (SLV2_REQ_CustomerintsdInelectinvoice__c)
Invoice Email (SLV4_Invoice_Email__c)
2.8 Summary Screen
lmklmk
2.9 Submit
3. Specificities
4. The SAP interface
5. Useful links
Mapping CRM - WM - SAP (Tab: CG Update Core => PRS)
The best way to get IT support is to use the new
Service One Platform.