Skip to main content

Bundles

Mithilfe von Bundles lassen sich mehrere Artikel zu einem Verkaufspaket kombinieren. Sie können sowohl in den Artikelstammdaten definiert als auch in den meisten Verkaufsbelegen on-the-fly angelegt werden. Ein Bundle verhält sich wie ein Produkt/ Artikel, der aus verschiedenen Komponenten besteht. Das volle Potenzial zu einer übersichtlichen Strukturierung von Verkaufsbelegen entfalten Bundles in Kombination mit Formatierungen und Zwischensummen, die ebenfalls Bestandteil von DYCE Easy Bundle Seller sind.

Notiz

Multi-Level und verschachtelte Bundle sind nicht möglich.

Produkt-Bundle

Ein Bundle ist eine Zusammenfassung einzelner Komponenten zu einem eigenständigen Produkt. Es kann in Verkaufsangeboten und Verkaufsaufträgen (von hier an Verkaufsbelege genannt) verwendet werden. Der Preis des Bundles basiert auf den Preisen der Komponenten. Bundles können auf Basis von Stammdaten verwendet oder individuell (on-the-fly) erstellt werden.

Stammdaten für Bundles

Zur Verwendung fester Bundles können diese in den Stammdaten der Artikel erstellt werden. Dies ermöglicht eine einfache Verwendung z.B. in einem Verkaufsangebot. Hierfür wird ein neuer Artikel zur Verwendung für ein Produktbundle angelegt. In der Artikelbeschreibung wird die Beschreibung des Bundles eingetragen. Das Feld Bundle (auf der Artikelkarte im Inforegister Allgemein) wird auf JA gesetzt.

info

Der Artikel, der das Bundle darstellt, muss als bestandsgeführt eingestellt sein (Art=Bestand). Dies ist die Voraussetzung von Business Central, dass eine Montagestückliste angelegt werden kann. Für die Verwendung des Artikels ist dies aber nicht weiter relevant, da der Artikel bei der Verwendung in einem Verkaufsbeleg in eine Textzeile umgewandelt wird.

Anschließend werden über die Montagestückliste (Aufruf über Zugehörig / Stückliste / Montage) die Komponenten für das Bundle hinterlegt. In dem Moment, in dem ein Bundle-Artikel in einer Verkaufszeile verwendet und eine Menge eingetragen wird, wird die zugehörige Stückliste automatisch entfaltet. Dabei wird die Zeile mit dem Bundle-Artikel zu einer Textzeile (Feld Gruppierung=Bundle) umgewandelt, die Einträge in der Stückliste werden zu Komponenten. Das System berücksichtigt auch Einstellungen aus der Einrichtung Debitoren und Verkauf.

Wichtig

Wenn das Ausrollen eines Bundles durch einen Dialog, Requestpage oder andere Popups unterbrochen wird, ist es möglich, dass das Bundle nicht komplett ausgerollt wird. Das Bundle wird dann potentiell nur bis zum Zeitpunkt der Unterbrechung ausgerollt. Bei der Unterbrechung müssen Informationen in der Datenbank gespeichert werden (commit). Beim Speichern geht allerdings die Anweisung verloren, weitere Verkaufszeilen anzulegen und als Komponente zu markieren.

Weitere Details zu der Funktionsweise von Montagestücklisten entnehmen Sie bitte diesem Teil der Microsoft Dokumentation.

Als Komponenten eines Bundles können nur Dienstleistungsartikel verwendet werden, deren Abrechnungsart Budget ist. Hintergrund ist, dass Bundles immer nur als Ganzes geliefert und fakturiert werden können. Beides ist mit den Abrechnungsarten Nach Aufwand und Festpreis nicht möglich.

Bundle über andere Apps oder API erstellen

