Zum Inhalt

CKL Software GmbH

Erweitert

In diesem Kapitel werden erweiterte Funktionen von bill-to vorgestellt.

Importe

Für jede Abonnementzeile werden Mengen und Mengenveränderungen nachgehalten, welche die Grundlage der zu fakturierenden Abonnementzeilen bilden. Alle Mengenveränderungen werden stets datumsgetreu festgehalten.

Mengeneingaben finden manchmal nur einmal statt, wenn man zum Beispiel zu Beginn der Abonnementlaufzeit eine bestimmte Abnahmemenge definiert, die der Kunde über die gesamte Laufzeit nicht ändert. Sie finden manchmal in großen Zeitabständen statt, etwa wenn alle paar Monate Lizenzen hinzugekauft oder gekündigt werden. Oft finden Mengeneingaben aber auch sehr häufig statt, wenn zum Beispiel Verbräuche nachgehalten werden sollen, die sich täglich oder mehrmals täglich ändern.

Sie können alle Mengenveränderungen in der Abonnementzeile selbst hinterlegen oder in das Abonnement Buch.-Blatt eintragen und danach buchen. Wenn Sie zur Abbildung von Mengen­veränderungen mit externen Massendaten umgehen müssen, ist es jedoch praktischer, diese einfach zu importieren und den Abonnementzeilen dadurch automatisch zuzubuchen. Dafür stehen in bill-to umfangreiche Importroutinen zur Verfügung.

Alle mit den Importen verknüpften Funktionen finden Sie unter der Aktion Import im Rollencenter Abonnement Manager:

Aktionsgruppe Import
Abb. Aktionsgruppe Import

Die vorhandenen Routinen bieten die Möglichkeit, externe Daten aus unterschiedlichen Quellen in ein Importblatt zu laden, sie dort auf Kompatibilität prüfen zu lassen und anschließend in eine Abon­nement Buch.-Blatt zu transferieren oder wahlweise den Abonnementzeilen direkt zuzubuchen.

Wie geschildert, dienen die unterschiedlichen Buch.-Blattarten – Abo-, Zuweisung- und Historie Buch.-Blatt – verschiedenen Geschäftslogiken und unterscheiden sich daher auch in den zu importierenden Daten. Importe stehen für jede einzelne der unterschiedlichen Buch.-Blattarten, d.h. für jedes Importziel, gesondert zur Verfügung.

Datenquellen, Formate und Importziele

Daten können aus drei unterschiedlichen Quellen importiert werden:

  • Excel

  • CSV

  • XMLport

  • API

Die Datenquellen müssen kein von bill-to vorgeschriebenes Format haben. Selbstverständlich müssen die zentralen Felder gefüllt sein, wie zum Beispiel Erfassungsdatum und Menge, aber wo sich die zu importierenden Felder in ihrer Quelldatei befinden, ist flexibel und kann vom Anwender selbst eingerichtet werden. Dadurch kann anwenderseitig auch mit vielen unterschiedlichen Import­formaten gearbeitet werden.

Für jede Datenquelle können über Mappings beliebig viele Importformate definiert und genutzt werden. Zudem gibt es drei verschiedene Importziele, für welche Daten importiert werden können: das Abo Buch.-Blatt, das Zuweisung Buch.-Blatt und das Historie Buch.-Blatt. bill-to stellt für jede Datenquelle und für jedes Importziel Standard-Mappings zur Verfügung. Sie können aber sehr einfach auch Ihre eigenen Mappings erstellen und nutzen.

Sehen wir uns die Funktionen rund um Import-Mappings im Detail an.

Excel Feld-Mapping

Über das Excel Feld-Mapping können für jedes der drei Importziele beliebig viele unterschiedliche Datenformate definiert werden, die importiert und dann von der App interpretiert werden können. bill-to stellt für jedes Importziel ein Standard-Importformat zur Verfügung. Sie können diese Formate automatisch laden, kopieren und bearbeiten, oder völlig eigene Formate definieren.

Das Excel Feld-Mapping wird über einen Datensatz mit Kopf-/Zeilenstruktur definiert.

Excel Feld-Mapping Karte
Abb. Excel Feld-Mapping Karte

Die Kopfdaten beinhalten die folgenden Felder:

Feld Beschreibung
Code Gibt ein Code an, mit dem das Excel-Mapping eindeutig bezeichnet wird. Für den Code stehen 20 Zeichen zur Verfügung. Der Code kann vom Anwender frei gewählt werden.
Beschreibung Gibt eine Beschreibung an, die das Excel-Mapping näher kennzeichnet.
Art Gibt an, ob es sich um ein vom System vordefiniertes Standard-Mapping handelt, ein vom Benutzer selbst angelegtes Mapping, oder ein von der App automatisch beim Import angelegtes Mapping. Die Art wird von der Anwendung gesetzt und kann vom Anwender nicht überschrieben werden.
Importziel Gibt an, für welchen Verwendungszweck das Mapping gedacht ist: für das Abo Buch.-Blatt, das Zuweisung Buch.-Blatt oder das Historie Buch.-Blatt.
Start in Zeile Nr. Gibt an, auf welcher Excel-Zeile der Import der Daten beginnen soll. Es ist bei Excel-Zeilen z.B. üblich, dass die erste Zeile Spaltenüberschriften enthält, so dass der Import der Daten erst ab der zweiten Zeile beginnen darf.

Die Zeilendaten definieren das eigentliche Mapping der Quelldaten auf die Zielfelder. Sie beinhalten die folgenden Felder:

Feld Beschreibung
Feldnummer Gibt die Nummer des Feldes innerhalb der Importzeile an, in welches die Quelldaten importiert werden sollen.
Feldbezeichnung Gibt die Bezeichnung des Felds innerhalb der Importzeile an. Die Bezeichnung wird von der Anwendung aus der Feldnummer automatisch ermittelt und kann nicht verändert werden. Sie dient rein informativen Zwecken.
Excel Zeilennr. Enthält die Nummer der Zeile innerhalb von Excel, aus der die Daten in das Importfeld gelesen werden sollen. In der Regel bleibt dieses Feld leer, da alle Datenzeilen der Excel-Datei ausgelesen und importiert werden sollen. Die Excel-Zeilennr. Dient dazu, einen Sonderfall abzubilden. Es gibt Excel-Dateien, die bestimmte Informationen, die für alle Zeilen gleich sind, in einem spezifischen Feld nur einmal abbilden, anstatt sie auf allen Zeilen zu wiederholen. Dies könnte zum Beispiel die Abonnementnr. sein, falls eine Excel-Datei nur Informationen für die Zeilen eines spezifischen Abonnements enthält. Diese einzelnen Zellen sind in der Datei meist über der Zeile mit den Spaltenüberschriften angeordnet. Falls es ein solches Feld gibt, kann es durch eine zusätzliche Angabe der Excel Zeilennr. spezifiziert werden. Seine Dateninformation wird dann in jede zu importierende Zeile übertragen.
Excel Spaltennr. Enthält die Nummer der wiederkehrenden Spalten innerhalb von Excel, aus der die Daten in das Importfeld übertragen werden. Die Buchstaben der Excel-Spalten müssen hier in Ganzzahlen übertragen und hinterlegt werden, d.h.: die Spalte A entspricht dem Wert 1, die Spalte Bentspricht dem Wert 2 etc.
Status Zeigt den Status der Zeile an. Der Wert wird von der Anwendung automatisch gesetzt und kann nicht verändert werden. Dieser Wert ist zunächst eine Kategorisierung, um dem Anwender noch einmal ausformuliert zu zeigen, um welche Art von Excel-Feld es sich handelt. Er kann aber auch auf Fehler hinweisen. Die Optionswerte dieses Feldes lauten:
Wiederkehrende Zeile
Einzelne Zelle
Ungültige Definition Der Normalfall ist der Status Wiederkehrende Zeile. Er bedeutet, dass eine Excel Spaltennr., aber keine Excel Zeilennr. angegeben wurde. Das heißt, die angegebene Spalte wird in jeder Zeile ausgelesen und dem Feld als importierter Wert zugeordnet. Der Status Einzelne Zelle ist gegeben, wenn sowohl eine Excel Spaltennr. als auch eine Excel Zeilennr. angegeben wurde. Das heißt, dass ein Wert ausgelesen wird, der sich nur in einer einzigen Zelle der gesamten Excel-Datei befindet. Diese Zelle ist mit Zeilen- und Spaltennr. komplett beschrieben. Ihr Inhalt wird jeder importierten Zeile hinzugefügt. Der Status Ungültige Definition ist gegeben, wenn zwar eine Excel Zeilennr., aber keine Excel Spaltennr. eingegeben wurde. Hier handelt es sich offensichtlich um eine Fehleingabe. Entweder sollte eine einzelne Zelle definiert werden, und es wurde vergessen, die Spaltennr. anzugeben, oder es sollte eine wiederkehrende eile eingegeben worden, die Information wurde aber in das falsche Feld eingefügt. Bei der Interpretation des Feld-Mappings werden nur Zeilen berücksichtigt, die über eine Feldnummer verfügen und den Status Wiederkehrende Zeile oder Einzelne Zelle haben.

Die Menüdaten beinhalten die folgenden Aktionen:

Aktion Beschreibung
Mapping kopieren Jedes Mapping kann in ein anderes kopiert werden. Geben Sie dazu zunächst den Code des Mappings ein und laden Sie dann die Daten eines anderen Mappings, die Sie nachfolgende bearbeiten können. Wenn Sie ein Mapping kopieren möchten, darf das Mapping, in welches Sie kopieren, noch keine Zeilen aufweisen.
Standard-Mapping erzeugen Für jedes der drei Importziele stellt bill-to ein Standard-Mapping zur Verfügung. Sie können dieses Standard-Mapping automatisch laden. Geben Sie dazu zunächst den Code des Mappings ein und laden Sie dann das Standard-Mapping. Wenn Sie ein Standard-Mapping laden möchten, darf das Mapping, in welches Sie es laden, noch keine Zeilen aufweisen. Wenn Sie ein Standard-Mapping laden, wird die Art des Mappings von der Anwendung auf den Wert Standard gesetzt. Dadurch werden die meisten Kopfdaten und alle Zeilen nicht editierbar. Wenn Sie ein individuelles Mapping auf der Basis eines Standard-Mappings erstellen möchten, kopieren Sie sich das geladene Standard-Mapping über die Aktion Mapping kopieren einfach in ein benutzerdefiniertes Mapping. Wenn Sie die Grundeinrichtung des Systems über die Flash Setup-Funktionalität vorgenommen haben, sind die Standard-Mappings bereits vorgeladen.

CSV Feld-Mapping

Über das CSV Feld-Mapping können für jedes der drei Importziele beliebig viele unterschiedliche Datenformate definiert werden, die importiert und dann von der App interpretiert werden können. bill-to stellt für jedes Importziel ein Standard-Importformat zur Verfügung. Sie können diese Formate automatisch laden, kopieren und bearbeiten, oder völlig eigene Formate definieren.

Das CSV Feld-Mapping wird über einen Datensatz mit Kopf-/Zeilenstruktur definiert.

CSV Feld-Mapping Karte
Abb. CSV Feld-Mapping Karte

Die Kopfdaten beinhalten die folgenden Felder:

Feld Beschreibung
Code Gibt ein Code an, mit dem das CSV-Mapping eindeutig bezeichnet wird. Für den Code stehen 20 Zeichen zur Verfügung. Der Code kann vom Anwender frei gewählt werden.
Beschreibung Gibt eine Beschreibung an, die das CSV-Mapping näher kennzeichnet.
Art Gibt an, ob es sich um ein vom System vordefiniertes Standard-Mapping handelt, ein vom Benutzer selbst angelegtes Mapping, oder ein von der App automatisch beim Import angelegtes Mapping. Die Art wird von der Anwendung gesetzt und kann vom Anwender nicht überschrieben werden.
Importziel Gibt an, für welchen Verwendungszweck das Mapping gedacht ist: für das Abo Buch.-Blatt, das Zuweisung Buch.-Blatt oder das Historie Buch.-Blatt.
Beginn bei Zeilennr. Gibt an, auf welcher CSV-Zeile der Import der Daten beginnen soll. Üblicherweise enthält eine CSV-Datei nur Datenzeilen, so dass der Datenimport bei Zeile 1 beginnt.
Feld-Trennzeichen Kennzeichnet das Zeichen, das für die Trennung zwischen den Feldern in jeder CSV-Datenzeile verwendet wird. Üblich ist hier zum Beispiel ein Semikolon.
Feld-Begrenzungszeichen Kennzeichnet das Zeichen, das den Beginn und das Ende eines Feldes aus der CSV-Datenzeile markiert. Üblich ist hier zum Beispiel ein Anführungszeichen; es ist jedoch auch möglich, dass die CSV-Datei ohne Begrenzungszeichen für Felder arbeitet.

