子会社から毎月届く連結パッケージの増減コメントを前月・前年同月の数値と照らして点検し、説明不足と数字の合わない説明を拾って照会文の案を作る
子会社から毎月届く連結パッケージの増減コメントを、前月・前年同月の数値と照らして点検します。説明の足りない増減と、数字の合わない説明を拾い、子会社への照会文の案にします。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate
- 対象業界
- IT・SaaS/商社/小売/製造
- 対象部門
- 経理/財務
- 対象業務
- 内容確認・チェック/比較検討
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 受付ライブラリにパッケージが届いたら、担当者が開く
- 科目ごとの当月・前月・前年同月の値を並べ、基準を超えた増減に印を付ける
- 印の付いた科目のコメントを1つずつ読み、増減の説明になっているかを見る
- コメントに数字が書かれていれば、表の値と照らす
- 説明の足りない科目、数字の合わない科目をメモする
- 子会社ごとに照会のメールを書いて送る
- 回答を受けて、連結会計のシステムに取り込む
- 【子会社】 パッケージを受付ライブラリに提出する
- 自動ファイルの作成をきっかけにフローが動き、パッケージの数値とコメントを読み出す
- 自動前月・前年同月の値を引き、科目ごとに増減の金額と率を計算する
- 自動社内の基準でコメントの要る科目を決め、コメントの有無を確かめる
- 自動コメントが前月と同じ文面かを確かめる
- 自動Azure OpenAI がコメントごとに説明になっているかを判定し、コメント中の数字を拾う
- 自動フローが拾った数字を表の値と照らす
- 自動照会の要る科目について、照会文の案を作り、Outlook の下書きに置く
- 人連結担当が判定の一覧と照会文の案を確かめ、直して送る
- 人回答を受けて、連結会計のシステムに取り込む
各工程の詳しい説明を読む
- 受付ライブラリにパッケージが届いたら、担当者が開く
- 科目ごとの当月・前月・前年同月の値を並べ、基準を超えた増減に印を付ける
- 印の付いた科目のコメントを1つずつ読み、増減の説明になっているかを見る
- コメントに数字が書かれていれば、表の値と照らす
- 説明の足りない科目、数字の合わない科目をメモする
- 子会社ごとに照会のメールを書いて送る
- 回答を受けて、連結会計のシステムに取り込む
(a)増減の拾い出しに時間を取られる。 基準は「前月比で一定の金額以上、かつ一定の率以上」のような組み合わせで、科目は1社で100を超えます。 2番目の作業は表計算で半分は自動にしていますが、前年同月の値を別のファイルから引くところが手作業で残っています。
(b)「説明になっていない」の基準が担当者で違う。 「売上の増加による」だけのコメントを通す担当者もいれば、「どの製品の、どの顧客の増加か」まで求める担当者もいます。子会社から見ると、担当者が替わるたびに照会の厳しさが変わります。
(c)数字の合わない説明を見落とす。 「前月比 120 百万円の増加」と書かれているのに、表の増減は 102 百万円。桁の入れ替わりや、前年同月比の数字を前月比の欄に書いた誤りは、1件ずつ電卓で照らさないと見つかりません。忙しい月ほど省かれます。
(d)科目どうしの矛盾は、1行ずつ読むと気づかない。 売掛金のコメントに「売上の増加による」とあり、売上のコメントには「販売数量の減少」とある。別々の行を別々のタイミングで読むので、矛盾に気づくのは監査の時期になってからということがあります。
- 【子会社】 パッケージを受付ライブラリに提出する
- 【自動】 ファイルの作成をきっかけにフローが動き、パッケージの数値とコメントを読み出す
- 【自動】 前月・前年同月の値を引き、科目ごとに増減の金額と率を計算する
- 【自動】 社内の基準でコメントの要る科目を決め、コメントの有無を確かめる
- 【自動】 コメントが前月と同じ文面かを確かめる
- 【自動】 Azure OpenAI がコメントごとに説明になっているかを判定し、コメント中の数字を拾う
- 【自動】 フローが拾った数字を表の値と照らす
- 【自動】 照会の要る科目について、照会文の案を作り、Outlook の下書きに置く
- 【人】 連結担当が判定の一覧と照会文の案を確かめ、直して送る
- 【人】 回答を受けて、連結会計のシステムに取り込む
9番目で人が見るのは、照会の候補に挙がった科目だけです。 基準を超えていない科目と、説明になっていると判定された科目は、一覧で件数を見るだけにします。全科目を人が読み直す設計にすると、60.0時間はほとんど減りません。
3・4・7番目をフローに置いているのも、意図してのことです。 増減の計算も、基準との比較も、数字の照合も、答えが1つに決まる作業です。 AIに任せると、桁の取り違えや前月比と前年同月比の取り違えが、まさに見つけたい誤りと同じ形で混ざります。
02今回想定するシステム構成
子会社の連結パッケージ(受付ライブラリへ提出) ▼【トリガー】ファイルの作成時(プロパティのみ) Power Automate ├──▶ 数値とコメントを読み出す ├──▶ 前月・前年同月の値を引き、増減の金額と率を計算 ├──▶ 基準でコメントの要る科目を決める/前月と同じ文面かを見る ▼ Azure OpenAI(Microsoft Foundry)── 構造化出力 │ ① 説明になっているかの判定(4区分) │ ② コメント中の数字の抜き出し │ ③ 照会文の案 ▼ Power Automate ── 抜き出した数字を表の値と照らす ▼ 点検の一覧(SharePoint のリスト)+ 照会の下書き(Outlook) ▼ 【連結担当が確認し、送る】 ▼ 連結会計のシステムへ取り込み
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude、Gemini |
| 連携 | Power Automate | Make、n8n |
| パッケージと点検の一覧の置き場 | SharePoint のライブラリとリスト | Dataverse |
| 照会の下書き | Office 365 Outlook コネクタ | 各社のメールの仕組み |
| 連結の数値 | 既存の連結会計のシステム | システムの書き出し機能 |
連結会計のシステムは、新しく足すものではありません。 前月・前年同月の確定値を、毎月の締めの後に科目コードと値の一覧として書き出し、SharePoint に置くだけです。書き出し方は利用している製品によって違うため、この部分は利用環境に合わせた個別の実装になります。 フローは一覧を読むだけで、連結会計のシステムには書き込みません。
土台になるのは、Microsoft Foundry で提供される Azure OpenAI のモデルです。 Azure が販売するモデルは Microsoft の Azure 環境でホストされ、モデルの提供元が運営するサービスとはやり取りしないとされています。入力と出力は他の顧客にもモデルの提供元にも提供されず、許可や指示なしに生成AIの基盤モデルの学習に使われないとされています。開示前の子会社の業績を扱うので、この点を最初に確かめます。標準のデプロイでは指定した地域の中で処理されますが、「Global」や「DataZone」の種類では処理の場所が広がるので、デプロイの種類も先に決めます。
パッケージの受け取りは、Power Automate の SharePoint コネクタで行います。 提出は「ファイルの作成時 (プロパティのみ)」のトリガーで受け、中身は「ファイル コンテンツの取得」で取ります。点検の一覧への書き込みは「項目を作成する」です。
照会文は、Office 365 Outlook コネクタの「メール メッセージを下書きする」で下書きに置きます。 送信のアクションは使いません。送るのは連結担当が下書きを開いて直した後です。
03どうやって実装するのか
処理の起点を決める
子会社がパッケージを受付ライブラリに提出したことを起点にします。 「ファイルの作成時 (プロパティのみ)」のトリガーは、ライブラリに項目が作成されたときに動き、ライブラリの列のプロパティだけを返します。中身は、返ってきたファイル識別子で「ファイル コンテンツの取得」を呼んで取ります。
提出期限の後にまとめて動かすことはしません。 40社のうち早い会社は2営業日目に出してきます。届いた順に点検しておけば、照会も届いた順に出せ、回答を待つ時間が締めの日程に重なりません。
同じ会社が出し直したときは、新しい版だけを点検します。 ファイル名に会社コードと対象月を入れる決まりにし、同じ会社・同じ月の点検の一覧が既にあれば、前の版の判定に「差し替え」の印を付けてから点検し直します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 連結パッケージ | 科目コード、科目名、当月の値、通貨、科目ごとの増減コメント | 受付ライブラリ |
| 前月・前年同月の値 | 会社 × 科目コードの確定値 | 連結会計のシステムの書き出し |
| 前月のコメント | 会社 × 科目コードの前月のコメント | 点検の一覧(前月分) |
| コメントを求める基準 | 前月比・前年同月比それぞれの金額と率の基準。会社の規模の区分ごと | SharePoint のリスト |
| 科目の関連表 | 「売掛金 ↔ 売上」「棚卸資産 ↔ 売上原価」のような、動きを説明し合う科目の組 | SharePoint のリスト |
| 会社の情報 | 会社コード、名称、機能通貨、規模の区分、コメントの言語、照会先 | SharePoint のリスト |
質を決めるのは、科目の関連表です。 第1章の「ほかの科目の動きと矛盾している」は、どの科目とどの科目を並べて読むかが決まっていないと判定できません。 全科目を全科目と並べると、AIは関係の薄い動きまで矛盾として挙げます。関連表にある組だけを渡します。
前月のコメントは、文面が同じかどうかを見るために持ちます。 増減の金額が変わっているのに前月と一字一句同じコメントは、書き直していない可能性が高いので、それだけで照会の候補にします。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| パッケージの中身 | 受付ライブラリ | 「ファイル コンテンツの取得」 |
| 前月・前年同月の値 | 書き出しを置いたライブラリ | 「パスを使用してファイルコンテンツを取得する」 |
| 前月のコメント | 点検の一覧 | 「アイテムを取得」。会社コードと対象月でフィルター クエリを指定して絞る |
| 基準・科目の関連表・会社の情報 | SharePoint のリスト | 「アイテムを取得」 |
前月のコメントは、その会社の分だけを引きます。 「アイテムを取得」は OData のフィルター クエリで返す項目を絞れるので、会社コードと前月の対象月で絞ってから読みます。全社分を引いてフローの中で探すと、件数が増えたときに取りこぼします。
パッケージの書式は全社で1つにそろえておきます。 子会社ごとに列の位置が違うと、読み出しの段で科目と値がずれます。ずれたまま増減を計算すると、存在しない大きな増減が出ます。
AIへ渡す前に整形する
- 書式の確認 … 決められた列見出しがそろっているか、科目コードがマスタにあるかを確かめます。そろわなければ止めて、子会社に出し直しを頼みます
- 増減の計算 … 科目ごとに、前月比と前年同月比の金額と率を計算します。計算はすべてフローで行い、機能通貨のまま扱います
- 基準との比較 … 会社の規模の区分に応じた基準で、コメントの要る科目に印を付けます
- コメントの有無の確認 … 印の付いた科目にコメントが無ければ、AIに渡さずに「コメントなし」とします
- 前月と同じ文面の確認 … 前月のコメントと文字列で比べ、一致すれば印を付けます
- 関連する科目の値を添える … 関連表にある組の、相手の科目の増減の金額と率を並べます
- AIに渡す単位を作る … 1社につき、印の付いた科目だけを、計算済みの値と関連する科目の値と一緒に1つにまとめます
4番目でコメントの無い科目をAIに渡さないのは、判定の余地が無いからです。 渡すと、AIは表の動きから理由を推測し、「コメントは無いが、売上の増加によると考えられる」と書きます。 子会社が書いていない説明を、本社が作ってしまうことになります。
2番目で通貨を換算しないのは、比べる相手が同じ通貨だからです。 前月も前年同月も機能通貨の値で持っています。円に換算すると為替の動きが増減に混ざり、子会社のコメントが説明していない差が出ます。
5番目は、文字列が完全に一致したときだけ印を付けます。 数字だけを書き換えたコメントは別の文面として扱い、AIの判定に回します。似ているかどうかの判断までフローでやろうとすると、基準があいまいになります。
7番目でまとめる1科目分は、次のような形です。AIが見る値は、すべてフローが計算したものです。
科目: 1310 売掛金(機能通貨: USD、単位: 千)
当月 18,420 / 前月 16,950 / 前年同月 15,880
前月比 +1,470(+8.7%) 基準超過 / 前年同月比 +2,540(+16.0%) 基準超過
関連科目: 4110 売上高 前月比 -320(-3.1%) / 前年同月比 +610(+6.5%)
コメント: Increase due to higher sales to Customer B in September.
前月と同じ文面: いいえ
この例では、売掛金の増加を売上の増加で説明していますが、売上高は前月比で減っています。AIはこの1行の並びを見て contradicts を選び、related_account に 4110 を入れます。
AIに処理させる
させるのは、コメントごとに「増減の説明になっているか」を4つの区分で判定し、コメントに書かれた数字を抜き出し、照会の要るものに照会文の案を書くことです。
| 判定 | 意味 | 例 |
|---|---|---|
explained | 増減の向きと主な理由が書かれ、金額の大部分を説明している | 「A社向け製品Xの出荷が月末にずれ込み、前月比 85 百万円増」 |
partial | 理由は書かれているが、増減の一部しか説明していない | 増減 120 百万円に対し、説明の金額が 40 百万円分だけ |
not_explained | 増減の理由になっていない | 「前月比増加」「通常の変動」「特になし」 |
contradicts | 関連する科目の動きと矛盾している | 売掛金の増加を「売上増」と説明しているが、売上は減っている |
数字は判定させずに、抜き出させるだけにします。 コメントの中の「120 百万円」「前年同月比 15%」を、どの比較(前月比/前年同月比)のどの値として書かれているかと一緒に抜き出させ、表の値と照らすのはフローが行います。
| させないこと | 理由 |
|---|---|
| 増減の金額・率の計算 | フローが計算済み。AIが計算すると取り違えが混ざる |
| コメントの無い科目の理由の推測 | 子会社が書いていない説明を作ることになる |
| 通貨の換算 | 為替の動きが混ざる |
| 子会社の数値の正否の判断 | 連結担当と子会社が確かめること |
| 連結修正の要否の判断 | 連結担当が決める |
指示内容を固定する
あなたは本社の連結決算の担当として、子会社が書いた科目ごとの増減コメントを点検します。
渡された値とコメントだけを見て判定してください。
【判定すること】
科目ごとに、コメントが増減の説明になっているかを、次の4つから1つ選んでください。
- explained ...... 増減の向きと主な理由が書かれ、増減の金額の大部分を説明している
- partial ........ 理由は書かれているが、増減の一部しか説明していない
- not_explained .. 増減の理由になっていない(「増加」「通常の変動」「特になし」など)
- contradicts .... 関連する科目の増減と矛盾している
迷ったときに explained を選ばないでください。
【厳守事項】
- 増減の金額と率は、渡された値(計算済み)を使ってください。自分で計算しないでください。
- コメントに書かれた数字は、numbers に、書かれたままの文字列と、
どの比較(mom=前月比/yoy=前年同月比/unknown)の値として書かれているかを入れてください。
数字が合っているかは判断しないでください。
- 通貨を換算しないでください。値はすべて機能通貨です。
- contradicts を選ぶときは、どの関連科目の、どの動きと矛盾するかを reason に書いてください。
関連科目として渡されていない科目を理由にしないでください。
- コメントに書かれていない理由を推測で補わないでください。
- 判定が explained 以外のときは、照会文の案を書いてください。
照会文は、コメントの言語({language})で書き、
何が足りないかを具体的に1〜2文で尋ねてください。子会社を責める表現にしないでください。
- 子会社の数値が正しいか、連結修正が要るかは書かないでください。
【会社の情報】{company}
【点検する科目(計算済みの増減と、関連する科目の増減付き)】{lines}
「迷ったときに explained を選ばない」と書くのは、短いコメントでも理由らしい語があれば通してしまうからです。 「需要増による」は理由の形をしていますが、どの製品のどの需要かが無ければ partial か not_explained です。 第3章の(b)で担当者ごとに分かれていた線を、ここで1本にします。
照会文を「責める表現にしない」と書くのは、子会社との関係のためです。 照会は毎月何十件も出ます。詰問の調子が続くと、子会社はコメントを短くして照会を避けるようになります。
出力形式を固定する
次の形のJSONで受け取ります。 Azure OpenAI の構造化出力を使い、JSON Schema に沿った形で返させます。
{
"company_code": "",
"period": "2026-09",
"lines": [
{
"account_code": "",
"verdict": "explained | partial | not_explained | contradicts",
"reason": "",
"related_account": null,
"numbers": [
{ "text": "120百万円", "basis": "mom | yoy | unknown" }
],
"inquiry_draft": null
}
]
}
1つ目の理由は、verdict と basis を enum で縛れることです。 構造化出力は enum に対応しているので、判定が5つ目の区分に増えることも、比較の種類が自由な文になることもありません。 一覧で区分ごとに数えられます。
2つ目は、照会文と関連科目を「無いときは null」で表せることです。 構造化出力ではすべての項目を必須にする決まりがあり、任意の項目は null との組み合わせの型で表します。explained の科目は inquiry_draft が null で返り、照会文を書き忘れたのか、要らないのかが区別できます。
3つ目は、numbers を照合に回せることです。 フローは basis が mom なら前月比の値、yoy なら前年同月比の値と照らし、単位をそろえたうえで一致しなければ number_mismatch の印を付けます。 unknown は照合せず、照会の候補にします。
最終的な照会の要否は、フローが次の規則で決めます。
| 条件 | 照会 |
|---|---|
| コメントの要る科目にコメントが無い | 要 |
| 前月と同じ文面で、増減の金額が変わっている | 要 |
verdict が explained 以外 | 要 |
number_mismatch の印がある | 要 |
| 上記のどれにも当たらない | 不要 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付ライブラリ | SharePoint コネクタ | 提出を受け、パッケージを読む |
| 連結会計のシステムの書き出し | SharePoint コネクタ | 前月・前年同月の値を読む。システムには書き込まない |
| Azure OpenAI | API呼び出し | 判定、数字の抜き出し、照会文の案 |
| 点検の一覧 | SharePoint コネクタ | 科目ごとの判定と照会の要否を書く |
| Outlook | 「メール メッセージを下書きする」 | 会社ごとに照会の下書きを1通にまとめて置く |
照会の下書きは、会社ごとに1通にまとめます。 科目ごとに1通ずつ置くと、子会社の経理担当に1日で十数通が届きます。宛先は会社の情報のリストにある照会先から入れ、本文には照会の要る科目を表にして並べます。
下書きのまま置き、送信のアクションは使いません。 Outlook のコネクタには送信のアクションもありますが、照会の文面を連結担当が確かめずに送ると、判定の誤りがそのまま子会社に届きます。
人が確認する
連結担当が見るのは、照会が「要」になった科目と、その照会の下書きだけです。 照会が「不要」の科目は、一覧で件数を見るだけにします。
contradictsを先に見る … 関連する科目の動きと並べて、本当に矛盾しているかを確かめます。子会社側の説明が正しく、関連表の組み方が粗いこともありますnumber_mismatchを見る … 単位(百万円/千円)や、前月比と前年同月比の取り違えがほとんどですpartialとnot_explainedの照会文を直す … 子会社の事情を知っていて照会が要らないと判断したものは、理由を書いて外します- 下書きを送る … 会社ごとの1通を開き、宛先と本文を確かめて送ります
- 判定を覆したら記録する … どの判定を、どちらに変えたかを残します
3番目で「照会が要らない」と外すときに理由を書かせるのは、基準をそろえるためです。 外した理由がたまると、「この会社のこの科目は季節で動く」のような事情が見えてきます。 それは関連表か基準の側に戻します。
目標は、40社をならして1社30分です。 照会の要る科目が1社あたり数件という想定で、それより多い会社が続くなら、基準が厳しすぎるか、その会社のコメントの書き方を直してもらう時期です。
例外に対処する
| 起きること | 対応 |
|---|---|
| パッケージの書式が違う | 止めて子会社へ出し直しを依頼する。読み出しを推測で続けない |
| 科目コードがマスタに無い | その科目だけ「マスタ外」として連結担当へ。新設科目のことが多い |
| 前年同月の値が無い(新設の会社・新設の科目) | 前月比だけで判定し、前年同月比は「比較なし」とする |
| 前月の値がゼロ | 率を計算せず、金額だけで基準と比べる |
| 同じ会社が出し直した | 前の版の判定に「差し替え」の印を付け、新しい版を点検し直す |
| コメントが規定の言語でない | 判定は行い、照会文は会社の情報にある言語で書く |
| 連結範囲の変更(買収・売却)があった月 | 該当する会社の前年同月比は判定から外し、連結担当へ |
| Azure OpenAI が応答しない | 点検の一覧に「未判定」で残し、再実行の対象にする |
上から4行目までは、AIを呼ぶ前に止めます。 どれも、計算や比較の前提が崩れている状態です。前提が崩れたまま判定させると、AIはもっともらしい区分を返し、誤りが一覧に紛れます。
記録を残す
- 提出されたパッケージの版と、受け付けた日時
- フローが計算した増減の金額と率、基準と比べた結果
- Azure OpenAI に渡した指示と、返ってきたJSONの全文
- 数字の照合の結果
- 連結担当が判定を覆した記録と、照会を外した理由
- 送った照会の文面と、子会社の回答
- 会社ごとの照会の件数の推移
5つ目が、基準と関連表を直す材料になります。 同じ会社の同じ科目で照会を外し続けているなら、その科目の基準か関連表の組が実態に合っていません。 四半期に一度、外した理由を見直します。
最後の行は、子会社の経理との話し合いに使います。 照会の件数が減っていく会社は、コメントの書き方がそろってきた会社です。
04実装レベルの3段階
最小構成では40社をさばけません。 増減の表を作るのが手作業だからです。確かめるための段階です。 半自動化で、1社90分が50分程度になります。 増減の拾い出しと判定は自動になりますが、コメントの数字の照合と照会文の作成が残ります。本格構成で30分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を2〜3か月見ると、contradicts の誤検知が多い組と、照会を外し続ける科目が分かります。関連表と基準を直してから本格構成に進むほうが、照会の空振りが減ります。
05工数削減シミュレーション
導入後 40件 × 30分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 国内外に数十社の子会社を持ち、月次で連結決算を組んでいる製造業・商社・小売業など。子会社が連結パッケージに科目ごとの増減コメントを書いて提出しているが、本社の連結担当が1社ずつ数値と見比べて読んでおり、照会の基準が担当者ごとに違う場合。増減の金額と率でコメントを求める基準が決まっていて、パッケージの数値を表の形で書き出せる場合。
- 子会社が数社で、連結担当が各社の事情を把握しきれている場合。パッケージにコメント欄が無く、増減の説明を電話や会議でだけ受けている場合。コメントを求める基準(どの増減に説明が要るか)が決まっていない場合(先に基準を決める作業が要ります)。なお、連結修正の要否、子会社の数値の正否、開示の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の連結パッケージから5社を選ぶ(照会が多かった会社と、少なかった会社を混ぜる)
- 5社について、基準を超えた科目と、その当月・前月・前年同月の値、コメントを表にする(増減の金額と率は表計算で計算しておく)
- 関連表にあたる科目の組を、5社分だけ手で決める
- 社内で利用が認められている生成AIの画面に、表とコメントを貼り付け、「科目ごとに、コメントが増減の説明になっているかを explained/partial/not_explained/contradicts から選んでください。金額を計算しないでください。コメントの数字を抜き出してください」と指示する
- 出てきた判定を、先月実際に出した照会と突き合わせる
5社は必ずやってください。 フローを組む前に、「判定の区分が、担当者の照会の感覚と合うのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
実際に照会した科目が、explained 以外に入っている | フローの構築に進む |
短いコメントを explained にしている | 指示の書き方で直る。構成は有効 |
contradicts が多すぎる | 関連表の組み方が先。 AIの問題ではない |
3行目が出たら、 関連表の組を減らし、本当に並べて読むべき組だけにしてから試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| AIが増減を計算し直して取り違える | 計算済みの値を渡し、計算を禁じる |
| コメントの無い科目の理由をAIが作る | コメントの無い科目はAIに渡さない |
短いコメントが explained になる | 「迷ったら explained を選ばない」と指示する |
contradicts が多すぎる | 関連表の組を絞る。全科目を並べない |
| 前月比と前年同月比の数字を取り違える | basis を抜き出させ、照合はフローで行う |
| 単位の違い(百万円/千円)で不一致になる | 照合の前に単位をそろえる |
| 為替の動きが増減に混ざる | 機能通貨のまま比べる |
| パッケージの列がずれて大きな増減が出る | 書式を全社でそろえ、列見出しを確かめる |
| 照会が科目ごとに何通も届く | 会社ごとに1通の下書きにまとめる |
| 照会が自動で送られる | 下書きまで。 送信は連結担当が行う |
| 照会の厳しさが担当者で違う | 判定の区分を1本にし、外した理由を記録する |
上の3行が、この構成の失敗のほとんどです。 どれも、AIが「足りないところを埋めて筋の通った答えにする」方向に働く誤りです。判定で見つけたいのは筋の通らない箇所なので、埋めさせた時点で見つからなくなります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 子会社ごとの月次の業績、取引先の名前を含む増減コメント、内部取引の金額です。上場企業なら、開示前の業績そのものです。
- 処理の場所とデータの扱いを先に確かめる … Azure OpenAI の入力と出力は、他の顧客にもモデルの提供元にも提供されないとされています。デプロイの種類によって処理の場所が広がるので、社内の規程と照らして決めます
- 点検の一覧と下書きの閲覧を絞る … 開示前の業績を扱う人の範囲を、連結担当と上長に限ります。内部者取引の管理の対象者と合わせておきます
- 照会を自動で送らない … 判定の誤りがそのまま子会社に届き、本社と子会社の経理の関係に響きます
- この構成は連結修正と開示の判断を代替しません … 子会社の数値が正しいか、連結修正が要るか、開示にどう反映するかは、連結担当と経理の責任者が決めることです。 この構成が出すのは、照会すべき箇所の候補だけです
- 取引先の名前を必要以上に渡さない … コメントに書かれた取引先の名前は判定に使いますが、点検の一覧に残すのは判定と理由までにし、コメントの全文はパッケージの側で見ます
- 基準と関連表の変更を記録する … 基準を変えると、過去の判定の意味が変わります。変えた日と理由を残します
誤りが起きた場合のリスクは、照会すべき説明を通してしまうことと、子会社に要らない照会を出すことの2つです。 前者は「迷ったら explained を選ばない」と数字の照合で止め、後者は人の確認と、外した理由の記録で減らします。
10まず何から始めるか
1週目:科目の関連表を作る
売上と売掛金、売上原価と棚卸資産、仕入と買掛金のように、動きを説明し合う科目の組を書き出します。最初は20組程度で足ります。連結担当の4名で、実際に並べて読んでいる組を出し合うと早く進みます。
2週目:5社で試す
先月のパッケージから5社を選び、増減を計算した表とコメントを生成AIの画面に貼って判定させます。実際に照会した科目が explained 以外に入っているかを最優先で見ます。
3週目:照会の要否の規則を決める
どの判定なら照会するか、どんな事情なら外してよいかを、連結担当の間で合意します。 あわせて、パッケージの書式と、連結会計のシステムからの書き出しの形を決めます。
4週目:提出から判定の一覧までをつなぐ
受付ライブラリへの提出を起点に、増減の計算、基準との比較、Azure OpenAI の判定を点検の一覧に書くところまで作ります。この時点では照会の下書きを作らず、一覧だけを見ます。
2か月目: 数字の照合と、前月と同じ文面の検知を足し、照会の要否を規則で出します。3か月目以降: Outlook の下書きを足し、1社90分が何分になったかを実測します。外した理由を見て関連表と基準を直し、照会の空振りが減ってきた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Azure が販売するモデル(Azure OpenAI を含む)の入力と出力が、他の顧客やモデルの提供元に提供されず、許可や指示なしに基盤モデルの学習に使われないこと。Microsoft の Azure 環境でホストされ、モデルの提供元のサービスとやり取りしないこと。標準のデプロイでは指定した地域で処理され、Global と DataZone では処理の場所が広がること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-06 |
構造化出力が JSON Schema への準拠をさせる機能であること。enum に対応すること。すべての項目を必須にし、任意の項目は null との組み合わせの型で表すこと。additionalProperties を false にすること | Microsoft Learn: How to use structured outputs with Azure OpenAI | 2026-10-06 |
| 「ファイルの作成時 (プロパティのみ)」のトリガーがライブラリの列のプロパティだけを返し、「ファイル コンテンツの取得」で中身を取れること。「パスを使用してファイルコンテンツを取得する」「アイテムを取得」「項目を作成する」のアクションがあること。「アイテムを取得」で OData のフィルター クエリを指定できること | Microsoft Learn: SharePoint コネクタ | 2026-10-06 |
| 「メール メッセージを下書きする」「下書きメッセージを送信する」「メールを送信する (V2)」のアクションがあること | Microsoft Learn: Office 365 Outlook コネクタ | 2026-10-06 |
コメントを求める基準、照会の要否の規則、連結パッケージの書式は、各社の連結決算の規程によります。 本記事は Microsoft Learn で確認できた製品の仕様だけを扱っています。連結会計のシステムからの書き出しは、利用している製品によって方法が異なります。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0523)についてのご相談はこちらから。
