Loading

'Dezimalstellen Stückpreis' in Salesforce CPQ

Veröffentlichungsdatum: Jun 17, 2022
Beschreibung
Die Anzahl an Dezimalstellen (MAX 9) für die Felder im Angebotsbelegposten-Editor oder in Angebotsdokumenten richtet sich nach der entsprechenden Einstellung auf Paketebene, obgleich in der Datenbank alle Dezimalwerte gespeichert werden. Zum besseren Verständnis der Einbeziehung der Dezimalstellengenauigkeit in die ursprüngliche Berechnungssequenz wird im Folgenden eine vereinfachte Version der Berechnungssequenz dargestellt:
Lösung

Salesforce CPQ bietet die Möglichkeit, die bei der Berechnung von Angebotsbelegposten verwendete Dezimalstellengenauigkeit in den allgemeinen Paketeinstellungen zu verbessern. Folgen Sie diesem Pfad, um diese Einstellung zu aktualisieren:

"Setup | Installierte Pakete | Salesforce CPQ | Konfigurieren | Preise und Berechnung | Dezimalstellen Stückpreis


Sie können eine zusätzliche Dezimalstellengenauigkeit für bestimmte Felder aktivieren, indem Sie die Paketeinstellung "Dezimalstellen Stückpreis" auf eine bestimmte Anzahl an Dezimalstellen ändern. Dies wirkt sich auf die Anzahl der Dezimalstellen in den anderen Feldern im Angebotsbelegposten-Editor aus. In Salesforce CPQ können Listenstückpreis, regulärer Stückpreis, Nettostückpreis und zusätzlicher Rabatt zum Feldset des Angebotsbelegposten-Editors hinzugefügt werden. Hier können Sie visuell bestätigen, dass die für "Dezimalstellen Stückpreis" definierte Anzahl von Dezimalstellen eingehalten wird. Wenn Sie möchten, dass diese Genauigkeit überall in Salesforce wiedergegeben wird, finden Sie weitere Informationen unter Aktivieren von mehr Dezimalstellen für Preise.

Die Anzahl der Dezimalstellen für die Felder im Angebotsbelegposten-Editor oder in Angebotsdokumenten entspricht der Einstellung auf Paketebene, auch wenn alle Dezimalwerte in der Datenbank gespeichert werden. Zum besseren Verständnis der Einbeziehung der Dezimalstellengenauigkeit in die ursprüngliche Berechnungssequenz wird hier eine vereinfachte Version der Berechnungssequenz dargestellt:

 

Listenstückpreis (oder Sonderpreis, WENN "Sonderpreistyp" nicht leer ist)

  • Mengenrabattregelung
  • Laufzeitrabattregelung
  • Zuteilungsmultiplikator
  • Zonenpreise
Regulärer Stückpreis
  • Zusätzlicher Rabatt (kann in Form eines Prozentsatzes oder eines Betrags angewendet werden)
  • Kundenstückpreis
  • Partnerrabatt

Partnerpreis

  • Händlerrabatt

Nettostückpreis

Hinweis:
Für die oben in Fettschrift dargestellten Felder werden die CPQ-Paketeinstellungen für "Dezimalstellen Stückpreis" berücksichtigt.


Stückpreisfelder

In allen Stückpreisfeldern, die im Abschnitt oben genannt wurden, werden Werte im Belegposten-Editor sowie in SBQQ__AdditionalDiscount__c mit zusätzlicher Genauigkeit dargestellt. Diese Werte werden in der Datenbank und beim Speichern des Angebots gespeichert.

Wenn Sie den Wert für "Dezimalstellen Stückpreis" in den Paketeinstellungen für Preise und Berechnungen ändern, werden die Felddefinitionen für die Felder, auf die sich diese Einstellung auswirkt, außerhalb der Visualforce-Seite "Belegposten bearbeiten" nicht geändert. Beispiel: SBQQ__CustomerPrice__c weist eine Felddefinition mit einer Dezimalstellengenauigkeit von 2 (12,2) auf. Der Wert, der dem Benutzer im Angebotsbelegpostendatensatz angezeigt wird, richtet sich immer nach dieser Felddefinition. Der in der Datenbank gespeicherte Wert entspricht jedoch der Definition für "Dezimalstellen Stückpreis" in den Paketeinstellungen. 
 

