Media > AI活用ユースケース > 経理 > グループ会社どうしの債権債務を月次で突き合わせて、差異の原因まで切り分ける

グループ会社どうしの債権債務を月次で突き合わせて、差異の原因まで切り分ける

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

グループ各社が出した債権・債務の明細を入力に、合う組を機械的に消し込み、残った差異を原因の型に分けて、相手会社への問い合わせ文まで作ります。連結担当の作業は、差異を探すことから、切り分けられた差異を確かめることに変わります。

サマリー
利用ツール
ChatGPT/Claude/Gemini/Google Apps Script/Make/n8n/Power Automate/Python
対象業界
商社/小売/建設/製造
対象部門
経理/財務
対象業務
内容確認・チェック/集計・分析
主な課題
人手が足りない/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
判定
主な効果
判断支援/品質標準化/工数削減
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
ノーコード連携(中)
人間の確認
必須
現在工数
36h/月
AI導入後
16h/月
想定削減
56%
年間削減
240h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 各社に、グループ間取引の明細を月次で提出してもらう
  2. 提出された明細をExcelにまとめる
  3. 会社の組み合わせごとに、債権側と債務側の合計を比べる
  4. 合わなければ、明細を1行ずつ突き合わせる
  5. 合わない行を見つけ、原因を推測する
  6. 両社に問い合わせて確認する
  7. 回答を待つ(ここで1〜2日かかる)
  8. 原因が分かったら、調整または消去仕訳を作る
導入後(After)
  1. 各社が、決められた形式で明細を所定の場所に提出する
  2. 自動提出状況を確認し、未提出の会社に督促する
  3. 自動形式をそろえ、会社の組み合わせごとに並べる
  4. 自動金額・日付・相手先で機械的に消し込む(完全一致・近似一致)
  5. 自動残った差異を、6つの型に分類する
  6. 自動型ごとに、相手会社への問い合わせ文を作る
  7. 連結担当が、分類と問い合わせ内容を確かめて送る
  8. 回答を受けて、調整または消去仕訳を確定する