Die Zeilendaten definieren das eigentliche Mapping der Quelldaten auf die Zielfelder. Sie beinhalten die folgenden Felder:

Feld Beschreibung
Feldnummer Gibt die Nummer des Feldes innerhalb der Importzeile an, in welches die Quelldaten importiert werden sollen.
Feldbezeichnung Gibt die Bezeichnung des Felds innerhalb der Importzeile an. Die Bezeichnung wird von der Anwendung aus der Feldnummer automatisch ermittelt und kann nicht verändert werden. Sie dient rein informativen Zwecken.
Wiederholend ab hier CSV-Dateien verfügen über die variantenreiche Eigenschaft, Datenzeilen unterschiedlicher Länge abbilden zu können. Dabei können die hinteren, sich wiederholenden Felder zusätzliche Zeilen darstellen, welche die vorderen, sich nicht wiederholenden Felder teilen. Ein Beispiel soll dies verdeutlichen:
ABO4711;ID4711;10;01.01.2023;5;01.03.2023;8;01.11.2023
Wir sehen hier eine CSV-Datenzeile mit der folgenden Struktur:
Abonnementnr.; Komponenten-ID; Menge; Erfassungsdatum
Wie man der Datenzeile entnehmen kann, wiederholen sich die Felder Menge und Erfassungsdatum jedoch mehrfach. Damit die Anwendung dies richtig interpretiert, muss hinterlegt werden, welche Felder sich jeweils wiederholen. In diesem Fall sind es Menge und Erfassungsdatum. Zu diesem Zweck wird das erste der sich wiederholenden Felder als Wiederholend ab hier gekennzeichnet. Die Anwendung löst die eine Datenzeile dann folgendermaßen auf:
ABO4711;ID4711;10;01.01.2023
ABO4711;ID4711;5;01.03.2023
ABO4711;ID4711;01.11.2023
Aus einer importierten CSV-Datenzeile werden also drei einzulesende Importdatensätze gemacht, wobei die sich nicht wiederholenden Felder jedem Importdatensatz hinzugefügt werden. Für diese Funktionalität gelten die folgenden Regel: Die sich wiederholenden Felder müssen sich am Ende der CSV-Datensatzzeile befinden. Jede CSV-Datensatzzeile kann über eine unterschiedliche Anzahl an sich wiederholenden Feldern verfügen. Im obigen Beispiel können die Felder Menge und Wert in jeder Datenzeile also einmal, zweimal, dreimal oder beliebige Male auftreten.
Wiederholend Wenn das Feld Wiederholend ab hier angehakt wird, erhalten diese Mappingzeile sowie alle nachfolgenden Mappingzeilen das Kennzeichen Wiederholend. Das Kennzeichen in diesem Feld wird von der Anwendung automatisch gesetzt und kann nicht überschrieben werden.

Die Menüdaten beinhalten die folgenden Aktionen:

Aktion Beschreibung
Mapping kopieren Jedes Mapping kann in ein anderes kopiert werden. Geben Sie dazu zunächst den Code des Mappings ein und laden Sie dann die Daten eines anderen Mappings, die Sie nachfolgende bearbeiten können. Wenn Sie ein Mapping kopieren möchten, darf das Mapping, in welches Sie kopieren, noch keine Zeilen aufweisen.
Standard-Mapping erzeugen Für jedes der drei Importziele stellt bill-to ein Standard-Mapping zur Verfügung. Sie können dieses Standard-Mapping automatisch laden. Geben Sie dazu zunächst den Code des Mappings ein und laden Sie dann das Standard-Mapping. Wenn Sie ein Standard-Mapping laden möchten, darf das Mapping, in welches Sie es laden, noch keine Zeilen aufweisen. Wenn Sie ein Standard-Mapping laden, wird die Art des Mappings von der Anwendung auf den Wert Standard gesetzt. Dadurch werden die meisten Kopfdaten und alle Zeilen nicht editierbar. Wenn Sie ein individuelles Mapping auf der Basis eines Standard-Mappings erstellen möchten, kopieren Sie sich das geladene Standard-Mapping über die Aktion Mapping kopieren einfach in ein benutzerdefiniertes Mapping. Wenn Sie die Grundeinrichtung des Systems über die Flash Setup-Funktionalität vorgenommen haben, sind die Standard-Mappings bereits vorgeladen.

XMLport Mapping

Über das XMLport Mapping können für jedes der drei Importziele beliebig viele unterschiedliche Datenformate in Form von XMLports definiert werden, die importiert und dann von der App interpretiert werden können. bill-to stellt für jedes Importziel einen Standard-XMLport zur Verfügung. Sie können diese XMLports automatisch laden oder völlig eigene XMLports definieren.

Das XMLport Mapping wird über eine Liste von XMLports definiert.

XML Feld-Mapping Karte
Abb. XML Feld-Mapping Karte

Die XMLport Mapping beinhaltet die folgenden Felder:

Feld Beschreibung
Code Gibt ein Code an, mit dem das XMLport Mapping eindeutig bezeichnet wird. Für den Code stehen 20 Zeichen zur Verfügung. Der Code kann vom Anwender frei gewählt werden.
Beschreibung Gibt eine Beschreibung an, die das XMLport Mapping näher kennzeichnet.
XMLport ID Gibt die ID des XMLports an, der verwendet werden soll. Diese kann aus den verfügbaren XMLport Objekt-IDs ausgewählt werden.
XMLport Bezeichnung Gibt die mit dem XMLport in der Datenbank verbundene Bezeichnung an. Die Bezeichnung wird von der Anwendung aus der Objektliste automatisch ermittelt und kann im Gegensatz zur Beschreibung nicht verändert werden.
Importziel Gibt an, für welchen Verwendungszweck das Mapping gedacht ist: für das Abo Buch.-Blatt, das Zuweisung Buch.-Blatt oder das Historie Buch.-Blatt.
Art Gibt an, ob es sich um einen vom System vordefinierten Standard-XMLport oder einen vom Benutzer selbst geschrie­benen XMLport handelt. Die Art wird von der Anwendung gesetzt und kann vom Anwender nicht überschrieben werden.

Die Menüdaten beinhalten die folgenden Aktionen:

Aktion Beschreibung
Standard-Mapping erzeugen Für jedes der drei Importziele stellt bill-to einen Standard XMLport zur Verfügung. Diese sind:
71299575: Abo Buch.-Blatt Mapping
71299576: Zuweisung Buch.-Blatt Mapping
71299577: Historie Buch.-Blatt Mapping
Sie können dieses Standard-Mappings manuell zuweisen oder automatisch laden. Geben Sie dazu zunächst einen Mapping-Code ein und laden Sie dann den Standard XMLport. Wenn Sie ein Standard-Mapping laden, wird die Art des Mappings von der Anwendung auf den Wert Standard gesetzt. Wenn Sie die Grundeinrichtung des Systems über die Flash Setup-Funktionalität vorgenommen haben, sind die Standard-Mappings bereits vorgeladen.

Anders als beim Excel- und CSV-Mapping kann ein neuer XMLport nicht einfach vom Anwender in einer Mapping-Einrichtung konfiguriert werden, sondern er muss zunächst von einem Entwickler geschrieben und in einer PTE (Per Tenant Extension) hinzugefügt werden.

Entsprechend sind die folgenden Hinweise für Entwickler gedacht.

Die Struktur eines solchen XMLports reflektiert dann den Aufbau des zu importierenden externen XML. Es gibt eine erforderliche Struktur, damit der XMLport im Kontext von bill-to verstanden und interpretiert werden kann. Diese ist jedoch denkbar einfach und für alle Importziele gleich; sie unterscheiden sich lediglich durch die Art und Anzahl der einzulesenden Felder.

Der XMLport muss die folgenden Komponenten enthalten:

  • ein tableelement namens ImportLine. Dieses muss ein temporärer Record vom Typ ComponentImportLineBLTAPL sein.

  • ein textelement mit Namen EntryType. Dieses kann eines von drei Werten enthalten: 1, 2 oder 3. Dabei steht 1 für die Postenart „Qty. & Value Update“, 2 für die Postenart „Qty. Update“ und 3 für die Postenart „Value Update“. Die Werte müssen dem Feld „Entry Type“ der ImportLine im Trigger OnAfterAssignVariable des Text-Elements zugewiesen werden. Dies geschieht über die folgende Syntax:

case EntryType of
‘1‘:
ImportLine.“Entry Type“ := ImportLine.“Entry Type“::“Qty. & Value Update“;
‘2‘:
ImportLine.“Entry Type“ := ImportLine.“Entry Type“::“Qty. Update“;
‘3‘:
ImportLine.“Entry Type“ := ImportLine.“Entry Type“::“Value Update“;
else
ImportLine.”Entry Type” := ImportLine.”Entry Type”::” “;
end;

  • mehrere fieldelements aus der ImportLine, welche die zu importierenden Daten aufnehmen.

  • Wenn Sie einen XMLport mit dem Importziel Zuweisung Buch.-Blatt oder Historie Buch.-Blatt schreiben, benötigen Sie in der Regel noch ein weiteres textelement mit dem Namen AssignToDocType. Für Zuweisung Buch.-Blätter kann dies die Werte 1 oder 2, für Historie Buch.-Blätter die Werte 1, 2, 3 oder 4 enthalten. Dabei steht 1 für die Belegart „Purchase Invoice“, 2 für die Belegart „Purchase Credit Memo“, 3 für die Belegart „Sales Invoice“ und 4 für die Belegart „Sales Credit Memo“. Die Werte müssen dem Feld „Assign-to Document Type“ der ImportLine im Trigger OnAfterAssignVariable des Text-Elements zugewiesen werden. Dies geschieht über die folgende Syntax (beispielhaft für ein Zuweisung Buch.-Blatt):

case AssignToDocType of
‘1‘:
ImportLine.“Assign-to Document Type“ :=
ImportLine.“Assign-to Document Type“::“Purchase Invoice“;
‘2’:
ImportLine.“Assign-to Document Type“ :=
ImportLine.“Assign-to Document Type“::“Purchase Credit Memo”;
end;

  • einen Trigger OnPostXmlPort. Der Trigger muss nur die folgende Codezeile enthalten:

ImportLine.Save();

Dadurch werden die importierten Daten an die Nachverarbeitungsroutine der XMLports von bill-to übergeben. Sie brauchen nicht dafür zu sorgen, dass der XMLport in bill-to zurückgeschrieben wird. Wenn Sie die Werte durch diese einfache Zuweisung im OnPostXmlPort-Trigger übergeben, geschieht dies durch die Standard-Routinen von bill-to. Sie sollten nicht versuchen, den Record ComponentImportLineBLTAPL per Code selbst zu füllen.

Damit der Record ComponentImportLineBLTAP referenziert werden kann, muss die entsprechende PTE in der app.json eine Dependency auf bill-to nehmen.

API

Page ID PageName Page Caption EntityName EntitySetName
71299838 ComponentEntryExportBLTAPL componentEntry componentEntries subscriptionreportingexport
71299837 ComponentLedgerExportBLTAPL componentLedgerEntry componentLedgerEntries subscriptionreportingexport
71299839 QuotaEntryExportBLTAPL quotaEntry quotaEntries subscriptionreportingexport
71299858 SubscrFcstEntryExportBLTAPL subscriptionForecastEntry subscriptionForecastEntries subscriptionreportingexport
71299836 SubscriptionLedgerExportBLTAPL subscriptionLedgerEntry subscriptionLedgerEntries subscriptionreportingexport
71299834 SubscrComponentImportBLTAPL subscriptionComponent subscriptionComponents subscriptioncomponentimport