Bundle-Artikel, die über andere Apps oder eine API in Verkaufszeilen eingetragen werden, werden nicht automatisch ausgerollt, wenn setHideValidateDialog(true) oder GUIALLOWED(false) gilt. Dadurch wird verhindert, dass die Verkaufszeile durch DYCE Easy Bundle Seller verändert wird, bevor die andere App mit der Erstellung fertig ist. Würde beispielsweise der Shopify Connector einen Bundle-Artikel in einer Verkaufszeile eintragen und die Menge setzten, würde das Bundle sofort ausgerollt werden. Die Verkaufszeile mit dem Bundle ist anschließend eine Bemerkungs- bzw. Textzeile. Der Shopify Connector kann den Preis nicht mehr eintragen und läuft auf einen Fehler.

Wird die Menge in einem Bundle eingetragen wenn setHideValidateDialog(true) oder GUIALLOWED(false) nicht gilt, wird das Bundle sofort ausgerollt. Für den Anwender wird das Bundle also immer automatisch ausgerollt, für andere Apps oder eine API ist des nicht der Fall.

Das Buchen von Bundle-Artikel wird verhindert, um falschen Daten vorzubeugen. Der Anwender kann das Bundle über die Zeilenaktion Bundle ausrollen entfalten. Die Aktion steht im Angebot, Auftrag, Rahmenauftrag, Verkaufsrechnung und Verkaufsgutschrift zur Verfügung.

Damit Bundle auch von außen automatisch ausgerollt werden können, wurde ein Publisher in DYCE Easy Bundle Seller öffentlicht zugänglich gemacht. Diese kann verwendet werden, um eine Connector App zu erstellen.
In der Codeunit 70921400 DYCEEBSBundleManagement kann die Procedure "ExplodeBundleLinesInSalesDocument(SalesHeader: Record "Sales Header")" durch eine Connector App aufgerufen werden. Die Aktion rollt alle Bundle in dem gewähltem Dokument aus.

Um beispielsweise den Shopify Connector anzubinden, könnte das Event "Order.Events.OnAfterProcessSalesDocuments(SalesHeader,OrderHeader)" in Codeunit 30166 "Shpfy Process Order" (ShpfyPreocessOrder.Codeunit.al) verwendet werden, um alle Bundle in dem Dokument auszurollen.

Individuelles Bundle erstellen

Neben der Verwendung eines fertigen Bundles (s. oben) kann auch innerhalb eines Verkaufsprozesses ein individuelles bzw. einmaliges Bundle manuell erstellt werden. Hierfür muss im ersten Schritt eine Zeile der Art Bemerkung (Textzeile) erstellt werden. In der Textzeile wird die Beschreibung eingetragen und das Kennzeichen im Feld Gruppierung auf Bundle geändert. Das Bundle wird zunächst mit der Menge 1 erstellt.
In den folgenden Zeilen werden die Komponenten (Artikel) eingetragen. Diese Zeilen werden im Feld Gruppierung als Komponente markiert. In den Komponentenzeilen werden die Mengen eingetragen, die genau ein Bundle ergeben.
Anschließend kann das Bundle in der Seite Bundle bearbeitet werden. Die Seite wird über die Funktion Bundle bearbeiten im Zeilenmenü (Verwalten im Verkaufsbeleg) aufgerufen. Hier können sowohl Einheit als auch Menge, Rabatt und der Preis des Bundles editiert werden. In den Verkaufsbelegen wird durch eine Erhöhung der Menge im Bundle alle Mengen in den Komponenten korrespondierend erhöht.

Vorgaben für individuelle Bundles

Um die Erstellung eines Bundles on-the-fly zu erleichtern, können über die Felder Einheit individuelles Bundle, Formatierung Bundlezeile und Komponenten drucken in der Seite Einrichtung Debitoren und Verkauf im Inforegister Bundle Vorgabewerte hinterlegt werden. Diese Angaben sind optional. Sind diese Felder nicht gefüllt, müssen sie bei der Erstellung eines individuellen Bundles vergeben werden.

tip

