ツール連携

freeeの会計データをAIに聞く:APIで取れるもの、書けてしまうもの

freeeの会計データをAIに聞く:APIで取れるもの、書けてしまうもの

「先月の広告費いくらだった?」「この取引先への支払い、去年はどうなってた?」——経理に飛んでくる問い合わせの多くは、freeeを見れば分かることです。ただし見方を知っている人しか見られないため、結局経理担当に集中します。

ここをAIで解こうとするとき、最初に区別すべきことがあります。

freeeの「AI」と、AIから freee を見る話は別物

freee内蔵の自動化 AIからfreeeのデータを見る
やること 明細から勘定科目を推測して仕訳を作る 質問に会計データで答える
使う人 経理担当 経理以外の社員
実現方法 freeeの機能として提供済み APIで取得して構築する

経理の入力を楽にしたいなら前者で、freeeの機能を使えば済みます。この記事は後者——経理への問い合わせを減らす話です。

APIで何が取れるか

freeeの会計APIには、AI向けの専用エンドポイントはありません。「AIと連携する機能」を探しても見つからないので、通常のAPIでデータを取得して、AI側に渡す構成になります。

問い合わせ対応で実際に使うのは、次のあたりです。

取りたいもの エンドポイント
損益(試算表) GET /api/1/reports/trial_pl
部門別の損益 GET /api/1/reports/trial_pl_sections
タグ・セグメント別の損益 GET /api/1/reports/trial_pl_segment_1_tags
貸借(試算表) GET /api/1/reports/trial_bs
個別の取引 GET /api/1/deals
勘定科目マスタ GET /api/1/account_items
取引先マスタ GET /api/1/partners
部門マスタ GET /api/1/sections
経費申請 GET /api/1/expense_applications
ログインユーザーの権限 GET /api/1/users/capabilities

「先月の広告費」は取引一覧から数えてはいけない

実装でよくある間違いです。/deals(取引)を取ってきて合算すると、経理が入れた振替伝票や決算整理が漏れます。

金額を答えるなら試算表(trial_pl)を使ってください。freeeが計上ルールに従って集計した数字なので、経理が画面で見ている数字と一致します。個別の取引一覧は「内訳を見たい」と言われたときに出すものです。

trial_pl は会計期間や年月を指定して取得します。部門別が必要なら trial_pl_sections、タグ別なら trial_pl_segment_1_tags と、専用のエンドポイントが分かれています。「部門で絞る」を後から足そうとすると設計をやり直すことになるので、最初に決めてください。

最大の落とし穴:このAPIは書き込める

ここが一番重要です。freeeのAPIは参照専用ではありません。

会計APIのエンドポイントを実際に数えたところ、内訳はこうなっていました。

会計API 本数
全エンドポイント 96
参照のみ(GETだけ) 43
書き込みを受ける 53
削除できる 20
承認アクション 4系統

半分以上が書き込みを受けます。代表的なものを挙げると次のとおりです。

  • POST /api/1/deals ——取引を作成できる
  • POST /api/1/manual_journals ——振替伝票を作成できる
  • PUT|DELETE /api/1/deals/{id} ——取引を更新・削除できる
  • POST /api/1/deals/{id}/payments ——支払いを記録できる
  • GET|DELETE /api/1/wallet_txns/{id} ——明細を削除できる

質問に答えるだけのつもりで作った仕組みが、技術的には仕訳を作れる・消せる・承認できる状態になっている——これは十分に起こります。

承認は1系統ではなく4系統ある

「承認だけ気をつければいい」と考えると足りません。承認アクションを受けるパスは4つあります。

  • POST /api/1/approval_requests/{id}/actions — 各種申請
  • POST /api/1/expense_applications/{id}/actions経費申請
  • POST /api/1/payment_requests/{id}/actions支払依頼
  • POST /api/1/purchase_requests/{id}/actions発注

支払依頼と発注が承認できる状態は、金額が動く経路そのものです。

URLだけで参照専用にはできない

もうひとつ設計上の注意があります。同じURLがGETとPOSTの両方を受けるエンドポイントが18本あります。/api/1/deals がその代表で、取得も作成も同じパスです。

そのため「参照用のURLだけを許可する」というネットワーク側の制限では止まりません。止められるのは権限HTTPメソッドのどちらかで、確実なのは前者です。

会計だけの話ではない

freeeは会計以外にもAPIを公開しています。人事労務APIは従業員情報・勤怠・年末調整を書き換えられます。「freeeと連携する」とだけ決めて権限を渡すと、想定していない範囲まで含まれることがあります。

どのサービスの、どの範囲かまで決めてから接続してください。

対策は難しくありませんが、明示的にやる必要があります。

  1. 接続に使うfreeeユーザーを、参照権限のみで作る——アプリ側の実装ではなく、freeeの権限設定で止める(共通アカウント型と権限引き継ぎ型の考え方)
  2. 実装側でもGET以外を発行しない——二重で止める
  3. 接続ユーザーの権限を users/capabilities で確認する——想定より広くないか実際に見る

