Media > AI活用ユースケース > 経営企画 > 月次数値の異常値を検出して説明文の下書きを作る

月次数値の異常値を検出して説明文の下書きを作る

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

月次試算表(部門別・勘定科目別)と、その明細データ(仕訳)を入力に、前月比・前年同月比・予算比で大きく動いた科目を検出し、その動きが何によって起きたかを明細から特定して、説明文の下書きを作らせます。

サマリー
利用ツール
ChatGPT/Claude/Gemini/Google Apps Script/Python
対象業界
IT・SaaS/商社/小売/製造
対象部門
経営企画/経理
対象業務
書類作成/集計・分析
主な課題
データ分析に時間がかかる/属人化している/書類作成に時間がかかる
AIで行う処理
判定
主な効果
品質標準化/対応スピード向上/工数削減
導入難易度
★★★☆☆
実装レベル
半自動化
費用感
SaaS追加(小)
人間の確認
必須
現在工数
30h/月
AI導入後
10h/月
想定削減
67%
年間削減
240h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 月次締め後、会計システムから部門別・科目別の試算表を出す
  2. Excelで前月比・前年同月比・予算比を計算する
  3. 差異の大きい科目を目視で拾う
  4. 該当科目の仕訳明細を会計システムで検索し、何が動いたかを調べる
  5. 大きい取引を特定し、その背景を関係部門に問い合わせる
  6. 説明文をWordまたはPowerPointに書く
  7. 経理部長がレビューし、修正指示を出す
  8. 経営会議の資料として提出する
導入後(After)
  1. 月次締め後、【自動】 試算表と仕訳明細を取得する
  2. 自動前月比・前年同月比・予算比を計算し、しきい値を超えた科目を抽出する
  3. 自動該当科目の仕訳明細を、金額の大きい順に上位まで特定する
  4. 自動定型差異(賞与引当、減価償却、家賃など毎月発生するもの)を分離する
  5. 自動各差異について、明細を根拠にした説明文の下書きを作る
  6. 経理担当が下書きを読み、事実を確認する。不明な背景は関係部門に問い合わせる
  7. 経営判断に関わる解釈(「この増加は投資として計画どおり」など)を加える
  8. 経理部長がレビューする
各工程の詳しい説明を読む
  1. 月次締め後、会計システムから部門別・科目別の試算表を出す
  2. Excelで前月比・前年同月比・予算比を計算する
  3. 差異の大きい科目を目視で拾う
  4. 該当科目の仕訳明細を会計システムで検索し、何が動いたかを調べる
  5. 大きい取引を特定し、その背景を関係部門に問い合わせる
  6. 説明文をWordまたはPowerPointに書く
  7. 経理部長がレビューし、修正指示を出す
  8. 経営会議の資料として提出する

問題は4つあります。

(a)3営業日しかない。 第5営業日に締めて第8営業日に会議です。実質3日で30〜40件の分析と文章化を行うため、常に時間切れです。

(b)掘り下げが浅くなる。 時間がないため、「販売促進費が増加しています」で止まり、何が原因かまで書けないことがあります。会議で「何が増えたのか」と聞かれ、その場で答えられません。

(c)担当者によって説明の質が違う。 ベテランは「展示会の開催時期が後ろにずれたため」と書けますが、新任は「増加しました」としか書けません。

(d)毎月同じ説明を書いている。 「賞与引当金の月次按分」のように、毎月同じ理由で発生する差異にも、毎回文章を書いています。

  1. 月次締め後、【自動】 試算表と仕訳明細を取得する
  2. 【自動】 前月比・前年同月比・予算比を計算し、しきい値を超えた科目を抽出する
  3. 【自動】 該当科目の仕訳明細を、金額の大きい順に上位まで特定する
  4. 【自動】 定型差異(賞与引当、減価償却、家賃など毎月発生するもの)を分離する
  5. 【自動】 各差異について、明細を根拠にした説明文の下書きを作る
  6. 【人】 経理担当が下書きを読み、事実を確認する。不明な背景は関係部門に問い合わせる
  7. 【人】 経営判断に関わる解釈(「この増加は投資として計画どおり」など)を加える
  8. 【人】 経理部長がレビューする

自動化されるのは「差異を見つける」「明細を掘る」「事実を文章にする」の3つです。残るのは「解釈」です。 数字が動いた理由を事実として書くところまではAIができますが、それが良いことなのか問題なのかの判断は人が行います。

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

構成図
会計システム(試算表・仕訳明細)
   │
   ▼【トリガー】月次締め完了フラグ / 毎月第5営業日
