# 推移表

推移表レポートで月次の収益を表示して分析します。

[推移表レポート](https://dashboard.stripe.com/revenue-recognition/accounting-reports)には、月次の収益に関する情報が表示されます。表示する範囲を選択し、計上された売上を表示する期間の最終月を指定できます。

たとえば、次のウォーターフォールは、2025 年 4 月に請求された収益と、2025 年 6 月末までの月次認識収益を示しています。

|  |
| **計上済み** | **売上** | **2025 年 6 月時点** |
| **月** | **合計** | **2025 年 5 月** | **2025 年 6 月** | **売上** | **残額** |
| 2025 年 4 月 | 2,000,000 米ドル | 400,000 米ドル | 700,000 米ドル | 1,100,000 米ドル | 900,000 米ドル |

この例では、2025 年 4 月に 2,000,000 米ドルの純収入が計上されました。そのうち、2025 年 5 月に 400,000 米ドル、2025 年 6 月に 700,000 米ドルが認識され、認識済みの合計は 1,100,000 米ドルです。残りの 900,000 米ドルはまだ認識されていません。

## 計上された収益

推移レポートの **Booked** (計上済み) 列には、月ごとの記帳済み収入が示されています。月ごとの記帳済み収入とは、*請求書* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice)項目、インボイスアイテム、独立した決済、返金、不審請求の申請、従量課金の使用状況で記帳された収入と前受収益の金額です。

### シンプルな請求書

この例は、以下の想定に基づいています。

- 請求書と請求書の項目は 2025 年 7 月 14 日に確定します。
- 請求書の項目の金額は 31 米ドルで、サービス期間は 2025 年 7 月 21 日から 2025 年 8 月 20 日までです。

推移表は次のようになります。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 6 月** | **2025 年 7 月** | **2025 年 8 月** | **2025 年 9 月** | **売上** | **残額** |
| 2025 年 7 月 | 31 ドル |  | 11 ドル | 20 ドル |  | 31 ドル | 0 ドル |

### マイナスの計上された売上

推移表では、返金、不審請求の申請、回収不能としてマークされた請求書、無効化された請求書により、計上された売上がマイナスであることがあります。

この例は、以下の想定に基づいています。

- 請求書と請求書の項目は 2025 年 7 月 14 日に確定します。
- 請求書の項目の金額は 31 米ドルで、サービス期間は 2025 年 7 月 21 日から 2025 年 8 月 20 日までです。
- 請求書は 2025 年 9 月 12 日に無効化されます。

以下の収益ウォーターフォールに示すように、2025 年 7 月の計上済み収益の純額は 31 米ドルで、2025 年 9 月の計上済み収益の純額はマイナス 31 米ドルになります。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 6 月** | **2025 年 7 月** | **2025 年 8 月** | **2025 年 9 月** | **売上** | **残額** |
| 2025 年 7 月 | 31 ドル |  | 11 ドル | 20 ドル |  | 0 ドル | 0 ドル |
| 2025 年 8 月 | 0 ドル |  |  |  |  | 0 ドル | 0 ドル |
| 2025 年 9 月 | -31 ドル |  |  |  | -31 ドル | 0 ドル | 0 ドル |

### 収入に税金は含まれません

税金が存在するため、請求書の合計金額が、記帳された収益と常に等しくなるとは限りません。

この例は、以下の想定に基づいています。

- 請求書と請求書の項目は 2025 年 7 月 14 日に確定
- 請求書の項目の金額は 35 USD で、サービス期間は 2025 年 7 月 21 日から 2025 年 8 月 20 日までです。
- 請求書ラインアイテムの税は 4 ドル (内税)

以下の推移表にみられるように、請求書の合計金額は 35 ドルですが、税金が 4 ドルのため、請求済みの収益は 31 ドルになります。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 6 月** | **2025 年 7 月** | **2025 年 8 月** | **2025 年 9 月** | **売上** | **残額** |
| 2025 年 7 月 | 31 ドル |  | 11 ドル | 20 ドル |  | 31 ドル | 0 ドル |

### 請求書の支払期日金額は収入ではない

請求書は顧客残高で支払われることがあるため、請求書の請求金額が常に収益と等しくなるとは限りません。

この例は、以下の想定に基づいています。

- 請求書と請求書の項目は 2025 年 7 月 14 日に確定します。
- 請求書の項目の金額は 31 米ドルで、サービス期間は 2025 年 7 月 21 日から 2025 年 8 月 20 日までです。
- 請求書の一部の 10 ドル分が顧客残高で支払われる。