Um Auswertungen möglich zu machen sowie Komponenten zu importieren, stehen folgende API-Pages zur Verfügung.

API Import Einrichtung
Abb. API Import Einrichtung

In der Import Einrichtung gibt es zwei Felder, die für die API befüllt werden. Dies sind die Felder:

Feld Beschreibung
Übertragungsart Gibt an, wie Abonnement-Komponenten, die via API eingelesen wurden, nachbearbeitet werden sollen. Sie können in den Import übertragen oder dort bereits in einem Schritt validiert oder einem Abonnement zugewiesen werden.
Nach Übertragung Gibt an, ob Abonnement-Komponenten, die bereits in den Import übertragen wurden, entsprechend markiert oder sofort gelöscht werden sollen.

Mapping individueller Import-Felder

Excel- und CSV-Importe können grundsätzlich auf projektindividuelle Felder aus PTEs oder anderen ISV-Produkten reagieren.

Wenn zum Beispiel ein Feld importiert und bis in die Abonnementzeile durchgereicht werden soll, so kann es der Importzeile, der Abonnement Buch.-Blattzeile und der Abonnementzeile hinzugefügt werden. Im Excel oder CSV Feld-Mapping kann dieses Feld dann auch aufgerufen und berücksichtigt werden. Akzeptiert werden individuelle Felder mit IDs zwischen 50.000 und 1.999.999.999.

Import Einrichtung

Wir haben bisher beschrieben, wie die Mappings für die zu importierenden Datenformate eingerichtet werden und für welche Importziele Daten importiert werden können. Der eigentliche Import findet über Importkarten mit Kopf- und Zeilenstruktur statt. Dieser widmen wir uns im nachfolgenden Kapitel.

Im aktuellen Kapitel sehen wir uns zunächst die Import Einrichtung an. Für jeden Import kann individuell entschieden werden:

  • aus welchem Dateiformat die zu importieren Daten stammen (Excel, CSV, XML)

  • welcher Mapping Code verwendet werden soll

  • für welches Importziel die Daten geladen werden (Abo-, Zuweisung- oder Historie Buch.-Blatt)

Wenn Sie immer mit denselben Parametern importieren – zum Beispiel immer oder meistens eine Excel-Datei mit dem Standard Mapping Code in ein Abo Buch.-Blatt –, dann ist es sinnvoll, diese Einstellungen in der Import Einrichtung zu hinterlegen, weil diese Felder dann für jeden Import aus der Einrichtung vorbelegt werden.

Auch wenn die Import-Parameter aus der Einrichtung vorbelegt werden, können sie bei jedem einzelnen Import manuell geändert werden. Es geht hier nicht um eine restriktive Vorbelegung, sondern nur um eine Eingabehilfe, die Ihnen die Auswahl erspart.

Sehen wir uns die Felder der Import Einrichtung im Einzelnen an.

Die Import Einrichtung verfügt über vier Register:

  • Allgemein

  • Nummerierung

  • Import-Mapping

  • Import-Buch.-Blätter

Diese dienen im Wesentlichen dazu, Standard-Einstellungen beim Importieren von Dateien vorzubelegen. Wenn Ihre Geschäftslogik für jeden Import sehr unterschiedlich ist und keine der Importwege dominiert, kann es besser sein, keine Voreinstellung zu treffen, sondern die Dateiformate, Importziele und Vorgehensweise bei jedem Import individuell zu wählen.

Register Allgemein

Auf dem Register Allgemein der Import Einrichtung befinden sich drei Felder.

Import Einrichtung Register Allgemein | :-| Abb. Import Einrichtung Register Allgemein| Bei allen drei Feldern handelt es sich um Optionsfelder. Die Felder haben die folgende Bedeutung:

Feld Beschreibung
Import Herkunftsart (Vorgabe) Wählt die Vorgabe für das Datenformat, das importiert wird. Die vorhandenen Optionen sind:
Excel
CSV
XMLport
Import Ladeart (Vorgabe) Wählt die Vorgabe für den Importweg. Die vorhandenen Optionen sind:
In Import-Blatt laden
Laden & in Buch.-Blatt übertragen
Laden & Abonnement zuweisen Jeder Import aus einer Datei wird zunächst in das Import-Blatt laden. Anschließend kann er in ein Buch.-Blatt übertragen und über die Buchung aus dem Buch.-Blatt einem Abonnement zugewiesen werden. Dieser Prozess kann einstufig oder mehrstufig erfolgen. Die Daten können zunächst nur in ein Import-Blatt geladen oder unmittelbar geladen und in ein Buch.-Blatt übertragen bzw. geladen und einem Abonnement zugewiesen werden. Jeder Import von Daten aus fremden System kann Inkompati­bilitäten mit den Daten in Ihren Abonnements enthalten. Es empfiehlt sich daher, diese zunächst nur ins Import-Blatt zu laden und erst nach einer Prüfung einer Weiterbearbeitung zuzuführen.
Importziel Vorgabe Wählt die Vorabe für das Importziel aus. Die vorhandenen Optionen sind:
Abo Buch.-Blatt
Zuweisung Buch.-Blatt
Historie Buch. Blatt

Register Nummerierung

Das Register Nummerierung weist das einzige Feld der Import Einrichtung, in das ein Eintrag erfolgen muss, wenn Sie mit Importen arbeiten möchten.

Import Einrichtung Register Nummerierung
Abb. Import Einrichtung Register Nummerierung
Feld Beschreibung
Importnummern Gibt die Nummernserie für die Import-Blätter an, in welche externe Daten importiert werden.

Import-Mapping

Auf dem Register Mapping befinden sich neun Felder, in denen die Vorgabe-Mappings für alle Kombinationen aus Dateiformat und Importziel hinterlegt wird.

Import Einrichtung Register Import-Mapping
Abb. Import Einrichtung Register Import-Mapping

Bitte, denken Sie daran, dass es sich in diesem Beispiel um neun verschiedene Mappings handelt. Das Mapping ABO zum Beispiel ist in den Stammdaten einmal als Excel Mapping, einmal als CSV Mapping und einmal als XMLport Mapping definiert. Es handelt sich dabei um drei unterschiedliche Daten-Identitäten, deren Benennung anhand des jeweiligen Importzieles erfolgt ist. Man könnte auch anders vorgehen und Datenquelle und Importziel im Mapping Code gemeinsam betrachten, also z.B.: EXCEL FÜR ABO, CSV FÜR ABO, XMLPORT FÜR ABO. Die Benennung der Mapping Codes liegt ganz beim Anwender. Wählen Sie den Namen, der Ihnen am transparentesten erscheint.

Die Felder haben die folgende Bedeutung:

Feld Beschreibung
Excel Abo-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer Excel-Datenquelle mit dem Importziel Abo Buch.-Blatt an.
Excel Zuweisung-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer Excel-Datenquelle mit dem Importziel Zuweisung Buch.-Blatt an.
Excel Historie-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer Excel-Datenquelle mit dem Importziel Historie Buch.-Blatt an.
CSV Abo-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer CSV-Datenquelle mit dem Importziel Abo Buch.-Blatt an.
CSV Zuweisung-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer CSV-Datenquelle mit dem Importziel Zuweisung Buch.-Blatt an.
CSV Historie-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer CSV-Datenquelle mit dem Importziel Historie Buch.-Blatt an.
XMLport Abo-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer XML-Datenquelle mit dem Importziel Abo Buch.-Blatt an.
XMLport Zuweisung-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer XML-Datenquelle mit dem Importziel Zuweisung Buch.-Blatt an.
XMLport Historie-Mapping Vorgabe Gibt das Vorgabe-Mapping für den Import aus einer XML-Datenquelle mit dem Importziel Historie Buch.-Blatt an.

Register Import Buch.-Blätter

Das Register Import Buch.-Blätter enthält sechs Felder. Hier werden die Vorgaben für die Buch.-Blätter hinterlegt, in welche importierte Daten aus den Importblättern übertragen werden.

Import Einrichtung Register Import Buch.-Blätter
Abb. Import Einrichtung Register Import Buch.-Blätter

Bitte, denken Sie daran, dass es sich bei den obigen Beispiel dargestellten drei Buch.-Blattnamen STANDARD nicht um denselben Datensatz handelt. Es sind drei unterschiedliche Buch.-Blattnamen, da sie verschiedenen Buch.-Blattvorlagen zugeordnet sind. Der Primärschlüssel dieser Entität ist – völlig analog zu den Buch.-Blättern im Standard von Microsoft Dynamics 365 Business Central – aus der Buch.-Blattvorlage und dem Buch.-Blattnamen zusammengesetzt. Man könnte auch anders vorgehen und zum Beispiel folgende Buch.-Blattnamen wählen: ABO STANDARD, ZUWEISUNG STANDARD, HISTORIE STANDARD. Die Benennung der Buch.-Blattvorlagen und Buch.-Blattnamen liegt beim Anwender. Benennen Sie sie so, wie es Ihnen am transparentesten erscheint.

Die Felder haben die folgende Bedeutung:

Feld Beschreibung
Abo Buch.-Blattvorlage Gibt die Vorgabe für Buch.-Blattvorlagen der Art Abonnement an.
Abo Buch.-Blattname Gibt die Vorgabe für Buch.-Blattnamen der Art Abonnement an. In Buch.-Blattnamen der Art Abonnement werden Datenimporte mit dem Importziel Abo Buch.-Blatt übertragen. Buch.-Blatt­namen sind ihren jeweiligen Buch.-Blattvorlagen zugeordnet.
Zuweisung Buch.-Blattvorlage Gibt die Vorgabe für Buch.-Blattvorlagen der Art Zuweisung an.
Zuweisung Buch.-Blattname Gibt die Vorgabe für Buch.-Blattnamen der Art Zuweisung an. In Buch.-Blattnamen der Art Zuweisung werden Datenimporte mit dem Importziel Zuweisung Buch.-Blatt übertragen. Buch.-Blatt­namen sind ihren jeweiligen Buch.-Blattvorlagen zugeordnet.
Historie Buch.-Blattvorlage Gibt die Vorgabe für Buch.-Blattvorlagen der Art Historie an.
Historie Buch.-Blattname Gibt die Vorgabe für Buch.-Blattnamen der Art Historie an. In Buch.-Blattnamen der Art Historie werden Datenimporte mit dem Importziel Historie Buch.-Blatt übertragen. Buch.-Blatt­namen sind ihren jeweiligen Buch.-Blattvorlagen zugeordnet.

Importieren

Die eigentlichen Importe erfolgen über die Importblätter, die aus dem Rollencenter über die Aktion Import · Importieren aufgerufen werden können.

Importkarte
Abb. Importkarte

Das über eine Import-Liste durch die Aktion Neu erstellte Importblatt enthält Daten mit einer Kopf-/Zeilenstruktur. Im Kopf wird hinterlegt, welche Datenquelle mit welchem Mapping für welches Importziel geladen werden soll.

Im obigen Beispiel sind diese Daten manuell eingetragen werden. Man kann auch anders vorgehen und den Import über die Aktion Import unmittelbar aufrufen. In diesem Fall werden die Daten über einen Dialog abgefragt, dessen Felder mit den Vorgabewerten aus der Import Einrichtung vorbelegt werden.

Bevor wir zu den möglichen Prozessfolgen kommen, sehen wir uns zunächst die Kopfdatenfelder der Importkarte genauer an.

Importkarte Kopfdaten

Die Importkarte verfügt über die folgenden Kopfdatenfelder:

Feld Beschreibung
Nr. Gibt die Nr. der Importkarte an. Die Nr. wird aus automatisch aus der Nummernserie gezogen, die in der Import Einrichtung im Feld Importnummern hinterlegt worden ist.
Beschreibung Gibt eine vom Anwender frei wählbare Beschreibung des Imports an.
Dateiname Gibt den Namen der Datei an, aus der die Daten importiert worden sind. Der Name wird über einen Dateidialog angefordert und in die Importkarte zurückgeschrieben. Er kann vom Anwender nicht manuell eingetragen werden.
Blattname Gibt den Blattnamen der Excel-Datei an, aus der die Daten importiert worden sind. Der Name wird über einen Dateidialog angefordert und in die Importkarte zurückgeschrieben. Er kann vom Anwender nicht manuell eingetragen werden. Dieses Feld steht nur zur Verfügung, wenn die Import-Herkunftsart Excel ist.
Import-Herkunftsart Gibt die Datenquelle an. Die folgenden Optionen stehen zur Verfügung:
Excel
CSV
XMLport
Die Import-Herkunftsart kann in der Karte vorgegeben werden. Sie wird dann aus der Karte in den Importdialog übertragen, der über die Aktion Import aufgerufen wird. Wenn der Importdialog aufgerufen wird, ohne dass die Import-Herkunftsart gefüllt ist, muss er in den Importdialog eingetragen werden und wird dann von dort in die Importkarte zurückgeschrieben.
Feld Mappingcode Gibt den Mapping Code an, der angewendet wird, um die externe Datenquelle zu interpretieren und in die Zeilen der Importkarte zu übertragen. Es stehen alle Optionen zur Verfügung, die in Abhängigkeit von der Import-Herkunftsart in den Excel Feld-Mappings, den CSV Feld-Mappings bzw. in den XMLport Mappings erstellt worden sind. Der Feld Mappingcode kann in der Karte vorgegeben werden. Er wird dann aus der Karte in den Importdialog übertragen, der über die Aktion Import aufgerufen wird. Wenn der Importdialog aufgerufen wird, ohne dass der Feld Mappingcode gefüllt ist, muss er in den Importdialog eingetragen werden und wird dann von dort in die Importkarte zurückgeschrieben. Der Feld Mappingcode muss unter Berücksichtigung des Importziels gewählt werden, weil es in der Regel für unterschiedliche Importziele unterschiedliche Mappingcodes gibt.
Importziel Gibt das Importziel an, für das die Daten in die Importkarte geladen werden. Die vorhandenen Optionen sind:
Abo Buch.-Blatt
Zuweisung Buch. Blatt
Historie Buch.-Blatt
Das Importziel kann in der Karte vorgegeben werden. Es wird dann aus der Karte in den Importdialog übertragen, der über die Aktion Import aufgerufen wird. Wenn der Importdialog aufgerufen wird, ohne dass das Importziel gefüllt ist, muss es in den Importdialog eingetragen werden und wird dann von dort in die Importkarte zurückgeschrieben.
Auto-Vervollständigung ausschalten Es ist möglich, importierte Daten automatisch vervollständigen zu lassen. Wenn zum Beispiel über eine externe Datenquelle nur Rumpfdaten wie Komponenten-ID, Menge und Erfassungsdatum übermittelt werden, kann bill-to daraus bereits einen eindeutigen Bezug zur Abonnementzeile herstellen und darüber ermittelbare weitere Daten wie Abonnementnr., Artikelnr., Beschreibung oder Einheitencode automatisch ergänzen. Das Feld Auto-Vervollständigung ausschalten gibt an, ob der Datenimport nach dem Einlesen der Daten automatisch vervollständigt wird, oder ob die Daten nur genauso eingefügt werden sollen, wie sie in der externen Quelle eingegeben wurden. Für die tägliche Arbeit ist es empfehlenswert, mit der Autovervoll­ständigung zu arbeiten. Schalten Sie die automatische Vervoll­ständigung aus, wenn Sie den Import analysieren oder Daten, die nicht wie erwartet gelesen oder interpretiert wurden, in der externen Datei korrigieren möchten.
Mapping autom. erstellen Gibt an, ob Sie beim Importieren von Daten automatisch ein Feldmapping erstellen möchten. Ein neues Feldmapping wird nur erstellt, wenn Sie kein bestehendes Feldmapping für den Import angeben. Das Feldmapping wird mit der Nummer der Importkarte als Primärschlüssel erstellt; wenn ein solches Feldmapping bereits existiert, wird es überschrieben. Die Funktionalität des Erstellen eines neuen Feldmappings steht nur für die Import-Herkunftsart CSV zur Verfügung. Dabei analysiert bill-to die Datenquelle und erstellt auf dieser Basis das Feldmapping automatisch.
Importdatum Gibt das Datum an, an dem die Datenquelle importiert worden ist.
Anzahl der Probleme Zeigt die Anzahl der Fehler und Warnungen an, die bei der Analyse des Imports über die Aktion Import prüfen ermittelt worden sind. Das Feld wird von der Anwendung automatisch berechnet und kann vom Benutzer nicht beeinflusst werden. Durch Klicken auf die Anzahl der Probleme werden diese über die DrillDown-Funktionalität unmittelbar in einer eigenen Seite angezeigt.
Status Gibt den übergreifenden Status des Imports an. Die vorhande­nen Optionen sind:
Ungeprüft
Warnung
Fehler
Verifiziert
In Buch.-Blatt übertragen
Abonnement zugewiesen*
Der Status wird von der Anwendung ermittelt und kann vom Benutzer nicht geändert werden. Das Statusfeld existiert auch auf den Importzeilen. Im Kopf folgt das Feld dem Prinzip der Propagierung des schlechtesten Status. Wenn es also auch nur eine Zeile mit dem Status Fehler gibt, dann hat der gesamte Import den Status Fehler.

Importkarte Aktionen

Sehen wir uns nach den Kopffeldern der Importkarte nun deren Aktionen an.

Aktion Beschreibung
Import Löst den eigentlichen Import der externen Datenquelle aus.
Import prüfen Prüft alle importieren Zeilen auf mögliche Fehler oder Warnungen. Immer wenn Daten aus externen Quellen importiert werden, ist es möglich, dass sie mit den Daten oder Strukturen innerhalb der Applikation, in die sie importiert werden, nicht kompatibel sind. Das ist ein Grund, weshalb Daten in der Regel nicht sofort in operative Tabellen übertragen, sondern zunächst in reinen Importtabellen zwischengespeichert werden. Hier können sie vor einer Nachbearbeitung zunächst analysiert werden. Über Import prüfen wird die Analyse der importieren Rohdaten angestoßen. Die Methode findet heraus, ob es mit den importierten Daten Probleme gibt und listet diese entsprechend auf. Import prüfen wird implizit jedesmal angestoßen, wenn ein Import erfolgt ist, kann aber über die Aktion vom Anwender auch manuell ausgelöst werden.
In Buch.-Blatt übertragen Überträgt importierte Daten in das zugehörige Buch.-Blatt, von wo aus sie dann den jeweiligen Abonnementzeilen zugebucht werden können.
Abonnements zuweisen Weist importierte Daten unmittelbar den jeweiligen Abonne­mentzeilen zu, ohne dass sie zuvor in ein Buch.-Blatt geschrieben wurden. Dies geschieht im Hintergrund selbstverständlich auch über Buch.-Blattroutinen, wie das in Microsoft Dynamics 365 Business Central üblich ist, so dass auch dieselben Fehler­meldungen aufträten wie bei einer Buchung über Daten, die in ein Buch.-Blatt persistiert wurden.

Importprozess

Bevor wir die Zeilen der Importkarte betrachten, soll der Importprozess einmal durchgespielt werden.

Der Importprozess besteht aus drei Phasen:

  • Import der externen Daten

  • Prüfen der importierten Daten

  • Weitergabe der geprüften Daten ins Abonnement

Der Import der externen Daten wird über die Aktion Import ausgelöst. Es wird zunächst ein Dialog eingeblendet, in den alle erforderlichen Parameter für den Import eingegeben werden müssen:

Importprozess - Import laden
Abb. Importprozess - Import laden

Der Dialog enthält die folgenden Felder:

Feld Beschreibung
Import-Herkunftsart Gibt die Datenquelle an. Die folgenden Optionen stehen zur Verfügung:
Excel
CSV
XMLport
Feld Mappingcode Gibt den Mapping Code an, der angewendet wird, um die externe Datenquelle zu interpretieren und in die Zeilen der Importkarte zu übertragen. Es stehen alle Optionen zur Verfügung, die in Abhängigkeit von der Import-Herkunftsart in den Excel Feld-Mappings, den CSV Feld-Mappings bzw. in den XMLport Mappings erstellt worden sind.
Importziel Gibt das Importziel an, für das die Daten in die Importkarte geladen werden. Die vorhandenen Optionen sind:
Abo Buch.-Blatt
Zuweisung Buch. Blatt
Historie Buch.-Blatt

Wenn diese Felder auf der Importkarte bereits vorgefüllt sind, werden sie in den Dialog übernom­men. Wenn sie auf der Importkarte noch nicht gefüllt sind, werden die Werte aus der Import Einrichtung vorbelegt. In jedem Fall können alle Werte im Dialog auch wieder überschrieben werden. Die letztlich in den Dialog eingegeben Werte werden auch wieder in die Importkarte zurückgeschrieben.

Wenn alle erforderlichen Felder gefüllt sind und der Dialog mit OK bestätigt wurde, fordert das System Sie auf, eine entsprechende Datei zum Import auszuwählen:

Importprozess - Excel-Datei laden
Abb. Importprozess - Excel-Datei laden

Nach der Auswahl der Excel-Datei aus einem Dateidialog werden die Quelldaten importiert, in die Zeilen der Importkarte geschrieben und unmittelbar analysiert. Die gesamte Importkarte mit ihren Zeilen sieht nun zum Beispiel folgendermaßen aus:

Importprozess - Importkarte
Abb. Importprozess - Importkarte

Wir sehen, dass bisher nicht gefüllte Felder im Kopf der Importkarte nun Werte aufweisen. Der Dateiname und der Name des Excel-Blattes sind übertragen worden, das Importdatum ist automatisch gesetzt worden, ebenso der Status. Auch die Anzahl aller Probleme mit den importierten Daten wird angezeigt.

Nun sind auch die Zeilen der Importkarte gefüllt. In diesem Beispiel hatte die Excel-Datei zwei Datenzeilen. Diese sind importiert, analysiert und gespeichert worden. Die erste Zeile hat den Status Fehler. Wenn wir uns die Felder der Zeile ansehen, wird auf den ersten Blick klar, worin der Fehler besteht. Das Feld Einheitencode hat den Wert STCK. Offensichtlich wurde in den externen Daten ein nicht existierender Einheitencode erfasst; der Einheitencode müsste korrekt STÜCK heißen. Sofern dies möglich ist, weil die Probleme nicht zu komplex sind, zeigt die Applikation Datenfehler gleich durch Hervorhebung in roter Farbe an, so dass es für den Anwender leicht ist, das Problem zu identifizieren.

Im Feld Anzahl der Probleme sehen wir, dass es auf dieser importierten Datenzeile genau einen Fehler gibt. Die farbliche Kennzeichnung eines Fehlers dient nur der Schnellerkennung. Man kann sich die Fehler auch in einer ausführlichen Beschreibung anzeigen lassen. Dies geht, indem man auf die Zahl im Feld Anzahl der Probleme klickt, wodurch über die DrillDown-Funktionalität eine Liste der Fehler dieser Zeile geöffnet wird.

Importprozess - Fehler
Abb. Importprozess - Fehler

Die Fehlerliste enthält drei Felder, die im Folgenden näher beschrieben werden:

Feld Beschreibung
Status Gibt den Status der importierten Datenzeile an. Die vorhandenen Optionen sind:
Fehler
Warnung
Problemart Klassifiziert das analysierte Problem.
Problembeschreibung Zeigt eine ausführliche Problembeschreibung, welcher der Anwender zweifelsfrei entnehmen kann, worin das Problem besteht.

Sobald alle Fehler beseitigt sind, kann der dritte Schritt des Importprozesses beginnen, die Weitergabe der Daten an ein Buch.-Blatt oder unmittelbar an die Abonnementzeile, die durch die importierten Daten mengen- oder wertmäßig aufdatiert werden soll. Zu diesem Zweck stehen die Aktionen In Buch.-Blatt übertragen und Abonnements zuweisen zur Verfügung.

Importzeilen

Im Importprozess haben wir bereits kennengelernt, wie die Importzeilen gefüllt werden und welche Bedeutung sie haben. Sehen wir uns die Felder der Importzeile jetzt noch einmal näher an.

