In my last post, https://blogs.sap.com/2017/05/11/replacing-salesforce-with-sap-hybris-cloud-for-customer-in-just-four-weeks/ I gave an overview of the reasons why we decided to replace Salesforce with SAP Hybris C4C. In today’s post I’ll provide some insights into our project and especially the comprehensive data migration we did.
Data export from Salesforce
In order to extract data from our previous CRM system Salesforce.com (SFDC) we connected it directly using SAP Data Services. SAP Hybris Cloud for Customer comes with an OData interface for which SAP Data Services also provides an adapter. Our initial plan was to use exactly this interface in C4C to upload the data coming from Salesforce. With OData services, data can consistently be queried, updated, added and deleted via http. And with SAP Data Services this is really simple and fast.
Unfortunately, however, it turned out that this approach – directly migrating the data to C4C via OData – wasn’t meant for us: After reading data from Salesforce, it could be processed and mapped to match the more advanced data structures of C4C, but we were unable to directly write into C4C. We ran a few analyses to understand why that happened. The results showed that the problem occurred because of some incompatibility in the implementation of the authentication of the OData protocol in SAP Data Services as compared to C4C and that additional analyses would have been required both by us and SAP Support to obtain a suitable software patch for the OData Adapter. This scenario would have cost us a lot of time, which we didn’t have in our tight project schedule. Much to our regret, this forced us to scrap this approach.
Time for plan B: We decided to fall back on the Excel-based migration templates that are built into C4C. This meant exporting the data using the Salesforce Adapter, temporarily storing it in staging tables using Data Services, and then analysing, cleaning, and preparing it before exporting it as CSV files.
Data cleansing and transformation using SAP Data Services
A successful data migration is intrinsically tied to the quality of the data. The higher the quality of the data in your legacy system, the higher the probability of successfully moving it to the new system. Unfortunately, we had to improve considerably more than originally expected. This, however, is also a crucial stage in the project and usually the right time to ask yourself: „Do we really need all this data and if we do, for what and for whom? “. The perfect opportunity, really, to get rid of any „junk data“.
In order to guarantee clear and consistent data sets in our target system, data cleansing was essential:
- Duplicates were automatically identified and consolidated.
- We relied on external validation services for address cleansing: We had the addresses validated and, if necessary, automatically completed.
- Company data in particular was enhanced with more detailed information such as geo data.
This allowed us to really take the quality of our data to the next level and, in turn, minimize the need for manual touch-up before importing the data into C4C.
Next we mapped and transformed the data with SAP Data Services. Data transformation is inevitable as the source (Salesforce) and the target system (C4C) obviously don’t use the same data model. That’s why you start by mapping the data and define transformation rules in order to make the right adjustments before importing the data.
Data import into C4C
The data migration was completed by importing the data into our C4C system. Based on a multi-level approach we started by loading master data such as customers, products, hierarchies, etc. In a second step, we then loaded transactional data like leads, and activities.
For each object we created in C4C, we also stored its Salesforce ID to allow us to correlate the newly assigned C4C ID with the original Salesforce ID. For this purpose, we created the corresponding tables in Data Services to allow for a lookup from the Salesforce ID to the newly assigned C4C ID. We used Data Services to populate these tables directly via OData from C4C.
In a last step, we migrated any archived objects (Salesforce is very strict with its archiving policy) such as leads or activities. This allowed us to retain the complete activity history (phone, email, visits/activities) including any links to accounts and contacts. In total, this contained 33,869 email activities, 37,121 phone activities, and about 48,000 other activities.
We even went so far to tediously prepare the data in Data Services to ensure C4C would be able to correctly interpret, for example, the line breaks in a notes field. Without these preparations, it would have been impossible to import the data because the mentioned line breaks would have completely shifted the entire CSV structure and the data would have been matched to the wrong fields.
Maintain data quality and improve usability
We got rid of junk data bringing in valid data only as Salesforce has a rather lax approach to data quality. Now we just needed to make sure that the data stays clean. And this is where our sales staff as data owners stepped in:
Get clean and stay clean
Master data maintenance is a subject very close to our heart (IBsolution has more than 10 years of experience in this field). Naturally, the sales department rely on having the latest information at their disposal, but this became even more important as we moved to integrate C4C with our SAP ERP system. At that point, everybody along the sales process – from lead and opportunity to quote and even invoicing – will get our data from the same source.
After we had coordinated with the other parts of the organisation and determined who owns which data, it was just a matter of putting in the hours to make it happen in the new system.
Avoid information overload
We aimed at creating a user experience in SAP Hybris Cloud for Customer as intuitive and therefore as efficient as possible, rather than overwhelming users with too much information.
It was very easy to simplify the user interface – by adapting the layouts and including only those fields and views needed by the different user groups. Users don’t have to waste time searching for relevant information. End users can even personalize their interfaces to further streamline their own tasks. And as a side bonus, we were able to significantly reduce the time and resources spent on training and support. Users can now intuitively navigate the system and get started pretty much right away.
Not to forget – much to the delight of the sales team – C4C can also be used on the go. It comes with a mobile app and it works beautifully. Just download it from the App Store put in your login information, and go!
In my next post I’ll talk about single sign-on (SSO) and the integration with our Active Directory as well as pilot tests and Go-Live.