Fragen und Antworten - Sage 100

Dieses Dokument beantwortet häufige Fragen zur Sage-100-Integration mit Syncler und gibt konkrete Handlungsempfehlungen.


Was muss ich beim Feld „Ansprechpartner“ beachten?

Kurzfassung

  • In Sage 100 (Office Line) existieren häufig nur teilweise gepflegte Personenfelder.
  • Für CRM-Systeme werden meist Anrede, Vorname, Nachname benötigt.
  • Nutzen Sie in der Transformation eine Auftrennung des freien Feldes „Ansprechpartner“ und Fallback-Regeln.

Hintergrund

Ein Ansprechpartner in der Office Line besitzt typischerweise die Felder Ansprechpartner (freier Text), Anrede, Vorname, Nachname – diese sind jedoch nicht immer durchgängig befüllt. In vielen Datenbeständen steht der vollständige Name ausschließlich im freien Textfeld „Ansprechpartner“ (z. B. Herr Max Mustermann).

CRM-Systeme erwarten dagegen strukturierte Personenfelder. Die Syncler-Vorlagen kombinieren daher Parsing (Auftrennen) und Feldprüfung (Fallback).

Empfohlenes Vorgehen (Transformation)

  1. „Vollständigen Namen trennen“
    • Quelle: Ansprechpartner
    • Ergebnis: Ansprechpartner_salutation, Ansprechpartner_firstname, Ansprechpartner_lastname
  2. „Erstes nicht-leeres Feld“ (je Zielattribut)
    • Anrede_final = COALESCE(Anrede, Ansprechpartner_salutation)
    • Vorname_final = COALESCE(Vorname, Ansprechpartner_firstname)
    • Nachname_final = COALESCE(Nachname, Ansprechpartner_lastname)
  3. (Optional) „Groß-/Kleinschreibung“ normalisieren
        1. Erstes Zeichen groß, Rest klein
  4. Feldzuordnung ins CRM
    • Anrede ← Anrede_final, Vorname ← Vorname_final, Nachname ← Nachname_final

Qualitätsregeln (optional, empfehlenswert)

  • Validierung: Wenn nach Parsing/Quelle kein Nachname_final ermittelbar ist → Datensatz kennzeichnen (z. B. Flag needs_review = Y) und optional filtern, um fehlerhafte Neuanlagen zu vermeiden.
  • Titel/Adelsprädikate: Bei Bedarf per RegEx/Mapping entfernen oder gesondert ablegen.
  • Anrede-Mapping: Einheitliche Werte (z. B. Herr/Frau) über Auswahllisten abbilden.

Häufige Fehler & Abhilfe

  • Leere CRM-Felder trotz gefülltem „Ansprechpartner“ → Parsing-Schritt fehlt oder Fallback nicht konfiguriert.
  • Falsche Anrede → Unterschiedliche Schreibweisen nicht gemappt (z. B. Hr.Herr).
  • Kompletter Name als Nachname → Parsing-Muster anpassen; bei zusammengesetzten Nachnamen Testfälle ergänzen.

Was ist beim Einsatz und der Erzeugung von Kontokorrenten zu beachten?

Kurzfassung

  • Adressen sind die Basis der Sage-100-Integration; Kontokorrente können in zwei Ausbaustufen angebunden werden.
  • Beim Auslesen werden Umsätze (Gesamt/Aktuelles Jahr/Vorjahr) automatisch mitgeliefert.
  • Für zeitgesteuerte Umsatz-Updates existiert eine Vorlage; ohne komplette Aktualisierung werden Umsätze nur bei Änderungen an Adresse/Kontokorrent übertragen.

Ausbaustufen

Ausbaustufe 1 – Ein relevantes Kontokorrent je Firma

  • Annahme: Es gibt maximal ein CRM-relevantes Kontokorrent pro Adresse.
  • Selektion im Sage-100-System über zwei Parameter zur Bildung der Untergruppe Kontokorrent.___first___.
  • Where-Bedingung (SData-Syntax), um Kontokorrente auszuschließen (z. B. Aktiv eq '-1').
  • Sortierung definiert, welches Kontokorrent als erstes (und damit relevantes) gewählt wird.
  • Synchronisation gemeinsam mit Adresse/Firma.

