Media > AI活用ユースケース > 経理 > 経費精算の申請内容を社内規程と照合してチェックする

経費精算の申請内容を社内規程と照合してチェックする

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

経費精算の申請内容(費目、金額、日付、参加者、目的)と、添付された領収書の画像、そして社内の経費規程を入力に、生成AIへ「規程に反する可能性がある箇所」を指摘させます。

サマリー
利用ツール
Azure AI/ChatGPT/Claude/Gemini/Google Document AI/Make/n8n/Power Automate
対象業界
IT・SaaS/人材/商社/広告
対象部門
経理
対象業務
内容確認・チェック
主な課題
人手が足りない/属人化している/確認ミスが多い
AIで行う処理
判定
主な効果
品質標準化/属人化解消/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
ノーコード連携(中)
人間の確認
必須
現在工数
66.7h/月
AI導入後
16.7h/月
想定削減
75%
年間削減
600h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 従業員が経費精算システムで申請する(費目、金額、日付、目的、領収書の画像を添付)
  2. 直属の上長が承認する
  3. 経理担当が一次チェックする。申請内容と領収書の金額が一致するかを見る
  4. 費目が適切か、規程の上限を超えていないかを判断する
  5. 問題があれば差し戻し、コメントを書く
  6. 従業員が修正して再申請する
  7. 問題がなければ支払処理へ回す
導入後(After)
  1. 従業員が経費精算システムで申請する
  2. 自動申請直後に、領収書のOCRと規程照合を行う
  3. 自動問題がありそうな箇所を、規程の条項とともに申請者へ即座に表示する
  4. 従業員が、申請時点で自分で直す(差し戻しの往復が消える)
  5. 上長が承認する
  6. 自動経理向けに、指摘の有無で申請を仕分ける
  7. 経理担当が、指摘のあった申請だけを確認する
  8. 自動指摘のない申請は、上長承認をもって支払処理へ回す
各工程の詳しい説明を読む
  1. 従業員が経費精算システムで申請する(費目、金額、日付、目的、領収書の画像を添付)
  2. 直属の上長が承認する
  3. 経理担当が一次チェックする。申請内容と領収書の金額が一致するかを見る
  4. 費目が適切か、規程の上限を超えていないかを判断する
  5. 問題があれば差し戻し、コメントを書く
  6. 従業員が修正して再申請する
  7. 問題がなければ支払処理へ回す

問題は4つあります。

(a)2,000件を目で見ている。 そのうち9割は問題のない申請です。1割の問題を見つけるために、全件を見ています。

(b)判断が担当者によって違う。 ベテランは「この目的なら会議費」と判断できますが、新任は迷います。同じ内容の申請が、担当者によって通ったり差し戻されたりします。

(c)上長承認が形骸化している。 上長は部下の申請を月に数十件承認しますが、規程を細かく確認する時間はありません。実質的なチェックは経理の一次チェックだけです。

(d)差し戻しの往復が発生する。 申請してから差し戻されるまで数日かかるため、従業員は何が問題だったかを覚えていません。往復が2回、3回と続きます。

  1. 従業員が経費精算システムで申請する
  2. 【自動】 申請直後に、領収書のOCRと規程照合を行う
  3. 【自動】 問題がありそうな箇所を、規程の条項とともに申請者へ即座に表示する
  4. 【人】 従業員が、申請時点で自分で直す(差し戻しの往復が消える)
  5. 上長が承認する
  6. 【自動】 経理向けに、指摘の有無で申請を仕分ける
  7. 【人】 経理担当が、指摘のあった申請だけを確認する
  8. 【自動】 指摘のない申請は、上長承認をもって支払処理へ回す

この構成でもっとも効くのは、3の「申請時点で申請者に指摘する」部分です。 経理の確認件数が減るだけでなく、差し戻しの往復そのものがなくなります。

02今回想定するシステム構成

構成図
経費精算システム(申請)
   │
   ▼【トリガー】申請が作成されたとき(Webhook / ポーリング)
