Änderungen an Abonnement-Bestellungen
Erfahren Sie, wie Sie Bestelländerungen für Ihre Abonnement-Bestellungen erstellen.
Der Stripe Billing Connector for Salesforce CPQ erstellt einen Abonnementplan in Stripe für jede Salesforce-Bestellung, die mit einem Abonnementtyp synchronisiert ist. Um eine bestehende Bestellung zu ändern, können Sie eine Bestelländerung erstellen. Eine Bestelländerung in Salesforce hat eine neue Abonnementplanphase für einen bestehenden Abonnementplan bei Stripe zur Folge.
Je nach Anwendungsszenario müssen Sie möglicherweise einen der folgenden Änderungstypen erstellen:
Änderungen des Anzeigenauftrags
Um einen aktivierten Auftrag in der Mitte des Zyklus anzupassen oder teilweise zu stornieren, verwenden Sie einen Zusatz zum Anzeigenauftrag. Der Connector aktualisiert den Abonnementplan in Stripe mit den neuen Produkten und der Menge der Bestelländerung in Salesforce. Der Connector verwendet die gleiche Zuordnung wie die ursprüngliche Bestellintegration.
Start- und Enddatum
Bei Bestellung dürfen keine Lücken zwischen dem Start- und Enddatum vorhanden sein. Um Fehler zu vermeiden, muss das Startdatum der Bestelländerung das folgende sein:
- Am oder vor dem Enddatum der vorherigen Bestellung oder Bestelländerung, oder
- Dasselbe Startdatum wie bei der vorherigen Erstbestellung oder Bestelländerung
Alle Auftragsänderungen müssen gleichzeitig mit dem Erstauftrag erfolgen. Salesforce CPQ nutzt das Startdatum eines Vertrags in Kombination mit der Abonnementlaufzeit, um das Enddatum zu berechnen. Das bedeutet, dass alle Auftragsänderungen das gleiche Enddatum haben müssen (Startdatum und Abonnementlaufzeit).
Bestellung-Deltas
Eine Auftragsänderung enthält nur das Delta des vorherigen Auftrags. Der Connector ruft alle vorherigen Aufträge ab und fasst alle bisherigen Posten zusammen, um zu bestimmen, welche Abonnement-Posten in die neue Abonnementplanphase aufgenommen werden sollen. Stripe verwendet oder verbindet die Posten aus einer Phase eines Abonnements nicht mit Posten aus einer vorherigen Phase.
Bestellung Verträge
Um ein Abonnement in Stripe zu ändern, müssen Sie eine Bestellung und eine Bestelländerung mit demselben Vertrag verbinden. Salesforce CPQ tut dies automatisch für jede Bestellung und Bestelländerung, die vertraglich geregelt ist.
Wir empfehlen, den Vertrag über den Auftrag im Salesforce CPQ abzuschließen. Stripe stellt das Contract
-Objekt von Salesforce nicht direkt dar.
Artikelpreise
Sofern sich der Preis des Auftragspostens nicht ändert, verwendet Stripe für alle Abonnementplanphasen das gleiche Price
-Objekt.
Bestellpositionen überarbeiten und kündigen
Wenn Sie eine frühere Bestellposition ganz oder teilweise stornieren, wird mit dieser Aktion in Salesforce eine Bestellposition mit negativer Menge erstellt. Stripe lässt keine negativen Posten zu. Wenn durch eine Bestellergänzung ein Produkt oder eine bestimmte Menge eines Produkts aus einem Abonnement entfernt wird, werden die negativen Bestellpositionen mit den vorherigen überarbeiteten Bestellpositionen zusammengefasst.
Beispiel: Eine Erstbestellung hat einen Einzelposten mit der Menge 2. Durch die Bestelländerung wird die Menge um 1 verringert. Folglich enthält die neue Abonnementzeitplanphase in Stripe einen einzelnen Abonnementposten mit der Menge 1.
Für Bestellpositionen mit positiver Menge erstellt der Connector ein eindeutiges Abonnementzeitplanphasenelement in Stripe.
Alle Bestellposten, die eine Bestellposition in einer früheren Bestelländerung ändern, müssen in der vorherigen Abonnementphase vorhanden sein. Mit anderen Worten: Wenn Sie eine Position in einem Auftrag auslassen, müssen Sie diese Position auch in der Auftragsänderung auslassen, wenn Sie die Position überarbeiten.
Mehrere Bestellpositionen mit demselben Produkt und Preis
Stripe erlaubt keine mehrfachen Abonnementzeitplanphasenelemente mit der gleichen Preis-ID. Bei Salesforce gibt es diese Einschränkung nicht.
Wenn Sie denselben Preis für mehrere Bestellpositionen verwenden, führt der Connector Folgendes aus:
- Dupliziert den Preis in Stripe
- Fügt den Preis zur Abonnementzeitplanphase hinzu
- Archiviert den Preis, nachdem er verwendet wurde (
active = false
)
Die doppelten Preise in Stripe enthalten die folgenden Metadaten:
salesforce_
– Gibt an, dass der Preis ein Duplikat eines anderen Preises ist.duplicate = true salesforce_
– Der Preis wird nach der Verwendung automatisch archiviertauto_ archive = true salesforce_
– Enthält die ID des Preises, der für den duplizierten Preis verwendet wurde.original_ stripe_ price_ id = price_ xyz
Änderungen in der Monatsmitte
Der Connector verlangt, dass alle Auftragsänderungen gleichzeitig mit dem Erstauftrag erfolgen. Wenn die Auftragsänderung an einem anderen Tag des Monats als der Erstauftrag beginnt, müssen Sie:
- Legen Sie das Enddatum der Bestelländerung fest.
- Legen Sie die Abonnementlaufzeit auf die Anzahl der ganzen Monate in der Bestelländerung fest.
Beispiel für eine Auftragsänderung zur Monatsmitte:
Erstbestellung | Bestelländerung | |
---|---|---|
Startdatum | 15. Februar 2022 | |
Enddatum | 31. Dezember 2022 | 31. Dezember 2022 |
** Abonnement-Laufzeit** | 12 | 10 |
Rückdatierte Änderungen
Der Connector verarbeitet rückdatierte Änderungen in der aktuellen Zeit. Eine rückdatierte Auftragsänderung beginnt in der Vergangenheit, was bedeutet, dass die letzte Phase im Abonnementplan nicht mit dem Startdatum der Auftragsänderung übereinstimmt.
Beispiel: Eine Kundin/ein Kunde möchte ein bestehendes Abonnement ändern und schickt die Auftragsänderung zu einem späteren Zeitpunkt als dem Datum des Inkrafttretens durch den Connector.
Änderungen am selben Tag
Der Connector kann Änderungen am selben Tag verarbeiten, z. B. die folgenden Szenarien:
- Ein Abonnement startet heute und der Kunde möchte seinen Vertrag am selben Tag ändern, an dem er gestartet wurde.
- Ein Abonnement beginnt an einem zukünftigen Datum und der/die Kund/in möchte die Bestellung mit einem Start- und Enddatum ändern, das mit der ursprünglichen Bestellung übereinstimmt.
Änderungen am selben Tag bei einem bestehenden Abonnement
In diesem Fall behandelt der Connector die Änderung wie eine anteilige Auftragsänderung, mit einigen Unterschieden:
- Das Enddatum der vorherigen Phase verwendet den Sonderwert
now
anstelle von Mitternacht des aktuellen Tages (was in diesem Beispiel bereits vergangen wäre). - Das Startdatum der nächsten Phase (z. B. der Auftragsänderung) verwendet ebenfalls einen
now
-Wert. - Die Beträge der anteilmäßigen Posten entsprechen dem vollständigen Rechnungsbetrag für die Vertragsdauer.
Zukünftige Änderungen am selben Tag
Wenn ein Abonnement noch nicht begonnen hat, können Sie den Sonderwert now
nicht in der Änderung am selben Tag verwenden, an dem das Abonnement beginnt. In diesem Fall führt der Connector Folgendes aus:
- Erfasst alle einmaligen Posten aus der Bestellung (Erstbestellung oder Änderung), die denselben Bestellzeitraum haben (z. B. das Start- und Enddatum)
- Fügt diese Gegenstände zur neuen Phase hinzu
- Entfernt die Phase, die die vorherige Reihenfolge darstellt
Stripe entfernt die Metadaten der Abonnementzeitplanphase, die der vorherigen Bestellung zugeordnet sind, vollständig.
Beispiel für die Änderung eines Anzeigenauftrags
Nachfolgend finden Sie ein Beispiel für eine Bestelländerung und ihre Zuordnung zu Stripe Billing.
Erstauftrag- Der Erstauftrag kombiniert den Kunden- und Abonnementplan in einer einzigen Abonnementphase in Stripe.
Auftragsänderung – Am 15. Januar 2022 erstellen Sie in Salesforce eine Auftragsänderung für den Erstauftrag.
Die Erstbestellung und die Bestelländerung haben die folgenden Werte:
Erstbestellung | Bestelländerung | |
---|---|---|
Startdatum | ||
** Abonnement-Laufzeit** | 12 | 11 |
Einzelposten | Eins Produkt A
| Zwei Produkt A
Produkt B
|
In Salesforce CPQ stellt die Auftragsänderung Produkt A als Auftragsposten mit der Menge -4 dar (Verringerung der Menge um 4). Da der Preis pro Einheit derselbe ist, verwendet Stripe dasselbe Price
-Objekt für das Element der Abonnementplanphase.
Nach Aktivierung der Bestelländerung wird der Abonnementzeitplan aktualisiert und enthält die folgenden Phasen:
Phase 1 | Phase 2 | |
---|---|---|
Startdatum | ||
Enddatum | ||
Artikel | Produkt A, Menge: 10 |
|
Änderungen an der Kündigungsverordnung
Um einen Vertrag vollständig zu kündigen, verwenden Sie eine Kündigungsänderung. Die Kündigungsänderung setzt die Menge aller Posten des Auftrags auf 0.
In diesem Fall aktualisiert der Connector das Enddatum der letzten Phase des Abonnementplans auf das Startdatum der Kündigungsänderung.
Um eine Bestellung am Tag ihres Beginns vollständig zu kündigen, stornieren Sie den Abonnementzeitplan, anstatt die vorherige Phase zu ändern.
Anteilige Bestelländerungen
Das Startdatum einer anteiligen Bestelländerung liegt außerhalb eines Abrechnungszyklus, und das Enddatum liegt ungleich der Abrechnungshäufigkeit.
Sehen wir uns folgendes Beispiel an: ein Auftrag mit einer Laufzeit von 1,5 Jahren, beginnend mit dem sechsten Monat, durch den ein jährlich abgerechneter Zweijahresvertrag ergänzt wird. Bei diesem Auftrag handelt es sich um eine anteilmäßige Auftragsänderung. Sie stellen der Kundin/dem Kunden am Startdatum der Änderung einen anteilmäßigen Betrag für den Teil des Auftrags in Rechnung gestellt, der nicht in den Standard-Abrechnungszyklus fällt.
Wenn Sie eine anteilmäßige Auftragsänderung in Salesforce erstellen, führt der Connector in Stripe für jeden Auftragsposten, der anteilsmäßig berechnet werden soll, Folgendes aus:
- Erstellt ein neues Preisobjekt, um den anteilmäßigen Betrag darzustellen.
- Fügt einen Rechnungsposten mit dem neu erstellten Preis zur neu erstellten Phase hinzu, um den anteilmäßigen Betrag darzustellen.
- Aktualisiert die Menge des Abonnement-Postens, um die Änderung zum Zeitpunkt des Inkrafttretens zu berücksichtigen, ohne dass mehr als der anteilmäßige Betrag in Rechnung gestellt wird.
Stripe Billing sendet am Ende des Abrechnungszyklus eine Rechnung über den gesamten Betrag und die Menge des Produkts. Im obigen Beispiel endet der Abrechnungszyklus im 12. Monat und der Rechnungsbetrag beträgt 120 USD × 2 = 240 USD.
Sie können die folgenden Preise nicht anteilmäßig verrechnen:
- Preise für nutzungsbasierte Abrechnung – Der fällige Betrag wird nach dem Ende des Abrechnungszyklus berechnet.
- Einmalige, nicht wiederkehrende Preise – Diese werden sofort in Rechnung gestellt und sind nicht Teil eines Abrechnungszyklus.
- Aus Verbrauchsplänen erstellte gestaffelte Preise.
Beispiel für eine anteilsmäßige Bestellungsänderung
Hier ist ein Beispiel für eine Bestelländerung und wie sie in Stripe dargestellt wird.
Phase 0 | Phase 1 nach 6 Monaten | Phase 1 nach 12 Monaten |
---|---|---|
|
| Eine dritte Phase wird nicht erstellt. Im Monat 12 der Phase 1 wird eine neue Rechnung für den Abonnement-Artikel erstellt, der in Phase 1 nach 6 Monaten hinzugefügt wurde. |
Ein einzelner anteilsmäßiger Posten in Stripe entspricht dem anteiligen Betrag des Bestellpostens. Dies bedeutet eine Abbuchung für die anteilige Zeit bis zum Rest des Abrechnungszyklus.
Bei der anteilsmäßigen Berechnung von Stripe Billing werden zwei anteilsmäßige Posten erstellt:
- Eine Gutschrift für nicht genutzte Zeit des alten Plans
- Eine Abbuchung für die anteilmäßige Nutzungszeit für den Rest des Abrechnungszeitraums.
Sie werden den Gutschriftsposten in Stripe nicht sehen, wenn Sie die des Salesforce CPQ berechneten anteilmäßigen Daten verwenden.
Verwenden Sie nach CPQ berechnete anteilige Verrechnungen
Wenn Abrechnungsinformationen in CPQ vorhanden sind, behandelt der Connector diese als Datenquelle. Auf diese Weise können andere Finanzsysteme (wie zum Beispiel Stripe) und Finanzberichtstools (wie zum Beispiel NetSuite oder QuickBooks) die anteilmäßigen und sonstigen Finanzdaten abgleichen. Standardmäßig verwendet der Connector die Einstellung Month
für CPQ Subscription Prorate Precision
, um die anteilmäßige Verrechnung zu berechnen. Der Connector unterstützt auch die Einstellung Monthly and Daily
für CPQ Subscription Prorate Precision
.
In einigen Fällen stimmen die Beträge bei Stripe und Salesforce nicht überein, da Stripe einige Berechnungen durchführt, die in CPQ nicht vorhanden sind. Daten für Steuern und die nutzungsbasierte Abrechnung sind beispielsweise nur in Stripe vorhanden.
Anteilige Preise berechnen
In Salesforce enthält ein anteiliger Posten die folgenden Informationen:
- Abonnement
- Betrag je Einheit (wird
unit_
in Stripe zugeordnet)decimal_ amount - Menge
- Abrechnungshäufigkeit (wird
recurring.
undinterval recurring.
in Stripe zugeordnet)interval_ count - Startdatum
Salesforce CPQ Prorate Precision – monatlich
So ermitteln Sie, welcher Anteil des Auftragspostens anteilmäßig verrechnet werden soll, wenn CPQ Subscription Prorate Precision
auf Month
festgelegt ist:
- Berechnung der Monate (Laufzeiten) des Abonnements, die nicht im Abrechnungszyklus enthalten sind. Verwenden Sie das Startdatum, die Abonnementlaufzeit und die Abrechnungshäufigkeit des Postens, um diesen Wert zu bestimmen.
- Berechnen Sie die monatlichen Kosten des Postens. Teilen Sie den Wert, der
unit_
zugeordnet ist, durch die Abonnementlaufzeit.amount_ decimal - Multiplizieren Sie die monatlichen Kosten (Wert aus Schritt 2) mit der Anzahl der Monate, die nicht im Abrechnungszyklus enthalten sind (Wert aus Schritt 1).
Beispiel: Ein Abonnement hat sechs Monate, die nicht im Abrechnungszyklus enthalten sind. Die monatlichen Kosten des Postens betragen 10 USD und werden berechnet, indem der Betrag pro Einheit 180 USD durch die 18-monatige Abonnementlaufzeit geteilt wird. Die Multiplikation der monatlichen Kosten von 10 USD mit sechs Monaten ergibt 60 USD.
Salesforce CPQ Prorate Precision – monatlich und täglich
So ermitteln Sie, welcher Anteil des Auftragspostens anteilmäßig verrechnet werden soll, wenn CPQ Subscription Prorate Precision
auf Monthly and Daily
festgelegt ist:
- Berechnen Sie den Teilmonat (am Ende der Laufzeit) des Abonnements, der nicht im Abrechnungszyklus enthalten ist. Der Teilmonat entspricht der Anzahl der Tage, die nicht im Abrechnungszyklus enthalten sind.
- Berechnen Sie die Kosten pro Tag für den Posten. Teilen Sie den Wert, der
unit_
zugeordnet ist, durch die Anzahl der Tage im Monat. CPQ berechnet die Anzahl der Tage in einem Monat, indem die Anzahl der Tage in einem Jahr durch die Anzahl der Monate in einem Jahr geteilt werden (365 geteilt durch 12).amount_ decimal - Multiplizieren Sie die Kosten pro Tag (Wert aus Schritt 2) durch die Anzahl der Tage, die nicht im Abrechnungszyklus enthalten sind (Wert aus Schritt 1).
Der Connector berechnet anteilmäßige Verrechnungen basierend auf der Einstellung für CPQ Subscription Prorate Precision
.
Anteilige Preise mit benutzerdefinierten Preisfeldern berechnen
Normalerweise wird UnitPrice
in Stripeunit_
zugeordnet. Sie können auch ein benutzerdefiniertes Feld für den Preis verwenden. Der Connector geht davon aus, dass das von Ihnen angegebene benutzerdefinierte Feld der Preis des Produkts für den gesamten Abrechnungszyklus ist.
Beispielsweise geben Sie als benutzerdefiniertes Preisfeld 120 USD an, anstatt den Wert von 180 USD für den UnitPrice
zu verwenden. Bei einem vierteljährlichen Abrechnungszyklus betragen die Kosten pro Quartal 30 USD, was 120 USD geteilt durch vier Quartale ergibt.
Bei einer anteiligen Bestellposition erwartet der Connector den vollen Betrag des Abrechnungszyklus für das benutzerdefinierte Preisfeld. Der Connector berechnet den anteiligen Betrag anhand dieses Werts.
Anteilswerte mit eindeutigen Preisen darstellen
Ein einzigartiger Aspekt dieses Ansatzes ist die Generierung eines Stripe-Price
-Objekts, um den anteilmäßigen Betrag darzustellen. Jeder anteilmäßige Betrag erstellt ein Price
-Objekt in Stripe , das mit demselben Produkt verknüpft ist wie der ursprüngliche, vollständig abgerechnete Preis. Mit anderen Worten, es werden zwei unterschiedliche Price
-Objekte erstellt, um den anteiligen Posten und den nicht anteiligen Abonnementposten darzustellen.
Aus den Metadaten des Price
-Objekts geht hervor, dass sie zu diesem Zweck erstellt wurden: salesforce_
.
Diese Preise werden nach der Verwendung in einem Abonnement automatisch archiviert (active=false
).
So werden anteilige Rechnungsposten abgerechnet
Wenn die Phase der anteiligen Bestelländerung beginnt, wird ein ausstehender Rechnungsposten zum Abonnement des Kunden/der Kundin hinzugefügt.
Der Connector überwacht neu erstellte Rechnungsposten, um zu ermitteln, ob sie anteilige Beträge darstellen. Wenn dies der Fall ist, erstellt und finalisiert der Connector eine Rechnung für das Abonnement. Die Rechnung stellt dem Kunden den anteiligen Betrag seines Abonnements in Rechnung.
Sie können nicht angeben, welche Posten in einem Abonnement abgerechnet werden sollen. Alle dem Abonnement zugeordneten ausstehenden Rechnungsposten werden in Rechnung gestellt.