Ausbaustufe 2 – Eigene Konto-Entität im CRM

  • Das CRM besitzt eine Konto-Entität; Kontokorrente werden direkt synchronisiert (eigener, spezieller Sync-Typ).
  • Adress-/Firmen-Sync bleibt getrennt, Verknüpfung über IDs/Referenzen.

Umsatzaktualisierung

  • Beim Auslesen eines Kontokorrents berechnet Syncler automatisch Umsatz gesamt, aktuelles Jahr, Vorjahr (Zustand zum Zeitpunkt des Auslesens).
  • Für regelmäßige Updates (z. B. täglich) wird eine Sync-Vorlage mitgeliefert.
  • Wichtig: Eine Änderung der Umsatzzahlen gilt nicht als Änderung der Adresse/Kontokorrent-Stammdaten. Ohne explizites Umsatz-Update werden geänderte Umsätze nicht geschrieben.

Anlage neuer Kontokorrente in Sage 100

  • Syncler kann neue Kontokorrente automatisch anlegen; Nummernkreise können über eine vorgegebene Kontonummer beeinflusst werden (z. B. bei Ad-hoc-Übertragung).
  • Ausbaustufe 1 (indirekt über Firma):
    • Weisen Sie CRM-Felder der Untergruppe Kontokorrent.___first___ zu.
    • Mappen Sie z. B. CRM-Feld „Kontonummer“ auf Kontokorrent-Spalte Kto.
    • Nicht vorhandenes Kontokorrent wird (gemäß Systemeinstellung) angelegt.
    • Hinweis: Diese Zuordnung ist nicht Teil der Standard-Vorlagen.
  • Ausbaustufe 2 (direkt):
    • Erstellen Sie einen eigenen Sync (spezielle Kontokorrent-Variante) für CRU auf Kontokorrenten.

Vorlagen (empfohlen)

  • Verwenden Sie eine Kontokorrent-Vorlage aus der Sage 100:
    • In Sage 100 aus einem bestehenden Kontokorrent generieren.
    • Im Syncler die Kontonummer der Vorlage am Sync hinterlegen.
  • Ohne Vorlage drohen fehlende, funktionsrelevante Felder → Kontokorrent nicht nutzbar oder nicht erzeugbar.

Best Practices

  • Klarer Pfad entscheiden: Ausbaustufe 1 (ein Kontokorrent je Firma) oder Ausbaustufe 2 (eigene Entität) – Mischformen bewusst planen.
  • Umsatz-Jobs separat und zeitgesteuert betreiben (Performanz/API-Kontingente beachten).
  • Eindeutige Referenzen pflegen (ExternalId/Composite Keys), um Suche/Verknüpfung im CRM zu stabilisieren.

Häufige Fehler & Abhilfe

  • Umsätze aktualisieren sich nicht → Umsatz-Update nicht als eigener Lauf geplant; nur Stammdaten-Änderungen werden verarbeitet.
  • Falsches Kontokorrent gewählt → Where/Sortierung in Kontokorrent.___first___ prüfen (SData-Syntax, Filterlogik).
  • Anlage scheitert → Kontokorrent-Vorlage fehlt; Pflichtfelder/Nummernkreis unklar.

Was ist beim Filtern von Daten zu beachten?

Kurzfassung

  • Filter auf Sage 100 Schemaobjekte werden in einem OData-Syntax verfasst und vom Application Server der Sage 100 ausgewertet.
  • Dabei werden NULL-Werte nicht korrekt berücksichtigt.
  • Ein Abrufen von Datensätze mit einem Filter auf Felder die NULL-Werte enthalten ist dadurch nicht möglich. (z.B. Gruppe ne 'LIEF' liefert keine Datensätze, wo Gruppe leer ist bzw. einen NULL-Wert hat)

Verhindern des Verhaltens

  • Solange das Verhalten in der Sage 100 nicht angepasst wird, muss es bei Bedarf durch den Sync kompensiert werden.
  • Dies kann durch den Einsatz des zweiten Filters erreicht werden.
  • Formulieren Sie hier z.B. Gruppe = '', um alle Datensätze mit leerer Gruppe zu verwenden. Dies können auch Datensätze sein, die in der Sage 100 einen NULL-Wert in diesem Feld haben.