| Version | Date | Description | Author |
|---|---|---|---|
| v.1 | 29.02.2024 | Creation | Josiane Peytraud |
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 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"
For Technology Solutions, the conversion process is done in 2 steps:
If the CSR initiates the conversion, then the process is not done in 2 steps and allow the submitting of the creation at once.
For Novecare also, the conversion process is done in 2 steps:
How to know if a GBU does the conversion process in 2 steps: This information is in the custom metadata named GBU (SLV7_MDT_GBU__mdt), on the field Account Conversion Steps of the GBU.
Check if there is already an existing request not closed 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 Status (SLV2_REQ_Record_Status__c) = Draft
Owner = ID of the user doing the conversion
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.
Display a picklist for GBU selection with:
Based on the Account and the selected GBU, 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".
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:
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.
Display what has been previously loaded.
Display what has just been loaded.
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.
If it's the 2nd step, we add 1 checkbox: Reject
If the checkbox is ticked, add a field "Reason of rejection".
If yes, then go to the Rejection Process.
If no, then go on.
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.
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) = Id of the selected user
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
Type of Account (SLV2_REQ_Type_of_account__c) = "Sold-ToShip-to" if "Sold-To & Ship-To" is selected, "Ship-To" if not
Conversion Request? (SLV2_REQ_Conversion_Request__c) = Picklist value depending on what has been selected in the "Detail or File" section
Copy Incoterms and Payment terms (SLV2_REQ_Cpy_Incoterms_and_Payment_terms__c)
Quote (SLV2_REQ_Quote__c)
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:
GBU (SLV7_GCS_GBU__c) = the one determined above
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.
Fields to display for Sold-to are:
Fields to display for Ship-to are:
The list of fields to display to the user when the contact is not existing are:
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.
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
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
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
COA Contact (SLV4_1_REQ_COA_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
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)
Payer Contact (SLV2_REQ_Payer_Contact__c) = the ID of the contact if one has been selected
First Name (SLV2_PayerFirst_Name__c) = First Name
Last Name (SLV2_Payer_ContactLastName__c) = Last Name
Language (SLV17_REQ_Payer_Contact_Language__c) = Language
Function (SLV17_REQ_Payer_Contact_Function__c) = Function
Job Department (SLV27_Payer_Job_Department__c) = job Department
Phone (SLV2_PayerContPhone__c) = Phone
Mobile (REQ_PayerCont_Mobile__c) = Mobile
Email (SLV2_PayerCont_Email__c) = Email
Display Sales Organisation, Distribution Channel and code.
Display Sales Organisation, Distribution Channel and code.
Fields to display are:
If Yes, "Does the ship-to (delivery address) already exist in Core CRM?" + Radio button Yes/No, Mandatory
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 (Local Language)
If No, nothing else
2 columns, 1 for WP1 and 1 for PF1 with:
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, ...)"
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)."
Different Delivery Address (SLV2_REQ_Different_Delivery_Address__c), for Sold-To only
Delivery Address Exist (SLV2_REQ_Delivery_Address_Exists__c), for Sold-To only
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
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)
If an additional delivery Address is required and if it doesn't already exist, we also need to update the following information
C/O Name (ACC_Ship_To_C_O_Name__c)
Country (SLV2_REQ_BillingCountry__c)
Street (SLV2_REQ_BillingStreet__c)
State/Province (SLV2_REQ_BillingState_Province__c)
City (SLV2_REQ_BillingCity__c)
Postal Code (SLV2_REQ_BillingZip_Postal_Code__c)
Customer Name (Local Language) (ACC_Ship_To_Customer_Name_Local_Language__c)
C/O Name (Local Language) (ACC_Ship_To_C_O_Name_Local_Language__c)
Street (Local Language) (SLV2_REQ_Street_New__c)
City (Local Language) (SLV2_REQ_City_New__c)
State/Province (Local Language) (SLV2_REQ_State_New__c)
Postal Code (Local Language) (SLV2_REQ_Zip_Postal_Code_New__c)
Country (Local Language) (SLV2_REQ_Country_local_language__c)
Language (SLV8_ShipTo_Language__c)
Alphabet (SLV2_REQ_Alphabet__c)
If an additional delivery Address is required and if it exist, update the following information
Ship To (SLV2_REQ_Ship_To__c)
Go to the Summary Screen.
Extract the list of Unit of Measure based on the field "Unit of Measure" (SLV7_REQ_Unit_of_Measure__c) from the object Request
Fields to display are:
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)
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)
Fields to display are:
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)
This screen shows all what has been done in the previous ones.
We'll also put those 2 additional input fields:
Specific Information, Help Text: "Please use this field if there is a need to add more information to the Request."
For Novecare, if it's the 2nd step, we'll display 1 checkbox named Reject.
If the checkbox is ticked, add a field "Reason of rejection".
f yes, then go to the Rejection Process.
If no, then go on
If the user requested an additional delivery address and if it doesn't exist,
Customer Name (SLV41_Customer_Name__c)
C/O Name (SLV41_C_O_Name__c)
Account Name (Name) = Concatenation of "Customer Name" and "C/O Name" separated by a space
GBU (SLV7_GCS_GBU__c) = the one determined at the beginning
Create the corresponding request with:
If the user requested an additional delivery address and if it exists,
GBU (SLV7_GCS_GBU__c) = the one determined at the beginning
It's important that the Account Status is updated only when the Request is created because WeMethods is "catching" Account with Status "Conversion Requested" and needs information from the corresponding Request in order to create the Workflow in SAP.
For each contact, check if the user indicated that he was already existing. If not, create the contact with:
For Technology Solutions and Novecare EMEA, Email is sent to Data Team,
For Novecare, Email is sent to Pam Accardi
otherwise Email is sent to the CSR or the queue selected at the beginning.
On the Request
Record Status (SLV2_REQ_Record_Status__c) = "Submitted"
Partner Type (Type) = "Sold-to & Ship-to" if on the point 2.2.5 the option "Sold-To & Ship-To" has been selected, "Ship-to" if not.
On the Account, we need to save the name and the email to who WebMethods will send the email. This depends on the situation.
It's important that the Account Status is updated only after all the other updates because WeMethods is "catching" Account with Status "Conversion Requested" and needs information from the corresponding Request in order to create the Workflow in SAP.
The email is sent to the Request Owner.
WebMethods has a job running every 10 minutes.
This job scrutes the Accounts with Status set to "Conversion Requested" and:
If the creation workflow is successfully created in SAP PRS, then WebMethods will
If the creation workflow is not created in SAP PRS, then WebMethods will:
If it is for any functional reason, then WebMethods will also
WebMethods is doing the updates with user "SAP User".
Mapping CRM - WM - SAP (Tab: CG Update Core => PRS)