ワークフロー(Power Automate / Make / 個別実装)
   │
   ├──▶ OCR(Azure AI Document Intelligence 等)
   │       └─ 領収書の店名・日付・金額・但し書きを抽出
   │
   ├──▶ 社内規程(構造化した規程データ)を参照
   │
   ├──▶ 過去の申請履歴を参照(同一日の重複、月次の累計)
   │
   └──▶ LLM API ── 規程照合と指摘の生成
   │
   ▼
申請者へ即時フィードバック(申請画面 / Teams / Slack)
   │
   ▼
経理向けの仕分けリスト(指摘あり / なし)
役割想定する製品代替候補
経費精算各社の経費精算SaaS自社開発のワークフロー、kintone
OCRAzure AI Document IntelligenceGoogle Document AI、経費精算SaaSの標準OCR
ワークフローPower AutomateMake、n8n、個別実装
生成AIClaude APIOpenAI API、Gemini API
通知Microsoft TeamsSlack、メール、申請画面への埋め込み

経費精算SaaSに規程チェック機能が標準で付いている場合は、まずそれを使ってください。 金額上限や費目の制限は、多くの製品がルール設定で対応できます。AIが必要になるのは、「目的の記載から費目の妥当性を判断する」ような、条件分岐では書けない部分です。

03どうやって実装するのか

Step1

処理の起点を決める

申請が作成されたときを起点にします。経費精算システムがWebhookを提供していればそれを使い、なければ5分おきに新規申請をポーリングします。

上長承認の後ではなく、申請直後に動かすことが重要です。承認後にすると、申請者へのフィードバックが遅れ、この構成の主な効果(差し戻しの往復の削減)が失われます。

Step2

入力データを集める

データ中身取得元
申請内容費目、金額、日付、目的、参加者、支払先経費精算システム
領収書の画像添付ファイル経費精算システム
OCR結果店名、日付、金額、但し書き、適格請求書発行事業者の登録番号OCRサービス
社内規程費目ごとの上限、必要な添付、禁止事項規程データ(後述)
申請者の属性所属部門、役職(役職で上限が変わるため)人事マスタ
過去の申請履歴同一日の申請、当月の費目別累計経費精算システム
Step3

データの取得方法を決める

社内規程の扱いが、この構成でもっとも重要な設計判断です。

規程のPDFをそのままAIに渡す方法(RAG)と、規程を構造化データに書き起こす方法があります。この用途では、書き起こしを推奨します。

方式長所短所
PDFをそのまま渡す準備が不要AIが条項を読み違える。上限額の判定が不安定
構造化データに書き起こす判定が安定する。上限額は計算で確実に判定できる初回の書き起こしに工数がかかる。規程改定時の反映が必要

書き起こしの例:

{
  "rule_id": "R-012",
  "category": "接待交際費",
  "condition": "社外の取引先を伴う飲食",
  "limit_per_person": 5000,
  "limit_unit": "1人1回",
  "required_fields": ["参加者氏名", "参加者の所属", "目的"],
  "required_attachment": ["領収書(但し書きに飲食の記載があるもの)"],
  "source_clause": "経費規程 第12条第2項",
  "exception": "役員が同席する場合は1人10,000円まで(第12条第3項)"
}

上限額の判定は、AIにさせずにプログラムで計算します。 「8,000円 > 5,000円」の判定にAIを使う理由はなく、確実性も落ちます。AIに任せるのは、「この目的の記載から、接待交際費と会議費のどちらが妥当か」といった、規則で書けない判断です。

領収書のOCR: Azure AI Document Intelligence には領収書向けのモデルがあり、店名、日付、合計金額、明細を抽出できます。適格請求書発行事業者の登録番号の抽出可否は、自社の領収書で実測してください。

Step4

