毎月の資金繰りの計画と実績の差異を科目別に出し、入出金の明細と営業・購買の連絡から理由を拾って、経営会議に出す説明文の下書きを作る
資金繰りの計画と実績の差異を事業部・科目の行ごとに出し、入出金の明細と営業・購買からの連絡を根拠に理由を整理します。そのうえで経営会議に出す説明文の下書きを作り、財務の担当者は確認と直しに時間を使います。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate
- 対象業界
- 商社/建設/物流/製造
- 対象部門
- 経営企画/財務
- 対象業務
- 書類作成/集計・分析
- 主な課題
- データ分析に時間がかかる/属人化している/書類作成に時間がかかる
- AIで行う処理
- 生成
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月初の締めの後、経理部が会計システムから科目別・事業部別の入出金の実績を書き出し、財務部へ渡す
- 財務部の担当者が、計画の表に実績を貼り、差額と差異率を出す
- 説明が要る行について、会計システムで入出金の明細を開き、どの取引先の入金・支払が予定とずれたかを探す
- 理由が分からない行は、事業部の営業担当や購買担当にメールと電話で聞く
- 返ってきた答えを、行ごとにメモにまとめる
- 行ごとに説明文を書き、経営会議の資料の様式に貼る
- 全体の総括(月末残高が計画とどれだけずれたか、主な理由は何か)を書き、経営企画部へ渡す
- 自動月末に、その時点の入出金の予定の明細を、計画の元データとして SharePoint に保存する(翌月の計画の元にもなる)
- 人営業・購買は、回収の遅れや支払の前倒しが分かった時点で、SharePoint の「入出金の予定変更の連絡」リストに書き込む
- 人月初の締めの後、経理部が入出金の実績の明細を SharePoint のライブラリに置く
- 自動ファイルが置かれたことをきっかけにフローが動き、計画の元データと実績の明細を、取引先と請求の番号で突き合わせる
- 自動取引ごとに「時期のずれ」「金額の差」「計画外」「計画の消滅」を規則で決め、行ごとに理由別の金額を積み上げる
- 自動説明が要る行について、根拠の取引と予定変更の連絡を並べ、Azure OpenAI に説明文の下書きを作らせる
- 自動下書きの中の数字が、規則が出した値と一致するかを照らす
- 人財務部の担当者が、理由が分からなかった行と、数字が合わなかった行から確かめる
- 自動確定した行の説明から、全体の総括の下書きを作らせる
- 人担当者が総括を直し、経営企画部へ渡す
各工程の詳しい説明を読む
- 月初の締めの後、経理部が会計システムから科目別・事業部別の入出金の実績を書き出し、財務部へ渡す
- 財務部の担当者が、計画の表に実績を貼り、差額と差異率を出す
- 説明が要る行について、会計システムで入出金の明細を開き、どの取引先の入金・支払が予定とずれたかを探す
- 理由が分からない行は、事業部の営業担当や購買担当にメールと電話で聞く
- 返ってきた答えを、行ごとにメモにまとめる
- 行ごとに説明文を書き、経営会議の資料の様式に貼る
- 全体の総括(月末残高が計画とどれだけずれたか、主な理由は何か)を書き、経営企画部へ渡す
(a)明細をたどるところで時間が消える。 3番目では、計画にあった予定がどれで、実際にどれが入ったかを、取引先の名前と金額を頼りに目で探します。計画を作ったときの予定の明細が残っていないので、「何が予定されていたか」から推理することになります。 1行に10分以上かかるのは珍しくありません。
(b)聞き取りが終わらない。 4番目の問い合わせは、事業部ごとに相手が違い、返事が来る時間もばらばらです。営業や購買は、回収が遅れることや支払を前倒しすることを、その時点で Teams やメールで財務部に伝えていることが多いのですが、 その連絡が担当者の受信箱やチャットに散っていて、月初に集められません。結局、同じことをもう一度聞くことになります。
(c)説明の書き方が人によって違う。 ある担当者は「回収遅延(A社)」とだけ書き、別の担当者は経緯を3行書きます。翌月に戻る差異なのか、戻らない差異なのかが書かれていないことが多く、 経営会議のたびに「これは来月戻るのか」と問い直されます。
(d)数字の写し間違いが起きる。 6番目では、明細から拾った金額を手で説明文に書き写します。差額の合計と、説明文に書いた理由ごとの金額の合計が合わないことが、資料の提出の直前に見つかります。
- 【自動】 月末に、その時点の入出金の予定の明細を、計画の元データとして SharePoint に保存する(翌月の計画の元にもなる)
- 【人】 営業・購買は、回収の遅れや支払の前倒しが分かった時点で、SharePoint の「入出金の予定変更の連絡」リストに書き込む
- 【人】 月初の締めの後、経理部が入出金の実績の明細を SharePoint のライブラリに置く
- 【自動】 ファイルが置かれたことをきっかけにフローが動き、計画の元データと実績の明細を、取引先と請求の番号で突き合わせる
- 【自動】 取引ごとに「時期のずれ」「金額の差」「計画外」「計画の消滅」を規則で決め、行ごとに理由別の金額を積み上げる
- 【自動】 説明が要る行について、根拠の取引と予定変更の連絡を並べ、Azure OpenAI に説明文の下書きを作らせる
- 【自動】 下書きの中の数字が、規則が出した値と一致するかを照らす
- 【人】 財務部の担当者が、理由が分からなかった行と、数字が合わなかった行から確かめる
- 【自動】 確定した行の説明から、全体の総括の下書きを作らせる
- 【人】 担当者が総括を直し、経営企画部へ渡す
1番目と2番目が、この設計の土台です。 AIは、渡された材料からしか理由を書けません。計画のときの予定が残っていて、営業・購買の連絡が1か所に集まっていれば、 理由の大半は規則とAIで組み立てられます。
8番目で、人が見る順番を決めています。 規則で理由が付いて数字も合っている行は、流し読みで確かめます。時間を使うのは、理由が分からない行と、営業・購買に聞かなければならない行だけです。
02今回想定するシステム構成
入出金の予定の明細(月末に保存) 営業・購買の予定変更の連絡(随時) │ │ ▼ ▼ SharePoint(計画の元データ) SharePoint のリスト │ ▼【トリガー】実績の明細がライブラリに置かれる Power Automate ├──▶ 取引先 × 請求の番号で、計画の元データと実績を突き合わせる ├──▶ 取引ごとに差異の種類を規則で決める │ 時期のずれ/金額の差/計画外/計画の消滅 ├──▶ 行(事業部 × 科目)ごとに理由別の金額を積み上げる ▼ Azure OpenAI(Microsoft Foundry)── 構造化出力 │ ① 根拠の取引と連絡を選ぶ ② 理由を分類する │ ③ 行ごとの説明文を書く ④ 聞き取りが要る点を挙げる ▼ Power Automate ── 説明文の数字を規則の値と照らす ▼ SharePoint の確認リスト ──【財務部の担当者が確認】 ▼ Azure OpenAI(Microsoft Foundry)── 全体の総括の下書き ▼ 経営会議の資料(経営企画部へ)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude、Gemini |
| 連携 | Power Automate | Make、n8n |
| 明細と連絡の置き場 | SharePoint のライブラリとリスト | Dataverse |
| 会計・販売・購買の記録 | 既存の会計システムと販売管理・購買管理のシステム | 各システムのAPI |
会計システムと販売管理・購買管理のシステムは、新しく足すものではありません。 月末の予定の明細と月初の実績の明細を書き出して SharePoint に置くだけです。書き出し方は利用している製品によって違うため、この部分は利用環境に合わせた個別の実装になります。 フローは書き出された明細を読むだけで、会計システムには書き込みません。
土台になるのは、Microsoft Foundry で提供される Azure OpenAI のモデルです。 Azure が販売するモデルは Microsoft の Azure 環境でホストされ、モデルの提供元が運営するサービスとはやり取りしないとされています。入力と出力は他の顧客にもモデルの提供元にも提供されず、許可や指示なしに生成AIの基盤モデルの学習に使われないとされています。取引先ごとの入出金の金額と、営業の内情が書かれた連絡を扱うので、この点を最初に確かめます。
処理される場所も確かめます。 標準のデプロイでは顧客が指定した地域の中で処理されますが、「Global」や「DataZone」と付くデプロイの種類では、処理の場所がその範囲に広がるとされています。社内の規程で処理の場所に決まりがあるなら、デプロイの種類を先に決めます。
明細と連絡は、Power Automate の SharePoint コネクタで読み書きします。 実績の明細が置かれたことは「ファイルの作成時 (プロパティのみ)」のトリガーで受け、中身は「ファイル コンテンツの取得」で取ります。予定変更の連絡は「アイテムを取得」で読みます。このアクションは OData のフィルター クエリで返す項目を絞れるので、対象の月と事業部で絞ってから読みます。確認リストへの書き込みは「項目を作成する」です。
03どうやって実装するのか
処理の起点を決める
起点は2つあります。 1つ目は月末の予定の明細の保存、2つ目は月初の実績の明細の受け取りです。
1つ目は、Power Automate のスケジュール済みクラウドフローで動かします。 「繰り返し」のトリガーで頻度を月にすると、フローは毎月同じ日に実行されるとされています。月末の日付は月によって変わるため、毎日夜に動かし、翌日が月初かどうかをフローの中で判定して、月末の日だけ保存の処理に進む形にします。開始時刻はタイムゾーンを指定して設定できるので、日本時間で設定します。
2つ目は、実績の明細が SharePoint のライブラリに置かれたことを起点にします。 「ファイルの作成時 (プロパティのみ)」のトリガーで受け、ファイル名から対象の月を読みます。決まった日時に動かす形にはしません。 締めの日は月によって前後し、明細が置かれる前に動くと、空の実績で差異が出てしまいます。
同じ月の明細が置き直されたときは、その月を最初からやり直します。 締めの後に修正の仕訳が入ることがあるからです。やり直したことは確認リストに残し、担当者が直した説明文は上書きせず、新しい下書きを横に並べます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 計画の元データ | 前月末の入出金の予定。事業部、科目、取引先コード、請求の番号、予定日、予定額 | 月末に保存した予定の明細 |
| 資金繰りの計画 | 事業部 × 科目の計画額 | 財務部が作った計画の表 |
| 実績の明細 | 入出金の日付、事業部、科目、取引先コード、請求の番号、金額 | 経理部が書き出す明細 |
| 予定変更の連絡 | 取引先、請求の番号(分かれば)、変更前と変更後の日付と金額、理由、書いた人 | SharePoint のリスト |
| 前月の説明 | 前月に「翌月に戻る」と説明した取引と、その金額 | 前月の確認リスト |
| 説明の書き方の決まり | 理由の分類の名前、文の長さ、取引先名の書き方 | 財務部が作る一覧 |
質を決めるのは、いちばん上の計画の元データです。 これが無いと、実績と突き合わせる相手が無く、「何が予定されていたか」をAIに推測させることになります。 この構成は、推測させないために計画の元データを残すところから始まります。
前月の説明を入れるのは、「戻る」と言った差異が本当に戻ったかを確かめるためです。 先月「回収が翌月にずれた」と説明した取引が今月入っていなければ、それ自体が今月の説明に書くべき事実になります。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 計画の元データ | 月末に保存したファイル(「ファイル コンテンツの取得」) | 予定されていた取引の一覧 |
| 実績の明細 | 経理部が置いたファイル | 実際に動いた取引の一覧 |
| 予定変更の連絡 | 「アイテムを取得」。対象の月と事業部で絞る | 理由の根拠 |
| 前月の説明 | 前月の確認リスト | 戻るはずだった取引の確認 |
突き合わせは、取引先コードと請求の番号の組で行います。 取引先の名前で突き合わせると、「株式会社」の有無や略称で外れます。請求の番号が無い取引(借入の返済、経費の支払など)は、事業部 × 科目 × 取引先で突き合わせます。
予定変更の連絡は、フィルター クエリで絞ってから読みます。 「アイテムを取得」は既定で全件を返す設定になっているので、絞らずに読むと過去の連絡までAIに渡ります。対象の月に関係する連絡だけを読むことで、AIに渡す量と、誤って古い連絡を根拠にする危険の両方が減ります。
AIへ渡す前に整形する
- 金額の向きをそろえる … 入金はプラス、出金はマイナスにそろえ、差額は「実績 − 計画」で出す
- 取引を突き合わせ、種類を決める … 下の表の規則で、取引ごとに差異の種類を1つ付ける
- 行ごとに積み上げる … 事業部 × 科目の行ごとに、種類別の金額の合計を出す
- 説明が要る行を選ぶ … 差額の絶対値か差異率が社内の基準を超える行と、前月に「戻る」と説明した取引を含む行
- 根拠の候補を絞る … 1行あたり、金額の大きい順に取引を上位10件まで残す
- 連絡を取引に結び付ける … 取引先コードと請求の番号が一致する連絡を、その取引の横に置く
- 説明の付かない差を出す … 行の差額から、種類別に積み上げた金額を引いた残りを「未特定」として出す
| 種類 | 規則 |
|---|---|
timing_delay | 計画の元データにあり、当月の実績に無く、予定変更の連絡で翌月以降の日付になっている |
timing_advance | 翌月以降の予定だった取引が、当月に動いた |
amount_diff | 計画の元データにも実績にもあるが、金額が違う |
unplanned | 計画の元データに無く、実績にある |
cancelled | 計画の元データにあり、実績に無く、予定変更の連絡で取りやめとされている |
missing_unexplained | 計画の元データにあり、実績に無く、連絡も無い |
2番目の規則が、第1章で書いた「戻る」と「戻らない」の区別の正体です。 timing_delay と timing_advance は翌月以降に戻る差異、amount_diff と cancelled は戻らない差異、unplanned は性質しだいです。この区別を規則で先に決めておくので、AIが「たぶん来月入る」と書く余地がありません。
いちばん下の missing_unexplained が、人に回す行の目印になります。 予定にあった入金が入らず、誰からも連絡が無いということは、遅れているのか、取引そのものに問題が起きているのかが分からないということです。
AIに処理させる
させるのは、規則が出した材料を読んで、経営会議の読み手に伝わる文章にすることです。
| させること | 中身 |
|---|---|
| 主な理由の選択 | 行の差額のうち、大きい順に説明に入れる取引を選ぶ(最大3つ) |
| 連絡の読み取り | 予定変更の連絡の自由記述から、理由を短い言葉にする(「検収の遅れ」「先方の資金繰り」など) |
| 行ごとの説明文 | 2〜3文。差額、主な理由、戻るか戻らないかを入れる |
| 聞き取りが要る点 | missing_unexplained と「未特定」の金額について、営業・購買に何を聞くべきかを1文で |
| 総括の下書き | 確定した行の説明から、月末残高の計画との差と、主な理由を3つまで |
AIの判断が入るのは、1行目と2行目です。 どの取引を説明に入れるかと、連絡の自由記述をどう短く言い換えるか。ここは人が書いても迷うところで、書き方をそろえる意味がいちばん大きいところでもあります。
| させないこと | 理由 |
|---|---|
| 差額や合計の計算 | 計算は規則で行う。AIが足し算をすると説明文の数字が合わなくなる |
| 差異の種類の決定 | 規則で決める。AIが「時期のずれ」と書き換えると、戻らない差異が戻ることになる |
| 理由の推測 | 連絡に書かれていない理由を書かない。分からなければ「理由未確認」 |
| 翌月以降の見通し | 「来月には回収される見込み」は、営業が書いていない限り書かない |
| 取引先の評価 | 「先方の経営状況に懸念」のような評価は書かない |
| 資金の手当ての提案 | 借入や支払の繰り延べは、財務部と経営が決める |
3行目と4行目が、いちばん起きやすい失敗です。 「回収が遅れた」という事実だけを渡すと、AIは読み手を安心させるために「翌月に回収予定」と書き足します。会議でその一文が読まれると、財務部が回収を約束したことになります。
指示内容を固定する
行ごとの説明文を作る指示の例です。
あなたは専門商社の財務部で、資金繰りの計画と実績の差異を経営会議に説明する文章を書く担当者です。
渡された「差異の材料」だけを根拠に、この行の説明文の下書きを作ってください。
【この行について】
事業部:{division} 科目:{account} 対象月:{month}
計画額:{plan_amount} 実績額:{actual_amount} 差額:{variance_amount}
【書き方】
- 説明文は2〜3文、全体で120字以内にしてください。
- 1文目に差額と、主な理由を書いてください。
- 主な理由は、差異の材料の中から金額の大きい順に最大3つまで選んでください。
- 各理由について、それが「翌月以降に戻る差異」か「戻らない差異」かを書いてください。
戻るかどうかは、材料の variance_type で決まっています。
timing_delay と timing_advance は戻る差異、amount_diff と cancelled は戻らない差異です。
unplanned と missing_unexplained は、戻るかどうかを書かないでください。
- 取引先名は、材料に書かれた略称で書いてください。
- 金額は百万円単位、小数第1位までで書いてください(材料に百万円単位の値があります)。
【厳守事項】
- 数字は材料に書かれた値だけを写してください。足し算、引き算、割合の計算をしないでください。
- 材料の variance_type を書き換えないでください。
- 予定変更の連絡に書かれていない理由を書かないでください。
理由が書かれていない取引は「理由未確認」としてください。
- 「来月には回収見込み」「回復する見通し」など、材料に無い先の見通しを書かないでください。
- 取引先の経営状況や信用についての評価を書かないでください。
- 借入、支払の繰り延べなど、資金の手当てについて書かないでください。
- 説明文とは別に、使った取引の番号を used_items に、
missing_unexplained と未特定の金額について営業・購買に聞くべきことを questions に書いてください。
【差異の材料】{variance_items}
【予定変更の連絡】{change_notes}
【前月に「戻る」と説明した取引】{prior_month_timing_items}
【説明の書き方の決まり】{style_rules}
「数字を写すだけ」と「計算しない」を両方書いているのは、どちらか片方では足りないからです。 写すように言うだけだと、3つの理由の金額を足して「合わせて12.4百万円」と書きます。その合計は材料のどこにも無い数字で、後で照らしても正しいかどうか分かりません。
金額の単位を材料の側で百万円にそろえて渡すのも、計算を避けるためです。 円単位の明細を渡すと、AIは単位を変えるために割り算をします。単位の変換はフローの側で済ませておきます。
出力形式を固定する
構造化出力で、次の形のJSONを受け取ります。
{
"row_id": "",
"commentary": "",
"reasons": [
{ "item_id": "", "variance_type": "timing_delay | timing_advance | amount_diff | unplanned | cancelled | missing_unexplained",
"reason_text": "", "amount_m": 0, "source": "change_note | rule_only" }
],
"reverses_next_month": "yes | no | partly | unknown",
"used_items": [""],
"questions": [""],
"confidence_note": ""
}
構造化出力を使うのは、後段で数字を照らすためです。 Azure OpenAI の構造化出力は、渡した JSON Schema にモデルの出力を従わせる機能です。すべての項目を必須にし、任意の項目は null との組み合わせの型で表す決まりがあり、オブジェクトには additionalProperties: false を付けます。variance_type や reverses_next_month は enum で値を固定できます。
1つ目の理由は、reasons の amount_m と commentary の数字を突き合わせられることです。 フローが commentary から数字を抜き出し、amount_m と行の差額の中にあるかを確かめます。どこにも無い数字が1つでもあれば、その行は確認リストで「数字不一致」の印を付けます。
2つ目は、variance_type を規則の値と照らせることです。 渡した値と返ってきた値が違えば、AIが種類を書き換えたということです。その行は採らず、もう一度作らせます。
3つ目は、source で根拠のあるなしが見えることです。 change_note は営業・購買の連絡に理由が書いてあったもの、rule_only は規則で種類だけが決まり理由が分からないものです。rule_only の多い事業部は、連絡のリストが使われていないことを示します。
注意点として、文字列の長さの上限は構造化出力のスキーマでは指定できません。 maxLength は対応していない語として挙げられています。120字以内は指示で求め、超えたものはフローの側で字数を測って確認リストに印を付けます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| SharePoint のライブラリ | 「ファイルの作成時 (プロパティのみ)」 | 実績の明細が置かれたことを検知する |
| SharePoint のライブラリ | 「ファイル コンテンツの取得」 | 計画の元データと実績の明細を読む |
| 予定変更の連絡リスト | 「アイテムを取得」(フィルター クエリ付き) | 対象の月と事業部の連絡を読む |
| Azure OpenAI | API呼び出し(構造化出力) | 行ごとの説明文と総括の下書き |
| 確認リスト | 「項目を作成する」 | 行ごとの下書き、理由、印を書き込む |
| 経営会議の資料 | 担当者が貼り付ける | 確定した説明と総括 |
会計システムには書き込みません。 この構成が出すのは説明文の下書きまでで、計画の表も直しません。計画の数字を書き換える経路が無いので、誤った下書きが計画そのものを壊すことはありません。
呼び出しの回数にも上限があります。 SharePoint コネクタは接続ごとに60秒あたり600回の呼び出しが上限とされています。120行の下書きを書き込むだけなら届きませんが、明細を1行ずつ読み書きする組み方にすると届きます。 明細はファイルとしてまとめて読み、リストへの書き込みは行単位にとどめます。
人が確認する
人が見る順番を、印で決めます。
missing_unexplainedと「未特定」のある行 …questionsの文面をもとに、営業・購買へ聞きます。答えは予定変更の連絡リストに書いてもらい、その行だけ作り直します- 「数字不一致」と字数超過の印がある行 … 説明文を直します。多くは合計を書き足したものです
rule_onlyが多い行 … 理由が「理由未確認」のままでよいかを決めます- それ以外の行 … 流し読みで確かめ、確定にします
- 総括 … 確定した行から作った下書きを直し、経営企画部へ渡します
1番目の聞き取りは、今までと違って質問が具体的です。 「A社の5月末の回収予定12.0百万円が入っていません。理由と入金の見込み日を教えてください」という形で聞けます。今までのように「この差異の理由は」と漠然と聞くより、返事が早く返ります。
4番目を流し読みにできるかが、第10章の時間を決めます。 規則で種類が決まり、連絡に理由が書かれ、数字も合っている行は、読んで違和感が無ければ確定にします。 すべての行を一から書き直す運用にすると、時間はほとんど減りません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 月末の予定の明細が保存されていない | その月は突き合わせができない。全行を missing_unexplained 扱いにせず、処理を止めて担当者に知らせる |
| 実績の明細の列が足りない・並びが違う | 列の名前を確かめ、合わなければ止める。推測して読み替えない |
| 請求の番号が実績の明細に無い | 事業部 × 科目 × 取引先で突き合わせ、1対1に決まらなければ「未特定」へ |
| 1つの入金で複数の請求をまとめて払っている | 取引先と金額の合計で突き合わせ、決まらなければ「未特定」へ |
| 連絡が別の取引先の話と混ざっている | 取引先コードが一致しない連絡は、その行の材料に入れない |
| AIの応答が構造化出力の形にならない | 拒否や途中で切れた応答として扱い、その行だけ作り直す。2回続けば人へ |
variance_type が書き換えられた | その下書きは採らず、作り直す |
| 明細が置き直された | その月をやり直す。担当者が確定した説明は上書きしない |
1行目は、運用の初月にほぼ必ず起きます。 月末の保存のフローが動いていなかった、書き出しの権限が切れていた、という理由です。このときに全行を「理由不明」として下書きを作ると、経営会議の資料が「理由不明」で埋まります。 止めて知らせるほうが安全です。
記録を残す
- 月末に保存した計画の元データ(月ごとに別のファイルとして残す)
- 実績の明細と、置かれた日時・置き直しの履歴
- 突き合わせの結果(取引ごとの種類と、行ごとの積み上げ)
- AIに渡した材料と、返ってきたJSONの全文
- 数字の照合の結果と、付いた印
- 担当者が直す前と直した後の説明文
- 営業・購買への聞き取りの内容と、その答え
計画の元データを月ごとに残すのは、後から説明を問い直されたときのためです。 経営会議で「3か月前に戻ると言った差異は戻ったのか」と聞かれたとき、当時の予定と当時の説明が残っていれば、その場で答えられます。
04実装レベルの3段階
半自動化が、本記事の想定です。 明細の突き合わせと種類の判定が規則で済み、AIが説明文を書き、人は印の付いた行から確かめます。1件30分が10分になるのはこの段階です。 本格構成で減るのは、営業・購買が連絡のリストに書く手間です。 販売管理のシステムで予定日を変えたときに、その変更と理由を取れれば、連絡を書いてもらう必要が減ります。ただし、予定日の変更に理由の欄を持たないシステムでは、理由までは取れません。 理由の欄を持たせるかどうかは、各システムの改修の話になります。
05工数削減シミュレーション
導入後 120件 × 10分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 事業部が複数あり、資金繰りの計画を事業部と科目の別に月次で立てている商社・製造業・物流業・建設業。毎月の経営会議で計画との差異の説明を求められ、財務の担当者が入出金の明細を一行ずつたどり、営業や購買に電話とメールで理由を聞いて説明文を書いている場合。説明の書き方が担当者ごとに違い、翌月に戻る差異と戻らない差異の区別が会議で毎回問い直される場合。
- 事業部が1つで、資金繰りの計画が月の総額だけの場合。入出金の予定を取引先・請求の単位で持っておらず、計画が勘と前年の実績から作られている場合(先に予定の明細を持つ仕組みが要ります)。差異の説明を経営会議に出す運用がない場合。なお、資金の手当てをどうするか、借入を増やすかといった判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の資金繰りの計画と実績から、説明が要った行を10行選ぶ
- その10行について、当時担当者が書いた説明文と、そのときに参照した明細と連絡を集める
- 明細を「計画にあった/実績にあった/金額が違う」の3つに手で分け、10行分を1つの表にする
- 社内で使える生成AIの画面に、表と連絡と第7章の指示を貼り、10行の説明文を作らせる
- 当時の説明文と並べ、理由の取り違えと、材料に無い見通しが書かれていないかを見る
明細を3つに分ける作業を、手で一度やってみてください。 第7章の規則が自社の明細で成り立つかが、ここで分かります。請求の番号で突き合わせられない取引が多ければ、先に明細の持ち方を直す必要があります。
| 出てきた内容 | 判断 |
|---|---|
| 当時の説明と同じ理由が出た | フローで明細の突き合わせを自動にする段階へ進む |
| 材料に無い見通し(「来月回収見込み」)を書いた | 指示の書き方で直る。構成は有効 |
| 理由の多くが「理由未確認」になった | 連絡が集まっていない。予定変更の連絡リストを先に始める |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 計画を作ったときの予定が残っていない | 月末の保存を最初に始める。 過去の月はさかのぼれない |
| 請求の番号で突き合わせられない取引が多い | 事業部 × 科目 × 取引先で突き合わせる。決まらないものは「未特定」に出す |
| AIが理由ごとの金額を足して書く | 計算を禁じ、数字の照合で「数字不一致」の印を付ける |
| AIが「来月回収見込み」と書き足す | 材料に無い見通しを禁じる。会議で約束として読まれる |
| 種類が「時期のずれ」に書き換わる | 規則の値と照らし、違えば採らない |
| 連絡のリストに書いてもらえない | 書き込む項目を最小にし、使われ方を見せる |
| 古い連絡が根拠に使われる | フィルター クエリで対象の月に絞ってから渡す |
| 120字を超える説明文が出る | 構造化出力では長さを指定できない。フローで字数を測る |
| 明細の置き直しで、確定した説明が消える | 確定済みは上書きせず、新しい下書きを横に並べる |
| 処理の場所の規程に合わない | Global と DataZone のデプロイの扱いを先に確かめる |
上の2行が、この構成の成否を決めます。 どちらもAIの問題ではなく、明細の残し方と持ち方の問題です。 ここが整っていれば、AIに残る仕事は文章にすることだけになります。
3行目と4行目は、指示だけでは防ぎきれません。 見通しの書き足しは数字の照合でも拾えないので、「見込み」「見通し」の語があれば印を付ける規則を足します。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 取引先ごとの入出金の予定と実績、営業・購買が書いた取引先の事情(検収の遅れ、先方の資金繰りなど)、そして自社の月末の資金の状況です。
- 取引先の事情を、経営会議の外へ出さない … 連絡には「先方の資金繰りが苦しいと聞いている」のような内情が書かれることがあります。説明文に取引先の評価を書かせないのはそのためです。 連絡のリストの閲覧権限も、財務部と書いた本人に限ります
- データの扱いを確かめる … Azure OpenAI の入力と出力は、許可や指示なしに基盤モデルの学習に使われないとされています。一方で、不正利用の監視のために、検知された入力と出力が権限のある担当者に確認されうるとされています。社内の規程に照らして確かめてください
- 説明文を自動で会議資料に流し込まない … 下書きは必ず担当者が確かめます。経営会議の資料は、経営の判断の材料です。 誤った「戻る差異」の一文が、資金の手当ての判断を遅らせます
- この構成は資金の手当ての判断を代替しない … 借入をするか、支払を繰り延べるかは、財務部と経営が決めます
- 計画の元データの保存先を限る … 月末の予定の明細は、全取引先の入出金の予定がまとまった一覧です。保存先のライブラリは財務部だけが見られるようにします
誤りが起きた場合のリスクは、戻らない差異を戻る差異として説明することです。 会議では「来月戻るなら問題ない」と受け取られ、資金の手当てが遅れます。種類を規則で決め、AIに書き換えさせない設計は、この1点を守るためにあります。
10まず何から始めるか
1週目:月末の予定の明細を保存し始める
販売管理・購買管理のシステムから、月末時点の入出金の予定を書き出し、SharePoint のライブラリに保存します。最初は手で書き出して置くだけで構いません。 過去の月はさかのぼれないので、ここを最初にやります。
2週目:10行で試す
先月の説明が要った行から10行を選び、明細を手で3つに分けて、生成AIに説明文を作らせます。当時の説明と並べ、材料に無い見通しが書かれていないかを最優先で見ます。
3週目:連絡のリストを始める
予定変更の連絡リストを SharePoint に作り、2つの事業部の営業・購買に書き込みを頼みます。項目は、取引先、請求の番号、変更前と変更後の日付と金額、理由の5つだけにします。
4週目:突き合わせをフローにする
計画の元データと実績の明細を、取引先と請求の番号で突き合わせ、種類を決めるところまでを Power Automate で組みます。この時点ではAIを呼ばず、種類の判定の結果だけを財務部で見ます。
2か月目: Azure OpenAI の説明文の下書きと数字の照合を足し、2つの事業部で月次の説明に使います。3か月目以降: 全事業部に広げ、1行30分が何分になったかを測ります。前月に「戻る」と説明した差異が、翌月の説明で自動的に確かめられるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Azure が販売するモデル(Azure OpenAI を含む)の入力と出力が、他の顧客やモデルの提供元に提供されず、許可や指示なしに生成AIの基盤モデルの学習に使われないこと。Microsoft の Azure 環境でホストされ、モデルの提供元のサービスとやり取りしないこと。標準のデプロイでは指定した地域で処理され、Global と DataZone では処理の場所が広がること。不正利用の監視で、検知された入力と出力が権限のある担当者に確認されうること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-05 |
構造化出力が JSON Schema への準拠をさせる機能であること。すべての項目を必須にし、任意の項目は null との組み合わせの型で表すこと。additionalProperties を false にすること。enum に対応し、文字列の maxLength などに対応しないこと | Microsoft Learn: How to use structured outputs with Azure OpenAI | 2026-10-05 |
| 「ファイルの作成時 (プロパティのみ)」のトリガー、「ファイル コンテンツの取得」「アイテムを取得」「項目を作成する」のアクションがあること。「アイテムを取得」で OData のフィルター クエリを指定でき、上位カウントの既定値がすべてであること。接続ごとに60秒あたり600回の呼び出しの上限 | Microsoft Learn: SharePoint コネクタ | 2026-10-05 |
| 「繰り返し」のトリガーでスケジュール済みクラウドフローを作れること。頻度を月にすると毎月同じ日に実行されること。タイムゾーンと開始時刻を指定できること | Microsoft Learn: スケジュールに従ってクラウド フローを実行する | 2026-10-05 |
会計システムと販売管理・購買管理のシステムから明細を書き出す方法は、利用している製品によって異なります。 本記事では個別の製品の仕様を確かめていないため、書き出した明細を SharePoint に置く構成を想定しています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0424)についてのご相談はこちらから。
