Abonnement

Wie wiederkehrend abgerechnete Leistungen und ihre Vertragsdetails aus Business Central nach Customer Engagement kommen.

Ein Abonnement bildet eine wiederkehrend abgerechnete Leistung ab: eine Lizenz, einen Cloud-Service, einen Wartungsvertrag. Diese Daten entstehen in der Abonnementverwaltung von Business Central — Customer Engagement führt sie mit, damit der Vertrieb Bestand, Laufzeiten und Kündigungsfristen im Blick hat.

Abonnements laufen ausschließlich von Business Central nach Customer Engagement.

Es gibt keinen Rückweg und keine Löschverarbeitung. Der Bereich besteht aus zwei Schritten, die aufeinander aufbauen:

SchrittWas passiertWann
Abonnements aus BCdie abonnierte Leistung selbstalle 2 Minuten
Abonnementzeilen aus BCLaufzeiten, Preise, Kündigungsfristenalle 2 Minuten

Zwei Ebenen

flowchart TB
  BC["Abonnementverwaltung<br/>in Business Central"]
  BC -->|"550 · <b>Abonnements aus BC</b>"| A["<b>Abonnement</b><br/>Was ist abonniert?<br/>Produkt, Menge, Seriennummer,<br/>Bereitstellungszeitraum"]
  BC -->|"560 · <b>Abonnementzeilen aus BC</b>"| Z["<b>Abonnementzeile</b><br/>Zu welchen Bedingungen?<br/>Laufzeit, Preis, Rabatt,<br/>Kündigungsfrist"]
  Z -->|"über die<br/>Abonnementnummer"| A

Ein Abonnement kann mehrere Zeilen mit unterschiedlichen Laufzeiten und Abrechnungsrhythmen haben. Die Zeile findet ihr Abonnement über die Abonnementnummer — deshalb muss Schritt 550 vor Schritt 560 laufen, was die Ordnungsnummern sicherstellen.

Rechnungsempfänger und Leistungsnehmer

Die fachlich interessanteste Eigenschaft dieses Bereichs: Das Abonnement trennt zwei Rollen, die in Konzernstrukturen auseinanderfallen.

RolleBedeutungKommt aus BC von
Rechnungsempfängerwer bezahltRechnungsadresse des Belegs
Leistungsnehmerwer die Leistung nutztLieferadresse des Belegs

Beide werden je als Firma und Kontakt übertragen — vier Verknüpfungen pro Abonnement. Business Central liefert dafür vier Kontaktnummern, die in CE aufgelöst werden.

Was in Customer Engagement bleibt

Nicht alle Felder der beiden Tabellen kommen aus Business Central. Diese werden CE-seitig gepflegt oder durch Automatik gefüllt:

FeldTabelleBemerkung
VerkaufschanceAbonnementUrsprung des Abonnements — Zuordnung in CE
MitbewerberAbonnementaktueller Anbieter, falls die Leistung abgelöst werden soll
LeaderstellungAbonnementStichtag der Leadgenerierung
Anzahl ZeilenAbonnementAnzahl der zugehörigen Abonnementzeilen
Produkt (Verweis)Abonnementsiehe unten
Abzurechnendes ProduktAbonnementzeile—
WährungAbonnementzeile—

Das passt zum Zweck des Bereichs: Business Central liefert den Vertragsbestand, Customer Engagement ergänzt die Vertriebssicht — aus einem auslaufenden Abonnement kann ein Lead entstehen, und dazu gehören Verkaufschance und Mitbewerber.

Worauf zu achten ist

Die Abonnementart wird fest gesetzt

Das Feld Abonnementart wird bei jedem Lauf auf einen festen Vorgabewert gesetzt — Business Central liefert dazu nichts. Eine Unterscheidung nach Ausprägung findet über diesen Abgleich also nicht statt; eine in CE geänderte Abonnementart wird beim nächsten Lauf überschrieben.

Die Quellen liegen außerhalb der dyce-Schnittstelle

Alle übrigen Abgleiche lesen API Pages der Singhammer-Erweiterung unter singhammerITConsulting/dyce/v2.0/. Die beiden Abonnement-Jobs lesen stattdessen serviceObjects und serviceCommitments — die Schnittstelle der Abonnementverwaltung von Business Central selbst.

Praktische Folge: Dieser Bereich hängt an einer anderen Erweiterung als der Rest der Integration. Wird sie in BC nicht bereitgestellt, laufen die beiden Jobs ins Leere, während alles andere weiterarbeitet.

Kündigung möglich bis ist das wichtigste Datum