以下の推移表にみられるように、請求書の請求金額は 21 USD ですが、収益は 31 USD のままになります。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 6 月** | **2025 年 7 月** | **2025 年 8 月** | **2025 年 9 月** | **売上** | **残額** |
| 2025 年 7 月 | 31 ドル |  | 11 ドル | 20 ドル |  | 31 ドル | 0 ドル |

### 請求書アイテム

アップグレード時およびダウングレード時に、請求書アイテムが自動的に作成され、前プランの未使用時間と新しいプランの残り時間が示されます。請求書アイテムは手動で作成することもできます。

計上された収益には、請求書アイテムが初めて表示された月の請求書アイテムの収益が含まれます。

この例は、以下の想定に基づいています。

- 請求書の項目が 2025 年 5 月 14 日に作成されます。
- 請求書の項目の金額は 31 ドルで、サービス期間は 2025 年 5 月 14 日から 2025 年 6 月 13 日までです。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 4 月** | **2025 年 5 月** | **2025 年 6 月** | **2025 年 7 月** | **売上** | **残額** |
| 2025 年 5 月 | 31 ドル |  | 18 ドル | 13 ドル |  | 31 ドル | 0 ドル |

この例を続けるため、2025 年 6 月 19 日に請求書を作成し、上記の請求書の項目をその請求書に追加して、さらに以下の前提でもう 1 つ項目を作成したとします。

- 請求書のラインアイテムの金額は 62 USD とする。
- 請求書の項目のサービス期間は、2025 年 6 月 21 日から 2025 年 7 月 20 日までです。

請求書には 2 つの請求書の項目が含まれます。1 つは 5 月に作成された請求書の項目です。もう 1 つは 2025 年 6 月 19 日に作成された請求書の項目です。請求書の合計金額は 93 ドルです。

推移表は次のようになります。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 4 月** | **2025 年 5 月** | **2025 年 6 月** | **2025 年 7 月** | **売上** | **残額** |
| 2025 年 5 月 | 31 ドル |  | 18 ドル | 13 ドル |  | 31 ドル | 0 ドル |
| 2025 年 6 月 | 62 ドル |  |  | 22 ドル | 40 ドル | 62 ドル | 0 ドル |

### 従量課金ベース

この例は、以下の想定に基づいています。

- 1 単位は 10 ドル。
- 2025 年 6 月に 3 単位が記録されます。
- 2025 年 7 月に 2 単位が記録されます。
- 2025 年 7 月 15 日に請求書が確定され、5 単位が請求されます。

推移表は次のようになります。

|  |
| **計上済み** | **売上** | **2025 年 9 月時点** |
| **月** | **合計** | **2025 年 6 月** | **2025 年 7 月** | **売上** | **残額** |
| 2025 年 6 月 | 30 ドル | 30 ドル |  | 30 ドル | 0 ドル |
| 2025 年 7 月 | 20 ドル |  | 20 ドル | 20 ドル | 0 ドル |

## Sigma での複製