Feld Beschreibung
Status Gibt den Status der importierten Datenzeile an. Die vorhandenen Optionen sind:
Ungeprüft
Warnung
Fehler
Verifiziert
In Buch.-Blatt übertragen
Abonnement zugewiesen
Der Status wird über die Aktion Import prüfen bzw. die nachfolgenden Datenweitergabe über die Aktionen In Buch.-Blatt übertragen oder Abonnements zuweisen von der Anwendung gesetzt und kann vom Benutzer nicht verändert werden.
Verarbeiten Gibt an, ob eine Importzeile weiterverarbeitet werden kann. Eine Zeile kann nur dann weiterverarbeitet werden, wenn sie den Status „Verifiziert“ hat. Beim Status „Ungeprüft“ muss zunächst eine Fehlerprüfung erfolgen. Bei den Status „Warnung“ und „Fehler“ liegt ein Problem vor, das zunächst beseitigt werden muss. Bei den Status „In Buch.-Blatt übertragen“ und „Abonnement zugewiesen“ ist bereits eine Weiterverarbeitung erfolgt.
Postenart Dieses Feld wird durch den Import gefüllt. Es kann nur bei den Importzielen Zuweisung Buch.-Blatt und Historie Buch.-Blatt gefüllt werden. Die vorhandenen Optionen sind:
Mengen- und Wertupdate
Mengenupdate
Wertupdate
In den externen Datenquellen wird die Option Mengen- und Wertupdate durch eine 1 repräsentiert, Mengenupdate durch eine 2 und Wertupdate durch eine 3.
Abonnementnr. Dieses Feld wird durch den Import gefüllt. Es gibt die Nummer des Abonnements an, auf das sich der importierte Datensatz bezieht.
Artikelnr. Dieses Feld wird durch den Import gefüllt. Es gibt die Nummer des Abonnementartikels der Abonnementzeile an, auf die sich der importierte Datensatz bezieht.
Beschreibung Dieses Feld wird durch den Import gefüllt. Es gibt die Beschreibung des Abonnementartikels der Abonnementzeile an, auf die sich der importierte Datensatz bezieht.
Komponenten-ID Dieses Feld wird durch den Import gefüllt. Es gibt ein bis zu 20-stelliges Kennzeichen an, durch das die Abonnementzeile, auf die sich der importierteatensatz bezieht, eindeutig identfiziert werden kann.
Einheitencode Dieses Feld wird durch den Import gefüllt. Es gibt die Verkaufs­einheit des Abonnementartikels der Abonnementzeile an, auf die sich der importierte Datensatz bezieht.
Erfassungsdatum Dieses Feld wird durch den Import gefüllt. Es gibt das Datum an, zu dem die durch den importierten Datensatz ausgelösten Mengen- und/oder Wertveränderungen effektiv werden.
Menge Dieses Feld wird durch den Import gefüllt. Es gibt die Menge an, um welche die Abonnementzeile, auf die sich der importierte Datensatz bezieht, erhöht oder erniedrigt wird.
Betrag Dieses Feld wird durch den Import gefüllt. Er gibt die Wertveränderung der Abonnementzeile an, auf die sich der importierte Datensatz bezieht. Das Feld kann nur gefüllt werden, wenn das Importziel Historie Buch.-Blatt ist.
Zuweisung zu Belegart Dieses Feld wird durch den Import gefüllt. Es gibt die Belegart an, die mit einer Mengen- oder Wertveränderung verknüpft sind. Es stehen die folgenden Optionen zur Verfügung:
Einkaufsrechnung (extern: 1)
Einkaufsgutschrift (extern: 2)
Verkaufsrechnung (extern: 3)
Verkaufsgutschrift (extern: 4)
Das Feld kann nur bei den Importzielen Zuweisung Buch.-Blatt und Historie Buch.-Blatt gefüllt werden. Die Optionswerte Verkaufsrechnung und Verkaufsgutschrift stehen nur beim Importziel Historie Buch.-Blatt zur Verfügung.
Zuweisung zu Belegnr. Dieses Feld wird durch den Import gefüllt. In Abhängigkeit vom Feld Zuweisung zu Belegart enthält es die Belegnummer einer der vier gebuchten Belege. Das Feld kann nur bei den Importzielen Zuweisung Buch.-Blatt und Historie Buch.-Blatt gefüllt werden.
Zuweisung zu Belegzeilennr. Dieses Feld wird durch den Import gefüllt. In Abhängigkeit von den Feldern Zuweisung zu Belegart und Zuweisung zu Belegnr. enthält es die Zeilennummer des gebuchten Belegs. Das Feld kann nur bei den Importzielen Zuweisung Buch.-Blatt und Historie Buch.-Blatt gefüllt werden.
Anzahl der Probleme Das Feld ist ein von der Anwendung berechnetes Feld, das vom Benutzer nicht verändert werden kann. Es zeigt die Anzahl der analysierten Probleme für die Importzeile. Durch Klicken auf die Zahl werden die Fehler über die DrillDown-Funktionalität in einer eigenen Seite angezeigt.

Es ist nicht erforderlich, dass beim Import alle Felder der Importzeile gefüllt werden, um eine gültige Mengen- oder Wertveränderung einer Abonnementzeile zu erreichen. Dies sind die Mindest­anforderungen an zu füllende Felder in Abhängigkeit vom jeweiligen Importziel:

Importziel Mindestens zu füllende Importfelder
Abo Buch.-Blatt Komponenten-ID
Erfassungsdatum
Menge
Zuweisung Buch.-Blatt Postenart
Komponenten-ID
Zuweisung zu Belegart
Zuweisung zu Belegnr.
Zuweisung zu Belegzeilennr.
Historie Buch.-Blatt Postenart
Komponenten-ID
Menge + Betrag
oder Zuweisung zu Belegart + Belegnr. + Belegzeilennr.

Individueller Import Felder und Events

Der Importzeile können individuelle Felder hinzugefügt werden. Diese können einerseits genutzt werden, um über die Abonnement Buch.-Blattzeile bis in die Abonnementzeile weitergereicht zu werden. Andererseits können sie verwendet werden, um Informationen, die in einem nicht verwertbaren Format eingelesen werden, verwertbar zu machen.

Das Erfassungsdatum ist eines der Pflichtfelder, die gefüllt werden müssen, damit ein Import richtig interpretiert werden kann. Nehmen wir an, dass aus einer Excel- oder CSV-Datei zum Import kein Datum, sondern nur ein Text wie „November 2023“ angeboten wird. Diese Information kann in ein neu hinzugefügtes Textfeld eingelesen und dann bei der Importvalidierung geparst und z.B. in das Datum 30.11.2023 umgewandelt werden, mit dem dann das Erfassungsdatum gefüllt wird.

Zur Bearbeitung beim Import stehen externen Routine zahlreiche Events zur Verfügung. Diese sind:

  • OnAfterTransferExceBufferCellToImportLine
  • OnBeforeInsertImportLine
  • OnAfterTransferCSVBufferCellToImportLine
  • OnBeforeInsertImportLine
  • OnAfterInitializeSubscriptionJournalLine

Erstellen von Abonnements aus Verkaufsangeboten

In bill-to können Verkaufsangebote aus Abonnements erstellt werden; dieser Weg ist bei der Vorstellung der Abonnements bereits beschrieben worden.

Umgekehrt können aber auch Abonnements aus Verkaufsangeboten erstellt werden. Letzterer ist der vielleicht weiter verbreitete Weg, besonders wenn in der Regel nur ein bestimmter Teil der Angebote angenommen werden und tatsächlich zu einem Abonnement werden. Wenn es einige oder viele Angebote gibt, die von Kunden abgelehnt und nicht zu Abonnements werden, ist es wesentlich sinnvoller, zunächst Angebote zu erstellen, die dann nur im Erfolgsfall zu Abonnements werden, als viele Abonnements zu erstellen, die letztlich nie aktiviert werden.

Einrichtung

Grundlegende Einrichtung für Angebote, aus denen Abonnements erstellt werden sollen, können zunächst in der Belegeinrichtung getroffen werden.

Einrichtung Belegeinrichtung
Abb. Einrichtung Belegeinrichtung
Belegeinrichtung Register Übernahme Verkaufsangebot in Abonnement
Abb. Belegeinrichtung Übernahme Verkaufsangebot in Abonnement

Auf dem Register Übernahme Verkaufsangebot in Abonnement befinden sich drei Felder, über welche Details der Übernahme eines Verkaufsangebots in Abonnements gesteuert werden können.

Die Felder haben den folgenden Inhalt:

Feld Beschreibung
Abonnementfunktionen verfügbar Dieses Feld steuert, ob und wann Abonnementfunktionen in Verkaufsangeboten zur Verfügung stehen. Das Feld hat drei Optionen:
Abonnementangebote Bewirkt, dass spezifische Abonnementfunktionen nur in Angeboten verfügbar sind, die über das Anhaken des Feldes Abonnementangebot als solche gekennzeichnet. Das erscheint als sehr sinnvoll, falls es sowohl Verkaufs­angebote gibt, die im Kontext von Abonnements gemacht werden, als auch solche, die nicht zu Abonnements, sondern zu normalen Verkaufsaufträgen führen sollen.
Alle Angebote Bewirkt, dass spezifische Abonnementfunktionen in allen Verkaufsangeboten verfügbar sind. Das kann sinnvoll sein, wenn ausschließlich Verkaufsangebote erstellt werden, die zu Abonnements führen sollen.
Nie Bewirkt, dass Abonnementfunktionen in Verkaufs­angeboten grundsätzlich nicht zur Verfügung stehen. Diese Option ist sinnvoll, wenn Abonnements in keinem Fall aus Verkaufsangeboten entstehen sollen.
Textzeilen im Angebot überspringen Dieses Feld steuert, ob Textzeilen aus Verkaufsangeboten als Vorgabe in Abonnements übertragen werden sollen oder nicht. Das Feld hat vier Optionen:
Alle Alle Textzeilen aus dem Verkaufsangebot werden als Vorgabe in das Abonnement übernommen.
Vor der ersten Artikelzeile Textzeilen aus dem Verkaufsangebot, die vor der ersten Artikelzeile stehen, werden nicht in das Abonnement übernommen. Das erscheint sinnvoll, wenn Angebote grundsätzlich mit angebotsbezogenen Formulierungen wie „Wir freuen uns, Ihnen im folgenden anbieten zu dürfen“ o.ä. eingeleitet werden, die im Abonnement nichts zu suchen haben.
Nach der letzten Artikelzeile Textzeilen aus dem Verkaufsangebot, die nach der letzten Artikelzeile stehen, werden nicht in das Abonnement übernommen. Das erscheint sinnvoll, wenn Angebote gründsätzlich mit angebotsbezogenen Formulierungen wir „Unser Angebot bleibt für zwei Wochen gültig“ o.ä. beendet werden, die im Abonnement nichts zu suchen haben.
Vor der ersten und nach der letzten Artikelzeile Textzeilen aus dem Verkaufsangebot, die vor der ersten oder nach der letzten Artikelzeile stehen, werden nicht in das Abonnement übernommen.
Grundsätzlich spricht nichts dagegen, die Einstellung auf die Option Alle zu setzen. Bevor das Verkaufsangebot in das Abonnement übernommen wird, wird in Dialog eingeblendet, der es dem Anwender erlaubt, spezifische Zeilen auszuwählen, die übertragen oder nicht übertragen werden sollen. Für das Abonnement unpassende Textzeilen können also beim Erstellen des Abonnements auch manuell unterdrückt werden. Abschließend ist es natürlich auch möglich, das entsandene Abonnement vollumfänglich manuell zu bearbeiten.
Abonnementspezifische Preise erstellen Gibt an, ob bei der Erstellung von Abonnements aus Verkaufs­angeboten immer abonnementspezifische Preise und Rabatte erstellt werden sollen. Wenn dieses Feld nicht aktiviert ist, werden abonnementspezifische Preise und Rabatte nur dann erstellt, wenn die angebotenen Verkaufspreise oder Zeilenrabatte aktuell von den berechneten Standardverkaufs­preisen abweichen.

Abonnementverkaufsangebote

