Claude Codeで請求書を自動生成した話【freee連携実録】

Claude Codeで請求書を自動生成した話【freee連携実録】のアイキャッチ画像

Claude Codeを使えば、freeeと連携した請求書の自動生成が実現できます。私が実際に構築したフローでは、月次処理が手作業の約1/5の時間で完了するようになりました。

目次

Claude Code × freee連携とは?何ができるのか?

Claude Codeは、Anthropicが提供するターミナルベースのAIコーディングエージェントです。単にコードを書くだけでなく、APIを叩いたりファイルを操作したりといった「実行」まで担えるのが最大の特徴です。freeeはご存じのとおり、中小企業・フリーランス向けのクラウド会計・請求書管理サービス。この2つを組み合わせると何ができるのか、まず整理します。

  • クライアント情報の自動取得:freee APIから取引先マスタを引っ張り、請求先情報を動的に挿入
  • 請求書の自動作成・登録:Claude Codeが生成したデータをfreee APIでPOSTし、請求書ドラフトを作成
  • 月次バッチ処理:スケジューラと組み合わせれば、毎月1日に自動でまとめて発行
  • Notionや外部スプレッドシートとの連携:作業報告書や工数管理表から金額を自動集計して請求額に反映

freeeのAPIは2024年時点で無料プランでも基本的なエンドポイントを利用できます(一部機能はビジネスプラン以上が必要)。Claude Codeは月額$20のProプラン契約があれば利用可能で、APIキーを発行すればローカル環境からフル活用できます。

実際の構築手順は?環境構築から請求書発行までとは?

ここからは、私が実際にHinotoriの業務委託案件で組んだフローをベースに、再現可能な形で手順を公開します。プログラミングの経験がなくても、Claude Codeに指示しながら進めれば大半の工程をカバーできました。

Step 1|freee APIの認証情報を取得する

freeeの開発者ポータル(dev.freee.co.jp)にアクセスし、アプリを新規作成します。取得すべき情報は以下の3点です。

  1. Client ID
  2. Client Secret
  3. アクセストークン(OAuth2フロー経由)

アクセストークンの取得にはOAuth2の認可フローが必要です。初回だけブラウザでの操作が発生しますが、一度取得したリフレッシュトークンを保存しておけば以降は自動更新されます。私はこのトークン管理部分もClaude Codeに「Pythonでリフレッシュトークンを使った自動更新スクリプトを書いて」と指示して生成しました。所要時間は約10分です。

Step 2|Claude Codeに請求書生成ロジックを書かせる

ターミナルでClaude Codeを起動し、以下のようなプロンプトを投げます。

「freeeのAPIを使って請求書を作成するPythonスクリプトを書いてください。取引先IDと品目リスト(名前・数量・単価)を引数で受け取り、freeeに請求書をPOSTしてください。認証はOAuth2のベアラートークンを使います」

Claude Codeはコードを生成するだけでなく、エラーが出た場合もターミナル上で自律的にデバッグを試みます。私が試したところ、freee APIのレスポンス形式の差異(`invoices`と`invoice`のネスト違い)をClaude Code自身が気づいて修正してくれました。このデバッグサイクルが人間がやるより格段に速い。

Step 3|Notionの工数表と連携する

私の実業務では、月ごとの稼働時間をNotionのデータベースで管理しています。Notion MCPを使ってClaude Codeからデータを直接読み取り、時間×単価の計算を自動化しました。具体的には:

  • Notionの「2025年6月稼働ログ」データベースを参照
  • プロパティ「稼働時間(h)」と「単価(円)」を取得
  • 合計金額をfreeeの請求書品目として自動挿入

このフローにより、月末に「Notionの工数表を確認して請求書を作って」と一言指示するだけで、Claude Codeが全工程を実行します。

構築してみてわかった3つの落とし穴は?

実際に動かしてみると、ドキュメントには書いていない問題が必ず出てきます。私が遭遇した課題と、Claude Codeを使った解決策を共有します。

落とし穴①|freee APIのレート制限

freeeのAPIには1時間あたり3,600リクエストの上限があります(2024年時点の公式ドキュメント記載値)。月次で100件以上の請求書を一気に発行しようとすると、この制限に引っかかります。解決策は、Claude Codeに「1リクエストごとに1秒のウェイトを入れて」と指示してtime.sleep(1)を挿入させること。単純ですが効きます。

落とし穴②|消費税の扱いが複雑

freeeの請求書APIでは、品目ごとに税区分コードを指定する必要があります。「課税売上10%」は`tax_code: 1`といった形です。この税区分の対応表がAPIドキュメントで分散していて見つけにくい。私はClaude Codeに「freeeの税区分コード一覧を表形式でまとめて、スクリプトにdictとして定義して」と指示して一発解決しました。

落とし穴③|請求書番号の重複

バッチ処理を複数回走らせると、同じ請求書が重複登録されるリスクがあります。freeeはデフォルトで重複チェックをしてくれません。対策として、発行済みの請求書番号をローカルのJSONファイルに記録し、実行前に照合するロジックをClaude Codeに追加してもらいました。このチェック機能の追加にかかった時間は、Claude Codeとのやり取り込みで約15分です。

実際にどれだけ時間が削減できたのか?