収入推移表レポートを [Sigma](https://docs.stripe.com/data/how-sigma-works.md) で複製するには、`revenue_recognition_debits_and_credits` テーブルを使用します。

このクエリでは、2022 年 11 月から 2023 年 11 月までに計上され、2024 年 11 月までに認識される売上に対する推移表の数値が生成されます。希望する期間に合わせて自由に日付を調整できます。

> Stripe の[勘定科目表](https://docs.stripe.com/revenue-recognition/chart-of-accounts.md)のベータ機能を利用する場合は、総勘定元帳の勘定科目を反映するために、以下のクエリで必ず `unbilled_ar_accounts` のマッピングを更新してください。

```sql
select "billing_period", "currency", "total", "2022-11-01", "2022-12-01", "2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01", "2023-05-01", "2023-06-01", "2023-07-01", "2023-08-01", "2023-09-01", "2023-10-01", "2023-11-01", "2023-12-01", "2024-01-01", "2024-02-01", "2024-03-01", "2024-04-01", "2024-05-01", "2024-06-01", "2024-07-01", "2024-08-01", "2024-09-01", "2024-10-01", "2024-11-01", "deferred", "future_billings"
from (
  with unbilled_ar_accounts as (
    values 'UnbilledAccountsReceivable'
  )

  , formatted_changes as (
    select
      booked_date,
      date_format(accounting_period_date, '%Y-%m-%d') as accounting_period,
      debit,
      credit,
    	debit_account_type,
    	credit_account_type,
      currency,
      if(lower(currency) in ('bif', 'clp', 'djf', 'gnf', 'jpy', 'kmf', 'krw', 'mga', 'pyg', 'rwf', 'vnd', 'vuv', 'xaf', 'xof', 'xpf'), cast(amount as decimal(18, 0)), cast(0.01 * amount as decimal(18, 2))) as decimalized_settlement_amount,
      case when debit in (select * from unbilled_ar_accounts) OR credit in (select * from unbilled_ar_accounts) then true else false end AS is_unbilled
    from revenue_recognition_debits_and_credits
  )

  , raw_net_changes as (
    select
      debit as account,
      debit_account_type as account_type,
      decimalized_settlement_amount as raw_net_change,
      *
    from formatted_changes
    union all
    select
      credit as account,
      credit_account_type as account_type,
      -decimalized_settlement_amount as raw_net_change,
      *
    from formatted_changes
  )

  , net_changes as (
    select
      (case when account_type in ('Assets', 'ContraRevenue', 'Expenses', 'Losses')
      	then raw_net_change else -raw_net_change end) as net_change,
      *
    from raw_net_changes
  )

  , waterfall_entries as (
    select
      account,
      currency,
      date_trunc('month', booked_date) as billing_period,
      accounting_period,
      is_unbilled,
      (net_change * (case when account_type = 'Revenue' then 1 else -1 end)) as net_change
    from net_changes
    where account_type in ('Revenue', 'ContraRevenue')
  )

  select
    currency,
    billing_period,
    sum(net_change) as total,
      nullif(sum(case when accounting_period = '2022-11-01' then net_change else 0 end), 0) as "2022-11-01",
      nullif(sum(case when accounting_period = '2022-12-01' then net_change else 0 end), 0) as "2022-12-01",
      nullif(sum(case when accounting_period = '2023-01-01' then net_change else 0 end), 0) as "2023-01-01",
      nullif(sum(case when accounting_period = '2023-02-01' then net_change else 0 end), 0) as "2023-02-01",
      nullif(sum(case when accounting_period = '2023-03-01' then net_change else 0 end), 0) as "2023-03-01",
      nullif(sum(case when accounting_period = '2023-04-01' then net_change else 0 end), 0) as "2023-04-01",
      nullif(sum(case when accounting_period = '2023-05-01' then net_change else 0 end), 0) as "2023-05-01",
      nullif(sum(case when accounting_period = '2023-06-01' then net_change else 0 end), 0) as "2023-06-01",
      nullif(sum(case when accounting_period = '2023-07-01' then net_change else 0 end), 0) as "2023-07-01",
      nullif(sum(case when accounting_period = '2023-08-01' then net_change else 0 end), 0) as "2023-08-01",
      nullif(sum(case when accounting_period = '2023-09-01' then net_change else 0 end), 0) as "2023-09-01",
      nullif(sum(case when accounting_period = '2023-10-01' then net_change else 0 end), 0) as "2023-10-01",
      nullif(sum(case when accounting_period = '2023-11-01' then net_change else 0 end), 0) as "2023-11-01",
      nullif(sum(case when accounting_period = '2023-12-01' then net_change else 0 end), 0) as "2023-12-01",
      nullif(sum(case when accounting_period = '2024-01-01' then net_change else 0 end), 0) as "2024-01-01",
      nullif(sum(case when accounting_period = '2024-02-01' then net_change else 0 end), 0) as "2024-02-01",
      nullif(sum(case when accounting_period = '2024-03-01' then net_change else 0 end), 0) as "2024-03-01",
      nullif(sum(case when accounting_period = '2024-04-01' then net_change else 0 end), 0) as "2024-04-01",
      nullif(sum(case when accounting_period = '2024-05-01' then net_change else 0 end), 0) as "2024-05-01",
      nullif(sum(case when accounting_period = '2024-06-01' then net_change else 0 end), 0) as "2024-06-01",
      nullif(sum(case when accounting_period = '2024-07-01' then net_change else 0 end), 0) as "2024-07-01",
      nullif(sum(case when accounting_period = '2024-08-01' then net_change else 0 end), 0) as "2024-08-01",
      nullif(sum(case when accounting_period = '2024-09-01' then net_change else 0 end), 0) as "2024-09-01",
      nullif(sum(case when accounting_period = '2024-10-01' then net_change else 0 end), 0) as "2024-10-01",
      nullif(sum(case when accounting_period = '2024-11-01' then net_change else 0 end), 0) as "2024-11-01",
    sum(case when accounting_period >= '2024-12-01' and is_unbilled = false then net_change else 0 end) as deferred,
    sum(case when accounting_period >= '2024-12-01' and is_unbilled = true then net_change else 0 end) as future_billings

  from waterfall_entries
  where
    net_change != 0
    and billing_period >= timestamp '2022-11-01 00:00:00'
    and billing_period < timestamp '2023-12-01 00:00:00'
  group by currency, billing_period
  order by currency asc, billing_period asc
)
```
