商品と価格
Salesforce と Stripe 間で商品と価格を同期する方法についてご紹介します。
Salesforce で作成した商品と価格は、すぐに Stripe に同期されるわけではありません。商品と価格が Stripe と同期されるのは、有効化された注文で使用されたときです。Stripe でこの情報を手動で作成する必要はありません。
Salesforce は、商品と価格に関する情報の主要な情報源です。このため、価格、商品の説明、SKU などはすべて、Salesforce から Stripe に同期されます。Stripeでこの情報を更新しても、Salesforce の関連する商品と価格は更新されません。また、更新された商品または価格の情報を使用して Salesforce で新しい注文を有効にすると、このアクションにより、Stripe で行った対応する変更が更新されます。
価格を作成する
Pricing data can come from either the Salesforce OrderItem
or the linked PricebookEntry
. When creating the Stripe price, the app checks for differences between these Salesforce objects and decides which one to use. If the PricebookEntry
data differs from the OrderItem
data, the app uses the OrderItem
to create the Stripe price. Otherwise, the app uses the PricebookEntry
.
Stripe の価格を再利用する
The Stripe Billing app for Salesforce CPQ reuses the prices created from a PricebookEntry
that the app previously synced. The app creates a new price for prices generated using the OrderItem
. You can’t reuse order items because they’re unique, but you can reuse pricebook entries across multiple order items. In both cases, the corresponding Stripe price ID is written back to the Salesforce object.
商品のフィールドマッピング
The Stripe Billing app for Salesforce CPQ creates a product in Stripe even if there isn’t relevant data in Salesforce. All product fields are optional.
Salesforce のフィールド (Product2 オブジェクト) | Stripe の商品 |
---|---|
名前 | Name (名前) |
説明 | Description (説明) |
価格のフィールドマッピング
コネクターは Stripe 内の次の価格タイプに対応しています。
- Licensed prices – If the Billing Type (
SBQQ_
) field in Salesforce is either None or Advanced, the app creates a licensed price in Stripe.BillingType_ c - Metered or usage prices – If the Billing Type (
SBQQ_
) field in Salesforce is Arrears, the app creates a metered or usage price.BillingType_ c - Decimal prices – If the decimal value of your price has more precision than 12 decimal places, the app rounds your price to 12 decimals.
- 1 回限りの価格と継続的な価格: コネクターは、サブスクリプションフィールドに値が設定されているすべての商品を継続的な価格扱いにします。従量制価格は継続的である必要がありますが、段階的な価格は 1 回限りに設定することもできます。1 回限りの価格を作成する場合は、Salesforce の商品に次のフィールドを設定しないでください。
- サブスクリプションの料金 (
SBQQ_
)_ SubscriptionPricing_ _ c - サブスクリプションの種類 (
SBQQ_
)_ SubscriptionType_ _ c - サブスクリプションの規約 (
SBQQ_
)_ SubscriptionTerm_ _ c - 請求頻度 (
SBQQ_
)_ BillingFrequency_ _ c
- サブスクリプションの料金 (
Salesforce フィールド (PricebookEntry オブジェクト) | Stripe の Price | 注 | 必須 |
---|---|---|---|
製品 | Product (商品) | Stripe 内の対応する Price オブジェクトを使用して Salesforce Product オブジェクトおよび Pricebook オブジェクトにリンクされた Stripe Product オブジェクトをマッピングします。 | |
説明 | Description (説明) | ||
単価 | Unit amount decimal (単価の小数) | Billing Frequency フィールドで指定された頻度で顧客に請求する金額を表します。 | |
請求頻度 | Recurring, interval count (定期 - 期間数) | 継続的な価格の場合にのみ必須です。対応している値は、毎月、毎四半期、半年ごと、毎年です。これらの値は対応する整数値にマッピングされます。 | |
請求タイプ | Recurring, usage type (定期 - 使用量タイプ) | 継続的な価格にのみ必須です。Arrears の値は従量課金にマッピングされます。Advanced の値はライセンスにマッピングされます。 | |
CPQ グローバル期間単位設定 | Recurring, interval (定期 - 期間) | 継続的な価格の場合にのみ必須。これは設定時に選択され、フィールドレベルのマッピングではありません。 | |
通貨 | Currency (通貨) | お客様の Salesforce 組織で多通貨が有効になっている場合、Stripe では PricebookEntry の CurrencyIsoCode を Stripe 通貨に関連付けます。有効になっていない場合、設定されているデフォルトの通貨を使用します。 |
消費スケジュールを使用した段階制料金
Salesforce で商品に Salesforce 消費スケジュールと関連レートを設定することで、Stripe で段階制料金を設定できます。Stripe では消費スケジュールを使用して、従量制またはライセンス制の課金で請求されるラインアイテムに段階制料金を関連付けます。注文ラインごとに使用できる消費スケジュールは 1 つのみです。
Stripe Billing では、限度設定がない段階が存在している必要があります。このため、上限値が設定されていない消費レートが必要です。コネクターは消費レートの処理順序も、注文商品に関連付けられている消費スケジュールの請求期間や請求期間単位も使用しません。代わりに、コネクターは注文ラインアイテムの請求サイクルおよびサブスクリプション期間を使用します。
For tiered pricing, the app maps data from the following Salesforce objects:
OrderLine
– If theOrderLine
data differs from the correspondingPricebookEntry
, the app uses theOrderLine
data and creates a newPrice
object in Stripe.PricebookEntry
: 価格データがOrderLine
に一致し、消費スケジュールおよび消費レートのデータが顧客ごとにカスタマイズされていない場合、コネクターはこの値を使用します。Consumption Schedule
– Although Salesforce allows you to associate multiple consumption schedules with a product, the app supports only one consumption schedule per order line.Consumption Rate
: コネクターは消費スケジュールに関連付けられているレートを使用して、Stripe の価格の各段階エントリーを定義します。1 つの消費スケジュールに対して複数のレートを設定できます。
注
フィールドマッピングをカスタマイズして、Stripe で段階制料金を生成したり、価格または段階の境界のカスタムフィールドを使用したりすることはできません。
顧客ごとに消費スケジュールおよび消費レートをカスタマイズした場合、Stripe では新しい Price
オブジェクトを作成してカスタマイズされた料金を表します。新しい価格は、Salesforce の Order Line
オブジェクトの Stripe ID フィールドに表示されます。
段階制料金のマッピングを定義するには、次の PricebookEntry
を価格フィールドマッピングに追加します。このフィールドは必須です。
Salesforce フィールド (PricebookEntry オブジェクト) | Stripe の Price | 注 |
---|---|---|
Billing scheme (請求スキーム) | Salesforce の注文ラインに消費スケジュールが関連付けられている場合、tiered に設定されます。 |
Salesforce の消費スケジュール | Stripe の Price | 注 |
---|---|---|
タイプ | Tiers mode (段階制) | タイプがスラブの場合は、graduated が使用されます。タイプが範囲の場合は、volume が使用されます。 |
消費スケジュールに関連付けられている消費レートごとに、Stripe の Price
オブジェクトに追加の段階エントリーが生成されます。これらのフィールドは必須です。
Salesforce の消費レート | Stripe の Price | 注 |
---|---|---|
上限 | Tiers, Up to (段階制 - 最大) | Stripe では下限がなく、最初の段階の下限値がゼロであるものと想定されます。Salesforce でこの値が空の場合、Stripe では inf 値を使用して、上限がないことを示します。 |
価格設定方法 | A per unit value instructs the app to use the unit_ field when mapping the price. If the value is flat fee, the app uses the flat_ field for the price. | |
価格 | 段階制 - Flat amount decimal (定額の小数) または Unit amount decimal (単価の小数) | 使用される価格設定タイプは、Pricing Method フィールドによって異なります。 |
商品と価格を手動で同期する
Salesforce サンドボックス環境でテストする際には、Stripe テストアカウントで商品カタログ全体を手動で同期して調べることができます。手動同期では、設定したすべての商品および価格のフィルターが適用されます。
Use the following buttons in the Settings section of the app:
Sync all products (すべての商品を同期): 最終更新時刻に関係なく、すべての商品 (価格は含まない) が Stripe テストアカウントと同期されます。この実行はバックグラウンドで行われ、完了に数分かかることがあります。Salesforce で商品を削除しても、Stripe ではその商品の削除もアーカイブも行われません。
価格表を同期: 手動同期機能にレコード ID を入力して、
PricebookEntry
をテスト用 Stripe アカウントに手動で同期します。この操作はバックグラウンドで実行されます。Salesforce で価格を削除しても、Stripe ではその価格の削除もアーカイブも行われません。Stripe で価格を作成して継続的な請求のスケジュールを設定した後は、Salesforce でパラメーターを更新することも同期することもできません。該当する操作を試行すると、同期エラーが発生します。
商品または価格が Stripe アカウントにすでに同期されているときに、新たに同期する場合は、Salesforce アカウントの Salesforce オブジェクトの Stripe ID フィールドの内容を削除できます。次に、再び同期して、Stripe で新しいリソースを作成します。
注文の商品の価格設定をカスタマイズする
In the Salesforce CPQ, you can optionally customize the unit price of a product on a quote. If you customize the price, this causes the information to differ from the price that’s linked to the product on the activated order. In this case, the app creates a unique price in Stripe to represent the customized price. The Stripe price ID appears on the Stripe ID field for the order.
注文でカスタマイズされた価格を使用してデータマッピングを作成した場合、価格は、Salesforce の価格表エントリーのレベルではなく、注文ラインのレベルで表示されます。料金がカスタマイズされたと見なされるのは、関連するフィールド (継続フィールド、金額、通貨など) のいずれかが、価格表エントリーの価格と注文ラインアイテムの価格で異なる場合です。
多通貨への対応
If your Salesforce organization has multi-currency enabled, the app maps the CurrencyIsoCode
on the PricebookEntry
to the equivalent Stripe currency during Stripe price creation. This makes sure subsequent invoices are billed in the proper currency.
複数の通貨で請求するときは、以下を考慮してください。
Stripe 顧客 1 人につき対応できる通貨の数
Stripe で対応できる有効な通貨は、顧客 1 人につき 1 つです。言い換えると、Stripe の顧客は、異なる通貨を使用する有効な Subscription (サブスクリプション) を複数利用できません。たとえば、USD で請求される有効なSubscription (サブスクリプション)を顧客が利用している場合、そのサブスクリプションの終了を待ってから、異なる通貨 (GBP など) のサブスクリプションを新規に作成する必要があります。
注文の修正
Salesforce の注文を修正する際は、常に元の注文と同じ通貨を使用する必要があります。注文と注文の修正で、注文アイテムごとに異なる通貨を使用することはできません。
為替レート
コネクターは通貨換算を行いません。単に、PricebookEntry
に見つかった価格と通貨のペアを渡します。