ワークフロー(Power Automate / Python / Google Apps Script)
   │
   ├──▶ 差異計算(前月比 / 前年同月比 / 予算比)
   │       ※ここはプログラム。AIを使わない
   │
   ├──▶ しきい値判定 → 説明が必要な科目を抽出
   │
   ├──▶ 仕訳明細の取得(該当科目の上位20件)
   │
   ├──▶ 定型差異の分離(マスタと照合)
   │
   └──▶ LLM API ── 説明文の下書き生成
   │
   ▼
説明文ドラフト(スプレッドシート / Word)──【人が確認・加筆】
   │
   ▼
経営会議資料
役割想定する製品代替候補
会計システムERP各社の会計ソフト
差異計算Python / Google Apps ScriptExcel VBA、Power Query
生成AIClaude APIOpenAI API、Gemini API
出力先GoogleスプレッドシートExcel、Word、BIツール

BIツール(Power BI、Looker Studio 等)を既に使っている場合は、差異の抽出までをそちらに任せ、AIは説明文の生成だけを担う構成にできます。

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

Step1

処理の起点を決める

月次締め完了を起点にします。会計システムに締めフラグがあればそれを、なければ毎月第5営業日の時刻起動にします。

締める前に動かすと、未計上の仕訳が反映されず、誤った差異を検出します。締め完了を確実に判定できる仕組みを先に決めてください。

Step2

入力データを集める

データ中身取得元
当月の試算表部門別・勘定科目別の残高会計システム
前月・前年同月の試算表同上会計システム
予算データ部門別・科目別の月次予算予算管理スプレッドシート
仕訳明細差異が出た科目の、当月の仕訳(日付・摘要・金額・取引先)会計システム
定型差異マスタ毎月発生する差異とその理由手作業で整備
前月の説明文前月に書いた説明(継続する事象の判定に使う)過去の資料
Step3

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

試算表と仕訳明細: 会計システムのAPI、またはCSVエクスポートで取得します。多くの国産ERPではCSV出力が確実です。この部分は利用環境に応じた個別確認が必要です。

予算データ: スプレッドシートで管理している場合は、そのAPIで読みます。

定型差異マスタ: これは手作業で整備します。

{
  "pattern_id": "P-003",
  "account": "賞与引当金繰入",
  "department": "全社",
  "recurrence": "毎月",
  "explanation_template": "賞与引当金の月次按分計上。年間見込額{annual}円の12分の1。",
  "suppress_from_report": true
}

suppress_from_report を立てた差異は、報告から除外します。毎月同じ理由の差異を毎月説明する無駄を、ここで消します。 これだけで報告対象が35件から25件程度に減ります。

Step4

AIへ渡す前に整形する

  1. 差異計算 … 前月比・前年同月比・予算比を、金額と率の両方で計算します。ここはプログラムで行います。AIに計算させないでください
  2. しきい値判定 … 「金額で50万円以上、かつ率で10%以上」といった条件で抽出します。金額だけ、率だけの条件にしないでください。 金額だけだと大きい科目ばかり、率だけだと小さい科目のノイズが並びます
  3. 定型差異の分離 … マスタと照合し、suppress_from_report のものを除外します
  4. 仕訳明細の絞り込み … 該当科目の仕訳を金額の大きい順に並べ、累計で差異額の8割を説明できるところまでを抽出します。全明細を渡すとトークンが膨らみ、AIも重要な取引を見失います
  5. 摘要の整形 … 仕訳の摘要は略記が多いため(「9月分 展示会 前払」)、取引先マスタと突き合わせて社名を補完します
Step5

AIに処理させる

計算はさせません。事実の記述だけをさせます。

処理内容
差異の要因特定抽出された明細のうち、どれが差異の主因かを判断する
説明文の生成「何が」「いくら」「なぜ」を1〜3文で書く
継続性の判定前月の説明文と照らし、今月も続いている事象かを判断する
確認が必要な点の抽出明細だけでは理由が分からない差異を指摘する
Step6

指示内容を固定する

あなたは月次決算の増減分析を支援する担当者です。
以下の科目の差異について、仕訳明細を根拠に説明文の下書きを作成してください。

【厳守事項】
- 金額は提示された数値をそのまま使ってください。計算し直さないでください。
- 明細に現れていない理由を推測しないでください。
  明細から理由が読み取れない場合は、needs_inquiry に
  「関係部門への確認が必要」と記載してください。
- 「好調」「悪化」「順調」といった評価を書かないでください。
  事実の記述のみとし、良し悪しの判断は書かないでください。
- 施策の効果や因果関係を断定しないでください。
  (例:「広告費増加により売上が伸びた」ではなく
    「広告費が◯円増加した。同月の売上は◯円増加した」)
