Auf die Prozesse kommt es an

Salesforce-Integration mit dem ERP-System

Jürgen Mauerer betreibt als freier Journalist ein Redaktionsbüro in München.
Unternehmen, die Teile ihrer Geschäftsdaten und -anwendungen in die Cloud auslagern, setzen oft auf CRM-Systeme wie Salesforce. Diese müssen eng mit den ERP-Systemen verknüpft sein, um die Geschäftsprozesse zu vereinfachen. Spezielle Integrations-Plattformen helfen.

Cloud Services werden trotz des NSA-Skandals immer beliebter. Mittlerweile setzt fast die Hälfte (45 Prozent) der deutschen Unternehmen Cloud Services ein, weitere 36 Prozent befinden sich in der Planungsphase oder beschäftigen sich mit der Thematik. Das ist ein Ergebnis der IDC-Studie "Hybrid Cloud in Deutschland 2014". Treiber für die Cloud sind vor allem Kosteneinsparungen und der Wunsch, die eigenen Geschäftsprozesse agiler zu gestalten. Sehr häufig beziehen Unternehmen CRM-Systeme für das Management ihrer Kundenbeziehungen als Software as a Service aus der Cloud. Vorreiter und Marktführer ist hier Salesforce.com.

Unternehmen, die eine CRM-Lösung von Salesforce.com einsetzen, müssen diese mit ihrer bestehenden IT-Umgebung und Software-Landschaft verknüpfen. Besonderes Augenmerk gilt hier der Integration mit dem ERP-System, um durchgängige Geschäftsprozesse zu realisieren und das Potenzial des CRM-Systems voll auszuschöpfen. Denn Insellösungen sind mit vielen Nachteilen verbunden. Dazu gehören doppelte Datenhaltung oder Mehraufwand durch die Arbeit mit unterschiedlichen Anwendungen. Zentrale Fragen lauten: Wie gelangen Kundendaten aus Salesforce in das ERP-System und umgekehrt Stammdaten aus dem ERP-System in die Salesforce-Lösung? Wie lassen sich Salesforce und die ERP/SAP-Welt integrieren?

Grundregel: Mastersystem festlegen

"Technisch ist die Integration zwischen Salesforce CRM und einem lokal installierten ERP-System wie SAP relativ einfach, da es mittlerweile bewährte Tools und Integrations-Plattformen gibt", erläutert Robert Santner, Managing Partner bei der Nefos GmbH. "Die Herausforderung liegt vor allem in der Konzeptphase, da nur selten ausschließlich Daten zwischen den beiden Welten übertragen werden. Die Integration umfasst meist auch Businesslogik beziehungsweise Geschäftsprozesse. Das macht die Sache komplexer." Santner spricht hier aus Erfahrung, da die Nefos GmbH als Platinum Cloud Alliance Partner von Salesforce.com mittlerweile rund 250 Integrationsprojekte für seine Kunden umgesetzt hat.

Umfrage zu CRM in der Cloud

Als Grundregel empfiehlt er Unternehmen, das ERP-System als Mastersystem für Bestandskunden, deren Stammdaten sowie natürlich die Aufträge und deren Abwicklung zu verwenden, das CRM-System als Master für neue und potenzielle Kunden. Ein Beispiel: Ein Vertriebsmitarbeiter einer Maschinenbau-Firma spricht auf einer Messe mit Standbesuchern, sprich potenziellen Neukunden. Er trägt deren Daten in das CRM-System ein, ergänzt später den Besuchs-Bericht, weitere Akquise-Aktivitäten oder auch ein Angebotsschreiben. Nimmt der Kunde den Auftrag an und schließt einen Kaufvertrag ab, werden die Daten automatisch in das ERP-System übertragen, der Kunde wird dort als Datensatz angelegt. Damit werden im ERP-System die mit einem Auftrag verbundenen Prozesse (Bestätigung, Rechnung etc.) ausgelöst.

Die Übertragung erfolgt hier meist asynchron. Umgekehrt benötigt der Vertriebsmitarbeiter im CRM-System für die Angebotserstellung beispielweise Informationen über Verfügbarkeit und Preisfindung. Diese liegen im ERP-System und umfassen Rahmenkonditionen, Mengen-Rabatte etc. Diese Daten sollten inklusive Business-Logik möglichst in Echtzeit (synchron) von der ERP-Lösung nach Salesforce übertragen werden.

Integration auf drei Ebenen