Von den 27 Feldern der Abonnementzeile ist eines für den Vertrieb entscheidend: Kündigung möglich bis. Es nennt den konkreten Stichtag, bis zu dem der Kunde kündigen kann — und damit den Zeitpunkt, an dem eine Verlängerung spätestens verhandelt sein muss. Alle übrigen Laufzeit- und Fristenfelder sind die Herleitung dazu.

Technische Zuordnung

Jobs und Mappings dieser Kette
OrderJobMappingZieltabelleFelderSeite
550serviceobjectsfrombcBCServiceObjectswysa_bcserviceobject17Abonnements aus BC
560servicecommitmentsfrombcBCServiceCommitmentswysa_bcserviceobjectcommitment27Abonnementzeilen aus BC

Mit 44 Feldzuordnungen ist das der umfangreichste Datenbereich der Integration.

Quellen: serviceObjects und serviceCommitments — nicht unter singhammerITConsulting/dyce/v2.0/ wie alle übrigen Abgleiche.

Schlüssel je Schritt
SchrittSchlüssel im ZielAlternate Key
Abonnements aus BCwysa_number ← BC nowysa_numberkey
Abonnementzeilen aus BCwysa_bcsystemid ← BC systemIdwysa_bcsystemidkey

Auffällig ist die Uneinheitlichkeit: Das Abonnement wird über seine fachliche Nummer adressiert — wie das Angebot —, die Zeile über die BC System-ID, wie die Angebotsposition. Beide Konventionen kommen also innerhalb desselben Bereichs vor.

Auflösung von Referenzen
FeldZieltabelleNachschlagefeldAlternate Key
Rechnungsempfänger Kontaktcontactwysa_bccontactnumberwysa_bccodekey
Rechnungsempfänger Firmaaccountwysa_bccontactnumberwysa_bccodekey
Leistungsnehmer Kontaktcontactwysa_bccontactnumberwysa_bccodekey
Leistungsnehmer Firmaaccountwysa_bccontactnumberwysa_bccodekey
Abonnement (an der Zeile)wysa_bcserviceobjectwysa_numberwysa_numberkey

Damit setzen die Abonnements voraus, dass Firmen und Kontakte bereits abgeglichen sind. Die Ordnungsnummern 550 und 560 liegen hinter den Kontakt-Jobs (430 / 440), sodass das innerhalb desselben Durchlaufs zusammenfindet.

Feldnamen im Datenmodell

Das Datenmodell schreibt Logical Names in einer lesefreundlichen Schreibweise (z. B. wysa_NextBilling für wysa_nextbillingdate). Die folgende Übersicht ordnet die Felder dieses Mappings den Bezeichnungen im Datenmodell zu — getrennt nach Abonnementzeile und dem übergeordneten Abonnement, da beide Entitäten hier zusammenkommen.

Felder der Abonnementzeile (wysa_bcServiceObjectCommitment, dieses Mapping):

FeldIm MappingIm Datenmodell
Zeilennummerwysa_contractlinenumberwysa_LineNumber
Verlängerungslaufzeitwysa_extensiontermwysa_RenewalTerm
Leistungsbeginn / -endewysa_servicestartdate / wysa_serviceenddatewysa_ServiceStart / wysa_ServiceEnd
Nächste Berechnungwysa_nextbillingdatewysa_NextBilling
Abrechnungszeitraumwysa_billingbaseperiodwysa_BillingPeriod
Berechnungsbasiswysa_calculationbaseamountwysa_CalculationBase

Felder des übergeordneten Abonnements (wysa_bcServiceObject, aus Abonnements aus BC übernehmen):

FeldIm MappingIm Datenmodell
Einheitwysa_uomwysa_Uom
Bereitstellung vonwysa_provisionstartdatewysa_ProvisioningStart
Bereitstellung biswysa_provisionenddatewysa_ProvisioningEnd
Rechnungsempfänger Firmawysa_billtocustomeridwysa_BillToAccountId
Leistungsnehmer Firmawysa_endusercustomeridwysa_EndUserAccountId

Einheit ist ein reines Textfeld, kein Verweis auf einen Einheiten-Datensatz.

Zusätzlich schreibt das Mapping ein Feld wysa_entrynumber an der Abonnementzeile, das im Datenmodell nicht aufgeführt ist.


Abonnements aus Business Central übernehmen

Die abonnierten Leistungen kommen aus der Abonnementverwaltung des ERP nach Customer Engagement.

Abonnementzeilen aus Business Central übernehmen

Laufzeiten, Preise, Rabatte und Kündigungsfristen der Abonnements kommen nach Customer Engagement.