経費精算の申請内容を社内規程と照合してチェックする
経費精算の申請内容(費目、金額、日付、参加者、目的)と、添付された領収書の画像、そして社内の経費規程を入力に、生成AIへ「規程に反する可能性がある箇所」を指摘させます。
- 利用ツール
- Azure AI/ChatGPT/Claude/Gemini/Google Document AI/Make/n8n/Power Automate
- 対象業界
- IT・SaaS/人材/商社/広告
- 対象部門
- 経理
- 対象業務
- 内容確認・チェック
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 従業員が経費精算システムで申請する(費目、金額、日付、目的、領収書の画像を添付)
- 直属の上長が承認する
- 経理担当が一次チェックする。申請内容と領収書の金額が一致するかを見る
- 費目が適切か、規程の上限を超えていないかを判断する
- 問題があれば差し戻し、コメントを書く
- 従業員が修正して再申請する
- 問題がなければ支払処理へ回す
- 従業員が経費精算システムで申請する
- 自動申請直後に、領収書のOCRと規程照合を行う
- 自動問題がありそうな箇所を、規程の条項とともに申請者へ即座に表示する
- 人従業員が、申請時点で自分で直す(差し戻しの往復が消える)
- 上長が承認する
- 自動経理向けに、指摘の有無で申請を仕分ける
- 人経理担当が、指摘のあった申請だけを確認する
- 自動指摘のない申請は、上長承認をもって支払処理へ回す
各工程の詳しい説明を読む
- 従業員が経費精算システムで申請する(費目、金額、日付、目的、領収書の画像を添付)
- 直属の上長が承認する
- 経理担当が一次チェックする。申請内容と領収書の金額が一致するかを見る
- 費目が適切か、規程の上限を超えていないかを判断する
- 問題があれば差し戻し、コメントを書く
- 従業員が修正して再申請する
- 問題がなければ支払処理へ回す
問題は4つあります。
(a)2,000件を目で見ている。 そのうち9割は問題のない申請です。1割の問題を見つけるために、全件を見ています。
(b)判断が担当者によって違う。 ベテランは「この目的なら会議費」と判断できますが、新任は迷います。同じ内容の申請が、担当者によって通ったり差し戻されたりします。
(c)上長承認が形骸化している。 上長は部下の申請を月に数十件承認しますが、規程を細かく確認する時間はありません。実質的なチェックは経理の一次チェックだけです。
(d)差し戻しの往復が発生する。 申請してから差し戻されるまで数日かかるため、従業員は何が問題だったかを覚えていません。往復が2回、3回と続きます。
- 従業員が経費精算システムで申請する
- 【自動】 申請直後に、領収書のOCRと規程照合を行う
- 【自動】 問題がありそうな箇所を、規程の条項とともに申請者へ即座に表示する
- 【人】 従業員が、申請時点で自分で直す(差し戻しの往復が消える)
- 上長が承認する
- 【自動】 経理向けに、指摘の有無で申請を仕分ける
- 【人】 経理担当が、指摘のあった申請だけを確認する
- 【自動】 指摘のない申請は、上長承認をもって支払処理へ回す
この構成でもっとも効くのは、3の「申請時点で申請者に指摘する」部分です。 経理の確認件数が減るだけでなく、差し戻しの往復そのものがなくなります。
02今回想定するシステム構成
経費精算システム(申請) │ ▼【トリガー】申請が作成されたとき(Webhook / ポーリング) ワークフロー(Power Automate / Make / 個別実装) │ ├──▶ OCR(Azure AI Document Intelligence 等) │ └─ 領収書の店名・日付・金額・但し書きを抽出 │ ├──▶ 社内規程(構造化した規程データ)を参照 │ ├──▶ 過去の申請履歴を参照(同一日の重複、月次の累計) │ └──▶ LLM API ── 規程照合と指摘の生成 │ ▼ 申請者へ即時フィードバック(申請画面 / Teams / Slack) │ ▼ 経理向けの仕分けリスト(指摘あり / なし)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 経費精算 | 各社の経費精算SaaS | 自社開発のワークフロー、kintone |
| OCR | Azure AI Document Intelligence | Google Document AI、経費精算SaaSの標準OCR |
| ワークフロー | Power Automate | Make、n8n、個別実装 |
| 生成AI | Claude API | OpenAI API、Gemini API |
| 通知 | Microsoft Teams | Slack、メール、申請画面への埋め込み |
経費精算SaaSに規程チェック機能が標準で付いている場合は、まずそれを使ってください。 金額上限や費目の制限は、多くの製品がルール設定で対応できます。AIが必要になるのは、「目的の記載から費目の妥当性を判断する」ような、条件分岐では書けない部分です。
03どうやって実装するのか
処理の起点を決める
申請が作成されたときを起点にします。経費精算システムがWebhookを提供していればそれを使い、なければ5分おきに新規申請をポーリングします。
上長承認の後ではなく、申請直後に動かすことが重要です。承認後にすると、申請者へのフィードバックが遅れ、この構成の主な効果(差し戻しの往復の削減)が失われます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 申請内容 | 費目、金額、日付、目的、参加者、支払先 | 経費精算システム |
| 領収書の画像 | 添付ファイル | 経費精算システム |
| OCR結果 | 店名、日付、金額、但し書き、適格請求書発行事業者の登録番号 | OCRサービス |
| 社内規程 | 費目ごとの上限、必要な添付、禁止事項 | 規程データ(後述) |
| 申請者の属性 | 所属部門、役職(役職で上限が変わるため) | 人事マスタ |
| 過去の申請履歴 | 同一日の申請、当月の費目別累計 | 経費精算システム |
データの取得方法を決める
社内規程の扱いが、この構成でもっとも重要な設計判断です。
規程の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 には領収書向けのモデルがあり、店名、日付、合計金額、明細を抽出できます。適格請求書発行事業者の登録番号の抽出可否は、自社の領収書で実測してください。
AIへ渡す前に整形する
- 領収書の向き補正 … スマートフォンで撮影した画像は傾いていることが多いため、補正します
- 金額の突合 … 申請額とOCRで読んだ金額が一致するかを、AIを呼ぶ前にプログラムで判定します。ここが不一致なら、それだけで指摘対象です
- 上限額の判定 … 構造化した規程データと照らして、金額上限をプログラムで判定します
- 重複の検出 … 同一日・同一金額・同一店名の申請が既にないかを照合します
- AIを呼ぶ対象の絞り込み … 上記1〜4で問題が見つからなかった申請のうち、判断が必要なもの(接待交際費、会議費、その他)だけをAIに回します。 交通費のようにルールで判定し切れる費目は、AIを呼びません
5が費用対効果に直結します。 月2,000件のうち、AIに渡すのは500件程度に絞れます。
AIに処理させる
規則で書けない判断だけを任せます。
| 処理 | 内容 |
|---|---|
| 費目の妥当性判定 | 目的の記載から、申請された費目が適切かを判断する |
| 目的記載の十分性 | 「打ち合わせ」だけの記載で足りるか、具体性が不足していないかを判断する |
| 領収書と申請の整合 | 但し書きが「品代」で申請目的が「会議での飲食」など、食い違いがないかを見る |
| 私的利用の疑い | 休日・深夜の飲食、参加者が社内のみの高額な飲食などを指摘する |
指示内容を固定する
あなたは経費精算の内容を確認する担当者です。
以下の申請内容と社内規程を照らし、規程に反する可能性がある箇所を指摘してください。
【厳守事項】
- 指摘には必ず、根拠となる規程の条項番号を記載してください。
条項を示せない指摘はしないでください。
- 承認・却下の判断はしないでください。指摘するだけです。
- 金額の上限判定は既に行われています。重複して指摘しないでください。
- 規程に定めのない事柄を、慣行や一般常識をもとに指摘しないでください。
- 申請者の意図を推測して、不正の疑いを断定しないでください。
事実として観測できることだけを書いてください。
(例:「私的利用と思われる」ではなく「参加者が社内のみで、
日付が休日である」と事実を書く)
- 指摘がない場合は 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は「私的な飲食の可能性が高い」といった書き方をします。それが経理担当の目に触れ、従業員への疑念として伝わることは、労務上の問題になります。観測できる事実だけを書かせ、解釈は人がします。
出力形式を固定する
{
"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 を返すことで、申請者は何を直せばよいかが分かります。「規程違反です」とだけ表示する構成にすると、申請者は結局経理に問い合わせるので、経理の工数が減りません。
システムへ連携する
申請者向け: 申請直後に、指摘内容をTeamsまたは申請画面に表示します。severity が high のものだけを出し、low は経理向けにのみ回します。申請者に細かい指摘を大量に見せると、読まれなくなります。
経理向け: 日次で、指摘のあった申請の一覧を生成します。severity 順に並べ、条項と観測事実を表示します。
経費精算システムへの書き戻し: システムがAPIを提供していれば、指摘内容をコメント欄に登録します。提供していない場合は、別途一覧を見る運用にします。この部分は利用環境に応じた個別確認が必要です。
人が確認する
| 対象 | 確認 |
|---|---|
| 指摘なしの申請(想定1,800件) | 経理の確認を省略し、上長承認をもって支払処理へ回す |
severity: low の指摘(想定150件) | 経理が一覧でまとめて確認する |
severity: medium / high(想定50件) | 経理が個別に確認し、差し戻しを判断する |
「指摘なしを自動で通す」判断が、この構成の効果の大半を生みます。 ここを「念のため全件見る」運用にすると、削減効果はほぼゼロになります。
ただし、いきなり全面的に自動化しないでください。導入初月は全件を人が確認し、AIが「指摘なし」とした申請の中に、人が問題と判断するものが何件あるかを測ります。見逃し率が1%を下回ることを確認してから、自動通過に切り替えます。
また、金額が一定額(たとえば5万円)を超える申請は、指摘の有無にかかわらず人が確認する設計にします。
例外に対処する
| 起きること | 対応 |
|---|---|
| 領収書の画像が読めない | OCR結果を空にして needs_human_review: true を立てる。金額の突合を飛ばして人へ回す |
| 領収書の添付がない | 規程で添付が必須の費目なら、それ自体を指摘する |
| 申請額とOCRの金額が不一致 | AIを呼ばず、その時点で指摘とする(プログラムで判定) |
| 規程データに該当する条項がない費目 | AIを呼ばず、「その他」として人へ回す。規程にない判断をAIにさせない |
| 規程が改定された | 構造化データを更新する。改定日を持たせ、申請日時点の規程で判定する |
| 同一日・同一金額の重複申請 | プログラムで検出し、既存申請へのリンクとともに指摘する |
| AIが条項を示せない指摘を返す | 出力チェックで clause が空の指摘を除外する |
| 月末に申請が集中する | キューに入れて順次処理する。申請者へのフィードバックが数分遅れても問題ない |
記録を残す
この業務では、ログが監査対応の資料になります。
- 申請内容と領収書(経費精算システム側で保存)
- AIの指摘内容(条項、観測事実)
- 経理担当の判断(承認・差し戻し)と、AIの指摘と一致したか
- 「指摘なし」で自動通過した申請の一覧
最後の項目は、内部監査で「チェックを省略した根拠」を示す資料になります。自動通過の判定基準と、その適用件数を記録してください。
04実装レベルの3段階
半自動化では、経理の工数は減りますが、差し戻しの往復は残ります。 この業務でもっとも大きい隠れコストは、申請者と経理の往復(1往復あたり双方で10分以上)なので、本格構成まで進む価値があります。
05工数削減シミュレーション
導入後 2,000件 × 0.5分 ÷ 60 = 16.7 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 経費規程が明文化されており、申請が月1,000件以上。経理の一次チェックが滞留している組織。
- 規程が曖昧で判断基準を書き起こせない組織。経費精算SaaSの標準ルール設定で足りる場合。
07最小構成で試す方法
- 社内の経費規程から、接待交際費と会議費の条項を書き出す(2〜3条項でよい)
- 過去の経費申請20件(うち5件は実際に差し戻したもの)を選ぶ
- ChatGPT、Claude、Gemini などのチャット画面に、上のプロンプトと条項を貼る
- 続けて申請内容を1件ずつ貼り、指摘させる
評価の観点は2つです。
- 見逃し … 実際に差し戻した5件を、AIが指摘できたか
- 過剰指摘 … 問題のない15件に、余計な指摘を付けなかったか
見逃しがゼロで、過剰指摘が3件以下なら、実用の目安に達しています。過剰指摘が多い場合は、規程の書き起こしが曖昧か、「規程に定めのない事柄を指摘しない」の制約が効いていません。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 規程PDFをそのまま渡して、上限額の判定を誤る | 上限額はプログラムで判定する。AIには規則で書けない判断だけを任せる |
| AIが規程にない一般常識で指摘してくる | 「規程に定めのない事柄を指摘しない」制約を入れる。条項を示せない指摘は除外する |
| AIが「私的利用の疑い」と書き、労務上の問題になる | 観測できる事実だけを書かせる。解釈は人がする |
| 過剰指摘が多く、経理の工数が減らない | severity を分け、low は申請者に見せない。過剰指摘の割合を毎月測る |
| 「念のため全件見る」運用になり効果が出ない | 導入初月に見逃し率を測り、基準を満たしたら自動通過に切り替える。ここを決め切る |
| 規程改定が反映されず、古い基準で判定する | 規程データに適用開始日を持たせ、申請日時点の規程で判定する |
| 交通費までAIに渡して費用が膨らむ | ルールで判定できる費目はAIを呼ばない |
| 領収書の適格請求書登録番号が読めない | 自社に届く領収書で実測する。読めない場合は別の確認手段を用意する |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 従業員の氏名・所属・役職、支出内容、飲食の同席者、訪問先。従業員の行動履歴に近い個人情報を含みます。
- 個人情報の外部送信 … 申請者の氏名は判定に不要です。部門と役職だけを渡し、氏名は伏せてください。 参加者の氏名も、社外の取引先名が含まれるため、判定に必要な範囲(社内か社外か、人数)に置き換えることを検討します
- 労務上の配慮 … AIの指摘が「不正の疑い」として従業員に伝わることは、大きな問題になります。§7に書いたとおり、AIには事実の記述のみをさせ、解釈と伝達は人が行います
- 自動通過の妥当性 … 「指摘なし」で経理の確認を省略する運用は、内部統制の観点で事前に整理が必要です。内部監査部門または監査法人に、判定基準と記録の残し方を確認してください
- 学習利用 … 入力を学習に使わないことが保証されるサービスを選びます
- 自動実行してよい範囲 … 差し戻しや却下をAIが自動実行する構成にしないでください。申請者に対する不利益な処分は、必ず人が判断します
10まず何から始めるか
1〜2週目:規程を書き起こす
社内の経費規程から、費目ごとの条件・上限・必要な添付を構造化データに書き起こします。まず接待交際費と会議費の2費目だけで構いません。 ここが全体でもっとも時間がかかる作業です。書き起こしの過程で、規程自体に曖昧な箇所が見つかることがあります。それは規程を直す機会です。
3週目:見逃しと過剰指摘を測る
過去の申請20件(うち5件は差し戻したもの)で最小構成(§8)を試します。見逃しゼロ、過剰指摘3件以下を目標にします。
4週目〜2か月目:半自動化を作る
日次バッチで判定し、経理向けの一覧を出すところまで作ります。この期間は自動通過をせず、全件を人が確認します。 AIが「指摘なし」とした申請の中に、人が問題と判断するものが何件あるかを測ります。
3か月目: 見逃し率が1%を下回っていれば、自動通過に切り替えます。並行して、申請者への即時フィードバックを実装します。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Claude APIのStructured Outputs(JSON Schemaによる出力形式の固定) | Anthropic: Structured outputs | 2026-09-02 |
| Power Automate のトリガーの考え方 | Microsoft Learn: トリガー | 2026-09-02 |
| Azure AI Document Intelligence による帳票の項目抽出 | MicrosoftDocs: Invoice model | 2026-09-02 |
経費精算システムのWebhook / API の有無と仕様は製品によって異なります。この部分は利用環境に応じた個別確認が必要です。 領収書からの適格請求書発行事業者登録番号の抽出可否も、自社の領収書で実測してください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0006)についてのご相談はこちらから。
