Why doesn't Salesforce have an ERP

Business software

Despite the NSA scandal, cloud services are becoming increasingly popular. Almost half (45 percent) of German companies are now using cloud services, and another 36 percent are in the planning phase or are dealing with the topic. This is a result of the IDC study "Hybrid Cloud in Germany 2014". The main drivers for the cloud are cost savings and the desire to make your own business processes more agile. Companies very often obtain CRM systems for the management of their customer relationships as software as a service from the cloud. Salesforce.com is the pioneer and market leader here.

  1. IDC analysis via cloud computing
    For the “Hybrid Cloud in Germany 2014” study, the market researcher interviewed IDC IT managers from around 200 companies.
  2. Reducing costs is becoming more important
    One of the most important requirements for IT is reducing costs. 48 percent of the respondents mentioned this point, in the previous study it was significantly less with 38 percent. IDC speaks of "increasing pressure on IT budgets".
  3. Status quo of cloud usage
    According to the figures of the study, a good every fourth company (27 percent) uses cloud services, and another 18 percent are currently introducing them. 19 percent rule out using the cloud or have not yet dealt with the topic.
  4. External challenges
    The biggest external challenges when managing a hybrid cloud are issues of security (65 percent) and compliance (41 percent).
  5. Internal challenges
    The IT bosses consider the adaptation of business processes (36 percent) and the increasing complexity of IT environments (35 percent) as well as the complex integration of the in-house IT environment to the cloud services (32 percent) as the greatest internal challenges.
  6. Software-defined data center
    IDC sees a software-defined data center (SDDC) as a bridge between the internal (physical and virtualized) IT environment and external hosted or public cloud services. Coupled software components bundle and automate data center provisioning.

Companies that use a CRM solution from Salesforce.com must link it to their existing IT environment and software landscape. Particular attention is paid here to the integration with the ERP system in order to implement end-to-end business processes and to fully exploit the potential of the CRM system. Because isolated solutions are associated with many disadvantages. This includes duplicate data storage or additional work due to working with different applications. The main questions are: How does customer data get from Salesforce into the ERP system and vice versa, how do master data from the ERP system get into the Salesforce solution? How can Salesforce and the ERP / SAP world be integrated?

Basic rule: define the master system

"Technically, the integration between Salesforce CRM and a locally installed ERP system such as SAP is relatively easy, since there are now proven tools and integration platforms," ​​explains Robert Santner, Managing Partner at Nefos GmbH. "The main challenge lies in the concept phase, as only data is rarely transferred between the two worlds. The integration usually also includes business logic or business processes. That makes things more complex." Santner speaks here from experience, as Nefos GmbH, as a Platinum Cloud Alliance Partner of Salesforce.com, has now implemented around 250 integration projects for its customers.

As a basic rule, he recommends companies to use the ERP system as a master system for existing customers, their master data and of course the orders and their processing, the CRM system as a master for new and potential customers. An example: A sales representative from a mechanical engineering company speaks to visitors to the stand, i.e. potential new customers, at a trade fair. He enters their data in the CRM system and later adds the visit report, further acquisition activities or a letter of offer. If the customer accepts the order and concludes a sales contract, the data is automatically transferred to the ERP system, where the customer is created as a data record. This triggers the processes associated with an order (confirmation, invoice, etc.) in the ERP system.

The transmission takes place here mostly asynchronously. Conversely, the sales employee in the CRM system needs information about availability and pricing, for example, in order to prepare an offer. These are located in the ERP system and include framework conditions, quantity discounts, etc. This data, including business logic, should be transferred from the ERP solution to Salesforce in real time as far as possible (synchronously).

Integration on three levels

Architecturally, according to Robert Santner, the integration between Salesforce and the ERP system can take place on three levels: data level, application level and user interface. At the data level, companies have to determine which data objects and fields they want to connect to one another in Salesforce and the ERP system. This can be the account name, address, contact person, products, list prices or order data. "Through integration at the application level, the business logic of the source system can be called up via an online interface. An example of this is the price determination for a product from the ERP system in order to create an offer in Salesforce," says Santner. After integrating the user interfaces, it is possible to call up the user interface of the ERP system directly in Salesforce or vice versa.

However, companies must ensure that the data is correctly transmitted and transformed. The data structure of the objects in Salesforce is partly defined differently than in the ERP system. If, for example, a substructure is formed under a customer in SAP, Salesforce can request a separate business object for it. The Salesforce ID in the key field of the object also makes the integration a little more complex. In the standard system, Salesforce automatically creates a 15/18 digit ID to identify the customer, whereas this is usually done manually in ERP systems, for example. "During the integration, you have to be very careful that the correlation between Salesforce and the ERP solution is correct and that the key is transferred correctly. This is the only way to clearly assign the customer," explains Robert Santner.

In addition, there are fields with validation or a business logic behind it (alert, workflow) and dependencies between business objects. A typical stumbling block: validations can have different levels of rigor in the systems. When integrating, companies must conceptually take into account that entries that are correct in the source system may be incorrect from the point of view of the target system. The larger the number of objects and fields, the more complex this part of the integration becomes. The question of how often the data is exchanged also needs to be clarified: Realtime, several times a day, once a week or manually if necessary?

Well-defined interfaces

Salesforce offers users various integration options for exchanging data. In addition to the classic, manual upload (only realistic with low data volumes), Salesforce provides several well-defined interfaces (APIs) for automated integration. "For most use cases, web service-based integration via the SOAP API is the preferred approach. This is especially true for real-time integration of data with other business applications," says Andreas Schmidsberger, Senior Solution Architect at the consulting firm cbs Corporate Business Solutions that specializes in SAP. In recent years he has linked the SAP system with Salesforce in many companies. The so-called REST-API offers a lean alternative for realizing mobile scenarios.

Further options would be a generic data transfer via the metadata API and mass data processing via the bulk API. "The generic approach would have to be chosen for a data migration, for example, but is less suitable for the integration of business processes because it does not contain a defined interface structure," says Schmidberger. The bulk API is also unsuitable for process-oriented real-time integration, since processing when loading large amounts of data is decoupled and runs asynchronously in the background.