定性的な話だけでは説得力がないので、私自身の実測値を公開します。対象は月次の業務委託請求書(クライアント数:4社、品目数:平均6〜8品目/社)です。

作業項目自動化前(手作業)自動化後(Claude Code)
工数集計約30分約2分(Notion連携)
請求書データ入力約40分約0分(自動生成)
freeeへの登録約20分約1分(API自動POST)
確認・修正約10分約5分(目視確認のみ)
合計約100分約8分

月次100分が8分に短縮。削減率は約92%です。年換算では約18時間分の工数が浮く計算になります。私の場合、この空き時間をコンサルティング業務や発信活動に充てられるようになりました。フリーランスにとって「請求書を作る時間」は売上を生まない純粋なコストです。ここを圧縮できる効果は数字以上に大きい。

Claude Codeを請求書自動化に使う際のベストプラクティスは?

最後に、同じような自動化を試みる人に向けて、実業務から得たノウハウをまとめます。

プロンプトは「役割」「入力」「出力」の3点を明示する

Claude Codeへの指示は曖昧にするほど精度が下がります。「freeeで請求書を作るスクリプト」ではなく、「Python 3.11環境で動作するスクリプトを書いてください。入力:取引先ID(int)、品目リスト(dict形式)。出力:freeeに登録された請求書のURL。エラー時はslack webhookに通知する」という形で具体化することで、一発で使えるコードが返ってくる確率が上がります。

生成されたコードは必ず「サンドボックス環境」で先に通す

freeeには「テスト会社」機能があります。本番の会計データに影響を与えずにAPIをテストできるので、必ずここで動作確認をしてから本番環境に適用してください。私は最初この手順を省いてテストデータが本番に入り込み、削除対応に30分かかった経験があります。

スクリプトは「モジュール分割」を指示する

一枚岩のスクリプトを作ると、後から仕様変更があったときにメンテが大変になります。Claude Codeに「認証モジュール・データ取得モジュール・API送信モジュールに分けて書いて」と指示すると、保守性の高い構造で出力されます。実際、私のスクリプトはクライアントが1社増えた際も、設定ファイルに1行追加するだけで対応できました。

ログ出力は必須にする

自動化が静かに失敗するのが最も危険です。「各ステップでPythonのloggingモジュールを使ってINFOレベルのログを出力し、エラー時はERRORレベルでスタックトレースも記録して」という指示をセットで入れる習慣をつけると、トラブルシューティングが格段に楽になります。

完全自動化より「半自動化」から始める

「全部自動でやりたい」という気持ちはわかりますが、最初は「スクリプトが請求書を作成してドラフト状態で保存し、最終送付だけ人間がボタンを押す」という設計にすることをすすめます。freeeでは請求書のステータスを「下書き」「送付済み」で管理できるので、このフローが現実的かつリスクが低い。完全自動化は運用を3ヶ月経験してから検討するのが適切です。

Claude Codeは「コードを書いてくれるAI」ではなく、「自分の業務フローをシステム化してくれるパートナー」として使うのが正解です。freeeとの連携は、その典型的なユースケースのひとつ。まずはテスト環境で1社分の請求書を自動生成するところから始めると、全体像がつかめます。

よくある質問(FAQ)

Q. Claude Code × freee連携とは?何ができるのか?

Claude Codeは、Anthropicが提供するターミナルベースのAIコーディングエージェントです。単にコードを書くだけでなく、APIを叩いたりファイルを操作したりといった「実行」まで担えるのが最大の特徴です。freeeはご存じのとおり、中小企業・フリーランス向けのクラウド会計・請求書管理サービス。この2つを組み合わせると何ができるのか、まず整理します。

Q. 実際の構築手順は?環境構築から請求書発行までとは?

ここからは、私が実際にHinotoriの業務委託案件で組んだフローをベースに、再現可能な形で手順を公開します。プログラミングの経験がなくても、Claude Codeに指示しながら進めれば大半の工程をカバーできました。

Q. 構築してみてわかった3つの落とし穴は?

実際に動かしてみると、ドキュメントには書いていない問題が必ず出てきます。私が遭遇した課題と、Claude Codeを使った解決策を共有します。

Q. 実際にどれだけ時間が削減できたのか?

定性的な話だけでは説得力がないので、私自身の実測値を公開します。対象は月次の業務委託請求書(クライアント数:4社、品目数:平均6〜8品目/社)です。

Q. Claude Codeを請求書自動化に使う際のベストプラクティスは?

最後に、同じような自動化を試みる人に向けて、実業務から得たノウハウをまとめます。

執筆者:辰巳裕亮(組織開発専門家・AIツール活用コンサルタント)
元AWJ CAWO。AIツールを実業務に組み込んだ実体験をもとに発信。
プロフィール | 組織開発Lab

辰巳裕亮|AI仕事術 — Xで毎日発信中

速報・実録・AIツール比較をX(旧Twitter)で毎日投稿。記事より一歩早い情報はこちら。


@tatsumi_ai をフォローする

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

組織開発専門家・AIツール活用コンサルタント。元CAWOとして人事・組織開発に従事後、独立。NotionやClaude等のAIツールを実業務に組み込んだ実体験をもとに、文系ビジネスパーソン向けに情報発信。humanconnect.jp(組織開発Lab)運営。

コメント

コメントする

目次