Neue Verkaufschancen nach Business Central übertragen
In Customer Engagement angelegte und freigegebene Verkaufschancen werden im ERP angelegt.
Die Verkaufschance ist die dritte Stufe der Freigabekette: Firma → Kontakt → Verkaufschance. Und sie ist der erste Datenbereich, der grundlegend anders funktioniert als Firma und Kontakt:
Die Verkaufschance läuft nur von Customer Engagement nach Business Central.
Es gibt keine Übernahme aus BC und keine Löschverarbeitung. Verkaufschancen entstehen im Vertrieb, nicht im ERP — Business Central braucht sie nur, um daraus Angebote zu erzeugen.
Dazu kommt eine zweite, eigene Kette für die Positionen (Verkaufschancenprodukte), die anders getaktet ist und ein anderes Freigabefeld nutzt.
| Schritt | Was passiert | Wann |
|---|---|---|
| Neu nach BC | freigegebene Verkaufschancen werden in BC angelegt | alle 2 Minuten |
| Rückmeldung aus BC | BC meldet Verkaufschancennummer und System-ID zurück | direkt nach der Anlage |
| Kalkulationselemente aus BC | die in Positionen verwendbaren Elemente kommen nach CE | alle 2 Minuten |
| Positionen neu nach BC | freigegebene Positionen werden in BC angelegt | alle 3 Minuten |
| Rückmeldung Positionen | BC meldet die System-ID der Position zurück | direkt nach der Anlage |
| Positionsänderungen nach BC | Änderungen an Positionen gehen nach BC | alle 3 Minuten |
flowchart TB
subgraph VC["Verkaufschance"]
A["Verkaufschance in CE angelegt"] --> B{"Kontakt bereits<br/>in BC?"}
B -->|nein| BLOCK["Freigabe wird abgelehnt"]
B -->|ja| C{"<b>Sync zu BC</b><br/>freigegeben?"}
C -->|nein| WAIT["bleibt in CE"]
C -->|ja| D["<b>Neu nach BC</b><br/>Verkaufschance wird angelegt"]
D --> E["<b>Rückmeldung aus BC</b><br/>BC Verkaufschancennummer<br/>und BC System-ID"]
end
subgraph POS["Positionen"]
E --> F{"<b>Sync zu BC</b> an der<br/>Position freigegeben?"}
F -->|ja| G["<b>Positionen neu nach BC</b>"]
G --> H["<b>Rückmeldung Positionen</b><br/>BC System-ID der Position"]
H --> I["<b>Positionsänderungen nach BC</b><br/>Menge und Beträge"]
end
ELEM["<b>Kalkulationselemente aus BC</b><br/>füllen die Produktliste"] -.->|"Voraussetzung"| GBusiness Central kann eine Verkaufschance nur anlegen, wenn ihr Kontakt dort existiert — und den Kontakt nur, wenn dessen Firma existiert. Die Freigaberegel setzt das in beiden Stufen durch:
| Freizugeben | Voraussetzung |
|---|---|
| Kontakt | BC System-ID der Firma ist gefüllt |
| Verkaufschance | BC Kontaktnummer des Kontakts ist gefüllt |
Eine Verkaufschance ohne Kontakt kann gar nicht übertragen werden — die Freigabe wird abgelehnt. Ausführlich unter Freigabe nach Business Central.
Anders als Firma und Kontakt hat die Verkaufschance keinen laufenden Abgleich.
Praktische Folge: Was nach der ersten Übertragung in CE an Thema, Firma, Kontakt oder Verkäufer geändert wird, kommt nicht in Business Central an. Der dortige Stand bleibt auf dem Zeitpunkt der Anlage stehen.
Die Positionen dagegen werden laufend abgeglichen — dafür ist Positionsänderungen nach BC aktiv.
Verkaufschance und Position tragen jeweils ein eigenes Feld Sync zu BC — technisch sind es aber zwei verschieden benannte Felder:
| Datensatz | Anzeigename | Logical Name |
|---|---|---|
| Verkaufschance | Sync zu BC | wysa_sync2bc |
| Verkaufschancenprodukt | Sync zu BC | wysa_SynctoBC |
Beide arbeiten mit demselben Wert für „Ja". Beim Erstellen von Auswertungen oder Automatisierungen ist die abweichende Schreibweise zu beachten — siehe Datenmodell.
Eine Verkaufschancenposition zeigt in CE auf einen Datensatz der Produkttabelle. Gefüllt wird diese Tabelle über die Kalkulationselemente aus BC (190).
Für Positionen sind nur diese Elemente verwendbar — Business Central erwartet in der
Position einen Elementcode, keine Artikelnummer. Am Produkt kennzeichnet das Feld
Verkaufschancen-Element (wysa_OppElement), welche Datensätze dafür zulässig sind.
| Feld in Customer Engagement | Feld in Business Central |
|---|---|
| Thema | Beschreibung |
| Beschreibung | Erweiterte Beschreibung |
| Voraussichtliches Abschlussdatum | Erwartetes Abschlussdatum |
| Voraussichtlicher Umsatz | Erwarteter Umsatz |
| Firma | Unternehmensnummer des Kontakts |
| Kontakt | Kontaktnummer |
| Verkäufer (BC) | Verkäufercode |
| (Link auf den CE-Datensatz) | Dynamics-Sales-Link |
Acht Felder — deutlich weniger als bei Firma und Kontakt. Business Central braucht von einer Verkaufschance nur das Nötigste, um daraus ein Angebot zu erzeugen.
Eine Besonderheit dieses Bereichs: Die Übertragung erzeugt einen klickbaren Link auf den Verkaufschancen-Datensatz in Customer Engagement und legt ihn in BC ab. Wer im ERP an einer Verkaufschance arbeitet, kommt damit direkt in den zugehörigen CRM-Datensatz. Bei Firma und Kontakt gibt es das nicht.
| Feld in Customer Engagement | Feld in Business Central | Neu nach BC | Änderungen nach BC |
|---|---|---|---|
| Verkaufschance | Verkaufschancennummer | ✓ | ✓ |
| Produkt | Elementcode | ✓ | ✓ |
| Menge | Menge | ✓ | ✓ |
| BC Betrag | Betrag (LW) | ✓ | ✓ |
| BC Betrag inkl. MwSt. | Betrag inkl. MwSt. (LW) | ✓ | ✓ |
| Beschreibung | Beschreibung | ✓ | ✓ |
| Marge | Deckungsbeitrag (LW) | ✓ | ✓ |
Beide Schritte übertragen denselben Feldsatz; auch Beschreibung und Marge gehen bei späteren Änderungen mit nach BC.
| Firma / Kontakt | Verkaufschance | Position | |
|---|---|---|---|
| Richtung | bidirektional | nur CE → BC | nur CE → BC |
| Übernahme aus BC | ✓ | – | – |
| Änderungspfad | ✓ | – | ✓ |
| Löschverarbeitung | ✓ deaktivieren | – | – |
| Takt | alle 2 Minuten | alle 2 Minuten | alle 3 Minuten |
| Freigabefeld | wysa_sync2bc | wysa_sync2bc | wysa_SynctoBC |
| Order | Job | Mapping | Seite |
|---|---|---|---|
| 190 | opportunityelementsfrombc | BCOpportunityElements | Kalkulationselemente aus BC |
| 260 | opportunitiesnewfromce | CEOpportunities | Neu nach BC |
| 261 | opportunitiesresponsefrombc | BCOpportunitiesResponse | Rückmeldung aus BC |
| 710 | opportunityproductsnewfromce | CEOpportunityProducts | Positionen neu nach BC |
| 750 | opportunityproductsupdatesfromce | CEOpportunityProductsUpdates | Positionsänderungen nach BC |
| 760 | opportunityproductsresponsefrombc | BCOpportunityProductsResponse | Rückmeldung Positionen |
Beteiligte Tabellen:
| Dataverse | Business Central API Page |
|---|---|
opportunity | .../acdopportunities |
opportunityproduct | .../acdopportunitycalculationelements |
product | .../acdopportunityelements |
Alle API Pages unter singhammerITConsulting/dyce/v2.0/.
| Schritt | Schlüssel im Ziel | Typ |
|---|---|---|
| Neu nach BC | BC dataverseId ← CE opportunityid | Filter |
| Rückmeldung aus BC | CE opportunityid aus der Antwortnachricht | PrimaryKey |
| Kalkulationselemente aus BC | wysa_bccode ← BC code | CustomKey |
| Positionen neu nach BC | BC systemId ← CE wysa_bcsystemid | Id |
| Rückmeldung Positionen | CE opportunityproductid aus der Antwortnachricht | PrimaryKey |
| Positionsänderungen nach BC | BC id ← CE wysa_bcsystemid | Id |
Bemerkenswert: Die Verkaufschance folgt dem bekannten Muster aus
Firma und Kontakt — Anlage über dataverseId, danach über
die BC System-ID. Die Positionen tun das nicht: Sie verwenden schon bei der Anlage
KeyType: Id auf ein Feld, das der Filter des Jobs als leer voraussetzt. Es gibt bei
ihnen also keine Wiedererkennung über eine mitgeschickte CE-GUID. Was das für
wiederholte Läufe bedeutet, steht auf
Positionen neu nach BC.
| CE-Feld | Nachschlagetabelle | Nachschlagefeld |
|---|---|---|
Firma (parentaccountid) | account | wysa_bccontactnumber |
Kontakt (parentcontactid) | contact | wysa_bccontactnumber |
Verkäufer BC (wysa_bcsalespersonid) | wysa_bcsalesperson | wysa_code |
Verkaufschance (opportunityid) | opportunity | wysa_bcopportunitynumber |
Produkt (productid) | product | wysa_bccode |
Alle mit LookupType: Attribute und UseCache: true — außer der Verkaufschance: Sie
wird ohne Cache aufgelöst (UseCache: false), damit eine gerade erst zurückgemeldete
BC Verkaufschancennummer sofort gefunden wird. Die letzten beiden erklären, warum
die Reihenfolge zählt: Eine Position kann erst übertragen werden, wenn die
Verkaufschance ihre BC Verkaufschancennummer hat und das Produkt seinen BC Code — deshalb
laufen die Positions-Jobs (710 – 760) ganz am Ende und die Kalkulationselemente (190)
ganz am Anfang.
In Customer Engagement angelegte und freigegebene Verkaufschancen werden im ERP angelegt.
Nach der Anlage im ERP kommen Verkaufschancennummer und BC System-ID zurück nach Customer Engagement.
Die Bausteine, aus denen eine Verkaufschance kalkuliert wird, kommen als Produkte nach Customer Engagement.
Freigegebene Verkaufschancenpositionen werden als Kalkulationszeilen im ERP angelegt.
Nach der Anlage der Kalkulationszeile meldet BC deren System-ID zurück.
Änderungen an bereits im ERP bekannten Verkaufschancenpositionen gehen nach Business Central.