# 自動化の仕組み

自動化によってサブスクリプションと請求書のワークフローをカスタマイズする方法をご紹介します。

Stripe Billing の自動化は、カスタムの自動化ワークフローをノーコードで構築するための手段です。自動化によって、ビジネスプロセスの効率化、顧客とのやり取りの向上、売上回収業務の改善を実現できます。

次の例のように、特定のユースケースに合わせて自動化ワークフローを調整します。

- [年間サブスクリプション登録者に対するカスタムの督促フロー](https://docs.stripe.com/billing/automation-recipes.md#custom-dunning-flow)
- [高額の請求書が期日を過ぎている場合にチームに通知する](https://docs.stripe.com/billing/automation-recipes.md#invoice-overdue-notifications)
- [サブスクリプションがキャンセルされた場合に確認のメールを送信する](https://docs.stripe.com/billing/automation-recipes.md#subscription-cancellation-confirmation)

ワークフローは、トリガー、フィルター条件、アクションで構成されます。このガイドでは、これらの構成要素を使用して、ユーザー自身がカスタムの自動化を構築および設定する方法を説明します。一般的なユースケースから開始するには、[自動化レシピ](https://docs.stripe.com/billing/automation-recipes.md)に従ってください。

## 自動化を設定する

自動化の使用を開始するには、以下の手順を実行します。

1. Stripe ダッシュボードで、Billing の[自動化タブ](https://dashboard.stripe.com/test/revenue_recovery/automations)に移動します。
1. **新しい自動化**をクリックするか、**n** キーを押します。
1. 自動化の名前を指定します。
1. 自動化を実行するイベントを選択します。
1. (オプション) 指定された条件が満たされた場合にのみ自動化が実行されるように[フィルター条件](https://docs.stripe.com/billing/automations.md#choose-filter-conditions)を追加します。
1. アクションと遅延のシーケンスを追加します。
1. (オプション) 選択したトリガーが他の自動化に適用される場合、新しい自動化を該当する優先順位の位置にドラッグして、**保存**をクリックします。

> 自動化を使用する場合、`invoice.payment_failed` Webhook では [next_payment_attempt](https://docs.stripe.com/api/invoices/object.md#invoice_object-next_payment_attempt) の設定がなくなりましたが、`invoice.updated` Webhook では設定されます。

## トリガーを選択する

以下の 5 つのトリガーから選択できます。

| トリガー                | 説明                                                                                                                                                                                                   | ユースケースの例                                                                                              |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| 請求書の期日が近づく          | アクションは、請求書の期日を基準にして実行されます。請求書が支払われるか、無効になったときに自動化は終了します。このトリガーは、`collection_method` が `send_invoice` に設定された請求書にのみ使用されます。                                                                             | カスタムの期間に `invoice.will_be_due` Webhook のスケジュールを設定することで、顧客とのやり取りを管理します。                                |
| 請求書が確定される           | 請求書が確定されたときにトリガーされます。請求書が支払われるか無効になったとき、または [auto_advance](https://docs.stripe.com/api/invoices/object.md#invoice_object-auto_advance) が無効になった場合に自動化は終了します。                                          | 一定期間の後に特定の顧客セグメントの請求書を回収不可 (抹消) としてマークします。                                                            |
| 請求書の期日が過ぎています       | 請求書の期限を超過した場合にトリガーされます。請求書が支払われるか無効になったとき、または [auto_advance](https://docs.stripe.com/api/invoices/object.md#invoice_object-auto_advance) が無効になった場合に自動化は終了します。このトリガーは、タイプが `send` になっている請求書にのみ適用されます。 | 顧客とのやり取りを管理するために、カスタムの期間で `invoice.overdue` Webhook のスケジュールを設定します。回収を管理するために、回収チームへのメールのスケジュールを設定します。 |
| サブスクリプションがキャンセルされます | サブスクリプションがキャンセルされたときにトリガーされます。                                                                                                                                                                       | キャンセルの確認のメールを顧客に送信します。オプションで、キャンセルの理由に関する質問を含めます。                                                     |
| サブスクリプションの決済が失敗する   | サブスクリプションのインボイスの支払いが初回の再試行で失敗したときにトリガーされます。インボイスが支払われるか無効になったとき、または [auto_advance](https://docs.stripe.com/api/invoices/object.md#invoice_object-auto_advance) が無効になった場合に自動化は終了します。                  | - 顧客のサブセットに対するカスタムの再試行設定
  - 高額の支払いの失敗について回収チームに通知します。                                                |

## フィルター条件を選択する

トリガーを選択した後、1 つ以上のフィルター条件を追加できます。自動化を実行するためには、これらの条件が満たされている必要があります。たとえば、年次サブスクリプションで顧客を絞り込んだ場合は、年次サブスクリプションがある場合にのみ自動化が実行されます。

トリガーに応じて、以下のフィルター条件を使用できます。

| 条件            | 説明                                                                             |
| ------------- | ------------------------------------------------------------------------------ |
| 顧客のメタデータ      | 顧客の [Metadata (メタデータ)](https://docs.stripe.com/api/metadata.md) と一致するキーと値のペア。  |
| 請求書のメタデータ     | 請求書の [Metadata (メタデータ)](https://docs.stripe.com/api/metadata.md) と一致するキーと値のペア。 |
| 請求金額          | デフォルト通貨で定義された、請求書あたりの最小金額または最大金額。デフォルト通貨建てではない請求書は、換算金額で評価されます。                |
| サブスクリプションの期間数 | 年次または月次のサブスクリプションに制限します。                                                       |
| 商品            | 1 つ以上の商品が指定された請求書とサブスクリプションに制限します。                                             |

[Metadata API フィールド](https://docs.stripe.com/api/metadata.md)を使用して、メタデータを顧客と請求書に直接適用することができます。

## アクションを選択する

次の表で、さまざまなトリガーで使用できるアクションについて説明します。

| アクション                               | 説明                                                                                                                                                   | サポートされているトリガー                                  |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| リトライポリシーを設定                         | リトライポリシーは、失敗した支払いを再試行する方法を定義します。このアクションにより、カスタムポリシーを作成して請求書に関連付けることができます。                                                                            | サブスクリプションの決済が失敗する                              |
| サブスクリプションに未払いのマークを付ける               | サブスクリプションでは請求書が引き続き請求期間ごとに生成されますが、ステータスは `draft` のままになります。                                                                                           | サブスクリプションの決済が失敗する                              |
| サブスクリプションをキャンセル                     | サブスクリプションをキャンセルすると、そのサブスクリプションの新しい請求書の作成が無効になり、`auto_advance` が `false` に設定され、そのサブスクリプションのすべての請求書の自動回収が停止されます。「サブスクリプションをキャンセルすると、自動化の実行がすぐに停止されます。」 | サブスクリプションの決済が失敗する                              |
| 請求書に回収不可とマーク                        | 顧客がこの請求書の支払いを行う可能性は低く、会計処理で回収不能金として処理する必要があります。                                                                                                      | - サブスクリプションの決済が失敗する
  - 請求書が確定される
  - 請求書の期日超過 |
| チームにメールを送信する                        | カスタムのメモを、トリガーに関する詳細とともにメールでチームメンバーや社内のメールアドレスに送信します。                                                                                                 | すべてのトリガー                                       |
| サブスクリプションのキャンセルのメールを送信する            | キャンセルの確認のメールを顧客に送信します。キャンセルの理由を収集するための質問へのリンクを含めることもできます。                                                                                            | サブスクリプションがキャンセルされます                            |
| `invoice.will_be_due` Webhook を送信する | まもなく期日超過になる請求書に関するリマインドメールを受け取るために、カスタムの遅延を指定して、この Webhook がトリガーされるようにスケジュールを設定することができます。                                                            | 請求書の期日設定                                       |

## 自動化を管理して編集する

このセクションでは、優先順位を設定して、自動化を一時停止または停止する方法を説明します。これらのアクションにより、自動化が想定どおりに機能することを確認できます。

### 優先順位

同じトリガーに複数の自動化を設定できますが、各イベントでは 1 つの自動化のみが実行されます。複数の自動化に適用されるイベントが発生すると、Stripe は、フィルター条件の優先順位を確認して、最初に一致した自動化を実行します。それ以外の自動化は無視されます。

自動化が実行されると、グローバル設定は無視されます。

- **シナリオ A**: 条件を指定せずに `Subscription payment fails` イベントの自動化を作成した場合、自動化はサブスクリプションの支払いが失敗するたびに実行されます。サブスクリプションの支払い失敗に関するデフォルト設定は、実行されません。

- **シナリオ B**: 請求書の金額が 100 USD を上回ることを条件に指定して、`Subscription payment fails` の自動化を作成した場合、サブスクリプションの支払いが失敗し、請求書が 100 USD を超えた場合に自動化が実行されます。サブスクリプションの支払いが失敗しても、請求書が 100 USDに満たない場合、代わりにサブスクリプションの支払いの失敗に関するデフォルト設定が実行されます。

トリガーの優先順位を変更するには、自動化のリストを開き、そのトリガーの自動化のオーバーフローメニュー (⋯) をクリックして、**優先度を更新する**を選択します。自動化の詳細ページの**アクション**メニューから選択することもできます。**優先度を設定**パネルで、それぞれの自動化を目的の位置にドラッグして、**保存**をクリックします。

### 自動化の一時停止または停止

自動化をオフにするか一時停止するには、売上回収ページの[自動化タブ](https://dashboard.stripe.com/test/revenue_recovery/automations)に移動して、その自動化のトグルをオフにします。その自動化で何らかの実行が進行中の場合は、終了するまで待つか、すべての実行を即時にキャンセルすることができます。

自動化は、いつでも再び有効にすることができます。