Beachten Sie dass alle Bearbeitungs- und Speichervorgänge für einen Datensatz auf der zugehörigen Detailseite in Classic immer zwingend dazu führen, dass die Werte aller Felder in den Seitenlayouts abgeschnitten werden, damit die Felddefinition berücksichtigt wird. Wenn sich ein Feld mit zusätzlicher Genauigkeit im Seitenlayout befindet, wird es beim Bearbeiten und Speichern auf die definierte Dezimalstellengenauigkeit des Feldes abgeschnitten. Ist das betreffende Feld nicht im Layout vorhanden, werden seine Werte beim Bearbeiten und Speichern des Datensatzes auf der Detailseite nicht abgeschnitten. In Lightning Experience wird die Anzahl an Dezimalstellen beim Bearbeiten und Speichern beibehalten.

 

Systemrabatte 

Bei der Verwendung von Rabattregelungen (Laufzeit oder Volumen) können Administratoren Dezimalgenauigkeit im Rabattregelungsdatensatz festlegen. Die im Rabattregelungsdatensatz festgelegte Genauigkeit bestimmt die Genauigkeit, mit der der Rabattbetrag anhand des in der entsprechenden Rabattklasse definierten Prozentsatzes berechnet wird. Wenn für eine Rabattklasse anstelle eines Rabattprozentsatzes ein Rabattbetrag verwendet wird, wird der in SBQQ__DiscountAmount__c verwendet. 

Beispiel:
Dezimalstellen Stückpreis = 2
Listenpreis = 5,32 $
Rabattklasse = 7 %
Dezimalstellen der Rabattregelung = 4


Alle Rabatte werden zwischen Stückpreisen als Betrag angewendet. Der Betrag wird berechnet, indem der vorherige Stückpreis mit dem Rabattprozentsatz multipliziert wird, und die Genauigkeit des Rabattbetrags wird anhand der Dezimalstellen der Rabattregelung berechnet. 

Hinweis: Beachten Sie, dass die Rabatte zwischen Listenpreisen und regulären Stückpreisen berechnet werden, nachdem der Zuteilungsmultiplikator auf den Listenstückpreis angewendet wurde.

5,32*0,07 = 0,3724 $


Anschließend wird der Wert vom vorherigen Stückpreis subtrahiert:

5,32-3724 = 4,9476 


Anschließend wird der Stückpreis gerundet, damit die in der Organisation festgelegte Dezimalstellengenauigkeit berücksichtigt wird:

4,95$

 

Zonenpreise

Für Zonenpreise gilt derzeit eine Beschränkung von zwei Dezimalstellen, da auf der Visualforce-Seite "Alle bearbeiten" zum Bearbeiten von Zonenpreisen alle zusätzlichen Stellen bis auf die zwei im Feld SBQQ__Price__c zugeordneten Stellen für das Objekt "Zonenpreis" abgeschnitten werden. 

 

Vom Benutzer eingegebene Rabattfelder:

Enthalten innerhalb von QLE SBQQ__AdditionalDiscount__c eine größere Genauigkeit. Wenn SBQQ__Discount__c oder SBQQ__DiscountAmount__c im Angebotsbelegposten-Editor hinzugefügt werden, wird die zusätzliche Genauigkeit nicht berücksichtigt. Die optimierte Genauigkeit wird jedoch in den entsprechenden Feldwerten in der Datenbank erfasst, wenn SBQQ__AdditionalDiscount__c zur Berechnung des Werts verwendet wird. 

 

Im Belegposten-Editor werden SBQQ__PartnerDiscount__c und SBQQ__DistributorDiscount__c als Prozentfelder (3,2) entsprechend ihren jeweiligen Felddefinitionen angezeigt. Sie weisen keine zusätzliche Genauigkeit auf, wenn in den Paketeinstellungen eine erhöhte Dezimalstellengenauigkeit definiert ist, aber sie werden in der Berechnungssequenz so verwendet, dass sie eine erhöhte Dezimalstellengenauigkeit unterstützen. 

 