Verkaufsangebote können grundsätzlich zu Abonnementverkaufsangeboten gemacht werden, indem das Feld Abonnementangebote aktiviert wird:

Verkaufsangebotkarte Abonnementangebot
Abb. Verkaufsangebotkarte Abonnementangebot

Wenn dieses Feld aktiviert ist, werden diese als Abonnementangebote auf der Kachel Angebote im Rollencenter „Abonnement-Manager“ angezeigt:

Rollencenter Verkaufsbeleg Abonnement
Abb. Rollencenter Verkaufsbeleg Abonnement

Verkaufsangebote, die über diese Kachel neu erstellt werden, werden automatisch als Abonnement­angebote gekennzeichnet. Wenn man ein Verkaufsangebot für ein Abonnement erstellen möchte, empfiehlt es sich daher, auf die Kachel Angebote im Rollencenter und dort dann auf +Neu zu klicken. Auf diese Weise wird automatisch ein neues Verkaufsangebot mit dem Ziel Abonnement erstellt. Alternativ können neue Verkaufsangebote mit dem Ziel Abonnement auch aus den Aktionen des Rollencenters erstellt werden:

Rollencenter Verkaufsangebot
Abb. Rollencenter Verkaufsangebot

Im Verkaufsangebot selbst kann das Feld Abonnementangebot nur dann geändert werden, wenn entweder bereits eine Angebotszeile existiert oder die Angebotszeilen noch nicht editierbar sind; Letzteres ist zum Beispiel der Fall, wenn der Debitor noch nicht im Angebot hinterlegt wurde. Wenn die Verkaufsangebote über die Kachel Angebote aufgerufen wurden, ist das Feld Abonnementangebot gar nicht editierbar.

In Abhängigkeit von der Einstellung im Feld Abonnenementfunktionen verfügbar in der Belegeinrichtung werden im Verkaufsangebot zusätzliche Abonnementfunktionen angezeigt oder nicht. Wir gehen im folgenden davon aus, dass die Abonnementfunktionen im Verkaufsangebot verfügbar sind.

Abonnementfunktionen im Verkaufsangebot

Wenn Abonnementfunktionen im Verkaufsangebot verfügbar sind, stehen im Kopf, in den Zeilen und in den Aktionen des Verkaufsangebots zusätzliche Felder und Funktionen bereit.

Abonnementfunktion im Kopf des Verkaufsangebotes

Wenn Abonnementfunktionen im Verkaufsangebot verfügbar sind, stehen im Kopf das folgende zusätzliche Feld zur Verfügung:

Verkaufsangebot Funktion Anzahl Abonnements
Abb. Verkaufsangebot Funktion Anzahl Abonnements
Feld Beschreibung
Anzahl Abonnements Dieses Feld zeigt die Anzahl an Abonnements an, die mit dem Verkaufsangebot verbunden sind. Durch Klicken auf die Anzahl werden die Abonnements selbst in der Übersicht Abonnement-Angebot Verbindungen angezeigt. Von dort aus kann auf die Abonnements verzweigt werden.

Das Feld Gewünschtes Lieferdatum wird als Vorschlagsfeld für das Startdatum des Abonnements genutzt.

Nur zum Vergleich: So sieht der Kopf des Verkaufsangebots aus, wenn die Abonnementfunktionen nicht verfügbar sind:

Verkaufsangebot Register Allgemein
Abb. Verkaufsangebot Register Allgemein

Abonnementfunktionen in den Zeilen des Verkaufsangebots

Wenn Abonnementfunktionen im Verkaufsangebot verfügbar sind, stehen auf den Zeilen die folgenden zusätzlichen Felder zur Verfügung:

Feld Beschreibung
Textart Wenn es sich bei der Art der Zeile um ein Feld der Art Bemerkung handelt, kann in diesem Feld spezifiert werden, um welche Art von Text es sich im Abonnement handeln soll. Die Optionen sind:
<Leer>
Allgemeine Bemerkung
Interner Kommentar
Gruppenüberschrift
Gruppensumme
Zwischensumme
Bundlesumme
Diese Optionen entsprechen den Textoptionen aus dem Feld Art der Abonnementzeilen.
Abonnementlaufzeitcode Gibt die Laufzeit eines Abonnements an, also z.B. ein Jahr oder drei Jahre
Abrechnungsintervallcode Gibt den Abrechnungsrhythmus eines Abonnements an, also z.B. ein Monat oder ein Jahr.
Prozent % In diesem Feld wird der ermittelte bzw. anzubietende Prozentwert von Abonnementartikel mit der Kalkulationsmethode Wartung gespeichert.
Zwischensumme Betrag Dieses Feld zeigt Beträge an, die den Gesamtwert des Angebots nicht erhöhen. Das Feld wird bei den folgenden Einstellungen genutzt:
Art Artikel Das Feld wird nur dann gefüllt, wenn es sich auf der Zeile um einen Bundleartikel handelt.
Textart Gruppensumme Das Feld zeigt die Summe aller Artikel ab der letzten Gruppenüberschrift an.
Textart Zwischensumme Das Feld zeigt die Summe aller vor dieser Zeile befindlichen Artikel an.
Textart Bundlesumme Das Feld zeigt die Summe aller Artikel ab dem letzten Bundleartikel an.

Zusätzlich sind einige Funktionen der Abonnementzeilen in das Verkaufsangebot übertragen werden. Die Zeilen eines Verkaufsangebots könnten z.B. folgendermaßen aussehen:

Verkaufsangebot Zeilen
Abb. Verkaufsangebot Zeilen

An diesem Beispiel wird erkenntlich, dass die aus Abonnements bekannten Funktionalitäten auch im Verkaufsangebot zur Verfügung stehen. Man kann z.B. mit Gruppenüberschriften und Gruppensummen oder mit Bundlesummen arbeiten. Bei der Eingabe eines Bundleartikels – in diesem Beispiel 1008 „Rundum Sorglos-Paket“ können die dem Bundle zugehörigen Abonnementartikel und die Bundlesummenzeile automatisch entfaltet werden. Das trifft auch auf normale Abonnement­artikel zu, denen eine automatische Abonnementartikelstückliste hinterlegt ist. Artikel, die zu einem Bundle gehören, werden außerdem farbig gekennzeichnet.

Zudem ist es analog zum Abonnement möglich, auch im Verkaufsangebot Ad-hoc Bundle zu definieren. Dazu steht auf den Verkaufsangebotszeilen die gleiche Aktion Zuordnung zum Bundle aktualisieren zur Verfügung, die es auch auf den Abonnementzeilen gibt:

Verkaufsangebot Funktion Zuordung zum Bundle aktualisieren
Abb. Verkaufsangebot Funktion Zuordung zum Bundle aktualisieren

Im Verkaufsangebot greifen die erweiterten Preisfindungslogiken des Abonnements. Wenn es also Preise gibt, die von der Laufzeit oder dem Abrechnungsintervall des Abonnementartikels abhängig sind, brauchen diese nur auf der Angebotszeile hinterlegt zu werden, damit unterschiedliche Preise ermittelt werden. Dadurch können Alternativen angeboten werden, z.B. Preise bei dreijähriger Laufzeit und einjähriger Vorausberechnung gegenüber Preisen bei jährlicher Laufzeit und monatlicher Berechnung:

Preisfindungslogik
Verkaufsangebot Zeilen Verkaufsangebot Zeilen Preise

Zu beachten ist, dass ein Abonnement jeweils nur eine Kombination von Laufzeit und Abrechnungs­intervall zulässt. Wenn aus einem Angebot ein Abonnement mit jährlicher Laufzeit und monatlichem Abrechnungsintervall erstellt wird, dann sollte dieses also keine Angebotszeile mit dreijähriger Laufzeit und jährlichem Abrechnungsintervall enthalten. bill-to unterstützt den Anwender dabei, indem bei der Erstellung von Abonnements aus Angeboten nur solche Angebotszeilen als zu übernehmend vorgeschlagen werden, die der Laufzeit- und Abrechnungslogik des zu erstellenden Abonnements entsprechen. Dies könnte aber manuell überschrieben werden. Wenn vom Kunden Angebotszeilen mit unterschiedlichen Laufzeiten und Abrechnungsintervallen akzeptiert werden, dann müssen aus dem Angebot entsprechend mehrere Abonnements erstellt werden.

Abonnementfunktionen in den Aktionen des Verkaufsangebots

Wenn Abonnementfunktionen im Verkaufsangebot verfügbar sind, stehen im Kopf die folgenden zusätzlichen Aktionen zur Verfügung:

Verkaufsangebot Aktionsgruppe Abonnment
Abb. Verkaufsangebot Aktionsgruppe Abonnment

Alle zusätzlichen Funktionen finden sich in der Gruppe Abonnement. Es sind:

Aktion Beschreibung
Abonnement erstellen Öffnet einen Dialog, über den das Abonnement erstellt, ergänzt oder aktualisiert werden kann.
Alles berechnen Über diesen Split-Button werden Berechnungen von abonnementspezifischen Werten in Verkaufsangeboten ausgeführt. Die folgenden Aktionen stehen zur Verfügung:
Alles berechnen Berechnet zunächst die Wartungsartikel, dann die Bundleartikel und dann die Gruppen- und Zwischensummen
Bundleartikel berechnen Berechnet zunächst die Bundleartikel und dann die Gruppen- und Zwischensummen. Wartungsartikel werden nicht berechnet.
Wartungsartikel berechnen Berechnet zunächst die Wartungsartikel und dann die Gruppen- und Zwischensummen. Bundleartikel werden nicht berechnet.
Abonnements Zeigt alle mit dem Verkaufsangebot verknüpften Abonnements an. Die Funktion dieser Aktion entspricht dem Klicken auf das Feld Anzahl Abonnements im Kopf des Verkaufsangebots.

Erstellen und Aktualisieren von Abonnements über Angebote

Der eigentliche Prozess der Erstellung und Aktualisierung von Abonnements aus eine Verkaufs­angebot wird über die Aktion Abonnement erstellen im Kopf des Verkaufsangebots ausgeführt. Wenn diese Aktion ausgeführt wird, wird ein Abonnement nicht unmittelbar im Hintergrund erstellt. Stattdessen wird ein Dialog aufgerufen, der es dem Anwender erlaubt, differenziert auszuwählen, wie er vorgehen möchte:

Verkaufsangebot Belegzeilen auswählen
Abb. Verkaufsangebot Belegzeilen auswählen

Welche Felder im Kopf der Abonnementoptionen verfügbar sind, wird über die Einstellung im Feld Abonnementziel gesteuert. Das Feld hat die folgenden vier Optionen:

Option: Neues Abonnement Aus den Angebotszeilen wird ein neues Abonnement erstellt.

Option: Mehrere Abonnements Aus den Angebotszeilen können mehrere neue Abonnements erstellt werden.

Option: Abonnementzeilen hinzfügen Die Angebotszeilen werden einem bestehenden Abonnement hinzugefügt.

Option: Abonnementzeile aktualisieren Die Menge einer bestehenden Abonnementzeile wird über eine Angebotszeile aufdatiert. Wenn diese Option gewählt ist, kann nur eine Angebotszeile als Quelle der Aufdatierung genutzt werden.

Wenn im Feld Abonnementziel die Option Neues Abonnement gewählt ist, stehen im Kopf der Abonnementoptionen die folgenden Felder zur Verfügung:

Feld Beschreibung
Abonnement Startdatum Gibt das Datum an, an welchem das Abonnement beginnen soll. Das Feld wird durch das Feld Gewünschtes Lieferdatum aus dem Verkaufsangebot vorbelegt.
Abonnementlaufzeitcode Gibt die Laufzeit des Abonnements an. Das Feld wird durch das Feld Abonnementlaufzeitcode aus der Abonnement Einrichtung vorbelegt.
Abrechnungsintervallcode Gibt das Abrechnungsintervall des Abonnements an. Das Feld wird durch das Feld Abrechnungsintevallcode aus der Abonnement Einrichtung vorbelegt.
Automatische Verlängerung Gibt an, ob das Abonnement automatisch verlängert werden soll oder nicht. Das Feld wird aus dem Feld Autom. Verlängerung der Abonnement Einrichtung vorbelegt.
Autom. Preisverlängerung Gibt an, ob und auf welche Weise die Preise des Abonnements automatisch verlängert werden sollen oder nicht. Das Feld wird aus dem Feld Autom. Preisverlängerung der Abonnement Einrichtung vorbelegt.