Wenn Sie schnell in die Seite für Bundle wechseln wollen, können Sie sich das Feld Bundle Beschreibung über die Personalisierung einblenden. Durch einen Klick auf das Feld wird die Seite Bundle geöffnet.

Beinhaltet ein Verkaufsbeleg mehrere Bundles, wird beim Eintragen von Komponenten ein Auswahlfenster für die Zuordnung der Komponente zum gewünschten Bundle angezeigt. Es wird immer das Bundle vorgeschlagen (markiert), das als Nächstes oberhalb der Komponente steht. Durch Bestätigung der Auswahl wird die Komponente dem Bundle zugeordnet.

Preise und Rabatte im Bundle

Preis, Betrag und Rabattbetrag eines Bundles errechnen sich anhand der Komponenten. Der Stückpreis des Bundles (VK-Preis Ohne MwSt. bzw. Bundle-Preis) wird errechnet, indem die Summe der Beträge und die Summe der Rabattbeträge der Komponenten durch die Bundle-Menge geteilt wird:

Preis Bundle=1Menge Bundle1nMenge KomponenteiPreis KomponenteiPreis \ Bundle = \frac{1}{Menge \ Bundle} \sum\limits_1^n Menge \ Komponente_i*Preis \ Komponente_i

Der Zeilenbetrag des Bundles (Zeilenbetrag Ohne MwSt. bzw. Bundle-Betrag) entspricht der Summe der Beträge der Komponenten:

Betrag Bundle=1nBetrag KomponenteiBetrag \ Bundle = \sum\limits_1^n Betrag \ Komponente_i

Der Rabatt des Bundles (Zeilenrabattbetrag bzw. Bundle-Rabatt) entspricht der Summe der Rabattbeträge der Komponenten:

Rabattbetrag Bundle=1n(Rabattbetrag Komponentei)Rabattbetrag \ Bundle = \sum\limits_1^n (Rabattbetrag \ Komponente_i)

Wird eine Komponente zu einem Bundle hinzugefügt, entfernt oder der Preis geändert, werden Preis, Betrag und Rabatt des Bundles neu berechnet. Bei Änderung der Menge einer Komponente werden Betrag und Rabatt des Bundles neu berechnet. Wird ein Rabatt in einer Komponente eingetragen, geändert oder gelöscht, werden Betrag und Rabatt im Bundle neu berechnet.

Leistungsartikel werden bei der Berechnung des Bundle-Preises, des Bundle-Betrags und des Bundle-Rabatts nicht berücksichtigt. Änderungen an den Komponenten führen unmittelbar zu einer Änderung des Bundles. Dies schließt mengenbasierte Preisänderungen von Komponenten mit ein, die durch Mengenänderungen im Bundle verursacht wurden.

Menge, Preis, Rabatt und Betrag des Bundles können mithilfe der Zeilenaktion Bundle bearbeiten geändert werden. Eine Mengenänderung im Bundle ändert entsprechend die Mengen der Komponenten. Bundle-Betrag und -Rabatt werden neu berechnet. Bei einer Mengenänderung einer Komponente wird der Preis ebenfalls neu berechnet, sofern es Einträge in einer Verkaufspreisliste gibt.

Bei einer Preisänderung im Bundle werden die Preise aller Komponenten neu berechnet. Dabei werden die Preise der Komponenten im gleichen Verhältnis geändert, in dem der Bundle-Preis geändert wurde. Falls nach der Preisänderung der Komponenten der neu errechnete Bundle-Preis nicht mit dem manuell eingetragenem Bundle-Preis übereinstimmt, wird die Differenz auf genau ein Bundle (Menge = 1) heruntergerechnet und zum Preis einer Komponente addiert. Für diesen zweiten Schritt wird die optimale Komponente ermittelt. Haben eine Komponente und das Bundle die gleiche Menge, ist die Komponente optimal geeignet und wird für den Ausgleich der Differenz verwendet. Gibt es mehr als eine Komponente mit der gleichen Menge, wird die letzte verwendet. Gibt es keine Komponente mit der gleichen Menge, wird die letzte Komponente verwendet:

Preis Komponentei=Alter Preis KomponenteiNeuer BundlepreisAlter BundlepreisPreis \ Komponente_i = Alter \ Preis \ Komponente_i* \frac{Neuer \ Bundlepreis}{Alter \ Bundlepreis}
Preis Komponentei=Berechneter Preis KomponenteiNeuer Bundlepreis  Errechneter BundlepreisMenge BundlePreis \ Komponente_i = Berechneter \ Preis \ Komponente_i* \frac{Neuer \ Bundlepreis \ - \ Errechneter \ Bundlepreis}{Menge \ Bundle}
Rundungspräzision

Bei Berechnung des Bundle-Preises wird die Stückpreisrundungspräzision (MW) aus der Finanzbuchhaltung Einrichtung verwendet. Nachdem die Anzahl der verwendbaren Kommastellen in Business Central limitiert ist, ist es möglich, dass durch die Rundung der Komponenten-Preise, der manuell eingetragene Bundle-Preis (und daraus berechneter -Betrag) nicht mehr mit den Summen der Komponenten übereinstimmen. In diesem Fall wird der Bundle-Preis aus dem Komponenten neu berechnet und verwendet.

Beispiel (auf 5 Kommastellen gerundet)

GruppierungMengePreisBetrag
Bundle210.078,-20.156,-
Komponente 110125,-1.250,-
Komponente 212123,-1.476,-
Komponente 342415,-17.430,-

Neuer Bundle-Preis: 10.000,-

GruppierungMengePreisBetrag
Bundle210.000,008820.000,0176
Komponente 110124,0325515504,06875
Komponente 212122,0480315011,90769
Komponente 342411,78847170892,21505

Unter Verwendung einer anteiligen Preisänderung der Komponenten ist es nicht möglich, Probleme dieser Art zu lösen. Es ist zwar möglich, passende Preise zu berechnen, allerdings würden die Preisänderungen zufällig wirken, weshalb wir davon absehen.

Beispiel zur Verdeutlichung:

GruppierungMengePreisBetrag
Bundle210.000,-20.000,-
Komponente 110125,-1.250,-
Komponente 212124,-1.488,-
Komponente 342411,-17.262,-
Die Preise lösen zwar das Problem mathematisch, die Preisänderungen der Komponenten folgen allerdings keiner klaren Logik.

Wird ein Zeilenrabatt % oder ein Zeilenrabattbetrag im Bundle eingetragen, wird der prozentuale Rabatt des Bundles errechnet und auf alle Komponenten übertragen. Ein Rabatt kann u.a. eingetragen werden, indem der Betrag geändert wird. Wird der Rabatt im Bundle gelöscht, werden alle Rabatte der Komponenten gelöscht. Leistungsartikel werden beim Setzen von Rabatten im Bundle berücksichtigt. Wird allerdings ein Rabatt in einem Leistungsartikel eingetragen, wird dieser nicht in die Berechnung des Bundle-Rabatts einbezogen.

Rundung von Preis und Betrag

In Business Central können die für die Rundung zu verwendenden Kommastellen eingerichtet werden (s. Rudungspräzision in Finanzbuchhaltung Einrichtung). Wenn die Rundungspräzisionen für Stückpreis und Betrag voneinander abweichen, ist es möglich Bundles zu erstellen, in denen Stückpreis und Betrag nicht auf herkömmliche Weise berechnet werden können. Normalerweise wird der Bundle-Preis als Summe der Stückpreise der Komponenten und der Bundle-Betrag als Summe der Beträge der Komponenten errechnet. Wenn aber bspw. die Rudungspräzision für Stückpreise 5 Kommastellen und die Rudungspräzision für Beträge 2 Kommastellen verwenden, könnten Menge x Stückpreis und Betrag aufgrund von Rundung voneinander abweichen. Um zu vermeiden, dass Bundle-Preis x Bundle Menge vom Bundle-Betrag abweicht, wird bei Abweichungen der Bundle-Preis aus dem Bundle-Betrag und der Bundle-Menge errechnet.

