# 従来の請求モードと柔軟な請求モードの比較 さまざまな Billing モードの違いについて [柔軟な請求モード](https://docs.stripe.com/billing/subscriptions/billing-mode.md) を使用すると、請求の動作が改善され、新機能を利用できるようになるため、使用することをお勧めします。ただし、柔軟な請求モードに移行すると、実装の動作が変わる可能性があります。実装への影響を把握するために、次の違いを確認し、十分な情報に基づいた意思決定を行ってください。 > サブスクリプションをフレキシブル請求モードから従来の請求モードに移行することはできません。 ## 貸方の比例配分の計算 クレジット比例配分は、顧客が請求期間終了前にサブスクリプションをダウングレードするか、サブスクリプションアイテムをキャンセルしたときに発行されます。柔軟な請求モードでは、以前に顧客に引き落とした元の金額に基づいてクレジット比例配分が計算されます。 クレジット比例配分計算の概要については、[クレジット比例配分](https://docs.stripe.com/billing/subscriptions/prorations.md#credit-prorations) をご覧ください。 | **クラシック** | **フレキシブル** | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | サブスクリプションの更新によってクレジット比例配分が生成される場合、クレジット比例配分の金額は、サブスクリプションアイテムの現在の価格、税金、数量、最後に使用された割引の値に基づいて計算されます。 | サブスクリプションの更新によってクレジット比例配分が発生した場合、これらの比例配分では、現在のサブスクリプション値ではなく、引き落とされた元の金額が使用されます。クレジットされる期間が当初複数の引き落としにまたがって請求された場合、Stripe は対応する元の引き落としごとに 1 つずつ、複数のクレジット比例配分を生成します。 | ### 比例配分の割引適用 割引は、均等に配分されるのではなく、[比例配分計算](https://docs.stripe.com/billing/subscriptions/prorations.md#prorations-and-discounts) 時に各サブスクリプションアイテムに比例して適用されます。これにより、特に項目単位で請求する場合や、割引が均等に配分されていない項目をキャンセルする場合は、比例配分が多くなります。 | **クラシック** | **フレキシブル** | | ----------------------------- | ---------------------------------------- | | 割引はすべてのサブスクリプション項目に均等に配分されます。 | 比例配分を計算するときに、割引は各サブスクリプション項目に按分して適用されます。 | ## 従量課金ベースの料金体系 ### 従量制ベースの項目を追加するときに項目の金額がゼロにならないようにする 柔軟な請求モードでは、従量制ベースの項目をサブスクリプションに追加しても、金額ゼロの項目は作成されません。その結果、請求書が空の場合は、作成されません。 たとえば、サブスクリプションの作成時または更新時に月次の従量制ベースの項目を追加する場合、次のようになります。 | **クラシック** | **フレキシブル** | | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | | 請求書で従量制ベースの項目の 項目が生成されます。これは、`proration_behavior=always_invoice` を使用して、サブスクリプションを循環せずに更新して従量課金項目を追加する場合にも適用されます。 | 0 USD の項目は、従量制ベースの項目の請求書に追加されません。結果として生成される請求書に項目が含まれていない場合、項目は生成されません。 | ただし、これはサイクル中に生成された請求書には適用されません。請求書には、0 USDの明細項目を含む、使用量ベースの項目がすべて含まれます。 ### レポート時点の価格に基づく請求書従量制ベースの項目アイテム 柔軟な請求モードでは、最新の料金ではなく、使用量が報告された時点で有効な料金に基づいて、使用量の対価が請求されます。 以下に例を示します。 1. 初期価格は、API コール 100 回ごとに 0.1 USD (価格 A) 1. 1 月 5 日の使用状況: 1000 API コール 1. 1 月 15 日、価格はコール 100 回ごとに 0.15 USD に変更されます (価格 B) 1. 1 月 20 日の使用状況:500 API コール | **クラシック** | **フレキシブル** | | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | Stripe は、現在の価格に変更されてから報告された使用状況に対してのみ請求します。 - 価格 B で 500 API コール (100 コールごとに ) = 請求書の合計金額 = 。 | Stripe は、現在の期間におけるすべての使用状況について、報告時点で有効な価格で請求します。 - 価格 A で 1,000 API コール (100 コールごとに ) = - 価格 B で 500 API コール (100 コールごとに ) = 請求書の合計金額 = 。 | ### 従量制ベースアイテムを削除する際の未請求の使用状況の請求書 `proration_behavior`の値に応じて、柔軟なBillingモードにより、使用量ベースのサブスクリプション項目を削除する際に、未請求の使用状況のインボイスアイテムが生成されることがあります。これは、APIを使用した削除や、期間途中に発生するスケジュールフェーズの移行時に適用されます。サブスクリプションアイテムの `current_period_end` と一致するフェーズ移行の場合、削除された利用料ベースのサブスクリプションアイテムに対応する請求書ラインアイテムが含まれた請求書が作成されます。 | **Scenario** | **クラシック** | **フレキシブル** | | ------------------------------ | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | API を使用してサブスクリプションまたはスケジュールを更新 | 利用料ベースのサブスクリプションアイテムを削除した場合、インボイスアイテムは未請求の使用量に対して生成されません。 | 従量制ベースのサブスクリプションアイテムを削除すると、未請求の使用状況のインボイスアイテムが生成されます。 | | スケジュールフェーズの移行 | 利用料ベースのサブスクリプション項目を削除すると、未請求の利用料に対して請求書が生成されます (が、インボイスアイテムは生成されません)。 | 新しいフェーズの `proration_behavior` の値に応じて: - `create_prorations`: 利用料ベースのサブスクリプション項目を削除すると、未請求の利用料に対してインボイスアイテムが生成されます。 - `always_invoice`: 未請求の使用量に対してインボイスアイテムが作成され、即時に請求されます。 - `none`: インボイスアイテムは作成されません。 | ### 請求サイクルの起点をリセットする 柔軟な請求モードでは、`billing_cycle_anchor` を `unchanged` 以外の値に明示的に設定した場合にのみ、サブスクリプション更新の[請求サイクルの起点](https://docs.stripe.com/billing/subscriptions/billing-cycle.md)がリセットされます。 | クラシック | 柔軟性 | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | | `billing_cycle_anchor` は、サブスクリプションを継続間隔が異なる別の価格に切り替える場合、金額ゼロの価格からゼロ以外の価格に変更する場合、または [cancel_at](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at) を次回のサブスクリプション更新日よりも前の日付に移動する場合に、現在の日付に自動的にリセットされます。 | `billing_cycle_anchor` が自動的にリセットされることはありません。 | ### 従量制項目を含むサブスクリプションスケジュールフェーズ移行の統合請求 柔軟な請求モードでは、サブスクリプションの更新中に一貫して 1 つの請求書が生成されます。この変更により、削除された使用量ベース項目の請求書が別個に作成されなくなり、請求書の一貫性が向上します。 従量制ベースの項目を含むサブスクリプションがフェーズ間で移行する場合: | **クラシック** | **フレキシブル** | | --------------- | ---------------------------------------------------------------------------------------- | | 2 つの請求書が生成されます。 | 1 つの統合請求書が生成されます。この請求書には、従量制ベースの項目とライセンス項目の両方が含まれ、従量課金には前のフェーズの割引が適用され、次のフェーズの税率が使用されます。 | ## 定期サブスクリプションのキャンセル ### カスタマーポータルでのキャンセル 顧客が[カスタマーポータル](https://docs.stripe.com/customer-management/cancellation-page.md)でキャンセルをスケジュールすると、柔軟な請求モードでは `cancel_at` を `cancel_at_period_end` ではなく直接使用します。`cancel_at` と `cancel_at_period_end` の違いの詳細については、[変更履歴](https://docs.stripe.com/changelog/basil/2025-07-30/cancel-at-enums.md)をご覧ください。 | **クラシック** | **フレキシブル** | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `cancel_at_period_end`は `true`に設定され、`cancel_at` は `current_period_end` タイムスタンプに設定されます。`cancel_at_period_end` は `true` であるため、`current_period_end` が変更されるたびに `cancel_at` が更新されます。 | `cancel_at_period_end` は `false` に設定され、`cancel_at` はすべてのサブスクリプション項目の `current_period_end` の中で最大の値に設定されます。項目の `current_period_end` が変更されても、キャンセル日 (`cancel_at`) は更新されません。 | ### 最初の短縮された請求期間の比例配分の除外 柔軟な請求モードでは、`cancel_at` を作成時に設定する場合、`proration_behavior` パラメータを `none` に設定して、切り詰められた最初の請求期間の比例配分を無効にできます。 | **クラシック** | **フレキシブル** | | -------------------- | ----------------------- | | 比例配分は最初の請求期間に適用されます。 | 比例配分は、最初の請求期間には適用されません。 | ## サブスクリプションを遡及適用する [遡及適用](https://docs.stripe.com/billing/subscriptions/backdating.md) が通常の請求と一致する場合、柔軟な請求モードでは、遡及適用範囲内の請求期間ごとに個別の請求書の項目を作成します。また、明示的に設定されていない場合は、請求書サイクルの起点を自動的に `backdate_start_date` 調整します。ただし、結果の請求書に 250 件を超える項目がある場合は遡及適用はサポートされません。 たとえば、過去 2 回の請求期間の請求書未着が原因でサブスクリプションを遡及適用する必要がある場合、顧客は 2 回の遡及適用期間にわたって請求されました。 - 請求期間 1 (3 月 1 日から 3 月 31 日): - 報告された使用量: 100 GB のストレージを使用。 - 料金: 10 GB あたり 10 USD。 請求期間 2 (4 月 1 日から 4 月 30 日): - 報告された使用量: 150 GB のストレージを使用。 - 料金: 10 GB あたり 10 USD。 サービスプロバイダーは、両方の請求期間をカバーするために請求書を遡及適用することにしました。3 月 1 日から 4 月 30 日まで。 | クラシック | 柔軟性 | | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 遡及適用された期間全体の支払いは、1 つの項目としてまとめて計算されます。支払い合計額: - 250 GB = 25 x 10 USD = 250 USD - この金額は、請求書の 1 つの項目として表示されます。 | 過去の時間範囲は、請求期間の境界に従って複数の請求書項目に分割されます。合計請求額: - 請求期間 1 (3 月): - 100 GB = 10 x 10 USD = 100 USD (別の項目として)。 - 請求期間 2 (4 月): - 150 GB = 15 x 10 USD = 150 USD (別の項目として)。 | ## トライアル ### 後続のトライアルのトライアル開始日を更新する 柔軟な請求モードでは、後続のトライアルがあるサブスクリプションに、最新のトライアル開始日を適用します。 たとえば、次のような場合です。 - トライアル期間: 1 月 1 日から 2 月 1 日まで - 通常の請求期間: 2 月 1 日から 3 月 1 日まで - トライアル期間: 3 月 1 日から 4 月 1 日まで | **クラシック** | **フレキシブル** | | ------------------------------------------------------------ | -------------------------------------------------------- | | `subscription.trial_start` は常に、サブスクリプションで開始された最初のトライアルを示します。 | `subscription.trial_start` は、サブスクリプションの最新のトライアルの開始を示します。 | ### サブスクリプションのキャンセル時に元のトライアル終了日を保持する 柔軟な請求モードでは、`cancel_at` 日付を変更しても `trial_end` が保持されます。 | クラシック | 柔軟性 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | | `cancel_at` を `trial_end` の日付よりも前の日付に設定すると、`trial_end` は自動的に `cancel_at` と一致するように変更されます。ただし、`cancel_at` を削除する場合や、`trial_end` の日付よりも後の日付に変更する場合は、`trial_end` が最初にそれ以降の日付であっても、`trial_end` は自動的に変更されません。 | `cancel_at` を使用してサブスクリプションのキャンセルをスケジュールしても、`trial_end` の日付は変更されなくなりました。これにより、キャンセル日の更新に関係なく、トライアルが意図した期間実行されます。 | ### トライアル期間の項目の説明を標準化する 柔軟な請求書では、トライアル期間中、従量制ベースの項目とライセンスベースの項目の両方に対して一貫した説明形式が使用されます。 たとえば、毎月のコーヒーサブスクリプション (ライセンス) と `hypernian_tokens` サブスクリプション (使用量ベース) の場合、サブスクリプションの説明は次のように表示されます。 | **クラシック** | **フレキシブル** | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ライセンスアイテムはテンプレート `Trial period for {product name}` のトライアル期間を使用し、従量制ベース項目は `{quantity} x {product name} (Free trial)` を使用します。 - ライセンス品目の場合: - `Trial period for monthly coffee subscription` - 従量課金項目の場合: - `10 x monthly hypernian_tokens (Free trial)` | 同じ形式 `Free trial for {quantity} x {product name}` がすべての項目タイプに適用され、トライアル情報がより均一に表示されています。これらの説明もローカライズされています。 - ライセンス品目の場合: - `Free trial for 1 x monthly coffee subscription` - 従量課金項目の場合: - `Free trial for 10 x monthly hypernian_tokens subscription` | ### トライアル項目の再請求 柔軟な請求モードでは、トライアル中に行われた変更に対してのみ項目が生成されます。変更のない既存の項目は再請求されません。 たとえば、`price_a` が指定されているトライアル中のサブスクリプションに別のトライアル項目 `price_b` を追加するために更新を行う場合、以下のようになります。 | クラシック | 柔軟性 | | ------------------------------------------------ | ---------------------------------------------------------------------------------------- | | トライアル中の変更は、請求書なし、またはサブスクリプションの全状態を再表示した請求書になります。 | トライアル中の変更は、トライアル外の変更と同等の明細項目に一貫して反映されます。たとえば、サブスクリプションに新しい価格が追加された場合、その価格を表す明細項目も追加されます。 | ## 保留中のインボイスアイテム ### 保留中の請求書項目を一貫して含める 柔軟な請求モードでは、`proration_behavior = always_invoice` の請求サイクルアンカーのリセットによって生成された請求書に含まれている、利用可能なすべての保留中の請求書項目が含まれます。 | **クラシック** | **フレキシブル** | | ---------------------------------------------------------------------------------- | ------------------------------------------ | | 請求サイクル起点のリセット請求書には、`proration behavior` が `always_invoice` でない場合にのみ保留中のアイテムが含まれます。 | 保留中の請求書項目は、サブスクリプションで生成されるすべての請求書に必ず含まれます。 | ## 同一サブスクリプションの混合インターバル 柔軟な請求モードでは、[mixed interval subscriptions](https://docs.stripe.com/billing/subscriptions/mixed-interval.md) を作成し、異なる期間で複数の継続価格を請求できます。これにより、1 つのサブスクリプション内で異なる料金体系を組み合わせることができます。 | **クラシック** | **フレキシブル** | | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | サポート対象外。サブスクリプション項目すべてに、同じ期間と期間数で料金を設定する必要があります。 | [混合期間サブスクリプション](https://docs.stripe.com/billing/subscriptions/mixed-interval.md) のアイテムには、異なる期間または期間カウントの継続価格を設定できます。たとえば、同じサブスクリプションに月額価格と年間価格を設定できます。 |