AIへ渡す前に整形する

  1. 領収書の向き補正 … スマートフォンで撮影した画像は傾いていることが多いため、補正します
  2. 金額の突合 … 申請額とOCRで読んだ金額が一致するかを、AIを呼ぶ前にプログラムで判定します。ここが不一致なら、それだけで指摘対象です
  3. 上限額の判定 … 構造化した規程データと照らして、金額上限をプログラムで判定します
  4. 重複の検出 … 同一日・同一金額・同一店名の申請が既にないかを照合します
  5. AIを呼ぶ対象の絞り込み … 上記1〜4で問題が見つからなかった申請のうち、判断が必要なもの(接待交際費、会議費、その他)だけをAIに回します。 交通費のようにルールで判定し切れる費目は、AIを呼びません

5が費用対効果に直結します。 月2,000件のうち、AIに渡すのは500件程度に絞れます。

Step5

AIに処理させる

規則で書けない判断だけを任せます。

処理内容
費目の妥当性判定目的の記載から、申請された費目が適切かを判断する
目的記載の十分性「打ち合わせ」だけの記載で足りるか、具体性が不足していないかを判断する
領収書と申請の整合但し書きが「品代」で申請目的が「会議での飲食」など、食い違いがないかを見る
私的利用の疑い休日・深夜の飲食、参加者が社内のみの高額な飲食などを指摘する
Step6

指示内容を固定する

あなたは経費精算の内容を確認する担当者です。
以下の申請内容と社内規程を照らし、規程に反する可能性がある箇所を指摘してください。

【厳守事項】
- 指摘には必ず、根拠となる規程の条項番号を記載してください。
  条項を示せない指摘はしないでください。
- 承認・却下の判断はしないでください。指摘するだけです。
- 金額の上限判定は既に行われています。重複して指摘しないでください。
- 規程に定めのない事柄を、慣行や一般常識をもとに指摘しないでください。
- 申請者の意図を推測して、不正の疑いを断定しないでください。
  事実として観測できることだけを書いてください。
  (例:「私的利用と思われる」ではなく「参加者が社内のみで、
    日付が休日である」と事実を書く)
- 指摘がない場合は findings を空の配列で返してください。
  無理に指摘を作らないでください。

【社内規程(該当する費目の条項)】
{applicable_rules}

【申請内容】
費目: {category} / 金額: {amount} / 日付: {date} / 曜日: {weekday}
目的: {purpose} / 参加者: {participants}
申請者: {applicant_department} {applicant_title}

【領収書のOCR結果】
店名: {shop_name} / 日付: {receipt_date} / 金額: {receipt_amount}
但し書き: {description}

【当月の同費目の累計】
{monthly_total}

「申請者の意図を推測して、不正の疑いを断定しない」の1行が重要です。 これがないと、AIは「私的な飲食の可能性が高い」といった書き方をします。それが経理担当の目に触れ、従業員への疑念として伝わることは、労務上の問題になります。観測できる事実だけを書かせ、解釈は人がします。

Step7

出力形式を固定する

{
  "findings": [
    {
      "severity": "high | medium | low",
      "clause": "経費規程 第12条第2項",
      "observed": "",
      "issue": "",
      "suggested_action": ""
    }
  ],
  "category_suggestion": {
    "current": "",
    "suggested": "",
    "reason": ""
  },
  "needs_human_review": false
}
  • observed … 観測した事実(「参加者3名のうち社外は0名」)
  • issue … 規程に照らした問題(「第12条第2項の接待交際費は社外の取引先を伴う場合に限られる」)
  • suggested_action … 申請者が取るべき行動(「費目を会議費に変更してください」)

suggested_action を返すことで、申請者は何を直せばよいかが分かります。「規程違反です」とだけ表示する構成にすると、申請者は結局経理に問い合わせるので、経理の工数が減りません。

Step8

システムへ連携する

申請者向け: 申請直後に、指摘内容をTeamsまたは申請画面に表示します。severityhigh のものだけを出し、low は経理向けにのみ回します。申請者に細かい指摘を大量に見せると、読まれなくなります。

経理向け: 日次で、指摘のあった申請の一覧を生成します。severity 順に並べ、条項と観測事実を表示します。

経費精算システムへの書き戻し: システムがAPIを提供していれば、指摘内容をコメント欄に登録します。提供していない場合は、別途一覧を見る運用にします。この部分は利用環境に応じた個別確認が必要です。