各工程の詳しい説明を読む
  1. 各社に、グループ間取引の明細を月次で提出してもらう
  2. 提出された明細をExcelにまとめる
  3. 会社の組み合わせごとに、債権側と債務側の合計を比べる
  4. 合わなければ、明細を1行ずつ突き合わせる
  5. 合わない行を見つけ、原因を推測する
  6. 両社に問い合わせて確認する
  7. 回答を待つ(ここで1〜2日かかる
  8. 原因が分かったら、調整または消去仕訳を作る

問題は4つあります。

(a)明細の形式が会社ごとに違う。 列の名前も並びも違います。まとめるだけで時間がかかります。

(b)伝票番号で突き合わせられない。 売る側の伝票番号と買う側の伝票番号は別です。金額と日付で当たりを付けるしかありません。

(c)問い合わせの往復が長い。 「何が合わないのか」を文章で説明するのに時間がかかり、相手が誤解して的外れな回答が返ってきます。

(d)月初に集中する。 翌月第5営業日までという期限があり、この作業は3営業日に押し込まれます。

  1. 各社が、決められた形式で明細を所定の場所に提出する
  2. 【自動】 提出状況を確認し、未提出の会社に督促する
  3. 【自動】 形式をそろえ、会社の組み合わせごとに並べる
  4. 【自動】 金額・日付・相手先で機械的に消し込む(完全一致・近似一致)
  5. 【自動】 残った差異を、6つの型に分類する
  6. 【自動】 型ごとに、相手会社への問い合わせ文を作る
  7. 【人】 連結担当が、分類と問い合わせ内容を確かめて送る
  8. 【人】 回答を受けて、調整または消去仕訳を確定する

自動化されるのは「そろえる」「消し込む」「型に分ける」「問い合わせ文を作る」の4つです。残るのは「確かめて仕訳を決める」だけになります。

4の機械的な消し込みが、件数を大きく減らします。 240件のうち、8割前後は完全一致で消えます。AIが見るのは残りの2割です。

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

構成図
各社の会計システム → グループ間取引の明細(所定の形式で提出)
   │
   ▼
SharePoint の提出フォルダ(会社ごと)
   │
   ▼【トリガー】月初の定期実行
Power Automate
   │
   ├──▶ 提出状況の確認・未提出の督促
   │
   ├──▶ 形式の正規化(列名・日付書式・符号の向き)
   │
   ├──▶ 機械的な消し込み(完全一致 → 近似一致)
   │       └─ ここはプログラムで行う。AIを使わない
   │
   ├──▶ LLM API ── 残った差異の型の判定と、根拠の提示
   │
   └──▶ LLM API ── 相手会社への問い合わせ文の作成
   │
   ▼
差異一覧(型・根拠・問い合わせ文)──【連結担当が確認して送信】
   │
   ▼
回答の記録 + 調整・消去仕訳の作成
役割想定する製品代替候補
ワークフローPower AutomateMake、n8n
生成AIClaude APIChatGPT、Gemini
差異計算PythonGoogle Apps Script

連結会計システムの導入を先に検討してください。 グループ間取引の消去と照合は、連結会計システムの標準機能です。自前で組む価値があるのは、システムの導入までに時間がかかる場合、または会社数が少なくシステムが見合わない場合です。

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

Step1

処理の起点を決める

月初の定期実行を起点にします。締めの期限から逆算して、第1営業日に動かします。

あわせて、提出があるたびに動く形にもします。 全社の提出がそろうのを待つと、作業が第3営業日に固まります。2社そろった時点でその組み合わせを処理すれば、作業が平準化されます。

Power Automate で組む場合、「Apply to each」が処理できる配列の項目数は10万件まで(Low の場合は5,000件)です。明細を1行ずつ回す設計にすると、件数によってはこの制限と処理時間の両方に当たります。行単位の突合はPythonで行い、Power Automate は起動と受け渡しに使ってください。

Step2

入力データを集める

データ中身取得元
債権明細相手会社、計上日、金額、税区分、通貨、摘要、伝票番号売る側の会計システム
債務明細同上買う側の会計システム
グループ会社マスタ会社コード、正式名称、決算期、機能通貨連結担当
換算レート月次の平均レート、期末レート財務部
前月の差異一覧前月に未解決だった差異と、その経緯連結担当
消込ルール許容する日数のずれ、許容する金額の差連結担当
Step3

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

明細の提出: 各社の会計システムからCSVで書き出し、所定のフォルダに置いてもらいます。この形式を統一するところが、この構成でいちばん手間のかかる準備です。

Excelで受け取る場合、Power Automate の Excel Online(Business)コネクタで読めます。ただし、「テーブルに存在する行を一覧表示する」は既定で最大256行しか返さないため、全行を取るにはページ送りを有効にする必要があります。コネクタが扱えるファイルサイズの上限は25MBです。 明細が数千行になる場合は、CSVで受け取ってPythonで読むほうが確実です。

換算レート: 財務部が決めた月次のレートを使います。各社が勝手なレートで換算していると、差異が為替なのか実態なのか分かりません。

前月の差異一覧: これを入力に含めると、「先月も同じ差異が出ている」が分かります。繰り返し出る差異は、運用に原因があります。

Step4

AIへ渡す前に整形する

  1. 列名の正規化 … 会社ごとに違う列名を、共通の項目名に寄せます。列番号で読まないでください。 列が1つ増えただけで無言でずれます
  2. 符号の向きをそろえる … 債権側と債務側で符号の扱いが違うことがあります。突合の前にそろえます
  3. 通貨の統一 … 海外子会社の明細を、決められたレートで換算します。元の通貨と金額も残します
  4. 税区分の扱い … 税込と税抜が混ざっていないかを確認します。混ざっている場合は、突合の前に分けます
  5. 機械的な消し込み … 相手会社・金額・計上日で完全一致するものを消します。次に、日数のずれと金額の差を許容した近似一致で消します。ここまではすべてプログラムで行い、AIを使いません

5で消えなかったものだけがAIに渡ります。 ここを飛ばしてAIに全件渡すと、費用も時間も無駄になり、精度も落ちます。

Step5

AIに処理させる

プログラムにさせること: 正規化、換算、消し込み、集計。判定の入口を安定させるためです。

LLMにさせること:

処理内容
差異の型の判定残った差異を6つの型のどれかに分類し、根拠を示す
対応関係の推定「この債権行は、相手のこの債務行に対応していそうだ」を候補として挙げる
摘要の読み解き「◯月分値引」「支給品相殺」など、摘要欄の記述から差異の説明を探す
問い合わせ文の作成相手会社の担当者が読んで、何を調べればよいか分かる文にする

LLMに金額の計算をさせません。 合計、差額、レート換算は、すべてプログラムで計算した値を渡します。数値の計算をAIにさせると、検算ができません。

「対応関係の推定」も、候補どまりにします。 AIが「この行とこの行が対応する」と言っても、消し込みを自動で確定させません。人が確認して確定します。

構造化出力を使って、判定の形式を固定します。Claude APIの構造化出力は、制約付きデコードによってスキーマに沿ったJSONの生成をモデル側で保証します。 型の値が想定外の文字列で返ってくることを防げます。

Step6

指示内容を固定する

あなたは、グループ会社間の債権債務照合を支援する担当者です。
機械的な消し込みで残った差異について、原因の型を判定してください。

【厳守事項】
- 金額を計算しないでください。渡された数値をそのまま使ってください。
- 差異の原因を断定しないでください。
  「〜の可能性がある」として、根拠になった記述を必ず引用してください。
- 明細に書かれていないことを補わないでください。
  判定できない差異は type を unknown にしてください。
- 消し込みの確定をしないでください。
  対応しそうな行は candidate として挙げるだけにしてください。
- 仕訳を提案しないでください。

【判定できる型】
timing(期ズレ)/ amount(金額違い)/ missing(未達)/
counterparty(相手先の取り違え)/ tax(税区分)/ fx(為替)/ unknown

【会社の組み合わせ】
債権側: {creditor_company} 債務側: {debtor_company}

【消し込み後に残った債権行】
{unmatched_receivables}

【消し込み後に残った債務行】
{unmatched_payables}

【前月に未解決だった差異】
{prior_month_open_items}

【換算に使ったレート】
{fx_rates}

「金額を計算しない」の1行は必ず入れてください。 差額はプログラムが出した値を渡し、AIには型の判定と説明だけをさせます。

問い合わせ文の作成には、別のプロンプトを使います。

判定された差異について、相手会社の経理担当者への問い合わせ文を作ってください。

【厳守事項】
- 原因を断定しないでください。「〜ではないでしょうか」と確認を求める形にしてください。
- 相手に調べてほしいことを、具体的な伝票の条件で書いてください。
  (計上日、金額、摘要の文言)
- 責任の所在に触れないでください。
- 200字以内にしてください。
Step7

出力形式を固定する

{
  "pair_id": "",
  "creditor_company": "",
  "debtor_company": "",
  "difference_amount": 0,
  "diagnosis": [
    {
      "type": "timing | amount | missing | counterparty | tax | fx | unknown",
      "confidence": "high | medium | low",
      "evidence": "",
      "candidate_rows": { "receivable": [], "payable": [] },
      "amount_explained": 0
    }
  ],
  "unexplained_amount": 0,
  "inquiry_draft": "",
  "recurring_from_prior_month": false
}

amount_explainedunexplained_amount をプログラム側で検算します。説明された金額の合計が差額に一致しない場合は、判定が破綻しているので人へ回します。

recurring_from_prior_month が真の差異は、別に集計してください。繰り返す差異は、個別に直しても翌月また出ます。

Step8

システムへ連携する

つなぎ先何をするか
提出フォルダ各社の明細を受け取る。提出状況を管理する
表計算差異一覧を並べ、連結担当が確認と編集を行う
メール問い合わせ文を担当者の下書きに作る。自動送信はしない
会計システム確定した調整・消去仕訳を登録する。人の承認を経る
差異の記録型・金額・解決日・原因を残し、翌月の入力にする
Step9

人が確認する

全件、人が確認します。仕訳の自動登録はしません。

理由は、この作業の結果が決算数値になるためです。誤った消し込みは、グループの資産・負債を実態と違う金額にします。

確認を速くするための設計が重要です。

  • 差異一覧を 金額の大きい順に並べる
  • 型ごとに色分けし、同じ型をまとめて処理できるようにする
  • confidence が低いもの、unknown を上に出す
  • 候補の対応行を、元の明細へリンクする
  • 前月から繰り返している差異に印を付ける
Step10

例外に対処する

起きること対応
明細が未提出の会社がある督促を送り、その組み合わせの処理を保留にする
列の並びが変わった列名で読む。列番号で読むと無言でずれる
説明された金額の合計が差額と合わない判定が破綻している。人へ回す
同じ金額の取引が複数あって対応が決まらない候補を複数挙げ、消し込みを確定しない
相手先の会社コードが誤っているcounterparty として判定し、両社に確認する
税込と税抜が混ざっている前処理で分ける。混ざったまま突合しない
海外子会社のレートが指定と違うfx として判定し、差額のうち換算による分を示す
前月と同じ差異が出ているrecurring の印を付け、別に集計する
明細の行数が多く処理が終わらない突合はプログラムで行う。ワークフロー側で行単位に回さない
差異が期限までに解決しない未解決として持ち越し、翌月の入力にする。放置しない
Step11

記録を残す

  • 各社が提出した明細(原本)
  • 機械的な消し込みの結果(何が一致し、何が残ったか)
  • AIの判定と、その根拠
  • 相手会社への問い合わせと回答
  • 確定した調整・消去仕訳と、承認者
  • 人がAIの判定を訂正した箇所

最初の項目は必ず残してください。 監査で「この消去はどの明細に基づくのか」を問われます。

最後の項目は精度の実測値になります。「期ズレの判定は正確だが、金額違いは半分が外れる」と分かれば、消込ルールを直す手がかりになります。

04実装レベルの3段階

最小構成:残った差異を生成AIに貼り、型と説明を出させる / 原因の切り分けのみ
半自動化:提出 → 正規化 → 消し込み → 型判定 → 問い合わせ文までを自動化 / 突合と切り分け
本格構成:上記+提出の督促+回答の記録+仕訳の下書き+繰り返し差異の集計 / 承認以外のすべて

半自動化の時点で、9分が5分程度になります。 突合の5分が消えるためです。本格構成にすると4分程度になりますが、会計システムへの連携が必要です。

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

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

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

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

AI活用について相談する

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

向いている
  1. 子会社・関連会社が5社以上あり、月次で債権債務の照合を行っている企業。会計システムが会社ごとに分かれていて、突合を表計算で行っている場合。グループ間取引が月200件以上ある場合。
向いていない
  1. グループ全社が同一の会計システムに載っていて、内部取引が自動で消去される場合。子会社が1〜2社で、取引が月数件の場合。連結会計システムの導入を検討中の場合(そちらが先)。

07最小構成で試す方法

  1. 前月の照合で差異が出た組み合わせを10件選ぶ
  2. 両社の明細(消し込み後に残った行)を表計算で用意する
  3. 生成AIに渡し、差異の型と根拠を出させる
  4. 連結担当が、当時の結論と比べる
  5. 10件のうち、型が合っていたのが何件かを数える

この検証で、消込ルールの甘さも見つかります。 「本当は完全一致で消えるはずの行が残っていた」なら、前処理の問題です。

判断の目安は次のとおりです。

型が合っていた割合判断
8割以上自動化する価値がある
5〜8割摘要欄の書き方に原因があることが多い。各社に記入ルールを依頼する
5割未満明細の項目が足りない。先に提出形式を決める

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

問題対策
会社ごとに列が違い、そろえられない提出形式を1枚のひな形で配る。列名で読む
突合の対象が多く処理が終わらない完全一致 → 近似一致の順に段階的に消す。AIに全件渡さない
AIが金額を計算して間違える数値はプログラムが出した値だけを渡す。計算を禁止する
説明された金額が差額と合わない検算を入れ、合わなければ人へ回す
同額の取引が複数あり対応が決まらない候補を複数出し、確定しない
摘要が空欄で判定できないunknown で返す。各社に記入を依頼するほうが効く
為替の差異と実態の差異が混ざる換算前の金額と通貨を必ず残す
Excelコネクタが256行しか返さないページ送りを有効にする。行数が多ければCSVで受け取る
未解決の差異が毎月積み上がる繰り返し差異を別に集計し、運用の問題として扱う

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

この構成で扱うデータ: グループ会社間の取引金額、取引先、値引きの記録。グループの内部取引の全体像が含まれます。

  1. 連結前の数値の機密性 … 連結決算が確定する前の数値は、上場企業では重要事実になりうる情報です。 外部サービスへの入力可否を、情報管理規程とインサイダー取引の管理規程で確認してください
  2. 取引条件 … グループ内の移転価格に関わる情報が含まれることがあります。税務上の論点になりうるため、取り扱いを税務担当と確認してください
  3. 数値の計算をAIにさせない … 差額、合計、換算はプログラムで計算します。検算できない数値を決算に使わないでください
  4. 消し込みの自動確定をしない … AIが示すのは候補です。確定は人が行います
  5. 仕訳の自動登録をしない … 調整・消去仕訳の登録は、承認を経てから行ってください
  6. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
  7. 監査への対応 … 消去の根拠となった明細と、判断の経緯を残してください。「AIが判定した」は監査の説明になりません
  8. 自動実行してよい範囲 … 正規化、消し込み、型の判定、問い合わせ文の作成までです。消し込みの確定、仕訳の作成、承認は、必ず人が行います

誤りが起きた場合のリスクは、誤った消去による連結数値の誤りです。修正があれば、開示済みの数値の訂正につながることもあります。検算を必ず入れ、確認の工程を省ける設計にしないでください。

10まず何から始めるか

1週目:差異の型を数える

過去3か月の差異を、6つの型で分類してください。「期ズレ」が7割を占めるなら、この構成より先に締めの日程を合わせるほうが効きます。

あわせて、繰り返し出ている差異を数えてください。 毎月同じ組み合わせで出ているなら、原因は運用にあります。

2〜3週目:提出形式をそろえる

各社に配る明細のひな形を1枚作ります。項目は、相手会社コード・計上日・金額・通貨・税区分・摘要・伝票番号です。

摘要欄の書き方も決めてください。 「値引」「相殺」「支給品」といった語を使うよう依頼するだけで、判定の質が変わります。これはAIを使わなくても効きます。

4週目:消込ルールを決める

許容する日数のずれと、許容する金額の差を決めます。ここを決めると、機械的に消せる割合が分かります。 8割前後消えるなら、この構成が成り立ちます。

2か月目:10件で試す

前月に差異が出た10件で、型の判定を試します。当時の結論と比べてください。

3か月目以降: 提出から差異一覧までを自動化し、1か月回します。9分が何分になるかを実測してください。

半年後には、繰り返し差異の集計を経営に出してください。 照合の工数より、なぜ毎月同じ差異が出るのかのほうが、解くべき問題であることがあります。


11関連ユースケース

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

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

技術仕様確認日:2026-09-21/最終更新:2026-09-21
確認した内容情報源確認日
Power Automate の Excel Online(Business)コネクタの「テーブルに存在する行を一覧表示する」が既定で最大256行を返し、全行を取得するにはページ送りを有効にする必要があること。既定では最初の500列が返り、Select Query で取得する列を指定できること。サポートされるExcelファイルの最大サイズが25MBであること。接続ごとのAPI呼び出しが60秒あたり100回に制限されることMicrosoft Learn:Excel Online (Business) コネクタ2026-09-21
Power Automate のクラウドフローで、「Apply to each」ループが処理できる配列項目の最大数が10万件(Low の場合は5,000件)であること。ワークフローごとのアクション数の上限が500であること。実行の継続時間の上限が30日であること。同時実行制御をオンにした場合の並列度が1から100(既定25)であることMicrosoft Learn:自動化フロー、スケジュールされたフロー、インスタント フローの制限事項2026-09-21
Claude APIの構造化出力が、制約付きデコードによりスキーマに沿ったJSONの生成をモデル側で保証すること。列挙・定数・参照は使えるが、再帰スキーマや数値の範囲指定は使えないことClaude Docs: Structured outputs2026-09-21

連結決算が確定する前のグループ内の数値は、上場企業では重要事実にあたることがあります。 外部の生成AIサービスへの入力可否を、自社の情報管理規程とインサイダー取引の管理規程で確認してください。グループ間取引には移転価格に関わる情報が含まれるため、取り扱いを税務の担当と確認してください。 また、この構成が出す差異の型は候補であり、消去仕訳の根拠にはなりません。消し込みの確定、調整・消去仕訳の作成と承認は、必ず人が行ってください。 監査への説明に必要となるため、消去の根拠となった明細と判断の経緯を保存してください。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。会計システムからの明細の書き出し形式と、仕訳の登録方式は製品によって異なります。

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

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

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