財務レポート というのは、おおざっぱには、Balance Transaction のリストや集計だ。

取得方法

ダッシュボードか Reporting API を使って CSV 形式で取得する。ただしバッチ処理されて蓄積されるので、リアルタイムではない。

Balance Transaction のリストを取得してもいいけれど、API を呼び出しまくる必要がある。だったら Webhook で検出して、アプリケーション側のデータベースに保存したほうがかも知れない。

残高レポート

残高レポートは、期間を指定して Account の残高増減に関連する取引履歴や集計を取得する。支払い(決済)、手数料、Connected Account との資金フロー、返金、チャージバック、銀行口座への入金が含まれる。

下表なような取引 ≒ Balance Transaction があった場合を考える。

Date Item Platform Account Connected Account Stripe Comment
1 12/2 Destination Charge +164 +800 +36 支払い 1000
2 12/21 delay_days 指定日 ... ... ... この日までの取引が入金対象
3 12/22 Destination Charge +328 +1600 +72 支払い 2000
5 12/25 Payout -164 0 0 2 以前の取引収支が対象。ここでは Platform のみを考える
6 12/26 Account Debiting +2462 -2500 +38 4 のコストを回収
7 1/03 Connect Fee -452 0 +452 計算方法は一昨日の記事を参照

取引 1 と 3 の Destination charge は、実際には 3 つの Balance Transaction に分解される。

取引 4 のチャージバックによる返金と手数料は、Platform Account から引かれる。

取引 6 の Account Debiting は、取引 4 の残高減少を Connected Account に負担させるための処理だ。2 日後になっているけれど、直後に実行してもいいし、翌月に実行してもいい。

このとき、Platform Account の残高レポートは、下表のようになる。

Date Item Platform Account Connected Account Stripe
1 12/2 Destination Charge +164 +800 +36
2 12/21 delay_days 指定日 ... ... ...
3 12/22 Destination Charge +328 +1600 +72
4 12/23 チャージバック -2500 0 +1500
5 12/25 Payout -164 0 0
6 12/26 Account Debiting +2462 -2500 +38
収支 -366

-366 は Platform Account の 12 月の収支だ。そのうちの、-164 は Platform の銀行口座にすでに移動している。用途によっては、Payout の金額を省いて集計する必要がある。

入金の照合

入金の照合は、Payout ID を指定して、関連する Balance Transaction を取得・集計するのと似ている。ある payout = 銀行口座への入金の金額が、どの取引によって決定したのか分かる。このレポートは、Scheduled Payout のときにだけ取得できる。

このとき、Platform Account のレポートは、下表のようになる。

Date Item Platform Account Connected Account Stripe
1 12/2 Destination Charge +164 +800 +36
2 12/21 delay_days 指定日 ... ... ...
収支 +164

delay_days で指定した日よりも前の取引だけが、入金に反映される。取引 3 よりあとの取引は、翌月の入金に反映される。

Connected Account

今回は Platform Account の立場からのレポートを見ている。Connected Account の立場から見ることもできる。ダッシュボードではプルダウンで指定、API では Stripe-Account ヘッダを指定すればよい。

まとめ

財務レポートを見てきた。明日は on_behalf_of プロパティを見ていく。