Wenn im Feld Abonnementziel die Option Mehrere Abonnements gewählt ist, stehen im Kopf der Abonnementoptionen die folgenden Felder zur Verfügung:

Feld Beschreibung
Automatische Verlängerung Gibt an, ob das Abonnement automatisch verlängert werden soll oder nicht. Das Feld wird aus dem Feld Autom. Verlängerung der Abonnement Einrichtung vorbelegt.
Autom. Preisverlängerung Gibt an, ob und auf welche Weise die Preise des Abonnements automatisch verlängert werden sollen oder nicht. Das Feld wird aus dem Feld Autom. Preisverlängerung der Abonnement Einrichtung vorbelegt.

Wenn im Feld Abonnementziel die Option Abonnementzeilen hinzufügen gewählt ist, stehen im Kopf der Abonnementoptionen die folgenden Felder zur Verfügung:

Feld Beschreibung
Abonnementnr. Gibt das Abonnement an, dem die Abonnementzeilen hinzugefügt werden sollen. Jedes bestehende Abonnement kann ausgewählt werden. Wenn die AssistEdit-Funktionalität dieses Feldes genutzt wird, werden diejenigen Abonnements vorausgewählt, mit denen das Angebot bereits verknüpft ist.
Abonnement Startdatum Gibt das Datum an, ab welchem die Mengen der Abonnementzeilen fakturiert werden sollen. Das Feld wird durch das Feld Gewünschtes Lieferdatum aus dem Verkaufsangebot vorbelegt.

Wenn im Feld Abonnementziel die Option Abonnementzeile aufdatieren gewählt ist, stehen im Kopf der Abonnementoptionen die folgenden Felder zur Verfügung:

Feld Beschreibung
Abonnementnr. Gibt das Abonnement an, dessen Abonnementzeile aufdatiert werden sollen. Jedes bestehende Abonnement kann ausgewählt werden. Wenn die AssistEdit-Funktionalität dieses Feldes genutzt wird, werden diejenigen Abonnements vorausgewählt, mit denen das Angebot bereits verknüpft ist.
Komponenten-ID Gibt die exakte Abonnementzeile an, die aufdatiert werden soll. Jeder bestehende Abonnementzeile der angegebenen Abonnementnr. kann ausgewählt werden. Wenn die AssistEdit-Funktionalität dieses Feldes genutzt wird, wird der Haken im Feld In Abonnement übertragen der richtigen Angebotszeile gleich von der Anwendung mitgesetzt.
Abonnement Startdatum Gibt das Datum an, zu welchem die Menge der Abonnementzeile aufdatiert und fakturiert werden sollen. Das Feld wird durch das Feld Gewünschtes Lieferdatum aus dem Verkaufsangebot vorbelegt.

Sehen wir uns die zur Erstellung eines Abonnements vorgeschlagenen Zeilen näher an:

Verkaufsangebot Vorgeschlagene Zeilen
Abb. Verkaufsangebot Vorgeschlagene Zeilen

Wir sehen hier alle relevanten Zeilen des Verkaufsangebots. Von besonderer Bedeutung sind dabei die Felder In Abonnement übertragen und Abonnementmenge. Diese sollen im folgenden näher erläutert werden:

Feld Beschreibung
In Abonnement übertragen Nur Vorschlagszeilen, bei denen das Feld In Abonnement übertragen angehakt ist, werden auch tatsächlich in das Abonnement übertragen. Sie können also hierdurch ganz exakt steuern, welche Zeilen aus dem Angebot zur Erstellung oder Aufdatierung eines Abonnements genutzt werden sollen, und welche ggf. nicht berücksichtigt werden sollen.
Abonnementmenge Gibt die Abonnementartikelmenge an, die über die Abonnementzeile fakturiert werden soll. Sie muss gleich der angebotenen Menge sein oder kleiner als sie.

Der Dialog zur Erstellung von Abonnements aus Angeboten verfügt über zwei Aktionen:

Aktionen Belegzeilen auswählen
Abb. Aktionen Belegzeilen auswählen

Die Aktion bewirken folgendes:

Aktion Beschreibung
Abonnements Zeigt über die Übersicht Abonnement-Angebot Verbindungen alle Abonnements an, die bereits mit dem Verkaufs­angebot verbunden sind.
Übertragung umschalten Wenn keine Zeile als In Abonnement übertragen angehakt ist, wird der Haken durch diese Aktion für alle Zeilen gesetzt; ansonsten wird der Haken durch diese Aktion für alle Zeilen gesetzt.

Wenn eine Zeile aus dem Verkaufsangebot nicht in ein Abonnement übertragen werden soll, dann muss zu diesem Zweck der Haken im Feld In Abonnement übertragen in dieser Zeile entfernt werden. Die Zeile wird zur besseren Kenntlichmachung ihrer Nicht-Berücksichtigung zusätzlich abgedimmt dargestellt:

In Abonnement übertragen Zeilen
Abb. Aktionen Belegzeilen auswählen

Wenn Sie sich dazu entscheiden, doch keine Erstellung oder Aufdatierung eines Abonnements ausführen zu wollen, klicken Sie einfach zu jeder Zeit auf Abbrechen. Wenn Sie die auf OK klicken, wird die Erstellung oder Aufdatierung eines Abonnements ausgelöst:

Bestätigung
Abb. Bestätigung

Wenn die Erstellung eines Abonnements aus dem obigen Beispiel durch Klicken auf OK veranlaßt wird, dann entsteht folgendes Abonnement:

Abonnementkarte
Abb. Abonnementkarte

Man sieht, dass die Zeilen, bei denen In Abonnement übertragen nicht angehakt war, bei der Erstellung des Abonnements auch nicht berücksichtigt worden sind.

Wenn im Verkaufsangebot Werte in den Feldern Währungscode, Zlg.-Bedingungscode und Zahlungsformcode hinterlegt sind, die von denen des Rech. an Debitor abweichen, dann wird ein neues Abonnement mit den entsprechenden Werten aus dem Verkaufsangebot erstellt.

Gleichzeitig mit dem Abonnement ist die Verbindung zum Verkaufsangebot entstanden, die sowohl vom Abonnement als auch vom Angebot aus eingesehen werden kann:

Abonnement-Angebot Verbindung
Abb. Abonnement-Angebot Verbindung

In der Beleghistorie des Abonnements ist außerdem vermerkt, dass das Abonnement aus einem Verkaufsangebot erzeugt worden ist:

Abonnementänderungsprotokoll
Abb. Abonnementänderungsprotokoll

Beauftragungsverfolgung

Es können Unterschiede zwischen einer kundenseitig genehmigten und der tatsächlich bereits bezogenen Menge bestehen. Die kundenseitig beauftragte Abonnementmenge kann in Beauftragungspositionen zu jeder Abonnementzeile mitgeführt werden.

In diesem Kapitel wird die Funktionsweise der Beauftragungsverfolgung erläutert.

Aktivierung

Damit eine Beauftragungsverfolgung zur Verfügung steht, muss in der Abonnement Einrichtung auf dem Register Allgemein das Feld Beauftragsverfolgung aktivieren eingeschaltet, d.h. auf True gesetzt werden.

Abonnement

Wenn die Beauftragungsverfolgung aktiviert ist, stehen in den Abonnementzeilen zwei zusätzliche Felder und eine Aktion zur Verfügung:

Beauftragte Menge
Abb. Beauftragte Menge
Aktion Beschreibung
Beauftragte Menge Über diese Aktion kann der Dialog aufgerufen werden, in dem die Beauftragungspositionen eingesehen und gepflegt werden können. Die Aktion steht nur dann zur Verfügung, wenn es sich bei der Art der Abonnementzeile um einen „Abonnementartikel“ oder einen „Bundleartikel“ handelt.
Feld Beschreibung
Beauftragte Menge Das Feld zeigt die Summe der für diese Abonnementzeile beauftragte Mengen an (von der nicht unbedingt die Gesamt­menge bereits abgerufen sein muss). Über die DrillDown-Funktion des Feldes kann derselbe Dialog zur Pflege der Beauftragungspositionen aufgerufen werden wie über die Aktion Beauftragte Menge.
Bis heute beauftragt Das Feld zeigt die Sume der für diese Abonnementzeile bis zum aktuellen Arbeitsdatum, also in der Regel bis heute, beauftragten Mengen an. Das Feld ist im Standard ausgeblendet, kann aber vom Anwendereingeblendet werden.

Über die Aktion Beauftragte Menge oder die DrillDown-Funktionalität des Feldes Beauftragte Menge wird der Dialog zur Pflege der Beauftragungspositionen aufgerufen:

Abonnement Beauftragungsposten
Abb. Abonnement Beauftragungsposten

Im obigen Beispiel ist der ursprünglich beauftragten Menge von 10 vom 1. September 2023 eine neue Beauftragung von weiteren 5 Lizenzen vom 1. Oktober 2023 hinzugefügt worden. Der aktuelle Tag (Arbeitstag) ist der 15. September 2023. Deshalb ist im Register Informationen im Feld Beauftragte Menge die Gesamtsumme von 15 Lizenzen ausgewiesen, während im Feld Bis heute lediglich 10 Lizenzen aufsummiert sind.

Feld Beschreibung
Beauftragte Menge Zeigt die Gesamtsumme der Mengen aller Beauftragungs­positionen für die jeweilige Abonnementzeile an. Das Feld ist nicht editierbar und wird während der Eingabe kontinuierlich aktualisiert.
Bis heute Zeigt die Gesamtsumme der Mengen aller Beauftragungs­positionen für die jeweilige Abonnementzeile bis zum Arbeitsdatum an, d.h. in der Regel bis zum Tagesdatum. Das Feld ist nicht editierbar und wird während der Eingabe kontinuierlich aktualisiert.
Auftragsdatum Zeigt das Datum einer Beauftragung an. Wenn dieses Feld nicht gefüllt ist, wird die Beauftragungsposition nicht angenommen.
Menge Zeigt die beauftragte Menge an. Wenn dieses Feld nicht gefüllt ist, wird die Beauftragungspositionnicht angenommen.
Kontaktnr. Authorisierung Zeigt die Nummer eines externen Kontakts, der die Beauftragung authorisiert hat. Über die AssistEdit-Funktionalität des Feldes werden die Kontakte auf die Kontakte des im Abonnement hinterlegten Debitors gefiltert. Grundsätzlich kann aber jeder im System verfügbare Kontakt ausgewählt werden.
Kontak Authorisierung Zeigt den Namen eines externen Kontakts, der die Beauftragung authorisiert hat. Wenn das Feld Kontaktnr. Authorisierung gefüllt ist, wird der Name aus dem Kontakt belegt und kann nicht editiert werden. Wenn das Feld Kontaktnr. Authorisierung nicht gefüllt ist, kann ein beliebiger Name manuell eingegeben werden.

Verkaufsangebot

Wenn die Beauftragungsverfolgung in der Abonnement Einrichtung aktiviert ist, wird bei der Neuerstellung eines Angebots automatisch für jede den Bedingungen genügende Abonnementzeile eine Beauftragungsposition mit der Angebotsmenge erzeugt.

Rechnungsstapel

Erstellung

Sie können alle aktiven fälligen Abonnements über einen Rechnungsstapel abrechnen. Auch für Rechnungen, die manuell aus einem Abonnement erstellt werden, wird ein Rechnungsstapel im Hintergrund angelegt.

Rechnungsstapelkarte
Abb. Rechnungsstapelkarte

Allgemein

Rechnungsstapelkarte Register Allgemein
Abb. Rechnungsstapelkarte Register Allgemein
Feld Beschreibung
Nr. Gibt die Nummer des Rechnungsstapel an.
Beschreibung Die Beschreibung wird automatisch gefüllt, kann aber geändert werden.
Erstellungsdatum Gibt das Erstellungsdatum des Rechnungsstapel an.
Status Gibt den Status des Rechnungsstapel an.
Buchungsdatum Hier können Sie ein Buchungsdatum angeben, wenn die Rechnungen mit einem anderen Buchungsdatum als das Arbeitsdatum gebucht werden sollen.