- 説明文は1〜3文。前置きや結びの挨拶を書かないでください。
- 差異額の8割以上を説明できる明細が特定できない場合は、
  その旨を明記してください。

【対象科目】
部門: {department} / 勘定科目: {account}
当月: {current} / 前月: {prev_month} / 前年同月: {prev_year} / 予算: {budget}
前月比: {mom_diff}({mom_rate}%)
予算比: {budget_diff}({budget_rate}%)

【当月の主な仕訳明細(金額上位)】
{journal_entries}

【前月の説明文】
{last_month_explanation}

「好調」「悪化」といった評価を書かせない制約が重要です。 経営会議の資料にAIが書いた評価が載り、それが独り歩きすると問題になります。事実の記述はAI、評価は人という分担を、プロンプトの段階で固定します。

「施策の効果を断定しない」も同様です。広告費と売上の両方が増えたことは事実ですが、因果関係はデータからは言えません。

Step7

出力形式を固定する

{
  "department": "",
  "account": "",
  "explanation": "",
  "main_factors": [
    { "description": "", "amount": 0, "share_of_diff": 0 }
  ],
  "coverage_rate": 0,
  "is_recurring": false,
  "continues_from_last_month": false,
  "needs_inquiry": "",
  "confidence": "high | medium | low"
}
  • coverage_rate … 特定した明細が差異額の何割を説明できているか。8割を下回るものは人が確認します
  • needs_inquiry … 関係部門に聞くべきこと。これがあることで、経理担当は「誰に何を聞けばよいか」がすぐ分かります
Step8

システムへ連携する

生成された説明文を、スプレッドシートの分析シートへ書き込みます。列は「部門/科目/当月/前月比/予算比/説明文(下書き)/確認事項/担当者記入欄」とします。

経理担当が上書きする欄を別に設けます。 AIの下書きを直接編集させると、元の下書きと最終版の差分が取れなくなります。差分は、翌月以降のプロンプト改善に使います。

会計システムへの書き戻しは行いません。

Step9

人が確認する

全件、人が確認します。

この構成の出力は経営会議の資料になります。誤った説明が経営判断に使われるリスクがあるため、自動化の対象外です。

ただし、確認の重さは分けます。

対象確認
is_recurring: true(定型差異)一覧で確認するのみ。文章はそのまま使う
coverage_rate が8割以上、confidence: high説明文を読み、事実確認して承認(1件2分程度)
coverage_rate が8割未満、または needs_inquiry あり明細を自分で確認し、関係部門へ問い合わせる(従来どおり)
Step10

例外に対処する

起きること対応
差異の要因が明細から特定できないcoverage_rate を低く返し、needs_inquiry に記載する。推測で理由を書かせない
1件の大口取引で差異の全額が説明できるそのまま説明文にする。coverage_rate は100%になる
差異が多数の小口取引の積み上げ「特定の大口要因はなく、◯件の取引の積み上げ」と書かせる。無理に主因を作らせない
前年同月のデータがない(新設部門など)前年同月比を計算せず、その旨を明記する
予算データが未確定予算比を計算しない。予算がない前提で処理する
締め前に実行された締めフラグを確認し、未締めなら処理を止める
科目の組み替えがあった前年同月比が意味をなさない。組み替えマスタを持ち、該当科目は比較対象から外すか注記する
差異が大きい科目が20件を超えるしきい値を見直す。全部を報告対象にすると読まれない
Step11

記録を残す

  • 入力した試算表・仕訳明細
  • AIの下書き
  • 経理担当が確定させた最終版
  • 下書きと最終版の差分

差分が、この構成の改善材料です。「毎回『好調』という表現を人が削っている」と分かればプロンプトを直せますし、「特定の科目だけ毎回書き直されている」と分かれば、その科目の明細の渡し方を見直せます。

04実装レベルの3段階

最小構成:明細を手でコピーし、チャットAIに貼る / 文章化
半自動化:試算表と明細をCSV出力 → スクリプトで差異抽出 → AIで説明文生成 → スプレッドシートへ / 差異の抽出と文章化
本格構成:上記+会計システムAPI連携+定型差異の自動除外+前月説明との継続性判定 / 資料の下書き作成まで

この業務は半自動化で十分な場合が多いと考えられます。 月1回の処理なので、CSVの手動エクスポート程度の手間は問題になりません。API連携の実装コストに見合うかは、月1回という頻度を踏まえて判断してください。

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

前提値(モデル条件)
対象人数
3 名
月間件数
120 件
1件あたり現在時間
15 分
1件あたり導入後時間
5 分
現在  120件 × 15分 ÷ 60 = 30 時間/月
導入後 120件 × 5分 ÷ 60 = 10 時間/月
月間削減時間
20h
削減率
67%
年間削減時間
240h
年間金額換算(時間単価4,500円)
108万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

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

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