アプリ側だけで守る構成は、いつか破られる

1が本命です。実装を変えた誰かが、悪意なく書き込み系のAPIを呼びます。freeeの権限設定で止めておけば、実装が何をしようと書き込めません。

会計データは「聞き方」で答えが変わる

データが取れるようになった後の話です。同じ「先月の広告費」でも、条件で数字が変わります。

条件 数字が変わる理由
発生主義か現金主義か 計上月と支払月がずれる
税込か税抜か 10%の差が出る
締め処理の前か後か 未計上の伝票がある
部門を含めるか 共通費の配賦有無

信頼は一度で失われる

AIが条件を明示せずに数字だけ返すと、受け取った側が違う前提で使います。会議で「広告費は先月300万でした」と言った数字が、経理の締め後の数字と合わない——こうなると、その後どれだけ精度を上げても使われません。

数字には必ず条件を添える

2026年7月の広告宣伝費:3,024,500円
(税抜・発生主義・締め処理済・全部門)

冗長に見えますが、この形でないと業務では使えません。条件が書かれていない数字は、経理担当が結局検算することになり、問い合わせは減りません。

勘定科目の使い方が組織によって違う

account_items で勘定科目マスタは取得できますが、取れるのは名前とコードであって、運用ルールではありません。

  • 「消耗品費」と「事務用品費」の使い分けが担当者ごとに違う
  • 過去に科目を変更していて、年度をまたぐと連続性がない
  • 補助科目やタグ(/tags)で実質的な分類をしている

AIは科目名から意味を推測しますが、その組織固有の運用は知りません。「広告費」と聞かれたときにどの科目を足すのかは、明示的に定義する必要があります。

定義を1枚作るところから

連携作業より先に、よく聞かれる費目の定義表を作ってください。「広告費=広告宣伝費+販売促進費(ただし展示会は除く)」といったものです。この1枚があるかないかで、回答の一貫性がまるで変わります。

誰に何を見せるかを先に決める

会計データは、社内でも見える範囲が明確に分かれています。ここを曖昧にしたまま全社に開けると、必ず問題になります。

  • 役員報酬・人件費——ほぼ全社で機密。勘定科目単位で除外する
  • 部門別損益——部門長までは開示、一般社員には非開示、という組織が多い
  • 取引先ごとの単価——営業には見せたいが、他部署には見せられないことがある

freeeの権限が、そのまま効くわけではない

APIの接続ユーザーが1つだと、全員が同じ範囲を見ることになります。社員ごとに見える範囲を変えたいなら、AI側で制御する設計が別途必要です。ここを「freeeの権限で守られている」と誤解したまま全社に開けると、役員報酬が誰にでも見える状態になります。

実務的な出発点は「自部門の経費だけ」です。自分の部署がいくら使ったかを自分で確認できる。これだけで経理への問い合わせは目に見えて減ります。

締め前のデータをどう扱うか

月次締めが終わっていない期間のデータは、まだ動きます。ここをそのまま返すと、翌週には違う数字になります。

  1. 締め済みの月のみ回答する——最も安全。ただし「今月の状況」が見られない
  2. 締め前は「速報値」と明記して返す——実用的。多くの場合これで足りる
  3. 制限なし——誤解の元になりやすい

2番目を推奨します。「速報値(締め前・変動あり)」と併記されていれば、受け取る側が扱いを判断できます。

効果が出やすい問い合わせ

すべてを対象にする必要はありません。頻度が高く、定型で、機密性が低いものから始めると成果が早く出ます。

問い合わせ 頻度 機密性 使うエンドポイント
自部門の月次経費 高い 低い trial_pl_sections
経費精算の申請状況 高い 低い expense_applications
特定取引先への支払い履歴 deals + partners

接続先が本体と別条件になっていないか、確認した結果です

主要4サービスの契約条件をまとめた表です。OpenAI では Apps・MCP・Web検索がデータレジデンシーの対象外で、選んだリージョンの外に出ます。拡張機能まわりの別条件をサービスごとに書いています。

進め方

  1. 参照権限のみのfreeeユーザーを作る——ここを飛ばさない
  2. よく聞かれる費目の定義表を1枚作る
  3. 自部門の月次経費(trial_pl_sections)だけで動かす
  4. 回答に条件(税区分・締め状態・部門)を必ず併記する
  5. 問い合わせが減ったのを確認してから範囲を広げる

どの問い合わせから始めるべきか、3分で分かります

どの費目がよく聞かれるか、権限をどう切るか。かんたんな設問に答えるだけで診断します。費用はかかりません。

この記事について:エンドポイントの一覧と本数は、2026年8月時点で freee API に接続して取得した実際のパス一覧を数えたものです。公開されている全APIではなく、この環境から到達できた会計APIの範囲での集計です。freee は仕様の追加が続いているため、導入時にはご自身の環境で users/capabilities と実際のパス一覧を確認してください。「経理への問い合わせが集中する」といった記述は現場で観測した傾向であり、調査統計ではありません。