Die Zeilen beinhalten die folgenden Felder:

Filter

Hier können Sie diverse Filter hinterlegen, wenn Sie nur bestimmte Abonnements abrechnen möchten.

Rechnungsstapelkarte Register Filter
Abb. Rechnungsstapelkarte Register Filter

Rechnungsstapelzeilen

Hier finden Sie Informationen über die Verarbeitung des Rechnungsstapels.

Rechnungsstapelzeilen
Abb. Rechnungsstapelzeilen

Ergebnisse

Hier wird angezeigt, welche Beleg in welcher Anzahl erzeugt wurden.

Rechnungsstapelkarte Register Ergebnisse
Abb. Rechnungsstapelzeilen Register Ergebnisse

Aktionsleiste Rechnungsstapel

Aktionsleiste Rechnungsstapel
Abb. Aktionsleiste Rechnungsstapel
Aktion Beschreibung
Rechnungen erstellen Mit dieser Funktion erstellen Sie die Rechnungen auf Basis des Rechnungsstapels.
Rechnung löschen Mit dieser Funktion können Sie die erzeugten Rechnungen löschen.
Fehler anzeigen Wenn bei der Erstellung der Rechnungen, Probleme aufgetreten sein sollten, können Sie sich hier die Fehler anzeigen lassen.

Rechnungen erstellen

Aktion Rechnungen erstellen
Abb. Aktion Rechnungen erstellen

Rechnung löschen

Aktion Rechnungen löschen
Abb. Aktion Rechnungen löschen

Rechnungsabgrenzung

Gerade bei Abonnements, die für längere Zeiträume im voraus abgerechnet werden, ist es erforderlich, Rechnungsabgrenzungen zu buchen. Wenn zum Beispiel ein Abonnement für ein Jahr im voraus abgerechnet wird, soll der gesamte Erlös nicht in den Januar (oder welchen Startmonat auch immer) fließen, sondern auf die zwölf Perioden des Jahres aufgeteilt werden.

Business Central bietet hierzu die Standard-Funktionalität der Abgrenzungsvorlagen, die dafür sorgen, dass eine Umbuchung auf die definierten Perioden automatisch erfolgen. Business Central kennt im Standard jedoch nur eine vordefinierte Anzahl von Perioden, wie zum Beispiel 12 Monate bei einer jährlichen Faktura.

Bei Abonnements können die Verhältnisse jedoch komplizierter sein. Es ist möglich, dass zum Beispiel 10 User für ein Kalenderjahr (= 12 Perioden) fakturiert werden, dass aber mitten im Abrechnungsintervall Anwenderlizenzen hinzugebucht werden. Wenn zum Beispiel im Oktober noch einmal 5 User hinzugebucht werden, dann dürfen diese nicht auf 12 Perioden abgegrenzt werden, sondern nur noch auf 3 Perioden (Oktober, November, Dezember).

Um diesen Fall abbilden zu können, ist die Funktionalität der Abgrenzungsvorlagen in bill-to erweitert worden.

Abgrenzungsvorlagen können aus dem Rollencenter Abonnement-Manager direkt über Belege · Finanzen erreicht werden:

Rollencenter Rechnungsabgrenzung
Abb. Rollencenter Rechnungsabgrenzung

Hier kann eine Abgrenzungsvorlage speziell für Abonnements eingerichtet werden:

Abgrenzungsvorlagenkarte
Abb. RAbgrenzungsvorlagenkarte

Diese ist dadurch gekennzeichnet, dass das Feld Abonnementgrenzung aktiviert ist. Wenn dies der Fall ist, können die Felder Berech.-Methode, Startdatum und Anzahl Perioden nicht mehr editiert werden. Denn bei Verwenden eines solchen Abgrenzungscodes wird die Anzahl an zu berück­sichtigenden Perioden nicht fest vorbestimmt, sondern von bill-to aus dem Kontext flexibel berechnet. Dies können zum Beispiel 12 Perioden sein, wenn Lizenzen auf ein komplettes Jahr aufgeteilt werden müssen, oder entsprechend weniger Perioden, wenn eine Zwischenrechnung gestellt wird.

Einkaufsintegration

Aus Einkaufsbestellungen und Einkaufsrechnungen können die Menge und Werte von Verkaufs­abonnements unmittelbar beeinflusst werden. In beiden Belegen finden sich zahlreiche Integrations­punkte zum Abonnement. Da diese weitestgehend identisch sind, wird im folgenden die Integration zwischen Einkaufsrechnung und Abonnement dargestellt.

Aufruf von Einkaufsbelegen

Ungebuchte Einkaufsbelege können aus dem Rollencenter Abonnement Manager über die Aktionsgruppe Belege aufgerufen werden:

Rollencenter Aufruf von Einkaufsbelegen
Abb. Rollencenter Aufruf von Einkaufsbelegen

Gebuchte Einkaufsbelege finden sich in der Aktionsgruppe Belege · Geb. Belege:

Belege Geb. Einkaufsrechnungen
Abb. Belege Geb. Einkaufsrechnungen

Aus jeder Abonnementkarte können außerdem die zum jeweiligen Abonnement gehörenden Einkaufsbelege aufgerufen werden:

Einkaufsbeleg

Einkaufsbestellungen und Einkaufsrechnungen bieten reichhaltige Integrationspunkte mit Verkaufsabonnements. Aus dem Einkauf eines Abonnementartikels oder einer Dienstleistung kann das Verkaufsabonnement unmittelbar in Wert oder Menge und Wert aufdatiert werden.

In diesem Beispiel wird eine BC Premium-Lizenz bei CSP-Provider ADN eingekauft:

Einkaufsrechnungskarte
Abb. Einkaufsrechnungskarte

Für die Abonnementintegration stehen unter anderem die folgenden zusätzlichen Felder auf den Zeilen der Einkaufsrechnung zur Verfügung:

Einkaufsrechnungszeilen Laufzeit und Abrechnungsintervall
Abb. Einkaufsrechnungszeilen Laufzeit und Abrechnungsintervall
Einkaufsrechnungszeilen Abonnementintegration
Abb. Einkaufsrechnungszeilen Abonnementintegration

Sie haben die folgende Bedeutung:

Feld Beschreibung
Abonnementlaufzeitcode Gibt die Laufzeit des Abonnements an. Das Feld kann auch in der Einkaufspreisfindung verwendet werden.
Abrechnungsintervallcode Gibt den Abrechnungsrhythmus des Abonnemens an. Das Feld kann auch in der Einkaufspreisfindung verwendet werden.
Abonnement Startdatum Gibt das Startdatum des Abonnements an.
Abonnement Ablaufdatum Gibt das Ablaufdatum des Abonnements an.
Zugewiesene Abonnementnr. Gibt das Verkaufsabonnement an, mit dem diese Einkaufszeile verbunden ist.
Zugwiesene Komponenten-ID Gibt die exakte Abonnementzeile an, mit der diese Einkaufszeile verbunden ist.
Zuweisungsart Gibt an, wie die Zuweisung von Einkauf zu Verkaufsabonnement behandelt werden soll. Die folgenden Optionen stehen zur Verfügung:
<Leer>: Es gibt keine Verbindung zwischen Einkauf und Abonnement. In diesem Fall müssen auch die Felder Zugewiesene Abonnementnr. und Zugewiesene Komponenten-ID leer sein.
Menge & Wert Update: Die Verkaufsmenge auf der Abonnementzeile wird um die Einkaufsmenge erhöht. Zusätzlich wird der Einkaufswert in die Abonnementposten zurückgeschrieben und der Abonnementzeile zugewiesen, so dass Erlöse und Kosten gemeinsam ausgewertet werden können. Die gleichzeitige Veränderung von Menge und Wert ist dann sinnvoll, wenn die Verkaufsmenge nicht über das Abonnement, sondern über den Einkauf gesteuert werden soll.
Wertupdate: Der Einkaufswert wird in die Abonnementposten zurückgeschrieben und der Abonnementzeile zugewiesen, so dass Erlöse und Kosten gemeinsam ausgerwertet werden können. Die Verkaufsmenge auf der Abonnementzeile wird jedoch nicht verändert. Die ausschließliche Veränderung des Wertes, nicht aber der Menge, ist dann sinnvoll, wenn die Verkaufsmenge im voraus über das Abonnement gesteuert wird.

Alle Veränderungen des Verkaufsabonnements durch den Einkauf werden beim Buchen der Einkaufsfaktura geschrieben.

Über die Aktionen der Einkaufsbelegzeile stehen in der Aktionsgruppe Abonnement weitere Integrationen zur Verfügung:

Einkaufsbelegzeilen Aktionsgruppe Abonnement
Abb. Einkaufsbelegzeilen Aktionsgruppe Abonnement

Die folgenden Aktionen stehen zur Verfügung:

Aktion Beschreibung
Abonnement anzeigen Ruft das über das Feld Zugewiesene Abonnementnr. verknüpfte Verkaufsabonnement auf.
Abonnement-Zuweisung auswählen Erlaubt das unterstützte Füllen der Felder Zugewiesene Abonnementnr. und Zugewiesene Komponenten-ID auf der Einkaufsbelegzeile. Hier werden die zum Einkaufsartikel passenden Abonnementzeilen in einer Übersicht gefiltert, die zusätzlich noch darauf filterbar ist, für welchen Debitor der Verkauf bestimmt ist.
Abonnementartikel Statistik Zeigt eine vergleichende Statistik des Einkaufs und Abonnement-Verkaufs des auf der Einkaufsbelegzeile ausgewählten Artikel. Aus diesem Vergleich kann abgeleitet werden, ob die Verkaufs­marge in Bezug auf den aktuellen Einkaufspreis noch profitabel ist.

In den FactBoxen zur Einkaufsrechnung werden zudem Details aus dem verknüpften Abonnement und der verknüpften Abonnementzeile unmittelbar dargestellt, ohne dass in den Abonnementbeleg verzweigt werden muss.

Ressourcenintegration

In den Ressourcen Buch.-Blätter können jetzt bei der Buchung eine Abonnementzeile hinterlegt werden. Dadurch wird durch eine Ressourcenbuchung automatisch eine Verbrauchszeile in dem Abonnement erhöht für eine Abrechnung.

Ressourcen Buch.-Blätter Abonnement
Abb. Ressourcen Buch.-Blätter Abonnement

Rollencenter Abonnement Manager

In diesem Kapitel werden Spezifika des Rollencenters Abonnement Manager erläutert.

Sofort-Navigation

Über die Sofort-Navigation können besondere Abonnements und Abonnementanfragen aus dem Rollencenter unmittelbar aufgerufen werden. Für jeden Aufruf der Sofort-Navigation ist auch ein Tastenkürzel eingerichtet.

Die folgenden Aufrufe stehen zur Verfügung:

Letztes geöffnetes Abonnement | Das letzte in der aktuellen Session geöffnete Abonnement wird aufgerufen. Wenn in der aktuellen Session noch kein Abonne­ment aufgerufen wurde, wird stattdessen die Liste der Abonnements angezeigt. Als Tastenkürzel steht Shift+Ctrl+L zur Verfügung. Mein letztes Abonnement | Aufgerufen wird das letzte Abonnement in der Abonnementliste, das dem Verkäufercode zugewiesen ist, der mit der Benutzer­einrichtung des aktuellen Anwenders verbunden ist. als Tastenkürzel steht Shift+Ctrl+Y zur Verfügung Letztes Abonnement | Das letzte Abonnement aus der Abonnementliste wird geöffnet. Als Tastenkürzel steht Shift+Ctrl+Z zur Verfügung. Letzte geöffnete Abonnement­anfrage | Die letzte in der aktuellen Session geöffnete Abonnement­anfrage wird aufgerufen. Wenn in der aktuellen Session noch keine Abonnementanfrage aufgerufen wurde, wird stattdessen die Liste der Abonnementanfragen angezeigt. Als Tastenkürzel steht Shift+Ctrl+R zur Verfügung.


CKL
Persönliche Unterstützung unter www.ckl-software.de/