AI活用について相談する

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

向いている
  1. 部門別の予実管理を行っており、月次締めから経営会議まで3営業日程度しかない組織。
向いていない
  1. 未公表の財務情報を外部AIへ入力できない組織(閉域構成が取れない場合は見送り)。部門数・科目数が少なく差異が数件の場合。

07最小構成で試す方法

  1. 先月の月次資料から、差異が出た科目を3つ選ぶ
  2. その科目の仕訳明細(金額上位10件)をCSVでコピーする
  3. ChatGPT、Claude、Gemini などのチャット画面に、上のプロンプトを貼る
  4. 続けて数値と明細を貼り、説明文を生成させる
  5. 実際に自分が書いた説明文と比較する

比較の観点は3つです。

  • 事実が合っているか … 金額と要因が正しいか
  • 掘り下げの深さ … 自分が書いたものと同じ水準まで到達しているか
  • 余計な評価が入っていないか … 「好調」「懸念」といった判断が混ざっていないか

3科目試して、2つが自分の書いたものと同水準なら、実用の目安に達しています。

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

問題対策
AIが金額を計算し直して誤る計算はプログラムで行い、AIには結果だけを渡す。「計算し直さない」制約を入れる
「好調」「懸念」といった評価が資料に載るプロンプトで明示的に禁止する。出力チェックで評価語を検出する
因果関係を断定した文章が出る「施策の効果を断定しない」制約を入れる
明細から理由が読めないのに、もっともらしい説明が出るcoverage_rate を必ず返させ、8割未満は人が確認する
報告対象が多すぎて読まれないしきい値を「金額かつ率」の両条件にする。定型差異を除外する
毎月同じ説明を書いている定型差異マスタを整備し、suppress_from_report で除外する
予算データの部門コードが会計システムと違う対応表を作る。ここがずれると予算比が全部おかしくなる
科目組み替えで前年同月比が無意味になる組み替えマスタを持ち、該当科目は注記する
締め前に実行して誤った差異を出す締めフラグの確認を必須にする

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

この構成で扱うデータ: 部門別の売上・費用・利益、取引先名、取引金額、予算。未公表の財務情報です。上場企業の場合はインサイダー情報に該当します。

  1. 未公表財務情報の外部送信 … これがこの構成で最大の論点です。月次の部門別損益は、決算発表前の未公表情報です。外部AIサービスへの送信可否を、自社の情報管理規程とインサイダー取引管理規程に照らして必ず確認してください。 上場企業では、この確認なしに進めてはいけません
  2. 代替構成 … 送信が認められない場合は、閉域網で利用できる構成(Azure OpenAI Service のプライベートエンドポイント等)、または社内で稼働するモデルを検討します。それも難しい場合、この構成は見送ってください
  3. 取引先名のマスキング … 説明文に取引先名が必要かを検討します。「大口顧客A社」で足りるなら、社名を伏せて渡せます
  4. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
  5. アクセス権限 … 生成された分析シートを、経理・経営企画に限定します。部門別損益が全社に見える状態にしないでください
  6. 自動実行してよい範囲 … 説明文は下書きまでです。経営会議資料への反映は必ず人が行います

10まず何から始めるか

0週目:情報管理の確認を先にする

他のユースケースと違い、この構成は技術検証より先に、未公表財務情報を外部AIへ入力してよいかの確認が必要です。 ここが通らなければ、以降の作業は無駄になります。情報管理部門、上場企業であればIR・法務にも確認してください。

1週目:3科目で試す

先月の資料から3科目を選び、最小構成(§8)で試します。自分が書いた説明文と比較します。

2週目:定型差異を洗い出す

過去12か月の月次資料を読み、毎月同じ理由で書いている説明を洗い出します。これだけで報告対象が2〜3割減ります。 AIを使わなくても効果が出る部分です。

3〜4週目:半自動化を作る

試算表と仕訳明細のCSVエクスポート → 差異抽出 → AI生成 → スプレッドシート出力までを作ります。翌月の月次で並行運用し、AIの下書きと自分が書いた説明を比較します。

2か月目: 比較結果をもとにプロンプトを調整し、本番運用に切り替えます。


11関連ユースケース

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

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

技術仕様確認日:2026-09-02/最終更新:2026-09-08
確認した内容情報源確認日
Claude APIのStructured Outputs(JSON Schemaによる出力形式の固定)Anthropic: Structured outputs2026-09-02

会計システムからの試算表・仕訳明細の出力方式(API / CSV)は製品によって異なります。この部分は利用環境に応じた個別確認が必要です。

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

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

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

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