はじめに
「この請求書作成、Claudeに頼めないかな?」
経理やバックオフィスの仕事には、毎月くり返す作業がたくさんあります。
- スプレッドシートの請求対象リストを確認する
- freeeで請求書や見積書の下書きを作る
- 作成済み/未作成を売上管理表に戻す
- 未回収や入金状況を確認する
- PDFや帳票URLを台帳に残す
もちろん、freeeを開けばできます。
ただ、毎回画面を開いて、仕様を思い出して、同じような入力と確認をくり返すのは地味に手間です。
今回は、freee MCPを使って、Claudeからfreeeの事務・経理まわりをどこまで自然言語で扱えるか試しました。
スプレッドシートの請求対象リストを読み、freeeに請求書・見積書の下書きを作り、結果を売上管理表へ書き戻す流れです。
MCPとエージェントスキルの組み合わせの最大のメリットは、セットアップが非常に簡単であることと、「MCP/APIで何ができるか」を人が覚えなくて良いところです。
freeeのAPIマニュアルに相当するエージェントスキルをClaudeCode(やCodexのようなエージェント)が参照するので、Claudeが「freee APIで何ができるか」を知った状態で作業の窓口になってくれる。ここが一番効いた部分です(詳しくは後述します)。
この記事では、次の内容をまとめます。
- スプレッドシートの請求対象リストから、請求書・見積書の下書きを作る
- 作成結果を売上管理表へ書き戻す
- このワークフローを再利用できるようにしたSkillのzip配布
- 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にアクセスする入口」として使えることです。
確認観点の整理や出力先の制御は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 を呼びます。
このワークフローを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行でまとめて。
売上、粗利、営業利益が分かる表も付けて。
数字の羅列ではなく、何が起きているかを書いて。
やっていることは次の流れです。
- freee MCP経由で試算表を取得
- Claudeが売上・粗利・営業利益を抽出
- 確認用の3行サマリに変換
- 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ダウンロードができます。
そのため、現実的には次の流れになります。
- freee請求書の画面からPDFまたはZIPをダウンロードする。
- 取得したPDF/ZIPをGoogle Driveへアップロードする。
- Drive URLを売上管理表へ書き戻す。
ここは、将来的にブラウザ操作まで含めて自動化する余地があります。
ただ、今回配布するSkillでは、PDF取得は「画面操作または別工程」として切り分けています。
今回の検証範囲をまとめると、こうなります。
今回のワークフローで向いていそうな業務
使ってみて、向いていそうだと感じたのはこのあたりです。
- 毎月の契約リストから請求書下書きを作る
- 営業が入力した見積依頼リストから見積書下書きを作る
- 未作成/作成済みの状態管理をスプレッドシートで行う
- 作成結果のfreee帳票URLを台帳に残す
- 月次確認のサマリをSlackやチャットに流す
逆に、最初から全部を無人化する用途には向いていません。
特に請求書・見積書は、金額や取引先を間違えると影響が大きいので、作成前プレビューと承認を挟むのが良さそうです。
まとめ
freee MCPを使うと、Claudeからfreeeの会計データや帳票データにアクセスできます。
まず面白いのは、freeeをClaudeから自然言語で触れること。
数字を読み、確認しやすい形に整え、帳票の下書きまで作る流れを、指示ひとつで動かせます。
それ以上に大きいのは、エージェントスキルがfreeeのAPIマニュアルになり、Claudeが作業の窓口になってくれることでした。
何ができるかは聞けばいいし、どうやるかは覚えなくていい。
たまにしか触らないツールの「これどうやるんだっけ?」が、そのまま依頼文になります。
経理業務の完全自動化というより、まずは「毎月人が手で作っていた帳票下書きを、AIがスプレッドシートから作成候補まで用意する」くらいから始めるのが現実的だと思います。
今回のスプレッドシート→freee請求書・見積書下書き作成ワークフローは、Skillとして配布しています。
自分の環境で試す場合は、まず --simulate-post かdry-runから始めるのがおすすめです。
未経験から学べます!一緒に挑戦していきましょう![]()





