17
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【freee MCP】経理にClaudeを雇う時代?請求書下書きワークフローをSkill化してみた

17
Last updated at Posted at 2026-06-11

はじめに

経理にClaudeを雇う時代? freee MCP × 自然言語で請求書下書き

「この請求書作成、Claudeに頼めないかな?」

経理やバックオフィスの仕事には、毎月くり返す作業がたくさんあります。

  • スプレッドシートの請求対象リストを確認する
  • freeeで請求書や見積書の下書きを作る
  • 作成済み/未作成を売上管理表に戻す
  • 未回収や入金状況を確認する
  • PDFや帳票URLを台帳に残す

もちろん、freeeを開けばできます。
ただ、毎回画面を開いて、仕様を思い出して、同じような入力と確認をくり返すのは地味に手間です。

今回は、freee MCPを使って、Claudeからfreeeの事務・経理まわりをどこまで自然言語で扱えるか試しました。
スプレッドシートの請求対象リストを読み、freeeに請求書・見積書の下書きを作り、結果を売上管理表へ書き戻す流れです。

MCPとエージェントスキルの組み合わせの最大のメリットは、セットアップが非常に簡単であることと、「MCP/APIで何ができるか」を人が覚えなくて良いところです。
freeeのAPIマニュアルに相当するエージェントスキルをClaudeCode(やCodexのようなエージェント)が参照するので、Claudeが「freee APIで何ができるか」を知った状態で作業の窓口になってくれる。ここが一番効いた部分です(詳しくは後述します)。

この記事では、次の内容をまとめます。

  1. スプレッドシートの請求対象リストから、請求書・見積書の下書きを作る
  2. 作成結果を売上管理表へ書き戻す
  3. このワークフローを再利用できるようにしたSkillのzip配布
  4. freeeの数字確認メモ、未回収チェック、Slack投稿など、ほかに試したこと

補足:
取引先名はデモ用のダミーで、実在の会社名、金額、freee IDは掲載していません。

先に、何ができたか

今回の検証でできたことを先にまとめると、こうです。

やったこと 結果
スプレッドシートからfreee請求書・見積書の下書きを作る できた
作成結果を売上管理表へ書き戻す できた
freee MCPでfreee上の数字を確認メモにする できた
未回収の売掛金を洗い出し、BS残高と突合する できた
確認メモをSlackのDMへ投稿する できた
freee請求書PDFをAPIだけで直接ダウンロードする できなかった

一番実務に近かったのは、「スプレッドシートから帳票下書きを作る」流れです。
作り込めばGASやCloud Runの開発案件になるところを、MCPとSkillならかなり軽く始められます。

freee MCPとは

freee MCPは、AIエージェントからfreeeの各種APIを操作できるMCPサーバーです。

2026年3月27日に、freeeからリモート版の提供開始が発表されています。
リモート版はローカル環境にMCPサーバーを立てず、ClaudeなどのAIツールにURLを設定して使う形式です。

参考:

リモート版の接続先はこちらです。

https://mcp.freee.co.jp/mcp

ClaudeのカスタムコネクタにこのURLを追加し、freeeにログインすると使えるようになります。
セットアップ手順は公式ヘルプに詳しくまとまっているので、導入する場合はこちらを見ながら進めるのが早いです。

最大のメリットは「Claudeがfreeeの窓口になる」こと

多機能なSaaSは、そもそも「何ができるか」を把握するのが大変です。
把握できても、次は操作方法を覚えるのが大変。
しかも経理のようにたまにしか触らないツールだと、「これどうやるんだっけ?」が毎回起こります。

freeeも例外ではありません。
会計、請求書、販売、人事労務と領域が広く、APIも画面も機能が多い。
「この作業はどこからやるんだっけ」「APIでできるんだっけ」を毎回思い出すのは大変です。

今回やってみて一番便利だと感じたのは、ここを丸ごとClaudeに寄せられることでした。

これまで: 覚える経理 / これから: 聞くだけ経理

ここで効くのがエージェントスキルです。
エージェントスキルがfreeeのAPIマニュアルのような役割を持ち、それをClaude Codeのようなエージェントが呼び出します。
つまり、Claudeがfreee APIでできることを知った状態で、作業の窓口になります。

何ができるかは、聞けばいい。
どうやるかは、覚えなくていい。

freeeで〇〇ってできる?

請求書作っておいて。

この請求データから、売上管理表を更新しておいて。

人間は、最終確認や承認が必要なところだけ見ればよくなります。

今回の請求書ワークフローでも、まさにこれが効きました。

  • 請求書・見積書の下書き作成はAPIでできる
  • 帳票URLは取得できる
  • 作成結果はスプレッドシートへ書き戻せる
  • 一方で、請求書PDFの直接ダウンロードはAPIだけでは難しそう
  • 送付・公開・削除は勝手にやらないほうがよい

