請求書アプリの作り方
請求書アプリは、取引先の一覧を保持し、明細と税を含む請求書を作成でき、それぞれに一意の番号を付け、PDF またはクライアントが開けるリンクを作り、支払いが済んだかを追跡します。最初のバージョンは、AI で一日か二日で作れるシンプルなデータベースアプリです。採番、税、確定後の請求書のロック、支払いステータスといった細部こそが、おもちゃと、実際にクライアントへ送れるものとの違いを生みます。
どの種類の請求ツールが必要かを決める
「請求書アプリ」といっても、いくつかの異なるものがあります。始める前に一つ選んでください。
| 種類 | 利用者 | 特徴 |
|---|---|---|
| 個人向けの請求書作成ツール | フリーランス | 事業者は一つ、簡単な PDF、誰が支払ったかの簡単な一覧 |
| 小規模ビジネス向けの請求ツール | 小さなチーム | 複数のユーザー、共有の取引先一覧、レポート |
| より大きなアプリの中の請求機能 | 顧客またはスタッフ | 既に記録している案件、予約、作業時間から作る請求書 |
| 他者に提供する請求製品 | 多数の事業者 | 各アカウントは自分のデータだけを見る。これは SaaS |
三つ目の種類は、自作の利点が最も大きくなる場所です。すでに案件や作業時間を記録しているなら、そのデータから請求書を作れば、再入力の手間が省けます。四つ目は、アカウントと課金に関する独自の課題があるSaaS の MVP になります。
データモデル
四つのテーブルで、ほとんどのニーズをカバーできます。
- 事業者の設定:事業者名、住所、税番号または VAT 番号、ロゴ、振込先、既定の支払い条件、既定の税率、通貨、次の請求書番号。
- 取引先:名前、会社名、メール、請求先住所、必要に応じた税番号、既定の条件。
- 請求書:番号、取引先、発行日、支払期日、ステータス、通貨、メモ、合計(小計、税、総額)。
- 明細:請求書、内容、数量、単価、税率、明細の金額。
クライアントが分割払いや複数の方法で支払うなら、支払いテーブルも加えてください。請求書、日付、金額、方法、参照番号を持ちます。
重要なルール
これらは、明示的に指示しない限り AI ビルダーが正しく作れない部分です。
- 連番で一意の番号。 多くの税制度では、請求書番号が一意で連続していることが求められます。番号は、下書きを作ったときではなく、請求書を発行したときにサーバー側で採番してください。そうすれば、破棄された下書きで欠番が生じません。
- 送付済みの請求書はロックする。 一度送った請求書を黙って編集するのは問題になります。編集を許すのは下書きだけにし、送付済みの請求書は無効にして新しく発行するか、貸方票を発行してください。
- 取引先の情報をスナップショットとして保存する。 取引先が来年住所を変えても、昨年の請求書には古い住所が表示され続けるべきです。請求書を発行するときに、取引先の情報を請求書にコピーしてください。
- 金額は最小単位の整数で扱う。 合計がずれないように、金額は小数ではなくセント(または銭)で保存してください。税は税務当局が求める方法で丸めます(明細ごとか、請求書ごとか)。
- ステータスは実態に合わせる。 下書き、送付済み、支払い済み、一部支払い、期限超過、無効です。「期限超過」は、手で設定するのではなく、支払期日から計算してください。
PDF か請求書ページか
クライアントは PDF を期待しますが、Web ページの方が同じ内容を保ちやすくなります。多くの請求ツールは両方を提供しています。
- 共有可能な請求書ページ:推測されにくい長いリンク付きで、クライアントはログインせずに閲覧・支払いができます。
- PDF のダウンロード:同じデータから生成し、ロゴと事業者情報を載せます。
印刷に適したレイアウトにし、用紙サイズ(A4 または US Letter)を確認してください。明細が長い場合は、ページをきれいに分割できるようにしてください。
オンラインで支払いを受け取る
多くの事業では、請求書に振込先を記載するだけで十分です。カード決済が必要なら、決済プロバイダーを接続します。
- Stripe のチェックアウトまたは決済リンク:請求金額の決済です。クライアントは請求書ページで「今すぐ支払う」をクリックします。
- Webhook:決済が成功すると、プロバイダーがアプリに通知し、アプリが請求書を支払い済みにします。クライアントが成功ページに戻っただけで支払い済みにしてはいけません。そのページは、支払わずにもアクセスできるからです。アプリに決済を追加する方法 を参照してください。
- まずはテストモードで。 決済プロバイダーのテストキーとテストカードで、一連の流れが完全に動くまで確認してください。
なお、Stripe は 2026 年 9 月時点で、ホスト型の請求書ページを備えた独自の請求書機能も提供しています。請求書を送って支払いを受け取るだけなら、それで十分かもしれません。
リマインダー
「請求書の支払期日が近づいています」という自動メールは、最も評価される機能の一つであり、同時に最も間違えやすいものでもあります。必要なものは次のとおりです。
- メールプロバイダー(Resend、Postmark、SendGrid など)。アプリからメールを送る方法 を参照してください。
- 期限超過の請求書を見つけるために、スケジュールに従って動く仕組み。アイドル時にスリープする公開 Web アプリは、自分では起きてきません。そのため、チェックをどう起動するかをビルダーに確認してください。たとえば、外部の cron サービスからアプリのエンドポイントを定期的に呼び出す方法があります。
- どのリマインダーを送ったかの記録。同じメールを二度送らないようにするためです。
まずは手動の「リマインダーを送る」ボタンから始めてください。自動化は後からで構いません。
最初のプロンプトの例
私のウェブデザイン事業のための請求書アプリを作ってください。ログインして取引先を管理します。取引先の項目は、名前、会社名、メール、請求先住所、VAT 番号です。明細(内容、数量、単価)を付けて請求書を作成し、明細ごとに VAT 率を設定します。小計、VAT、合計がリアルタイムで計算されて表示されるようにしてください。請求書番号は連番にし(INV-0001、INV-0002 のように)、請求書を送付済みに変更したときに採番します。下書きは編集可能にし、送付済みの請求書はロックしてください。各請求書にはステータス(下書き、送付済み、支払い済み、期限超過)と支払期日があります。期限超過は支払期日から計算してください。各請求書には、非公開の共有リンクと、私のロゴと振込先を載せた PDF のダウンロードを用意します。ダッシュボードには未回収の総額と期限超過の総額を表示してください。金額は銭で保存します。通貨は GBP のみです。すべてをデータベースに保存してください。
構築の手順
- まず設定と取引先。 すべての請求書がこれに依存するので、事業者情報と取引先の一覧を先に動かします。
- 請求書の編集画面。 明細、税、合計。端数のある数字でテストしてください。たとえば 33.33 ポンド × 3 点を税率 20% で計算し、電卓で合計を確認します。
- 採番とロック。 請求書を三つ発行し、下書きを一つ削除して、また一つ発行します。番号は欠番も重複もなく連続しているはずです。
- 請求書ページと PDF。 共有リンクをプライベートウィンドウで開きます。PDF を印刷します。
- 支払い。 Stripe をテストモードで追加し、テストカードで請求書を支払って、Webhook が支払い済みにすることを確認します。
- セキュリティの確認。 ログアウトして、URL の ID を書き換えて他の取引先の請求書を開こうとしてみてください。開けるのは非公開リンクだけで、そのリンクでも他の請求書は見えないはずです。より多くの確認項目はAI で作ったアプリのセキュリティチェックリスト にあります。
- エクスポート。 会計士向けに、請求書と支払いの CSV エクスポートを追加します。
よくある間違い
- 浮動小数点で金額を扱う。 0.1 + 0.2 が 0.3 にならない問題は、実際のアプリで本当にあるバグです。最小単位の整数で保存してください。
- 送付済みの請求書を編集できる。 取引先が受け取った後に変更すると、紛争や会計上の問題の原因になります。
- 下書きの段階で番号を振る。 欠番や混乱が生じます。
- 推測しやすい請求書リンク。
/invoice/42は、/invoice/43を試したくなる誘いです。長いランダムなトークンを使ってください。 - 税制度は一つだと思い込む。 税率、リバースチャージ、必須の記載文言は、国や取引先の種類によって異なります。会計士に確認し、AI に推測させないでください。
- バックアップがない。 請求書は、何年も保存する義務があるかもしれない記録です。定期的にエクスポートし、プランが許すなら、コードを GitHub に保存してください。
費用とツール
| 項目 | 用途 | 注意点 |
|---|---|---|
| アプリビルダー・ホスティング・データベース | アプリの作成と運用 | Mythex では、一つのクレジット残高でこれらすべてをまかなえます。料金 を参照してください |
| 決済プロバイダー | カード決済 | 取引ごとに手数料がかかります。国ごとの現在の料金を確認してください |
| メールプロバイダー | 請求書とリマインダーの送信 | 少量であれば無料枠があるものが多いです |
| ドメイン | 請求書リンクのプロフェッショナルな見た目 | 任意。年単位で課金されます |
既製の請求ソフトが適している場合
自作が向いているのは、請求が自分の業務の流れの一部であるとき、請求の仕方に合わせて形を作り込みたいとき、あるいは既に持っているアプリに請求書機能を加えたいときです。次のような場合は、確立された会計ソフトや請求ソフトを選んでください。
- 帳簿付け、銀行口座の連携、経費管理、税務申告を一か所でまとめたい。
- 所在国が特定の形式、または認定された経路での電子インボイスを義務付けている。
- 会計士が使い慣れたツールで作業してほしい。
よくある中間の道は、事業に固有の部分(案件、作業時間、クライアントが請求書を見られるクライアントポータル)だけを自作し、数字は会計ソフトにエクスポートする方法です。小規模ビジネスにおけるソフトウェアの自作と購入 で、その判断を解説しています。
Mythex で作る
Mythex では、チャットで請求書アプリを説明すると、ライブプレビューで形になっていきます。アプリに必要になれば データベース が追加され、Stripe のシークレットなどの API キーは プロジェクトのシークレット に保管されます。アプリはすぐに使える URL に公開されます。自分のキーを持ち込む構成は、Stripe のレシピ のドキュメントで説明しています。基本がすでに書かれたプロンプトから始めたい場合は、請求書ジェネレーター または フリーランス向け請求 のテンプレートを試してください。
よくある質問
請求書アプリにはどんな機能が必要ですか?
取引先の一覧、明細・税・合計を含む請求書、一意で連番の請求書番号、PDF または共有可能な請求書ページ、そして請求書ごとのステータス(下書き、送付済み、支払い済み、期限超過)です。オンライン決済とリマインダーは、最も役立つ次の追加機能です。
請求書アプリでクレジットカード決済を受け付けられますか?
はい。Stripe などの決済プロバイダーを通じて可能です。アプリは請求書の金額で決済リンクまたはチェックアウトを作成し、決済が成功すると、プロバイダーからの Webhook が請求書を支払い済みにします。
自作の請求書アプリを使うのは合法ですか?
一般的には問題ありませんが、請求書には国ごとに異なる法的な記載要件があります。売り手の詳細、税番号、日付、税額の内訳などです。また、一部の国では決まった形式での電子インボイスが義務付けられています。頼る前に、会計士にどれが適用されるかを確認してください。
請求書アプリを作るべきか、会計ソフトを使うべきか?
帳簿付け、税務申告、銀行口座との照合が必要なら会計ソフトを使ってください。請求が、自分の業務の流れ(案件、作業時間、プロジェクト)と結び付いているとき、または席数ごとの料金を払わずにシンプルなツールがほしいときに、自作が向いています。