月次数値の異常値を検出して説明文の下書きを作る
月次試算表(部門別・勘定科目別)と、その明細データ(仕訳)を入力に、前月比・前年同月比・予算比で大きく動いた科目を検出し、その動きが何によって起きたかを明細から特定して、説明文の下書きを作らせます。
- 利用ツール
- ChatGPT/Claude/Gemini/Google Apps Script/Python
- 対象業界
- IT・SaaS/商社/小売/製造
- 対象部門
- 経営企画/経理
- 対象業務
- 書類作成/集計・分析
- 主な課題
- データ分析に時間がかかる/属人化している/書類作成に時間がかかる
- AIで行う処理
- 判定
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- SaaS追加(小)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 月次締め後、会計システムから部門別・科目別の試算表を出す
- Excelで前月比・前年同月比・予算比を計算する
- 差異の大きい科目を目視で拾う
- 該当科目の仕訳明細を会計システムで検索し、何が動いたかを調べる
- 大きい取引を特定し、その背景を関係部門に問い合わせる
- 説明文をWordまたはPowerPointに書く
- 経理部長がレビューし、修正指示を出す
- 経営会議の資料として提出する
- 月次締め後、【自動】 試算表と仕訳明細を取得する
- 自動前月比・前年同月比・予算比を計算し、しきい値を超えた科目を抽出する
- 自動該当科目の仕訳明細を、金額の大きい順に上位まで特定する
- 自動定型差異(賞与引当、減価償却、家賃など毎月発生するもの)を分離する
- 自動各差異について、明細を根拠にした説明文の下書きを作る
- 人経理担当が下書きを読み、事実を確認する。不明な背景は関係部門に問い合わせる
- 人経営判断に関わる解釈(「この増加は投資として計画どおり」など)を加える
- 人経理部長がレビューする
各工程の詳しい説明を読む
- 月次締め後、会計システムから部門別・科目別の試算表を出す
- Excelで前月比・前年同月比・予算比を計算する
- 差異の大きい科目を目視で拾う
- 該当科目の仕訳明細を会計システムで検索し、何が動いたかを調べる
- 大きい取引を特定し、その背景を関係部門に問い合わせる
- 説明文をWordまたはPowerPointに書く
- 経理部長がレビューし、修正指示を出す
- 経営会議の資料として提出する
問題は4つあります。
(a)3営業日しかない。 第5営業日に締めて第8営業日に会議です。実質3日で30〜40件の分析と文章化を行うため、常に時間切れです。
(b)掘り下げが浅くなる。 時間がないため、「販売促進費が増加しています」で止まり、何が原因かまで書けないことがあります。会議で「何が増えたのか」と聞かれ、その場で答えられません。
(c)担当者によって説明の質が違う。 ベテランは「展示会の開催時期が後ろにずれたため」と書けますが、新任は「増加しました」としか書けません。
(d)毎月同じ説明を書いている。 「賞与引当金の月次按分」のように、毎月同じ理由で発生する差異にも、毎回文章を書いています。
- 月次締め後、【自動】 試算表と仕訳明細を取得する
- 【自動】 前月比・前年同月比・予算比を計算し、しきい値を超えた科目を抽出する
- 【自動】 該当科目の仕訳明細を、金額の大きい順に上位まで特定する
- 【自動】 定型差異(賞与引当、減価償却、家賃など毎月発生するもの)を分離する
- 【自動】 各差異について、明細を根拠にした説明文の下書きを作る
- 【人】 経理担当が下書きを読み、事実を確認する。不明な背景は関係部門に問い合わせる
- 【人】 経営判断に関わる解釈(「この増加は投資として計画どおり」など)を加える
- 【人】 経理部長がレビューする
自動化されるのは「差異を見つける」「明細を掘る」「事実を文章にする」の3つです。残るのは「解釈」です。 数字が動いた理由を事実として書くところまではAIができますが、それが良いことなのか問題なのかの判断は人が行います。
02今回想定するシステム構成
会計システム(試算表・仕訳明細) │ ▼【トリガー】月次締め完了フラグ / 毎月第5営業日 ワークフロー(Power Automate / Python / Google Apps Script) │ ├──▶ 差異計算(前月比 / 前年同月比 / 予算比) │ ※ここはプログラム。AIを使わない │ ├──▶ しきい値判定 → 説明が必要な科目を抽出 │ ├──▶ 仕訳明細の取得(該当科目の上位20件) │ ├──▶ 定型差異の分離(マスタと照合) │ └──▶ LLM API ── 説明文の下書き生成 │ ▼ 説明文ドラフト(スプレッドシート / Word)──【人が確認・加筆】 │ ▼ 経営会議資料
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 会計システム | ERP | 各社の会計ソフト |
| 差異計算 | Python / Google Apps Script | Excel VBA、Power Query |
| 生成AI | Claude API | OpenAI API、Gemini API |
| 出力先 | Googleスプレッドシート | Excel、Word、BIツール |
BIツール(Power BI、Looker Studio 等)を既に使っている場合は、差異の抽出までをそちらに任せ、AIは説明文の生成だけを担う構成にできます。
03どうやって実装するのか
処理の起点を決める
月次締め完了を起点にします。会計システムに締めフラグがあればそれを、なければ毎月第5営業日の時刻起動にします。
締める前に動かすと、未計上の仕訳が反映されず、誤った差異を検出します。締め完了を確実に判定できる仕組みを先に決めてください。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 当月の試算表 | 部門別・勘定科目別の残高 | 会計システム |
| 前月・前年同月の試算表 | 同上 | 会計システム |
| 予算データ | 部門別・科目別の月次予算 | 予算管理スプレッドシート |
| 仕訳明細 | 差異が出た科目の、当月の仕訳(日付・摘要・金額・取引先) | 会計システム |
| 定型差異マスタ | 毎月発生する差異とその理由 | 手作業で整備 |
| 前月の説明文 | 前月に書いた説明(継続する事象の判定に使う) | 過去の資料 |
データの取得方法を決める
試算表と仕訳明細: 会計システムの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件程度に減ります。
AIへ渡す前に整形する
- 差異計算 … 前月比・前年同月比・予算比を、金額と率の両方で計算します。ここはプログラムで行います。AIに計算させないでください
- しきい値判定 … 「金額で50万円以上、かつ率で10%以上」といった条件で抽出します。金額だけ、率だけの条件にしないでください。 金額だけだと大きい科目ばかり、率だけだと小さい科目のノイズが並びます
- 定型差異の分離 … マスタと照合し、
suppress_from_reportのものを除外します - 仕訳明細の絞り込み … 該当科目の仕訳を金額の大きい順に並べ、累計で差異額の8割を説明できるところまでを抽出します。全明細を渡すとトークンが膨らみ、AIも重要な取引を見失います
- 摘要の整形 … 仕訳の摘要は略記が多いため(「9月分 展示会 前払」)、取引先マスタと突き合わせて社名を補完します
AIに処理させる
計算はさせません。事実の記述だけをさせます。
| 処理 | 内容 |
|---|---|
| 差異の要因特定 | 抽出された明細のうち、どれが差異の主因かを判断する |
| 説明文の生成 | 「何が」「いくら」「なぜ」を1〜3文で書く |
| 継続性の判定 | 前月の説明文と照らし、今月も続いている事象かを判断する |
| 確認が必要な点の抽出 | 明細だけでは理由が分からない差異を指摘する |
指示内容を固定する
あなたは月次決算の増減分析を支援する担当者です。
以下の科目の差異について、仕訳明細を根拠に説明文の下書きを作成してください。
【厳守事項】
- 金額は提示された数値をそのまま使ってください。計算し直さないでください。
- 明細に現れていない理由を推測しないでください。
明細から理由が読み取れない場合は、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、評価は人という分担を、プロンプトの段階で固定します。
「施策の効果を断定しない」も同様です。広告費と売上の両方が増えたことは事実ですが、因果関係はデータからは言えません。
出力形式を固定する
{
"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… 関係部門に聞くべきこと。これがあることで、経理担当は「誰に何を聞けばよいか」がすぐ分かります
システムへ連携する
生成された説明文を、スプレッドシートの分析シートへ書き込みます。列は「部門/科目/当月/前月比/予算比/説明文(下書き)/確認事項/担当者記入欄」とします。
経理担当が上書きする欄を別に設けます。 AIの下書きを直接編集させると、元の下書きと最終版の差分が取れなくなります。差分は、翌月以降のプロンプト改善に使います。
会計システムへの書き戻しは行いません。
人が確認する
全件、人が確認します。
この構成の出力は経営会議の資料になります。誤った説明が経営判断に使われるリスクがあるため、自動化の対象外です。
ただし、確認の重さは分けます。
| 対象 | 確認 |
|---|---|
is_recurring: true(定型差異) | 一覧で確認するのみ。文章はそのまま使う |
coverage_rate が8割以上、confidence: high | 説明文を読み、事実確認して承認(1件2分程度) |
coverage_rate が8割未満、または needs_inquiry あり | 明細を自分で確認し、関係部門へ問い合わせる(従来どおり) |
例外に対処する
| 起きること | 対応 |
|---|---|
| 差異の要因が明細から特定できない | coverage_rate を低く返し、needs_inquiry に記載する。推測で理由を書かせない |
| 1件の大口取引で差異の全額が説明できる | そのまま説明文にする。coverage_rate は100%になる |
| 差異が多数の小口取引の積み上げ | 「特定の大口要因はなく、◯件の取引の積み上げ」と書かせる。無理に主因を作らせない |
| 前年同月のデータがない(新設部門など) | 前年同月比を計算せず、その旨を明記する |
| 予算データが未確定 | 予算比を計算しない。予算がない前提で処理する |
| 締め前に実行された | 締めフラグを確認し、未締めなら処理を止める |
| 科目の組み替えがあった | 前年同月比が意味をなさない。組み替えマスタを持ち、該当科目は比較対象から外すか注記する |
| 差異が大きい科目が20件を超える | しきい値を見直す。全部を報告対象にすると読まれない |
記録を残す
- 入力した試算表・仕訳明細
- AIの下書き
- 経理担当が確定させた最終版
- 下書きと最終版の差分
差分が、この構成の改善材料です。「毎回『好調』という表現を人が削っている」と分かればプロンプトを直せますし、「特定の科目だけ毎回書き直されている」と分かれば、その科目の明細の渡し方を見直せます。
04実装レベルの3段階
この業務は半自動化で十分な場合が多いと考えられます。 月1回の処理なので、CSVの手動エクスポート程度の手間は問題になりません。API連携の実装コストに見合うかは、月1回という頻度を踏まえて判断してください。
05工数削減シミュレーション
導入後 120件 × 5分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 部門別の予実管理を行っており、月次締めから経営会議まで3営業日程度しかない組織。
- 未公表の財務情報を外部AIへ入力できない組織(閉域構成が取れない場合は見送り)。部門数・科目数が少なく差異が数件の場合。
07最小構成で試す方法
- 先月の月次資料から、差異が出た科目を3つ選ぶ
- その科目の仕訳明細(金額上位10件)をCSVでコピーする
- ChatGPT、Claude、Gemini などのチャット画面に、上のプロンプトを貼る
- 続けて数値と明細を貼り、説明文を生成させる
- 実際に自分が書いた説明文と比較する
比較の観点は3つです。
- 事実が合っているか … 金額と要因が正しいか
- 掘り下げの深さ … 自分が書いたものと同じ水準まで到達しているか
- 余計な評価が入っていないか … 「好調」「懸念」といった判断が混ざっていないか
3科目試して、2つが自分の書いたものと同水準なら、実用の目安に達しています。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| AIが金額を計算し直して誤る | 計算はプログラムで行い、AIには結果だけを渡す。「計算し直さない」制約を入れる |
| 「好調」「懸念」といった評価が資料に載る | プロンプトで明示的に禁止する。出力チェックで評価語を検出する |
| 因果関係を断定した文章が出る | 「施策の効果を断定しない」制約を入れる |
| 明細から理由が読めないのに、もっともらしい説明が出る | coverage_rate を必ず返させ、8割未満は人が確認する |
| 報告対象が多すぎて読まれない | しきい値を「金額かつ率」の両条件にする。定型差異を除外する |
| 毎月同じ説明を書いている | 定型差異マスタを整備し、suppress_from_report で除外する |
| 予算データの部門コードが会計システムと違う | 対応表を作る。ここがずれると予算比が全部おかしくなる |
| 科目組み替えで前年同月比が無意味になる | 組み替えマスタを持ち、該当科目は注記する |
| 締め前に実行して誤った差異を出す | 締めフラグの確認を必須にする |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 部門別の売上・費用・利益、取引先名、取引金額、予算。未公表の財務情報です。上場企業の場合はインサイダー情報に該当します。
- 未公表財務情報の外部送信 … これがこの構成で最大の論点です。月次の部門別損益は、決算発表前の未公表情報です。外部AIサービスへの送信可否を、自社の情報管理規程とインサイダー取引管理規程に照らして必ず確認してください。 上場企業では、この確認なしに進めてはいけません
- 代替構成 … 送信が認められない場合は、閉域網で利用できる構成(Azure OpenAI Service のプライベートエンドポイント等)、または社内で稼働するモデルを検討します。それも難しい場合、この構成は見送ってください
- 取引先名のマスキング … 説明文に取引先名が必要かを検討します。「大口顧客A社」で足りるなら、社名を伏せて渡せます
- 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
- アクセス権限 … 生成された分析シートを、経理・経営企画に限定します。部門別損益が全社に見える状態にしないでください
- 自動実行してよい範囲 … 説明文は下書きまでです。経営会議資料への反映は必ず人が行います
10まず何から始めるか
0週目:情報管理の確認を先にする
他のユースケースと違い、この構成は技術検証より先に、未公表財務情報を外部AIへ入力してよいかの確認が必要です。 ここが通らなければ、以降の作業は無駄になります。情報管理部門、上場企業であればIR・法務にも確認してください。
1週目:3科目で試す
先月の資料から3科目を選び、最小構成(§8)で試します。自分が書いた説明文と比較します。
2週目:定型差異を洗い出す
過去12か月の月次資料を読み、毎月同じ理由で書いている説明を洗い出します。これだけで報告対象が2〜3割減ります。 AIを使わなくても効果が出る部分です。
3〜4週目:半自動化を作る
試算表と仕訳明細のCSVエクスポート → 差異抽出 → AI生成 → スプレッドシート出力までを作ります。翌月の月次で並行運用し、AIの下書きと自分が書いた説明を比較します。
2か月目: 比較結果をもとにプロンプトを調整し、本番運用に切り替えます。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Claude APIのStructured Outputs(JSON Schemaによる出力形式の固定) | Anthropic: Structured outputs | 2026-09-02 |
会計システムからの試算表・仕訳明細の出力方式(API / CSV)は製品によって異なります。この部分は利用環境に応じた個別確認が必要です。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0008)についてのご相談はこちらから。