この判断と実行を、人が管理画面やAPIマニュアルを読み込んでから行うのではなく、Claudeを窓口にして進められる。
これがfreee MCPとSkillを組み合わせる一番のメリットだと思います。

今回試した構成

今回やりたかったのは、freee MCPを使って「Claudeに経理・バックオフィス作業を頼む」感覚を確かめることです。

スプレッドシートを読み、Claudeがfreeeの仕様を確認し、freee MCP経由で帳票下書きを作り、結果を売上管理表へ戻す。
必要に応じて、確認メモをSlackやチャットに流す。
つまり、freeeの事務・経理作業をClaude経由で扱う構成です。

freee MCP × Claude の全体構成

ポイントは、freee MCPを「Claudeからfreeeにアクセスする入口」として使えることです。
確認観点の整理や出力先の制御はClaude側に寄せられます。

スプレッドシートから請求書・見積書の下書きを作る

今回いちばん実務に近いと感じたのが、売上管理表からfreeeの帳票下書きを作る流れです。

用意したのは、次のような請求対象リストです。

このスプレッドシートの未作成行を見て、
freeeで請求書と見積書の下書きを作って。
作成前に確認表を出して。

売上管理表には、ステータス、帳票種別、取引先、件名、品目名、数量、単価、税率、請求日、支払期限を入れています。
Claudeは ステータス=未作成 の行だけを対象にし、作成前に確認表を出します。

中身はこんなイメージです(ほかに freee取引先ID/取引先コード、品目名、支払期限、備考の列があります)。

ステータス 帳票種別 取引先名 件名 数量 単価 税率 請求日
未作成 請求書 株式会社サンプル商事 2026年6月分 保守費 1 1,000 10% 2026-06-30
未作成 見積書 合同会社テスト企画 LP制作見積 1 3,000 10% 2026-06-08
未作成 請求書 ABCマーケティング株式会社 広告運用代行 1 1,500 10% 2026-06-30
作成済み 請求書 作成済みサンプル 対象外サンプル 1 500 10% 2026-06-30

ポイントは、作成済み の行は対象外にすることです。
これをやらないと、同じ請求書を二重に作ってしまいます。

今回はデモデータで、次の3件を作成対象にしました。

帳票種別 件数 作成後の状態
請求書 2件 未送付の下書き
見積書 1件 未送付の下書き

freee MCP経由で確認すると、freee請求書API側に請求書2件、見積書1件が作成されていました。
どれも unsent の状態なので、勝手に送付されるわけではありません。

作成後は、売上管理表に 作成済み、取引先ID、freee帳票ID、帳票URL、作成日時を書き戻しました。

書き戻し後のイメージです。

ステータス 帳票種別 件名 freee帳票ID 帳票URL 作成日時 エラー
作成済み 請求書 2026年6月分 保守費 INV-xxxx (id) https://... 2026-06-09T...
作成済み 見積書 LP制作見積 QUO-xxxx (id) https://... 2026-06-09T...
作成済み 請求書 広告運用代行 INV-xxxx (id) https://... 2026-06-09T...

この「書き戻し」が大事です。
freeeで作って終わりではなく、スプレッドシート側に結果を戻すことで、どの行が作成済みか、どの帳票URLに対応するか、どの行が失敗したかを管理できます。

freeeのAPIを直接叩くだけなら、普通のシステム連携です。
でも、スプレッドシートを読み、登録前に確認表を出し、承認を待って下書きを作り、結果を元の台帳へ戻す。ここまでが自然言語の依頼ひとつでつながると、別物に感じました。

実際の業務でも、毎月の契約リストや営業の見積依頼リストに、そのまま当てはまりそうな形です。

GASやCloud Runで作り込む前に、「Claudeにスプレッドシートを渡して、freeeの下書きまで作ってもらう」くらいから始められるのが良いところでした。

内部的には、CSVやスプレッドシートをfreeeにそのままアップロードしているわけではありません。
Claudeまたは同梱スクリプトが行データを読み、freee API用のJSONに変換し、行ごとに POST /invoices または POST /quotations を呼びます。

スプレッドシート → freee 請求書下書き作成フロー

このワークフローをSkillとして配布します

今回のスプレッドシート→freee帳票下書き作成の流れは、再利用できるようにSkill化しました。

配布zip:

https://drive.google.com/file/d/1MSJJySbtbkgs79mrvjf-5O8TCC8deCil/view?usp=sharing

zipの中身は次の構成です。

