請求書を発行して送り、そのまま支払ってもらう — kbilling を公開しました
請求書まわりのシステムを、もう1本公開しました。
kbilling — 請求書をPDFで発行し、お客様専用のURLをメールで送って、銀行振込またはPayPal(カード可)で支払ってもらうシステムです。コードは MIT License で無償公開しています。デモも触れます(https://proto.exbridge.jp/kbilling/・パスワード demo2026)。
昨日公開した kinvoice が入金後の領収書なら、kbilling は入金前の請求と回収。並べると一周つながります。
kpaylink 注文を受ける(決まった商品・決まった金額)
kbilling 請求書を送って回収する(案件ごとの明細・金額)
kinvoice 入金後に領収書を送る
請求書として、ちゃんとしています
- 明細は最大12行。数量×単価、値引き行(マイナス単価)も書けます
- 消費税は10%・8%・0%。税率ごとに1回だけ端数処理するので、行ごとの計算で起きる1円ズレがありません(999円+999円を行ごとに課税すると198円、正しくは199円。1円ずれた請求書は経理で止まります)
- 適格請求書(インボイス)対応。登録番号は設定したときだけ印字します。架空の番号を書く必要がありません
- 一覧では未入金・期限超過・入金済が一目で分かります
お客様の側はメールで届いたURLを開くだけ。ログイン不要です。請求書を受け取る取引先に、こちらのアカウントを作らせる運用は成り立ちません。
PayPalの入金を「信じない」
このシステムでいちばん力を入れた部分です。
決済ボタンはブラウザの中で動きます。決済が終わると、JavaScriptが「支払いました」とサーバーへ知らせてくる——この知らせは、開発者ツールから同じリクエストを送るだけで偽造できます。素直に信じると、1円も払わずに入金済みにできてしまう。
kbilling はPayPalの Orders API に直接照会し、次の4つ全部が揃ったときだけ入金として記録します。
| 確かめること | 弾ける攻撃 |
|---|---|
| 決済が確定している(COMPLETED) | 承認だけして確定していない決済 |
| 通貨が JPY | 462,000ドルのつもりの462,000円 |
| 金額が請求額と一致 | 1円だけ払って全額分にする |
| 請求書IDが一致 | 他の請求書で本当に払った決済IDの使い回し |
4つ目が要点です。金額と状態だけ見ていると、同じ金額の別の決済が通ります。偽の決済16パターンを弾くテストを同梱しました。
そして secret を設定しない限り、決済ボタン自体を出しません。照合できない決済は受け付けない、という方針です。
口座はコードに書いてありません
発行元・住所・登録番号・振込先は、すべて設定ファイルから読みます。設定するまで請求書にも画面にも何も出ません。
それだけでなく、ソースに口座らしき文字列が現れるとテストが落ちるようにしてあります。「銀行+支店」「普通+6桁以上の数字」を検出します。コピー元から持ち込む事故は、動作テストでは気づけないからです。
——実は、この検査を作っている最中に、「口座番号を書くな」と教える文書に実物の口座番号を書いていたのを、この検査自身に止められました。その顛末も教材にそのまま残してあります。
入手方法
- コード: GitHub(MIT・無償)
- デモ: https://proto.exbridge.jp/kbilling/(パスワード
demo2026・メールは送信されません) - 有償パッケージ: Kurage App Store で 55,000円(税込)
有償版には、AIに渡すだけで設置が進む手順書(CLAUDE.md / AGENTS.md / INSTALL.md)、実際に踏んだ罠の記録(「拒否できた」と読み違えた話・上の口座番号の話など6本)、見積書へ改造する練習問題、そして VWorkフレームワーク一式を同梱しています。
姉妹品の kpaylink(注文ページ)も同日公開です。
関連書籍『AIと作る自動取引ボット入門』
『AIと作る自動取引ボット入門:バイブコーディング×バイブトレーディングで暗号資産・FX戦略を育てる』(小嶋 篤 著・Kindle)は、非エンジニアがAIと対話しながらシステムを組み上げ、運用するまでを、実際の失敗と学びから全49章にまとめた実践書です。
「決済を信じない」「口座をコードに書かない」——お金が絡むシステムの作法は、この本に記録した自動取引の実運用で身につけたものです。Kindle Unlimitedなら追加料金なしで読み放題です。
まとめ
請求と回収は、面倒だから後回しになり、後回しにするから資金繰りが苦しくなります。
発行して、送って、支払ってもらうまでを1本で。まずはデモを触ってみてください。
https://proto.exbridge.jp/kbilling/(パスワード demo2026)
