Angebote aus Business Central übernehmen
Angebotsköpfe aus dem ERP erscheinen in Customer Engagement und hängen sich an ihre Verkaufschance.
Das Angebot schließt den großen Kreis der Integration. Die Verkaufschance geht von Customer Engagement nach Business Central — dort entsteht daraus das kaufmännische Dokument, und dieses kommt zurück:
Das Angebot läuft ausschließlich von Business Central nach Customer Engagement.
In CE wird kein Angebot erfasst und keines nach BC übertragen. Kalkulation, Preise, Rabatte und Belegnummern gehören ins ERP; Customer Engagement führt das Angebot nur mit, damit der Vertrieb Pipeline und Abschluss im CRM sieht.
flowchart LR A["Verkaufschance in CE"] -->|"Verkaufschance<br/>nach BC"| B["Verkaufschance in BC"] B -->|"Angebot erstellen<br/>(in BC)"| C["Angebot in BC"] C -->|"<b>Angebot nach CE</b>"| D["Angebot in CE"] D -.->|"verknüpft mit"| A
| Schritt | Was passiert | Wann |
|---|---|---|
| Angebote aus BC | Angebotsköpfe kommen nach CE | alle 2 Minuten |
| Positionen aus BC | die Kalkulationszeilen kommen nach CE | alle 2 Minuten |
| Gewonnene Angebote aus BC | in BC beauftragte Angebote werden in CE gewonnen | alle 3 Minuten |
| Positionen löschen | in BC gelöschte Positionen werden in CE gelöscht | alle 2 Minuten |
| Angebote stornieren | in BC gelöschte Angebote werden in CE geschlossen (Storniert) | alle 2 Minuten |
flowchart TB
Q["Angebot in BC angelegt<br/>oder geändert"] --> S1["<b>Angebote aus BC</b><br/>Angebotskopf nach CE"]
S1 --> V{"Verkaufschance<br/>über BC-Nummer<br/>gefunden?"}
V -->|ja| VK["Angebot hängt an<br/>der Verkaufschance"]
V -->|nein| FREI["Angebot ohne<br/>Verkaufschance"]
S1 --> S2["<b>Positionen aus BC</b><br/>Kalkulationszeilen nach CE"]
VK --> T{"In BC in einen<br/>Auftrag überführt?"}
FREI --> T
T -->|"ja — Status TRANSFERRED"| W["<b>Gewonnene Angebote aus BC</b><br/>Angebot wird <b>Gewonnen</b>"]
Q --> DEL["Angebot in BC gelöscht"]
DEL --> D1["<b>Stornierung</b><br/>Angebot wird in CE<br/><b>geschlossen / storniert</b>"]
Q --> DELP["Position in BC gelöscht"]
DELP --> D2["<b>Löschung</b><br/>Position wird in CE<br/><b>gelöscht</b>"]Firma, Kontakt und Produkt werden bei einer Löschung in BC nur deaktiviert — an ihnen hängt Historie. Angebote werden geschlossen und storniert, Angebotspositionen dagegen tatsächlich gelöscht:
| Datenbereich | Verhalten bei Löschung in BC |
|---|---|
| Firma, Kontakt, Produkt | deaktivieren (Status Inaktiv) |
| Angebot | schließen (Status Geschlossen, Statusgrund Storniert) |
| Angebotsposition | löschen |
Das stornierte Angebot bleibt an der Verkaufschance nachvollziehbar, zählt aber nicht mehr
als offen. Eine Position ist dagegen eine reine Kopie der BC-Kalkulationszeile; existiert
sie in BC nicht mehr, hat sie keinen Wert. Technisch trägt nur der Positions-Job
Action = Delete — siehe
Datenfluss.
Ob ein Angebot gewonnen ist, entscheidet Business Central: Wird der Beleg dort in einen
Auftrag überführt, meldet das Änderungsprotokoll den Vorgang TRANSFERRED. Der Schritt
Gewonnene Angebote aus BC setzt das Angebot in CE daraufhin auf
Gewonnen.
Der Vertrieb muss den Abschluss also nicht doppelt pflegen. Was daraus weiter folgt — etwa das optionale Gewinnen der verknüpften Verkaufschance — steht unter Abschluss von Angebot und Verkaufschance.
Ein Angebotskopf bringt aus BC nur Nummern und Codes mit. Drei davon werden in CE zu Verknüpfungen aufgelöst:
flowchart LR Q["Angebot aus BC"] -->|"Verkaufschancennummer"| O["Verkaufschance"] Q -->|"<b>Kontaktnummer</b>"| A["Firma"] Q -->|"Verkäufercode"| S["Verkäufer (BC)"]
| Zuordnung | Aufgelöst über | Voraussetzung |
|---|---|---|
| Verkaufschance | BC Verkaufschancennummer | die Verkaufschance wurde nach BC übertragen und zurückgemeldet |
| Firma | BC Kontaktnummer | die Firma wurde nach BC übertragen und hat ihre Kontaktnummer zurückgemeldet |
| Verkäufer (BC) | Verkäufercode | Stammdaten-Job 130 ist gelaufen |
Wie in allen übrigen Bereichen wird die Firma über die BC Kontaktnummer
(wysa_bcContactNumber) zugeordnet; das Angebot liefert dafür die
Verkauf-an-Unternehmenskontaktnr.. Die Debitorennummer spielt nicht mehr mit — die
Zuordnung klappt damit auch für Firmen, die in BC noch kein Debitor sind.
Solange die Kontaktnummer an der Firma leer ist (die Firma also noch nicht nach BC übertragen und zurückgemeldet wurde), kommt ein Angebot in CE ohne Kundenzuordnung an.
Die Angebotspositionen in CE werden aus den Kalkulationselementen des BC-Belegs gefüllt — denselben Bausteinen, die auch die Verkaufschancenpositionen verwenden.
Die eigentlichen Artikelzeilen eines BC-Angebots werden nicht übertragen. Angebote in CE zeigen also die Kalkulation, nicht die Artikelaufstellung.
| Feld in Business Central | Feld in Customer Engagement |
|---|---|
| Nr. | Angebotsnummer |
| id | BC System-ID |
| Buchungsbeschreibung | Name |
| Verkaufschancennummer | Verkaufschance |
| Verkauf an Unternehmenskontaktnr. | Kunde |
| Verkäufercode | Verkäufer (BC) |
| Auftragsdatum | Gültig ab |
| Angebot gültig bis | Gültig bis |
| Betrag inkl. MwSt. | BC Gesamtbetrag inkl. MwSt. |
| Status | BC Status |
| Feld in Business Central | Feld in Customer Engagement |
|---|---|
| systemId | BC System-ID |
| Belegnummer | Angebot |
| Elementcode | Produkt |
| Beschreibung | Beschreibung |
| Menge | Menge |
| Zeilenbetrag (LW) | BC Betrag |
| Zeilenbetrag inkl. MwSt. (LW) | BC Betrag inkl. MwSt. |
| — | Einheit (fester Vorgabewert) |
Mehrere Felder des Datenmodells werden von diesen Schritten nicht gefüllt. Sie entstehen in Customer Engagement selbst:
| Feld | Woher es kommt |
|---|---|
| BC Gesamtbetrag (netto) | aus den Positionen aufsummiert |
| Marge | aus den Zeilenmargen aufsummiert |
| Angebotsklassifizierung | beim Anlegen in CE bestimmt (Erst- oder weiteres Angebot) |
| Archivierte Versionen | Standard-Funktion von Dynamics 365 Sales bei Angebots-Revisionen, keine DataBridge-Funktion — es gibt nichts zu übertragen |
| BC Deckungsbeitrag (Position) | wird von keinem Job befüllt — Marge steht deshalb bei aus BC übernommenen Angeboten immer auf 0,00, siehe Angebotspositionen aus Business Central |
Die ersten drei sind unter Beträge und Margen und Abschluss beschrieben.
| Order | Job | Mapping | Seite |
|---|---|---|---|
| 610 | salesquotesfrombc | BCSalesQuotes | Angebote aus BC |
| 620 | salescalculationelementsfrombc | BCSalesCalculationElements | Positionen aus BC |
| 621 | salescalculationelementsfrombcdelete | BCSalesCalculationElementsDelete | Positionen löschen |
| 625 | activatesalesquotesfrombc | BCSalesQuotesActivate | Gewonnene Angebote aus BC |
| 690 | salesquotesfrombcdelete | BCSalesQuotesDelete | Angebote stornieren |
Beteiligte Tabellen:
| Business Central API Page | Dataverse |
|---|---|
.../acdsalesheaders | quote |
.../acdsalescalculationelements | quotedetail |
.../acdlogentries | quote, quotedetail |
Alle unter singhammerITConsulting/dyce/v2.0/.
| Schritt | Schlüssel im Ziel | Alternate Key |
|---|---|---|
| Angebote aus BC | quotenumber ← BC number | wysa_quotenumberkey |
| Positionen aus BC | wysa_bcsystemid ← BC systemId | wysa_bcsystemidkey |
| Gewonnene Angebote aus BC | wysa_bcsystemid ← Log recordId | wysa_bcsystemidkey |
| Positionen löschen | wysa_bcsystemid ← Log recordId | wysa_bcsystemidkey |
| Angebote stornieren | wysa_bcsystemid ← Log recordId | wysa_bcsystemidkey |
Der Angebotskopf ist der einzige Datensatz der ganzen Integration, der über eine fachliche Belegnummer adressiert wird und nicht über die BC System-ID — die Angebotsnummer in CE ist dieselbe wie in BC. Die Löschjobs müssen dagegen über die System-ID gehen, weil das Änderungsprotokoll nur diese kennt.
| Job | tableId | BC-Tabelle | zusätzlicher Filter |
|---|---|---|---|
625 activatesalesquotesfrombc | 36 | Verkaufskopf | operation eq 'TRANSFERRED' |
690 salesquotesfrombcdelete | 36 | Verkaufskopf | operation eq 'DELETE' |
621 salescalculationelementsfrombcdelete | 72077783 | Kalkulationselemente | operation eq 'DELETE' |
Die Jobs 625 und 690 lesen dieselben Protokolleinträge und trennen sich allein über das
Feld operation: TRANSFERRED führt zum Gewinnen, DELETE zum Stornieren.
Angebotsköpfe aus dem ERP erscheinen in Customer Engagement und hängen sich an ihre Verkaufschance.
Die Kalkulationszeilen eines BC-Angebots erscheinen als Angebotspositionen in Customer Engagement.
Wird ein Angebot im ERP in einen Auftrag überführt, wird es in Customer Engagement gewonnen.
In Business Central gelöschte Kalkulationszeilen werden in Customer Engagement gelöscht.
In Business Central gelöschte Angebote werden in Customer Engagement geschlossen und als storniert markiert.