Bundlepreis=BundlebetragBundlemengeBundlepreis = \frac{Bundlebetrag}{Bundlemenge}
Beispiel
GruppierungMengeStückpreisBetrag
Bundle12,002,00
Komponente 111,111111,11
Komponente 210,888880,89

Die Summe der Stückpreise der Komponenten entspricht 1,99999.
Die Summe der Beträge der Komponenten entspricht 2,00.
Die Bundlezeile würde also mit Menge 1, Stückpreis 1,99999 und Betrag 2,00 gedruckt werden.
Um der Ungenauigkeit durch die Rundung zu begegnen, wird der Stückpreis im Bundle aus dem Bundlebetrag berechnet. So ist sichergestellt, dass Stückpreis und Betrag des Bundles im Druck zusammenpassen.

Potentiell könnte dieses Vorgehen Ungenauigkeiten beim manuellem Ändern von Bundlepreisen und Neuberechnung der Komponentenpreisen erzeugen. Zum aktuellem Zeitpunkt ist allerdings kein solcher Fall bekannt.

Dimensionen im Bundle

In Verkaufsbelegen können Dimensionen direkt am Bundle hinterlegt werden. Das Verhalten von Dimensionen für Bundles in Verkaufsbelege wird in der Seite Einrichtung Debitoren und Verkauf im Inforegister Dimensionen über das Feld Dimensionspriorität Bundle gesteuert.

Lieferung eines Bundles

Die Lieferung von Artikeln verhält sich mit und ohne Bundle identisch.

info

Die Mengen der Komponenten können ab der ersten Lieferung nicht mehr angepasst werden. Die Menge des Bundles hingegen kann nach der Lieferung weiterhin angepasst werden. Die Felder Bundle Menge geliefert und Menge fakturiert können direkt im Bundle eingesehen werden.

Bundle im Verkaufsbeleg fakturieren

Im Auftrag wird das Bundle bei der Fakturierung wie ein eigenständiges Produkt behandelt. Es kann nur fakturiert werden, wenn es als Ganzes geliefert ist. Komponenten in einem Bundle können nicht eigenständig fakturiert werden. D.h. es können nur so viele Anzahl Bundle fakturiert werden wie auch ganze Bundle geliefert wurden. Besteht ein Bundle aus zwei Komponenten und es ist nur eine geliefert, ist damit kein komplettes Bundle geliefert und kann somit auch nicht fakturiert werden. Sind beide Komponenten geliefert, kann das Bundle fakturiert werden. Dementsprechend wird Zu fakturieren in den Komponenten so gesetzt, dass Bundle immer als Ganzes fakturiert werden.

info

Soll eine Komponente explizit einzeln fakturiert werden, kann das Bundle jederzeit aufgelöst werden. Um das Bundle aufzulösen, muss entweder die Bundlezeile gelöscht oder das Kennzeichen Bundle entfernt werden.
Das Bundle kann nach der Auflösung nicht wieder zusammengestellt werden. Für die noch nicht gelieferten Mengen müssen neue Verkaufszeilen angelegt und ggf. ein neues Bundle erstellt werden.

Bundles in Anzahlungsrechnungen

Im Auftrag werden Bundles als eigenständige Produkte behandelt. Gleiches gilt für Anzahlungsrechnungen. Wird eine Komponente zu einer Zahlungsplanstufe zugewiesen, wird automatisch das komplette Bundle mit allen Komponenten zugewiesen. Die Bundlezeile wird mit Menge 1 in der Anzahlungsrechnung erstellt. Die Formatierungen der Auftragszeilen, Komponenten und Bundlezeile werden in die Anzahlungsrechnung übernommen.