| 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.
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
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 of File" section
On the Account, we need to save the name and the email to who WebMethods will send the email. This depends on the situation.
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.
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 4 or keep going in the same process for the 2 next screens ?
Fields to display are:
The list of fields to display to the user when the contact is not existing are:
If possible, check that at least one of the 3 following information is populated: Phone, Mobile or Email or email mandatory ?
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 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
CoA Contact same as Sold-to (To be created) = Is the Safety Contact same as Sold-to 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
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
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)
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)
If an additional delivery Address is required and if it doesn't already exist, we also need to update the following information
Customer Name (To be created)
C/O Name (To be created)
Country (To be created)
Street (To be created)
State/Province (To be created)
City (To be created)
Postal Code (To be created)
Customer Name (Local Language) (To be created)
C/O Name (Local Language) (To be created)
Street (Local Language) (To be created)
City (Local Language) (To be created)
State/Province (Local Language) (To be created)
Postal Code (Local Language) (To be created)
Country (Local Language) (To be created)
Language (To be created)
Alphabet (To be created)
If an additional delivery Address is required and if it exist, update the following information
Ship To (SLV2_REQ_Ship_To__c)
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 2 checkboxes: Reject and Validate.
Specific
Specific
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 if he was already existing. If not, create the contact with:
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.
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)