Bei Verwendung als Prozentwert berechnet SBQQ__AdditionalDiscount__c zunächst einen Rabattbetrag mit der in den verwalteten Paketeinstellungen definierten Dezimalstellengenauigkeit. Anschließend wird dieser Betrag vom regulären Stückpreis subtrahiert, um den Kundenstückpreis zu erhalten. Wenn ein zusätzlicher Rabatt als Betrag angewendet wird, wird der vom Benutzer eingegebene Wert auf die in "Dezimalstellen Stückpreis" angegebene Genauigkeit gerundet und vom regulären Stückpreis subtrahiert, um den Kundenstückpreis zu erhalten. 

 

Im Belegposten-Editor werden SBQQ__PartnerDiscount__c und SBQQ__DistributorDiscount__c als Prozentfelder (3,2) entsprechend ihren jeweiligen Felddefinitionen angezeigt. Sie weisen keine zusätzliche Genauigkeit auf, wenn in den Paketeinstellungen eine erhöhte Dezimalstellengenauigkeit definiert ist, aber sie werden in der Berechnungssequenz so verwendet, dass sie eine erhöhte Dezimalstellengenauigkeit unterstützen. 

 

Beispiel für die Berechnung eines Rabatts:

SBQQ__Discount__c (zusätzlicher Rabatt wird als Prozentsatz angewendet), SBQQ__PartnerDiscount__c und SBQQ__DistributorDiscount__c werden alle auf die gleiche Weise wie in ihrem jeweiligen Schritt in der Berechnungssequenz angewendet. 

 

Vorgegebene Werte: SBQQ__RegularPrice__c von 10,9473, "Dezimalstellen Stückpreis" von 4 und SBQQ__Discount__c von 5 %

Berechnen Sie zunächst den Rabattbetrag, indem Sie den vorherigen Stückpreis mit dem Rabattprozentsatz multiplizieren und den Wert anhand der Dezimalstellen für den Stückpreis runden:

10,9473 $*0,05 = 0,547365 $

0,547365 $ wird auf 0,5474 $ gerundet.

Dann wird dieser Wert vom vorherigen Stückpreis abgezogen, um den nächsten Stückpreis in der Berechnungssequenz zu erhalten:

10,9473 $-0,5474 $ = 10,3999 $ 

Daraus folgt: SBQQ__CustomerPrice__c = 10,3999 $ 

 

Beibehalten der Dezimalstellengenauigkeit für Aufträge, Änderungen und Verlängerungen

Die optimierte Dezimalstellengenauigkeit sollte während der Auftrags,- Änderungs und Verlängerungsprozesse durchgehend erfasst werden. Ziel dabei ist es, die Dezimalstellen für Stückpreise, die in den Einstellungen des verwalteten Pakets festgelegt wurden, konsistent im gesamten Datenfluss beizubehalten: 

 

Auftragsprodukt:

  1. SBQQ__QuotedListPrice__c 
  2. TotalPrice
  3. UnitPrice


Vermögenswertfelder:

  1. SBQQ__ListPrice__c 
  2. SBQQ__RegularPrice__c 
  3. SBQQ__Discount__c 
  4. SBQQ__AdditionalDiscountAmount__c 

 

Abonnementfelder:

  1. SBQQ__ListPrice__c 
  2. SBQQ__SpecialPrice__c 
  3. SBQQ__RegularPrice__c 
  4. SBQQ__CustomerPrice__c 
  5. SBQQ__NetPrice__c 
  6. SBQQ__Discount__c 
  7. SBQQ__AdditionalDiscountAmount__c 

 

SIEHE AUCH:

Im Nummernfeld für den Datentyp werden nicht mehr Zahlen in Dezimalstellen gespeichert als festgelegt
Die CPQ-Angebotsberechnungsabfolge

 

 

 

 

Nummer des Knowledge-Artikels

000382046

 
Laden
Salesforce Help | Article