サブスクリプションの注文
Salesforce と Stripe 間でサブスクリプションの注文を同期する方法をご紹介します。
Stripe Billing Connector for Salesforce CPQ は、Salesforce でサブスクリプションタイプが設定され、有効化されたすべての注文に対するサブスクリプションスケジュールを Stripe で作成します。Salesforce の注文の各注文ラインにより、Stripe でサブスクリプションアイテム (継続支払いの商品の場合) または請求書アイテムが作成されます。注文ラインを Stripe の複数のラインアイテムに分割することはできません。
デフォルトの場合、Stripe の各サブスクリプションスケジュールが自動では更新されません。サブスクリプションを更新するには、以下のいずれかを行います。
- 新しいサブスクリプションの開始日と期間を使用して注文修正を作成します。
- すべてのサブスクリプションを自動更新するようにシステムを設定します。
注
Salesforce の「ネイティブ」見積もりオブジェクト (CPQ Quote
オブジェクトとは異なる) は使用されません。コネクターは、CPQ Quote
オブジェクトで生成された注文を使用します。
同期する注文を決定する
コネクターは、90 分ごとに Salesforce をチェックして、最後に成功した注文の同期以降に更新された注文がないかを確認します。
コネクターは、次の条件を満たすすべての注文を同期しようとします。
- 注文ステータスが有効化されている。このデフォルトの条件は削除またはカスタマイズできます。
- 注文タイプが新規である。
- 少なくとも 1 つの注文ラインがサブスクリプション商品である。これは、
SBQQ_
に設定されていることを意味します。SubscriptionType_ c
すべての注文ラインが 1 回限りの購入アイテムである場合、コネクターは、サブスクリプションではなく、1 回限りの請求書を作成します。
注文日
コネクターを設定する際に、注文のバックフィル日を選択できます。この日付より後に作成された注文のみが Stripe に同期されます。
サブスクリプションの開始日を遡及適用できます。これは、Stripe で使用される注文開始日です。注文を有効化する際にエラーが発生しないようにするために、見積もりおよび関連付けられた注文で開始日を指定する必要があります。
必要に応じてトライアルの終了日を指定できます。トライアルの日付の設定がない場合、顧客にトライアル期間は提供されません。
注文同期条件
デフォルトの同期条件にカスタム条件を追加できます。カスタム条件は、標準 SOQL 構文を使用して記述します。
カスタム条件の追加またはデフォルトの条件の削除を行うには、Stripe Billing Setup > Sync Preferences (同期の設定) > Custom Order Sync Conditions (カスタム注文同期条件) に移動します。
制限
コネクターは 100 以上の継続ラインアイテムが含まれた注文を同期できません。注文に 100 以上の継続ラインが含まれている場合、Salesforce でエラーが表示されます。
Salesforce で数量を整数で指定する必要があります。Stripe では数量に小数を使用できません。注文に小数の数量が含まれている場合、Salesforce でエラーが表示されます。
注文に含まれているラインアイテムはすべて、期間数と期間タイプが同じでなければなりません。デフォルトの場合、期間数は Billing Frequency
フィールドからマッピングされます。期間タイプは日次または月次です。Stripe では 1 件の注文で複数の請求サイクルを使用することはできません。たとえば、2 カ月ごとに請求されるラインアイテムと毎月請求されるラインアイテムを 1 つの注文に混在させることはできません。
ラインアイテムを除外する
デフォルトでは、すべてのラインアイテム (0 のラインアイテムを含む) が Salesforce から Stripe に同期されます。Stripe で作成されたサブスクリプションスケジュールから特定のラインアイテムを除外できます。たとえば、Stripe の継続的な請求書に表示しない、情報提供のみを目的とするラインアイテムを除外できます。
ラインアイテムを除外するには、注文アイテムの Skip Line Item in Stripe
を true
に設定します。
このフィールドが true
に設定されていると、コネクターは注文アイテムをスキップし、その注文アイテムは Stripe のサブスクリプションスケジュールフェーズのラインアイテムから除外されます。内部フィールド名はSkip_
(パッケージのプレフィックスも含む) です。
サブスクリプションスケジュールのマッピング
Salesforce で有効化された注文により、Stripe でサブスクリプションスケジュールが作成されます。各フィールドは以下のようにマッピングされます。
Salesforce の注文のフィールド | Stripe の Subscription Schedule のフィールド | 注 | 必須 |
---|---|---|---|
Quote、Start date (SBQQ_ ) | 開始日 | ||
Quote、Subscription term | フェーズ / 繰り返し | ||
End behavior (終了時の動作) | デフォルト値は cancel です。サブスクリプションを自動更新する場合は、データマッパーでこのマッピングを設定できます。 | ||
Payment term (SBQQ_ ) | Default settings、Invoice_settings、Days until due (期日までの日数) |
ラインアイテムのマッピング
Salesforce で有効化された注文の各ラインアイテムは以下のようにマッピングされます。これらのフィールドは必須です。
注文アイテムの単価が価格表の単価と異なる場合、コネクターは注文アイテムの価格を使用し、新しい Stripe Price を作成します。
Salesforce のフィールド (OrderItem オブジェクト) | Stripe の Line Item のフィールド | 注 |
---|---|---|
Pricebook Entry、UnitPrice | 料金 | Stripe Price には、価格表アイテムで指定された単価が含まれます。カスタムフィールドを使用して、顧客に請求する継続価格を表すと、このマッピングを設定できます。 |
OrderItem、UnitPrice | 料金 | Stripe の Price には、注文ラインアイテムで指定された単価が含まれます。カスタムフィールドを使用して、顧客に請求す継続価格を表すと、このマッピングを設定できます。 |
Quantity (OrderItem. ) | 数量 | 数量は整数で指定する必要があります。そうしないと、数量は強制的に 1 に設定され、ラインアイテムコストの正味金額を表すように価格が調整されます。請求タイプが arrears (従量課金) の場合、数量はラインアイテムで設定されません。代わりに、お客様が顧客の請求期間の終わりまでに Stripe に数量を報告する必要があります。 |
サブスクリプションの変更
有効化された注文を Salesforce で更新することはできません。Salesforce で注文に変更を加えても、その変更は Stripe に同期されません。サイクルの途中でサブスクリプションを調整または部分的にキャンセルするには、注文の修正を使用します。
デフォルトの場合、サブスクリプションスケジュールの自動更新は行われません。更新情報を変更するには、元の契約に関連付けて注文の修正を作成します。
また、デフォルトで自動更新されるようにこの機能をカスタマイズすることも、Stripe で更新ロジックを直接管理することもできます。