freee-invoice-from-sheet/
  SKILL.md
  agents/openai.yaml
  assets/sample_invoice_rows.csv
  scripts/prepare_invoice_payloads.py
  scripts/sync_invoice_rows.py

AIエージェントにこのzipを渡し、利用環境に合わせて配置してもらう前提です。
動作確認はClaude Codeで行いました。

実行環境 配置先
Claude Code / Claude ~/.claude/skills/freee-invoice-from-sheet/
Codex ほか Agent Skills対応エージェント ~/.agents/skills/freee-invoice-from-sheet/

CodexはAgent Skillsオープン標準.agents/skills 系パス(ユーザー単位は ~/.agents/skills/、リポジトリ単位は <repo>/.agents/skills/)を読みます。

スクリプトは、いきなりfreeeへPOSTしないようにしています。
まずはdry-runで、対象行とJSON payloadを確認します。

python3 scripts/sync_invoice_rows.py \
  --csv assets/sample_invoice_rows.csv \
  --company-id <freee_company_id>

Google Sheetsを直接読む場合は、こういう形です。

python3 scripts/sync_invoice_rows.py \
  --spreadsheet-url "https://docs.google.com/spreadsheets/d/..." \
  --sheet-name 請求対象 \
  --company-id <freee_company_id>

Sheetsの直接読み書きには、Google公式CLIの gws を使っています(無い環境では、シートをCSVエクスポートして --csv を使えばOKです)。
gws のセットアップは別記事にまとめているので、こちらをどうぞ。

freeeには接続せず、作成成功した体で書き戻しだけ試すこともできます。
記事用の検証や、導入前の動作確認にはこちらが便利です。

python3 scripts/sync_invoice_rows.py \
  --csv assets/sample_invoice_rows.csv \
  --company-id <freee_company_id> \
  --simulate-post \
  --output-csv /tmp/freee_invoice_rows_written.csv

実際にfreeeへPOSTして、Google Sheetsへ結果を書き戻す場合だけ、--execute --write-back を付けます。

FREEE_ACCESS_TOKEN=... python3 scripts/sync_invoice_rows.py \
  --spreadsheet-url "https://docs.google.com/spreadsheets/d/..." \
  --sheet-name 請求対象 \
  --company-id <freee_company_id> \
  --execute \
  --write-back

ここは大事なところなので、Skill側にも「作成前プレビュー」と「ユーザー承認」を必須にしています。
請求書や見積書は業務データなので、自然言語で作れるとしても、勝手に送付・公開・削除まではしない設計にしました。

補足: freeeの数字確認メモも作れる

請求書まわりとは別に、freeeの数字確認も試しました。

Claudeにこう依頼しました。

対象期間のPLを見て、確認用に3行でまとめて。
売上、粗利、営業利益が分かる表も付けて。
数字の羅列ではなく、何が起きているかを書いて。

やっていることは次の流れです。

  1. freee MCP経由で試算表を取得
  2. Claudeが売上・粗利・営業利益を抽出
  3. 確認用の3行サマリに変換
  4. Slack投稿用の短い文面に整形

公開用に実金額・実文面は伏せますが、返ってくるのは数字の羅列ではなく、売上と利益の動きの差、費用側で確認すべき項目、次に見るべき論点、まで踏み込んだ3行サマリでした。
前年同期との比較も同じ要領で頼めて、最後に「何が起きているか」を1文で返してくれます。

数字を取るだけならAPIでもできます。
ただ、毎回の確認で欲しいのは「で、どこを見ればいいの?」の部分です。
freeeの画面を開いて試算表を探しに行かなくても、そこまで自然言語で届くのが面白いところでした。

補足: 未回収の売掛金を洗い出し、BSと突合する

未回収チェックも、読み取り専用で試しました。

依頼はこうです。

未回収の売掛金を洗い出して。
取引先ごとに集計し、合計がBSの売掛金残高と一致するか確認して。
差額があれば原因候補も出して。

Claudeは会計APIから未決済の取引を集計し、貸借対照表の売掛金残高を取得して突合しました。
テスト事業所は会計側の取引が0件なので、結果自体は「未回収0円 vs BS売掛金0円で一致」という薄いものです。

ただ、面白かったのは差額の原因候補まで返ってきたことです。挙がったのは次の3つでした。

  • freee請求書側で帳票を作っただけでは、会計の取引にならない(今回作った請求書2件も、BSの売掛金には反映されていない)
  • 入金消込済みなら、売掛はすでに落ちている
  • 請求日と計上期がまたがる期ズレ

実際、freee請求書で作った帳票は、そのままでは会計の売掛金に計上されません。
「請求書を作ったのに売掛が増えない」は実務でもハマりそうなポイントで、この突合フローを入れておくとズレに気づけます。

