Stripeとfreeeの二重計上を防ぐ方法|3つの原因と実務の対処
Stripe の売上を freee やマネーフォワードに取り込むと、同じ取引が二重に記帳される「二重計上」が起きがちです。原因はほぼ次の3つに集約されます——①Webhookの二重発火(invoice.paid と charge.succeeded)、②手数料の二重控除、③入金と売上の二重仕訳。この記事では、Stripe の決済フローに沿って「どこで・なぜ起きるか」と「実務での防ぎ方」を具体的に解説します。
原因①:invoice.paid と charge.succeeded の二重発火
Stripe Billing(サブスクリプションや請求書)で決済すると、Stripe は2種類のイベントを送ります。
invoice.paid(またはinvoice.payment_succeeded)= 請求書の支払い完了。IDはin_...。charge.succeeded= その裏で走ったカード決済。IDはch_...。
両方のイベントで売上を計上すると、同じ取引が in_ と ch_ の2行として記帳され、売上が2倍になります。IDが異なるため「決済IDで重複を防ぐ」単純な冪等化では防げないのが厄介な点です。
対処
Billing 経由の決済は invoice イベント側(in_)を正とし、その invoice に紐づく charge.succeeded はスキップします(charge オブジェクトの invoice 参照の有無で判別できます)。逆に、Billing を介さない都度決済(Checkout の一回払い・PaymentIntent 直)は charge 側で計上します。イベントの種類ではなく「invoice に紐づくか」で1回に絞るのがポイントです。
原因②:手数料の二重控除
Stripe の決済手数料は、売上そのものからではなく入金(payout)の純額から控除される形で発生します。ここで、
- 売上仕訳で手数料を差し引き、
- さらに入金仕訳でも手数料を差し引く、
と手数料が二重に費用計上されます。
対処
売上は総額で計上し(借方 売掛金/貸方 売上+仮受消費税)、手数料は入金消込の1か所だけで計上します。入金仕訳は「借方 普通預金(純額)+支払手数料 / 貸方 売掛金(総額)」の形にすると、手数料がちょうど1回だけ費用化されます。
| タイミング | 借方 | 貸方 |
|---|---|---|
| 売上計上(決済時) | 売掛金 11,000 | 売上 10,000 / 仮受消費税 1,000 |
| 入金消込(payout時) | 普通預金 10,640 / 支払手数料 360 | 売掛金 11,000 |
※金額・勘定科目は例です。手数料の消費税区分(対象外/非課税仕入/課税仕入10%)は事業者・取引の性質で判断が分かれるため、顧問税理士にご確認ください。
原因③:入金(payout)と売上の二重仕訳
Stripe の銀行入金は複数決済の純額(売上−手数料)を束ねたもので、振込名義は「ストライプジヤパン(カ」。この入金を見て「売上が入った」ともう一度売上を立てると、売上計上(原因①)と合わせて売上・入金が二重になります。
対処
入金は必ず売掛金の消込として処理します。決済時に立てた売掛金を、payout の内訳(どの決済が含まれるか)に沿って消し込む——これで「売上は決済時に1回、入金は消込で1回」の正しい1対1になります。Stripe の入金内訳CSV(itemized payout reconciliation)や balance transaction を使うと、どの決済がどの入金に含まれるかを決済ID(ch_)で辿れます。
まとめ:二重計上を防ぐ2つの原則
- 売上は「決済イベント1つにつき1回・総額で」。Billing は invoice を正、紐づく charge はスキップ。
- 手数料と入金は「payout の消込で1か所だけ」。入金は売掛金の消込として処理し、手数料はそこで1回だけ費用化。
この処理を自動化したい方へ
Wavis は Stripe をつなぐだけで、決済ごとの適格請求書の自動発行から、上記の二重計上を避けた仕訳・入金消込・手数料の証憑までを自動で組み立て、freee / マネーフォワードへそのまま連携します。30日間 無料で試す(カード登録不要)→
まずは2分の無料健康診断で、あなたのStripeの先月の帳簿漏れ(チャージバック損・為替差・返金失敗・調整)が円額でいくらあるかを確認できます(登録不要・読取専用キーを貼るだけ・保存しません)。
よくある質問
- StripeのWebhookでinvoice.paidとcharge.succeededの両方が届くのはなぜ?
- Billing の決済は「請求書の支払い完了(in_)」と「その裏のカード決済(ch_)」の両方でイベントが発火するためです。IDが異なるので、invoice に紐づく charge はスキップして1回に絞ります。
- Stripeの決済手数料はどう計上すれば二重になりませんか?
- 売上は総額で計上し、手数料は入金(payout)消込の1か所(支払手数料)でだけ計上します。売上時と入金時の両方で引くと二重控除になります。
- 入金と売上を別々に仕訳すると二重計上になりますか?
- なります。入金は必ず売掛金の消込(普通預金/売掛金)として処理してください。入金でもう一度売上を立てると二重になります。
本記事は一般的な実務の解説であり、個別の税務判断・申告の助言ではありません。適用にあたっては顧問税理士・国税庁の公式情報をご確認ください。