Step9

人が確認する

対象確認
指摘なしの申請(想定1,800件)経理の確認を省略し、上長承認をもって支払処理へ回す
severity: low の指摘(想定150件)経理が一覧でまとめて確認する
severity: medium / high(想定50件)経理が個別に確認し、差し戻しを判断する

「指摘なしを自動で通す」判断が、この構成の効果の大半を生みます。 ここを「念のため全件見る」運用にすると、削減効果はほぼゼロになります。

ただし、いきなり全面的に自動化しないでください。導入初月は全件を人が確認し、AIが「指摘なし」とした申請の中に、人が問題と判断するものが何件あるかを測ります。見逃し率が1%を下回ることを確認してから、自動通過に切り替えます。

また、金額が一定額(たとえば5万円)を超える申請は、指摘の有無にかかわらず人が確認する設計にします。

Step10

例外に対処する

起きること対応
領収書の画像が読めないOCR結果を空にして needs_human_review: true を立てる。金額の突合を飛ばして人へ回す
領収書の添付がない規程で添付が必須の費目なら、それ自体を指摘する
申請額とOCRの金額が不一致AIを呼ばず、その時点で指摘とする(プログラムで判定)
規程データに該当する条項がない費目AIを呼ばず、「その他」として人へ回す。規程にない判断をAIにさせない
規程が改定された構造化データを更新する。改定日を持たせ、申請日時点の規程で判定する
同一日・同一金額の重複申請プログラムで検出し、既存申請へのリンクとともに指摘する
AIが条項を示せない指摘を返す出力チェックで clause が空の指摘を除外する
月末に申請が集中するキューに入れて順次処理する。申請者へのフィードバックが数分遅れても問題ない
Step11

記録を残す

この業務では、ログが監査対応の資料になります。

  • 申請内容と領収書(経費精算システム側で保存)
  • AIの指摘内容(条項、観測事実)
  • 経理担当の判断(承認・差し戻し)と、AIの指摘と一致したか
  • 「指摘なし」で自動通過した申請の一覧

最後の項目は、内部監査で「チェックを省略した根拠」を示す資料になります。自動通過の判定基準と、その適用件数を記録してください。

04実装レベルの3段階

最小構成:高額申請だけをチャットAIに貼って確認する / 判断の支援
半自動化:日次で申請データを書き出し、まとめて判定 → 経理向け一覧を出す / 経理の確認対象の絞り込み
本格構成:上記+申請時点での申請者へのフィードバック+自動通過 / 差し戻しの往復の削減まで

半自動化では、経理の工数は減りますが、差し戻しの往復は残ります。 この業務でもっとも大きい隠れコストは、申請者と経理の往復(1往復あたり双方で10分以上)なので、本格構成まで進む価値があります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
2 名
月間件数
2,000 件
1件あたり現在時間
2 分
1件あたり導入後時間
0.5 分
現在  2,000件 × 2分 ÷ 60 = 66.7 時間/月
導入後 2,000件 × 0.5分 ÷ 60 = 16.7 時間/月
月間削減時間
50h
削減率
75%
年間削減時間
600h
年間金額換算(時間単価3,000円)
180万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 経費規程が明文化されており、申請が月1,000件以上。経理の一次チェックが滞留している組織。
向いていない
  1. 規程が曖昧で判断基準を書き起こせない組織。経費精算SaaSの標準ルール設定で足りる場合。

07最小構成で試す方法

  1. 社内の経費規程から、接待交際費と会議費の条項を書き出す(2〜3条項でよい)
  2. 過去の経費申請20件(うち5件は実際に差し戻したもの)を選ぶ
  3. ChatGPT、Claude、Gemini などのチャット画面に、上のプロンプトと条項を貼る
  4. 続けて申請内容を1件ずつ貼り、指摘させる

評価の観点は2つです。

  • 見逃し … 実際に差し戻した5件を、AIが指摘できたか
  • 過剰指摘 … 問題のない15件に、余計な指摘を付けなかったか