Architektonisch kann die Integration zwischen Salesforce und dem ERP-System laut Robert Santner auf drei Ebenen erfolgen: Datenebene, Applikationsebene und Benutzeroberfläche. Auf Datenebene müssen die Unternehmen festlegen, welche Datenobjekte und Felder sie in Salesforce und ERP-System miteinander verbinden wollen. Das können der Account-Name, Adresse, Ansprechpartner, Produkte, Listenpreise oder Auftragsdaten sein. "Durch Integration auf Applikationsebene lässt sich die Business-Logik des Quellsystems über eine Online-Schnittstelle abrufen. Ein Beispiel dafür ist die Preisermittlung für ein Produkt aus dem ERP-System, um ein Angebot in Salesforce zu erstellen", so Santner. Nach der Integration der Benutzeroberflächen ist es möglich, das User Interface des ERP-Systems direkt in Salesforce aufzurufen oder umgekehrt.

Drei Ebenen: Die Integration zwischen Salesforce CRM und dem ERP-System erfolgt meist auf drei Ebenen: Datenebene, Applikationsebene und Benutzeroberfläche.
Drei Ebenen: Die Integration zwischen Salesforce CRM und dem ERP-System erfolgt meist auf drei Ebenen: Datenebene, Applikationsebene und Benutzeroberfläche.
Foto: Nefos GmbH

Unternehmen müssen aber darauf achten, dass die Daten korrekt übertragen und transformiert werden. So ist die Datenstruktur der Objekte in Salesforce teilweise anders definiert als im ERP-System. Wird beispielsweise in SAP eine Unterstruktur unter einem Kunden gebildet, kann Salesforce dafür ein eigenes Business-Objekt verlangen. Auch die Salesforce-ID im Schlüsselfeld des Objekts macht die Integration etwas komplexer. Salesforce erstellt im Standard automatisch eine 15/18-stellige ID für die Identifizierung des Kunden, während dies beispielsweise in ERP-Systemen meist manuell erfolgt. "Bei der Integration muss man daher sehr genau darauf achten, dass hier die Korrelation zwischen Salesforce und der ERP-Lösung stimmt und der Schlüssel korrekt übertragen wird. Nur so kann man den Kunden eindeutig zuordnen", erläutert Robert Santner.

Darüber hinaus gibt es Felder mit Validierung oder einer Business-Logik dahinter (Alert, Workflow) und Abhängigkeiten zwischen Business-Objekten. Ein typischer Stolperstein: Validierungen können in den Systemen unterschiedlich streng sein. Bei der Integration müssen Unternehmen konzeptionell darauf Rücksicht nehmen, dass Eingaben, die im Quellsystem korrekt sind, aus Sicht des Zielsystems inkorrekt sein können. Je größer die Anzahl der Objekte und Felder wird, umso komplexer wird dieser Teil der Integration. Zu klären ist auch die Frage, wie häufig der Datenaustausch erfolgt: Realtime, mehrmals täglich, einmal wöchentlich oder manuell bei Bedarf?

Gut definierte Schnittstellen

Für den Datenaustausch bietet Salesforce den Anwendern verschiedene Integrationsmöglichkeiten. Neben dem klassischen, manuellen Upload (nur bei geringem Datenaufkommen realistisch) liefert Salesforce mehrere gut definierte Schnittstellen (APIs) für eine automatisierte Integration. "Für die meisten Anwendungsfälle stellt die Web Service-basierte Integration über die SOAP-API den bevorzugten Lösungsansatz dar. Dies gilt vor allem für die Echtzeitintegration von Daten mit anderen betriebswirtschaftlichen Anwendungen", weiß Andreas Schmidsberger, Senior Solution Architect beim Beratungsunternehmen cbs Corporate Business Solutions, das sich auf SAP spezialisiert hat. In den letzten Jahren hat er in vielen Unternehmen das SAP-System mit Salesforce verknüpft. Für die Realisierung von mobilen Szenarien bietet die sogenannte REST-API eine schlanke Alternative.

Bidirektionale Synchronisation: Das ERP-System (hier SAP) dient als Mastersystem für Bestandskunden, Aufträge und deren Abwicklung, Salesforce CRM als Master für neue und potenzielle Kunden.
Bidirektionale Synchronisation: Das ERP-System (hier SAP) dient als Mastersystem für Bestandskunden, Aufträge und deren Abwicklung, Salesforce CRM als Master für neue und potenzielle Kunden.
Foto: Nefos GmbH

Weitere Optionen wären eine generische Datenübernahme über die Metadaten-API sowie die Massendatenverarbeitung über die Bulk-API. "Der generische Ansatz wäre beispielweise bei einer Datenmigration zu wählen, ist aber für die Integration von Geschäftsprozessen weniger geeignet, da er keine definierte Schnittstellenstruktur enthält", so Schmidberger. Auch die Bulk-API eignet sich nicht für eine prozessorientierte Echtzeitintegration, da die Prozessierung beim Laden von großen Datenmengen entkoppelt und asynchron im Hintergrund abläuft.