請求書を作っただけでは、売掛金は増えない

AIに会計データを読ませるとき、怖いのは「それっぽい表」を作ってしまうことです。
BS残高との突合のような会計上の検算ポイントを挟むと、抽出結果と会計残高の整合性を確認した上で使えます。

補足: 確認メモはSlackにも流せる

確認結果は、Slackの自分宛DMへ投稿するところまで試しました。
投稿した文面はこういう形です。

今日の経理確認メモ

- 売上: 会計側の売上取引は0件、請求書帳票のみ2件(未送付)
- 未回収: 未回収売掛金とBS売掛金残高は一致
- 今日見るべきもの: 請求書2件を会計取引として計上するかの判断

これが毎朝届くと、人がfreeeを開いて見に行く前に、見るべき候補が先に届く形になります。
毎朝の定時実行まではまだ組んでいませんが、ここまで動けば、あとはスケジュール実行に載せれば毎朝の定番にできそうです。

使ってみて分かった限界

良いところだけではなく、詰まったところもありました。

今回の検証環境では、会計APIは問題なく使えました。
試算表の取得や取引データの取得は成功しています。

一方で、最初はfreee請求書APIで company_not_found が返り、請求書テンプレートすら取得できませんでした。
その後、freee請求書側の利用状態を整えると、テンプレート取得、請求書一覧取得、見積書一覧取得、デモ帳票の作成まで進めました。
リモートMCPでも同様で、freee請求書の利用設定が有効になっていない事業所に対しては、請求書APIは403(権限なし)になります。

会計API: 利用できた
freee請求書API: 初回はcompany_not_found、利用設定後は使えた
販売系API: 今回は未検証
人事労務APIの一部: 認証は通ったが、利用データはなし

つまり、「freee MCPを入れれば全領域が必ず使える」という話ではありません。
MCPとしてツールが用意されていても、実際に使える範囲はfreee側の契約、利用中のプロダクト、権限に左右されます。

もう1つ、請求書PDFまわりも注意が必要でした。
freee請求書APIのレスポンスから帳票詳細URLは取得できますが、今回調べた範囲では、作成済みの請求書・見積書PDFをAPIだけで直接ダウンロードする公開エンドポイントは見つけられませんでした。

freee請求書の画面では、単体PDFダウンロードや複数帳票の一括PDFダウンロードができます。
そのため、現実的には次の流れになります。

  1. freee請求書の画面からPDFまたはZIPをダウンロードする。
  2. 取得したPDF/ZIPをGoogle Driveへアップロードする。
  3. Drive URLを売上管理表へ書き戻す。

ここは、将来的にブラウザ操作まで含めて自動化する余地があります。
ただ、今回配布するSkillでは、PDF取得は「画面操作または別工程」として切り分けています。

今回の検証範囲をまとめると、こうなります。

freee MCPでできたこと・できなかったこと

今回のワークフローで向いていそうな業務

使ってみて、向いていそうだと感じたのはこのあたりです。

  • 毎月の契約リストから請求書下書きを作る
  • 営業が入力した見積依頼リストから見積書下書きを作る
  • 未作成/作成済みの状態管理をスプレッドシートで行う
  • 作成結果のfreee帳票URLを台帳に残す
  • 月次確認のサマリをSlackやチャットに流す

逆に、最初から全部を無人化する用途には向いていません。
特に請求書・見積書は、金額や取引先を間違えると影響が大きいので、作成前プレビューと承認を挟むのが良さそうです。

まとめ

freee MCPを使うと、Claudeからfreeeの会計データや帳票データにアクセスできます。

まず面白いのは、freeeをClaudeから自然言語で触れること。
数字を読み、確認しやすい形に整え、帳票の下書きまで作る流れを、指示ひとつで動かせます。

それ以上に大きいのは、エージェントスキルがfreeeのAPIマニュアルになり、Claudeが作業の窓口になってくれることでした。
何ができるかは聞けばいいし、どうやるかは覚えなくていい。
たまにしか触らないツールの「これどうやるんだっけ?」が、そのまま依頼文になります。

経理業務の完全自動化というより、まずは「毎月人が手で作っていた帳票下書きを、AIがスプレッドシートから作成候補まで用意する」くらいから始めるのが現実的だと思います。

今回のスプレッドシート→freee請求書・見積書下書き作成ワークフローは、Skillとして配布しています。
自分の環境で試す場合は、まず --simulate-post かdry-runから始めるのがおすすめです。


:sparkles:未経験から学べます!一緒に挑戦していきましょう:sparkles:

noteもやってます↓
https://note.com/jqit_itsaiyo

17
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?