見逃しがゼロで、過剰指摘が3件以下なら、実用の目安に達しています。過剰指摘が多い場合は、規程の書き起こしが曖昧か、「規程に定めのない事柄を指摘しない」の制約が効いていません。

08実装時につまずきやすいポイント

問題対策
規程PDFをそのまま渡して、上限額の判定を誤る上限額はプログラムで判定する。AIには規則で書けない判断だけを任せる
AIが規程にない一般常識で指摘してくる「規程に定めのない事柄を指摘しない」制約を入れる。条項を示せない指摘は除外する
AIが「私的利用の疑い」と書き、労務上の問題になる観測できる事実だけを書かせる。解釈は人がする
過剰指摘が多く、経理の工数が減らないseverity を分け、low は申請者に見せない。過剰指摘の割合を毎月測る
「念のため全件見る」運用になり効果が出ない導入初月に見逃し率を測り、基準を満たしたら自動通過に切り替える。ここを決め切る
規程改定が反映されず、古い基準で判定する規程データに適用開始日を持たせ、申請日時点の規程で判定する
交通費までAIに渡して費用が膨らむルールで判定できる費目はAIを呼ばない
領収書の適格請求書登録番号が読めない自社に届く領収書で実測する。読めない場合は別の確認手段を用意する

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 従業員の氏名・所属・役職、支出内容、飲食の同席者、訪問先。従業員の行動履歴に近い個人情報を含みます。

  1. 個人情報の外部送信 … 申請者の氏名は判定に不要です。部門と役職だけを渡し、氏名は伏せてください。 参加者の氏名も、社外の取引先名が含まれるため、判定に必要な範囲(社内か社外か、人数)に置き換えることを検討します
  2. 労務上の配慮 … AIの指摘が「不正の疑い」として従業員に伝わることは、大きな問題になります。§7に書いたとおり、AIには事実の記述のみをさせ、解釈と伝達は人が行います
  3. 自動通過の妥当性 … 「指摘なし」で経理の確認を省略する運用は、内部統制の観点で事前に整理が必要です。内部監査部門または監査法人に、判定基準と記録の残し方を確認してください
  4. 学習利用 … 入力を学習に使わないことが保証されるサービスを選びます
  5. 自動実行してよい範囲 … 差し戻しや却下をAIが自動実行する構成にしないでください。申請者に対する不利益な処分は、必ず人が判断します

10まず何から始めるか

1〜2週目:規程を書き起こす

社内の経費規程から、費目ごとの条件・上限・必要な添付を構造化データに書き起こします。まず接待交際費と会議費の2費目だけで構いません。 ここが全体でもっとも時間がかかる作業です。書き起こしの過程で、規程自体に曖昧な箇所が見つかることがあります。それは規程を直す機会です。

3週目:見逃しと過剰指摘を測る

過去の申請20件(うち5件は差し戻したもの)で最小構成(§8)を試します。見逃しゼロ、過剰指摘3件以下を目標にします。

4週目〜2か月目:半自動化を作る

日次バッチで判定し、経理向けの一覧を出すところまで作ります。この期間は自動通過をせず、全件を人が確認します。 AIが「指摘なし」とした申請の中に、人が問題と判断するものが何件あるかを測ります。

3か月目: 見逃し率が1%を下回っていれば、自動通過に切り替えます。並行して、申請者への即時フィードバックを実装します。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-09-02/最終更新:2026-09-08
確認した内容情報源確認日
Claude APIのStructured Outputs(JSON Schemaによる出力形式の固定)Anthropic: Structured outputs2026-09-02
Power Automate のトリガーの考え方Microsoft Learn: トリガー2026-09-02
Azure AI Document Intelligence による帳票の項目抽出MicrosoftDocs: Invoice model2026-09-02

経費精算システムのWebhook / API の有無と仕様は製品によって異なります。この部分は利用環境に応じた個別確認が必要です。 領収書からの適格請求書発行事業者登録番号の抽出可否も、自社の領収書で実測してください。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0006)についてのご相談はこちらから。

AI活用について相談する
目次