Media > AI活用ユースケース > 財務 > 為替予約とヘッジ対象の残高を突き合わせて、過不足と指定のずれを洗い出す

為替予約とヘッジ対象の残高を突き合わせて、過不足と指定のずれを洗い出す

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

為替予約の建玉一覧と、外貨建ての債権債務・予定取引の一覧を突き合わせ、予約の過不足、通貨や期日のずれ、ヘッジ指定の抜けをAIが判定して一覧にします。財務担当者の作業は、全件を目で照らすことから、印の付いた件を確かめることに変わります。

サマリー
利用ツール
ChatGPT/Claude/Gemini/Make/n8n/Power Automate
対象業界
IT・SaaS/その他/商社/建設/製造
対象部門
財務
対象業務
比較検討/集計・分析
主な課題
判断に時間がかかる/属人化している/確認ミスが多い
AIで行う処理
判定
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★★☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
条件付き
現在工数
51.3h/月
AI導入後
16.5h/月
想定削減
68%
年間削減
418h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 銀行のウェブ明細から、為替予約の建玉一覧をダウンロードする(銀行ごとに形式が違う)
  2. 会計システムから、外貨建ての売掛金・買掛金の残高を出力する
  3. 事業部門から、受注済みで請求前の予定取引の一覧をもらう
  4. 3つをExcelに貼り、通貨・期日・金額の形をそろえる
  5. 通貨ごと、期日の月ごとに集計する
  6. 予約の合計と対象の合計を比べ、過不足を見る
  7. 過不足がある月について、原因を探る(予定取引の遅れ、入金の前倒し、予約の失念)
  8. ヘッジ指定の記録(どの予約がどの取引に対応するか)を確認する
  9. 記録がない予約、対象が消えている予約に印を付ける
  10. 一覧を作り、財務部長へ報告する
  11. 期末は、この一覧を経理部へ渡す
導入後(After)
  1. 自動決められた時刻に、Make のシナリオが動く
  2. 自動銀行の明細、会計システムの残高、予定取引の一覧を取得する
  3. 自動通貨・期日・金額の形をそろえる(銀行ごとの書式の違いを吸収)
  4. 自動前回の突合結果を読み込む
  5. 自動予約と対象を、通貨・期日の月・金額・記録された対応づけで照らし合わせる
  6. 自動過不足、通貨や期日のずれ、対応づけの抜けを判定する
  7. 自動前回からの変化(消えた予約、新しく増えた対象)を出す
  8. 自動判定の結果を、確認が要る順に並べた一覧にする
  9. 人財務担当者が、印の付いた件を確認する
  10. 人原因を調べ、対応を決める
  11. 人一覧を財務部長へ報告する
  12. 自動確認の結果を記録に残し、次回の突合に引き継ぐ
各工程の詳しい説明を読む
  1. 銀行のウェブ明細から、為替予約の建玉一覧をダウンロードする(銀行ごとに形式が違う)
  2. 会計システムから、外貨建ての売掛金・買掛金の残高を出力する
  3. 事業部門から、受注済みで請求前の予定取引の一覧をもらう
  4. 3つをExcelに貼り、通貨・期日・金額の形をそろえる
  5. 通貨ごと、期日の月ごとに集計する
  6. 予約の合計と対象の合計を比べ、過不足を見る
  7. 過不足がある月について、原因を探る(予定取引の遅れ、入金の前倒し、予約の失念)
  8. ヘッジ指定の記録(どの予約がどの取引に対応するか)を確認する
  9. 記録がない予約、対象が消えている予約に印を付ける
  10. 一覧を作り、財務部長へ報告する
  11. 期末は、この一覧を経理部へ渡す

問題は7つあります。

(a)データの形をそろえる作業が毎回発生する。 銀行ごとに列の並びも日付の書き方も違います。A銀行は「2026/12/25」、B銀行は「25-Dec-26」という具合です。貼り付けてから直す作業が、毎回5分かかります。

(b)対応づけが担当者の頭の中にある。 「この予約は、あの受注案件の分」という情報が、表計算ソフトの備考欄にしか残っていません。備考欄が空の行も少なくありません。

(c)過不足の原因を探すのに時間がかかる。 12月のUSDが50,000ドル余っている、と分かっても、どの取引が消えたのかを突き止めるには、前月の一覧と比べる必要があります。

(d)通貨や期日のずれが見落とされる。 金額は合っているが期日が1か月ずれている、という状態は、月単位で集計していると見えません。期日をまたいだ時点で問題になります。

(e)期末に作業が集中する。 毎月やっているつもりでも、期末の確認は精度が求められます。3日がかりになることがあります。

(f)担当者が休むと止まる。 手順が文書になっていません。Excelの数式を読み解けるのは、作った本人だけです。

(g)前月との差分が見えない。 今月の一覧は作りますが、先月から何が変わったかは記録されていません。「先月あった予約が今月ない」ことに気づけません。

  1. 【自動】 決められた時刻に、Make のシナリオが動く
  2. 【自動】 銀行の明細、会計システムの残高、予定取引の一覧を取得する
  3. 【自動】 通貨・期日・金額の形をそろえる(銀行ごとの書式の違いを吸収)
  4. 【自動】 前回の突合結果を読み込む
  5. 【自動】 予約と対象を、通貨・期日の月・金額・記録された対応づけで照らし合わせる
  6. 【自動】 過不足、通貨や期日のずれ、対応づけの抜けを判定する
  7. 【自動】 前回からの変化(消えた予約、新しく増えた対象)を出す
  8. 【自動】 判定の結果を、確認が要る順に並べた一覧にする
  9. 【人】 財務担当者が、印の付いた件を確認する
  10. 【人】 原因を調べ、対応を決める
  11. 【人】 一覧を財務部長へ報告する
  12. 【自動】 確認の結果を記録に残し、次回の突合に引き継ぐ

自動化されるのは「データの取得と整形」「突合」「判定」「前回との差分」「並べ替え」の5つです。残るのは、印の付いた件の原因を調べて対応を決めることです。

ヘッジ会計の適用可否は判断しません。 この構成が出すのは「予約が50,000ドル超過している」「この予約に対応づけの記録がない」という事実です。それを会計上どう扱うかは、経理部と監査法人が決めます。

予約の締結・解約もしません。 「12月のUSDが不足しています」と示すところまでで、予約を入れるかどうかは財務部長の判断です。

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

構成図
銀行のウェブ明細(為替予約の建玉)
会計システム(外貨建ての売掛金・買掛金)
事業部門の予定取引一覧(SharePoint)
   │
   ▼【トリガー】Make のスケジュール(毎営業日の朝、および月次)
Make のシナリオ
   │
   ├──▶ 3つのデータを取得
   ├──▶ 通貨・期日・金額の形をそろえる
   ├──▶ 前回の突合結果を読み込む
   │
   ├──▶ Router で、機械的に照合できる分と判定が要る分に分ける
   │      │
   │      ├─ 金額・通貨・期日が完全に一致 ──▶ 照合済みとして処理
   │      │
   │      └─ 一致しない・対応づけが不明 ──▶ 判定へ
   │
   ▼
Claude API(判定)
   │  過不足/通貨・期日のずれ/対応づけの抜けを判定
   │  structured outputs でスキーマどおりのJSONを返させる
   │
   ├──▶ Iterator で通貨ごと・期日の月ごとに処理
   └──▶ Array Aggregator で結果をまとめる
   │
   ▼
突合結果の一覧(Excel / SharePoint)
   │
   ▼
財務担当者が確認 ──【人】印の付いた件の原因を調べる
   │
   ▼
財務部長へ報告 ──【人】対応を決める
   │
   ▼
確認の結果を記録(次回の突合に引き継ぐ)
役割想定する製品代替候補
ワークフローMakePower Automate、n8n
生成AIClaude APIOpenAI API、Gemini API
保管SharePointBox、Google ドライブ
会計システム既存の会計システム各社の製品
記録ExcelGoogle スプレッドシート

トレジャリー管理システム(TMS)を導入済みなら、まずそちらを確認してください。 予約と対象取引の紐付けがシステム内で完結しているなら、この構成は要りません。自前で組む価値があるのは、TMSがなく、Excelで管理している企業です。

Make では、シナリオを決まった時刻に走らせる設定ができます。 毎日/毎週/毎月といった間隔のほか、曜日や日付を指定できます。この構成では、日次の軽い確認と、月次の本格的な突合を分けて設定します。

Router を使って、判定が要る分だけをAIへ回します。 金額・通貨・期日が完全に一致し、対応づけの記録もある組み合わせは、機械的に照合できます。220件のうち、AIへ回るのは60〜80件程度です。 ここを分けると、費用も処理時間も抑えられます。

Iterator は配列を1件ずつのバンドルに分け、Array Aggregator は複数のバンドルを1つにまとめます。通貨ごと・期日の月ごとに判定を分け、最後に1つの一覧へ戻す形に使います。

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

Step1

処理の起点を決める

2つのトリガーを置きます。

(1)日次:毎営業日の朝8時

前日からの変化だけを見ます。新しく締結した予約、消えた債権、期日が変わった取引。 ここで拾えば、月末にまとめて驚くことがありません。

(2)月次:月初の第2営業日

全件を突き合わせます。会計システムの月次締めが終わってからでないと、残高が確定しません。 締めのタイミングは会社ごとに違うので、経理部と合わせてください。

Make のスケジュール設定では、実行の間隔として毎日・毎週・毎月などを選べます。日付を指定した月次の実行もできます。

銀行の明細が自動で取れない場合があります。 ウェブ明細を手でダウンロードする必要があるなら、ファイルが特定のフォルダに置かれたことをトリガーにしてください。 取得だけは人が行い、その後を自動にする形です。

期末には手動で走らせられるようにしてください。 決算の作業中は、何度も確認したくなります。シナリオを手で起動できる入口を1つ用意しておくと、使い勝手が大きく変わります。

Step2

入力データを集める

データ中身取得元
為替予約の建玉約定日、通貨ペア、金額、予約レート、期日、銀行名、取引番号銀行のウェブ明細
外貨建ての債権債務取引先、通貨、金額、発生日、決済予定日、伝票番号会計システム
予定取引の一覧受注案件、通貨、見込金額、見込入金月、確度事業部門(SharePoint)
対応づけの記録どの予約がどの取引・案件に対応するか財務部の管理表
前回の突合結果前回の判定と、担当者が確認した結果記録
通貨と期日の許容期日のずれを何日まで同一とみなすか財務部の定め
銀行ごとの書式列の並び、日付の書き方、金額の単位財務部の文書
Step3

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

銀行ごとの書式: ここを最初に整えてください。銀行3行と取引があるなら、3つの書式の対応表を作ります。

列例
銀行名A銀行
期日の列名「受渡日」
期日の書き方YYYY/MM/DD
金額の列名「売買金額」
金額の単位外貨の額面
通貨ペアの書き方「USD/JPY」
取引番号の列名「約定番号」

この対応表があれば、書式の違いはAIを使わずに吸収できます。 銀行が増えたら1行足すだけです。書式の変換をAIにさせないでください。 決まった変換に生成AIを使うと、ぶれる余地を作るだけです。

対応づけの記録: 現状は表計算ソフトの備考欄にあるはずです。これを、次の形の表へ移してください。

列中身
予約の取引番号銀行の約定番号
対象の種類債権/債務/予定取引
対象の識別子伝票番号または案件番号
対応する金額予約の一部だけを充てる場合がある
記録日 / 記録者
備考

「予約の一部だけを充てる」列が要ります。 100,000ドルの予約を、60,000ドルの債権と40,000ドルの予定取引に分けて充てることがあります。1対1で持つと、この形が表せません。

期日のずれの許容: 「予約の期日と決済予定日が7日以内なら同一の月とみなす」といった定めを、財務部で決めてください。決めずに始めると、判定の基準が毎回変わります。

前回の突合結果: 差分を出すために必須です。担当者が「これは問題なし」と確認した件は、次回から印を弱めます。 同じ件が毎月上位に出続けると、一覧が読まれなくなります。

対応づけの記録を移す作業が、この構成でいちばん重い部分です。 現状、備考欄に自由文で書かれている情報を、構造化された表へ移します。180件の建玉があれば、180行を手で作ることになります。

この作業には、副産物があります。備考欄が空の行が必ず出ます。 「この予約は何に充てるつもりだったか」を、担当者が思い出せない行です。その数を数えてください。 20行あるなら、それがこの構成を入れる理由になります。その20行は、いま誰も説明できない予約です。

移す作業は、期日の近い順に進めてください。 期日が18か月先の予約は、対応づけが決まっていないことも普通にあります。まず3か月以内に期日が来る予約から、確実に埋めてください。 全部を一度に埋めようとすると、途中で止まります。

予定取引の一覧は、事業部門から月次でもらう形が現実的です。 リアルタイムで連携できれば理想ですが、受注の見込みは事業部門の判断で更新されるため、自動で取れる形になっていないことがほとんどです。 更新日を必ず記録し、古い情報で判定していないかを確認できるようにしてください。

Step4

AIへ渡す前に整形する

  1. 書式の統一 … 銀行ごとの対応表に従い、通貨・金額・期日・取引番号の形をそろえます。ここはAIを使わず、決まった変換で行います
  2. 通貨の正規化 … 「USD」「US$」「米ドル」を1つにそろえます
  3. 期日の月への割り当て … 期日を年月に丸め、通貨×年月の組み合わせを作ります
  4. 既存の対応づけの適用 … 記録がある組み合わせを先に結びつけます
  5. 完全一致の照合 … 通貨・金額・期日が一致し、対応づけもある組み合わせを「照合済み」として外します
  6. 前回結果との突き合わせ … 前回あって今回ない予約、今回新しく現れた対象を抜き出します

5の段階で、220件のうち140件程度が外れます。 AIへ回すのは、残りの60〜80件です。ここを丁寧に作ると、費用と処理時間が3分の1になります。

Step5

AIに処理させる

4つの判定をさせます。

判定内容
過不足通貨×年月ごとに、予約の合計と対象の合計の差
通貨・期日のずれ対応づけられているが、通貨が違う/期日が許容を超えてずれている
対応づけの抜け記録がない予約、対象が消えている予約
前回からの変化消えた予約、新しく増えた対象、金額が変わった取引

そのうえで、確認の優先度を付けさせます。

優先度該当する状態
高対象が消えている予約がある。期日が3か月以内で過不足が大きい
中対応づけの記録がない。期日が許容を超えてずれている
低期日が1年以上先で、過不足が小さい

金額の計算そのものはAIにさせないでください。 合計や差は、シナリオの中で計算します。AIが担うのは、「この差が確認を要するものかどうか」の判断です。

会計上の判断もさせません。 「ヘッジ会計の要件を満たしていません」といった記述を書かせないでください。この構成が出すのは事実であって、会計上の結論ではありません。

Step6

指示内容を固定する

あなたは財務部で為替予約の残高を点検する担当者です。
下のデータについて、確認が要る点を判定してください。

【厳守事項】
- 合計や差の計算はすでに済んでいます。計算し直さないでください。
  与えられた数値をそのまま使ってください。
- 会計上の判断をしないでください。
  「ヘッジ会計の要件を満たさない」「繰延処理できない」と書かないでください。
  会計上の扱いは経理部と監査法人が決めます。
- 為替の見通しを書かないでください。
  「円安が進むため予約を増やすべき」と書かないでください。
- 予約の締結・解約を提案しないでください。
  「12月のUSDが不足しています」という事実までにとどめてください。
- 与えられていない取引を推測で補わないでください。
  対象が見つからない場合は「対象なし」としてください。
- 期日のずれは、下の「許容日数」に照らして判定してください。
  一般的な慣行で補わないでください。
- 前回の突合で担当者が「確認済み・問題なし」とした件は、
  状況が変わっていなければ優先度を「低」にしてください。

【許容日数】
{tolerance_days}

【通貨×年月ごとの集計(予約の合計、対象の合計、差)】
{aggregates}

【対応づけられた組み合わせ(予約、対象、金額、通貨、期日)】
{matched_pairs}

【対応づけの記録がない予約】
{unmatched_contracts}

【対象が消えている予約(前回はあった対象が今回ない)】
{orphaned_contracts}

【前回の突合結果と、担当者の確認内容】
{previous_result}

「計算し直さないでください」の指示が要ります。 数値を渡すと、モデルは検算を始めることがあります。そこで桁を間違えると、判定そのものが崩れます。 計算はシナリオ側で確定させ、AIには判断だけをさせてください。

「為替の見通しを書かない」も必須です。 為替の予想を書かせると、それが財務部長への報告に混ざります。この構成は相場観を扱いません。

「前回確認済みの件は優先度を低に」の指示が、運用を続ける鍵になります。 同じ件が毎月「高」で出続けると、一覧を見なくなります。担当者が一度確認した件は静かにするという設計が、読まれ続ける一覧を作ります。

ただし、「状況が変わっていなければ」という条件を必ず付けてください。 前回「予定取引が遅れているだけ」と確認した件でも、期日が近づけば意味が変わります。期日まで3か月を切ったら、確認済みでも優先度を戻すという扱いにしてください。

「予約の締結・解約を提案しない」の指示も外せません。 「12月のUSDが不足しているので、50,000ドルの予約を追加することを推奨します」という文が出ると、それが報告書に載ります。為替の予約を増やす判断には、相場の見通しと資金繰りが関わります。 財務部長の判断領域です。

「会計上の判断をしない」の指示については、具体例を書いておくことが有効です。 「ヘッジ会計の要件を満たさない」「繰延処理できない」「時価評価が必要」といった表現を、そのまま禁止語として書いてください。抽象的に「会計上の判断をするな」と書くだけでは、モデルは境界を誤ります。

Step7

出力形式を固定する

{
  "run_date": "",
  "run_type": "daily | monthly",
  "currency_periods": [
    {
      "currency": "",
      "period": "YYYY-MM",
      "contract_total": 0,
      "exposure_total": 0,
      "difference": 0,
      "priority": "high | medium | low",
      "reason": ""
    }
  ],
  "findings": [
    {
      "finding_type": "over_hedge | under_hedge | currency_mismatch | date_mismatch | missing_link | orphaned_contract | changed_since_last",
      "contract_no": "",
      "target_id": "",
      "currency": "",
      "amount": 0,
      "value_date": "",
      "detail": "",
      "priority": "high | medium | low",
      "previously_confirmed": false
    }
  ],
  "changes_since_last": {
    "contracts_added": [],
    "contracts_removed": [],
    "targets_added": [],
    "targets_removed": [],
    "amounts_changed": []
  },
  "matched_count": 0,
  "reviewed_count": 0
}

Claude API の structured outputs では、出力にスキーマを指定すると、そのスキーマに沿ったJSONが返ります。 列の抜けや型の違いを後から直す処理が減ります。

finding_type を細かく分けている理由があります。 「過不足」とひとくくりにすると、超過と不足が同じ扱いになります。この2つは対応がまったく違います。 超過は予約の一部を解約するか、別の取引に充てるかの判断が要ります。不足は新たに予約を入れるかの判断です。

previously_confirmed の列は、一覧の読みやすさを左右します。 前回確認済みの件に印を付けておけば、担当者は新しく出た件だけを見れば済みます。

changes_since_last が、この構成でもっとも価値のある部分です。 現状の突合では、前月との差分が見えません。「先月あった予約が今月の明細にない」ことに気づける仕組みは、いまありません。

Step8

システムへ連携する

結果は一覧として出すだけで、システムへの書き戻しは行いません。

出力先内容
Excel(SharePoint)通貨×年月の集計と、確認が要る件の一覧
Teams優先度「高」がある場合のみ通知
記録判定の結果と、担当者の確認内容

会計システムへの書き戻しは絶対に行わないでください。 仕訳や残高を自動で動かす構成にすると、誤りが帳簿へ直接入ります。この構成は点検であって、記帳ではありません。

対応づけの記録の更新も、人が行います。 「この予約はあの案件に対応する」という記録は、担当者が確認して入れます。AIの推定で自動的に紐付けないでください。

Teams への通知は、優先度「高」があるときだけにしてください。 毎日通知が来ると読まれなくなります。日次の実行で何も出なければ、通知しない。 これが続ける条件です。

Step9

人が確認する

財務担当者の確認は必ず残します。

件の種類確認すること
対象が消えている予約取引が中止されたのか、システムの反映漏れか
過不足が大きい月予定取引の見込みが変わっていないか
対応づけの記録がない予約どの取引に充てるつもりだったか
期日のずれ決済予定日が変わったのか、予約の期日が合っていないのか
金額が変わった取引変更の理由と、予約への影響

確認を速くするための設計が効きます。

  • 優先度の高い順に並べる
  • 前回確認済みの件は畳んで表示する
  • 過不足の金額を、円換算でも併記する(感覚がつかみやすくなります)
  • 同じ取引先・同じ案件の件をまとめる
  • 前回からの変化を、別のシートに分ける

3つ目が効きます。 「USD 50,000の超過」と言われても大きさが分かりません。「約750万円相当」と併記すると、確認の順番を決めやすくなります。 換算に使うレートは、期末の直近レートか社内レートを明示してください。

確認の結果は必ず記録してください。 「予定取引の見込みが変わったため。対応不要」と書いておけば、翌月は優先度が下がります。この記録がないと、同じ件を毎月調べ直すことになります。

Step10

例外に対処する

起きること対応
銀行の明細の書式が変わった対応表を更新する。変換に失敗したら止める。推測で読まない
銀行の明細が取得できないその銀行分を除いて実行し、除いたことを明示する
会計システムの月次締めが終わっていない締め前は日次の実行のみ。月次は締め後に走らせる
予定取引の一覧が更新されていない更新日を確認し、古い場合は警告を出す
通貨が4種類を超えた通貨の一覧を設定で持ち、追加できる形にする
同じ予約が複数の取引に充てられている部分充当として扱う。1対1を前提にしない
予約を期日前に解約した前回からの変化として検出し、優先度を高にする
期日が過ぎた予約が残っている実行の対象から外し、別の一覧に出す
判定の件数が想定を大きく超えたデータの取得か整形に問題がある。処理を止めて通知する
AIが会計上の判断を書いたプロンプトで禁止する。テストで確認する
AIが金額を計算し直して間違えた計算はシナリオ側で確定させる。AIに数値を作らせない
為替の見通しが混ざった禁止する。相場観はこの構成の対象外
担当者が確認しないまま月が変わった未確認の件を翌月へ引き継ぎ、滞留として示す

「判定の件数が想定を大きく超えたら止める」は、必ず入れてください。 通常60〜80件のところ200件出たなら、データの取得か整形が壊れています。そのまま一覧を出すと、担当者が200件を見る羽目になり、翌月から使われなくなります。

Step11

記録を残す

この記録は、月次の点検の証跡になります。

  • 実行日時と、実行の種類(日次/月次)
  • 取得したデータの件数と、取得元ごとの取得日時
  • 照合済みとして外した件数
  • AIへ回した件数と、判定の結果
  • 担当者の確認内容と、確認日
  • 未確認のまま翌月へ繰り越した件
  • 判定が誤っていた事例と、その原因

「取得元ごとの取得日時」は必ず残してください。 会計システムの残高が締め前のものだったのか締め後のものだったのかで、突合の意味が変わります。後から見返したとき、これがないと結果を解釈できません。

「判定が誤っていた事例」も記録してください。 確認が要る差異を「低」と判定していた、逆に問題のない件を「高」で出し続けていた、といった事例です。これが、許容日数や優先度の基準を直す材料になります。

記録の形は、1回の実行につき1行が基本です。 そこに、判定した件数と確認された件数を持ちます。個別の差異は別の表に、実行のIDで紐づけて持ってください。 1行に全部を詰め込むと、後から集計できません。

外貨建ての取引データは、取引先の情報を含みます。 保管場所を財務部に限定し、閲覧範囲を絞ってください。予約レートは銀行との取引条件であり、社外へ出せない情報です。

保存期間は、会計帳簿の保存期間に合わせるのが安全です。 点検の記録は、決算の裏付けとして求められることがあります。

04実装レベルの3段階

最小構成:表計算ソフトで集計し、チャット画面で判定させる / 判定のみ
半自動化:Make で月次に走らせ、取得・整形・照合・判定・一覧作成まで / 月次の突合
本格構成:上記+日次の差分検出+前回確認の引き継ぎ+滞留の管理 / 日々の変化の把握まで

半自動化の時点で、14分が7分程度になります。 データの整形と機械的な照合が消えるためです。本格構成では4.5分になりますが、減るのは差異の原因を探る時間です。 本格構成の「日次の差分検出」が、この業務の性質を変えます。 月に1回まとめて見るのと、毎日の変化を追うのとでは、気づくタイミングが違います。予約の解約や取引の中止に、その日のうちに気づけます。 「前回確認の引き継ぎ」も、本格構成で初めて効きます。 確認済みの件が静かになることで、一覧に出るのは新しい件だけになります。月次だけの運用では、この効果は出ません。 滞留の管理は、期末の負担を減らします。 未確認のまま繰り越された件が積み上がると、期末に一気に片付けることになります。滞留の件数を毎月見せる仕組みが、期末の3日を防ぎます。 半自動化で止めるという選択も現実的です。 月次の突合が自動で回るだけでも、データの整形と機械的な照合が消えます。日次の差分検出は、締結や解約が頻繁に起きる企業でないと効果が薄いからです。月に数件しか予約が動かないなら、月次だけで十分です。 逆に、予約の締結・解約が日常的に起きる企業では、日次が効きます。 商社のように、受注のたびに予約を入れる形の企業です。この場合、月に1回の突合では変化を追いきれません。 段階を選ぶ基準は、「1か月の間に何件が変わるか」です。 220件の組み合わせのうち、月に20件以上が変わるなら日次を検討してください。5件程度なら、月次で十分です。

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

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

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

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

AI活用について相談する

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

向いている
  1. 外貨建ての取引が月に100件以上あり、為替予約でヘッジしている企業。予約の建玉とヘッジ対象の対応づけを、担当者が表計算ソフトで管理している場合。決算期末に、予約の過不足やヘッジ指定のずれを慌てて確認している場合。担当者が1〜2名で、その人以外は突合の手順が分からない場合。
向いていない
  1. 外貨建ての取引がほとんどない企業。トレジャリー管理システムを導入済みで、予約と対象取引の紐付けがシステム内で完結している場合。為替予約を包括的に行っており、個別の対応づけを行っていない場合。ヘッジ会計を適用せず、予約を単独で時価評価している場合。

07最小構成で試す方法

  1. 通貨を1つ選ぶ(もっとも件数の多いUSD)
  2. 過去1か月分の、予約の建玉と債権債務の一覧を用意する
  3. 銀行ごとの書式の対応表を作る(1行ずつ)
  4. 表計算ソフトで、通貨×年月の集計まで作る
  5. 生成AIのチャット画面に集計と明細を貼り、判定させる
  6. 担当者が実際に確認した件と突き合わせる

見るのは次の4点です。

見る点判断
担当者が確認した件を、判定が拾えているか見落としが1件でもあれば原因を調べる
拾いすぎていないか確認不要の件が半分を超えるなら基準を見直す
金額を計算し直していないか1件でもあればプロンプトを直す
会計上の判断や為替の見通しが混ざっていないか混ざったら必ず直す

1つ目が最重要です。 この構成の価値は、見落としを減らすことにあります。拾いすぎは担当者が捨てられますが、見落としは気づけません。

3つ目も外せません。 数値を渡したときに検算を始めるかどうかを、必ず確認してください。桁の間違いは、報告書に載ってから発覚します。

次に、書式の対応表だけで銀行3行分の変換が通るかを試してください。 AIを使わずに変換できることを確かめます。ここでAIが必要になるなら、対応表の設計が足りていません。

最後に、前回結果との差分を試してください。 2か月分のデータを用意し、「先月あって今月ない予約」が拾えるかを確かめます。ここがこの構成のいちばんの価値なので、最小構成の段階で動くことを確認しておきたい部分です。

この最小構成の試行で、もう1つ分かることがあります。 現状の突合で、担当者が何を見ていたかが言語化されます。「なぜこの件を確認したのか」を1件ずつ聞くと、判定の基準が出てきます。 「期日が近くて金額が大きいから」「前月と比べて予約が減っていたから」といった基準です。これをプロンプトの優先度の定義へ反映してください。

逆に、担当者が確認していなかった件のうち、判定が「高」としたものも見てください。 そこに、これまで見落とされていた差異があるかもしれません。「言われてみれば確認すべきだった」という件が出れば、それがこの構成を入れる理由になります。

試行は1通貨だけで十分です。 4通貨すべてでやろうとすると、データの準備だけで数日かかります。USDで動くことが確認できれば、他の通貨は同じ仕組みで動きます。

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

問題対策
AIが金額を計算し直して間違える計算はシナリオ側で確定させる。AIに数値を作らせない
AIが会計上の判断を書く禁止する。事実の指摘までにとどめる
為替の見通しが混ざる禁止する。相場観はこの構成の対象外
銀行の書式の違いをAIに吸収させる対応表で機械的に変換する。AIを使わない
対応づけを1対1で持つ部分充当を表せる形にする
期日のずれの許容を決めていない財務部で先に決める。決めないと判定がぶれる
前回確認済みの件が毎月「高」で出るpreviously_confirmed を使って優先度を下げる
会計システムへ自動で書き戻す絶対に行わない。点検であって記帳ではない
月次締めの前に実行する締め後に走らせる。経理部とタイミングを合わせる
判定の件数が急増したまま一覧を出す閾値を超えたら止めて通知する
通知が毎日来て読まれなくなる優先度「高」があるときだけ通知する
円換算を併記していない併記する。外貨の額面だけでは大きさが伝わらない
確認の結果を記録していない記録する。同じ件を毎月調べ直すことになる
予約レートが社外へ出る保管場所と閲覧範囲を限定する
対応づけの記録を移す作業で止まる期日の近い順に進める。全部を一度に埋めようとしない
確認済みの件が期日直前でも静かなまま期日3か月以内は優先度を戻す
予定取引の一覧が古いまま使われる更新日を記録し、古ければ警告を出す
予約の締結・解約をAIが提案する禁止する。相場観と資金繰りは財務部長の判断
禁止事項を抽象的に書く禁止語を具体的に列挙する。「ヘッジ会計の要件を満たさない」など

「対応づけの記録を移す作業で止まる」は、実際によく起きます。 180行を埋める作業は、数日かかります。途中で日常業務に押されて止まり、そのまま導入も止まるというのが典型的な失敗です。期日の近い順に進め、3か月以内の分が埋まった時点で一度動かしてみてください。 動くものを見れば、残りを埋める動機が生まれます。

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

この構成で扱うデータ: 為替予約の建玉と予約レート、取引先ごとの外貨建て債権債務、受注済みの予定取引。取引先名と金額、および銀行との取引条件が含まれます。

  1. 外部AIへの入力可否 … 予約レートは銀行との取引条件であり、取引先ごとの債権残高は取引先の情報です。外部のAIサービスへ送ってよいかを、財務部と情報管理の責任者で判断してください
  2. 取引先名の扱い … 判定に取引先名は必ずしも要りません。伝票番号と案件番号で足りるなら、取引先名を送らない形にできます。 送る情報を減らすことが、いちばん確実な対策です
  3. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
  4. アクセス権限 … 突合の結果には、会社の外貨ポジション全体が映ります。閲覧を財務部と経理部に限定してください
  5. 会計システムへの書き戻しの禁止 … この構成から帳簿を動かさないでください。 誤りが直接帳簿へ入ります
  6. 会計上の判断との分離 … ヘッジ会計の適用可否は、経理部と監査法人が判断します。この構成が出すのは事実であって、会計上の結論ではありません。 一覧の表題にもその旨を明記してください
  7. 相場観との分離 … 為替の見通しに基づく判断は、この構成の対象外です。予約を増減させる判断は財務部長が行います
  8. 監査対応 … 点検の記録は、決算の裏付けとして求められることがあります。判定の基準と、担当者の確認内容を、後から説明できる形で残してください
  9. 内部統制 … 突合の実行者と確認者を分けてください。AIが判定し、担当者が確認し、上位者が承認するという流れを崩さないでください
  10. 自動実行してよい範囲 … データの取得、整形、照合、判定、一覧の作成までです。対応づけの記録の更新、予約の締結・解約、会計処理は人が行います

誤りが起きた場合のリスクは、確認すべき差異を見落としたまま決算を迎えること、逆にAIの判定を根拠として会計処理を決めてしまうことです。後者のほうが重大です。 一覧には「会計上の判断は含みません」と明記し、経理部へ渡すときにも口頭で伝えてください。

10まず何から始めるか

1週目:銀行ごとの書式の対応表を作る

取引のある銀行すべてについて、列の名前・日付の書き方・金額の単位・通貨ペアの書き方を表にします。これだけで、毎月5分の整形作業の半分が消えます。 AIを使う前に、ここを片付けてください。

2週目:対応づけの記録を表へ移す

表計算ソフトの備考欄にある情報を、予約の取引番号・対象の識別子・充てる金額という形の表へ移します。この作業がいちばん重く、いちばん価値があります。 備考欄が空の行は、担当者に思い出してもらって埋めてください。思い出せない行があるという事実自体が、この構成を入れる理由です。

3週目:USD 1通貨で判定を試す

過去1か月分で、判定と担当者の確認内容を突き合わせます。見落としがないか、金額を計算し直していないか、会計上の判断が混ざっていないかを見てください。

4週目:前回結果との差分を試す

2か月分のデータで、「先月あって今月ない予約」が拾えるかを確かめます。ここが動けば、この構成の中心はできています。

2か月目: 月次のシナリオを Make で組み、全通貨で運用します。会計システムの締めのタイミングを経理部と合わせてください。 確認の結果を記録に残す運用も、ここから始めます。

3か月目以降: 日次の差分検出を足します。優先度「高」があるときだけ通知する形にしてください。同時に、前回確認済みの件を静かにする仕組みを入れます。

半年後: 判定が誤っていた事例を振り返り、期日のずれの許容や優先度の基準を見直してください。同時に、期末の確認にかかった日数を測ってください。 3日が半日になっていれば、この構成は目的を果たしています。

もう1つ、「担当者以外が突合できるか」を試してください。 財務部の他のメンバーに、一覧を見て確認作業をしてもらいます。できるなら、属人化は解消しています。 できないなら、判定の基準か一覧の作りに、まだ暗黙の前提が残っています。

1年後には、TMSの導入を検討する材料がそろいます。 突合にかかっている時間、確認が要った件数、対応づけの記録の量。これらが数字で示せれば、専用システムを入れるかどうかの判断ができます。 この構成を作ることは、TMSを入れないための代替であると同時に、入れるべきかを判断するための計測でもあります。

運用の中で1つだけ、崩してはいけないものがあります。 会計システムへ書き戻さないという設計です。便利さを求めて「確認済みのフラグを自動で立てたい」という要望が必ず出ます。 そこを開けると、帳簿を動かす経路ができます。点検の仕組みは、点検だけに留めてください。


11関連ユースケース

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

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

技術仕様確認日:2026-09-24/最終更新:2026-09-24
確認した内容情報源確認日
Make に Router(条件によって処理を分岐させる)、Iterator(配列を個別のバンドルに分ける)、Array Aggregator(複数のバンドルを1つにまとめる)があり、条件分岐と要素ごとの処理・再集約ができることMake: Flow control2026-09-24
Make でシナリオを決まった間隔(毎日・毎週・毎月など)で実行する設定ができること。日付や曜日を指定した実行もできることMake: Schedule a scenario2026-09-24
Claude API の structured outputs で、出力にスキーマを指定すると、そのスキーマに沿ったJSONが返ることAnthropic Docs: Structured outputs2026-09-24

為替予約の管理方法、ヘッジ対象の範囲、ヘッジ指定の記録の仕方は、企業ごと・会計方針ごとに異なります。この部分は自社の財務部門・経理部門の定めに応じた個別対応が必要です。 ヘッジ会計の適用可否、および会計上の処理については、自社の経理部門と監査法人の判断に従ってください。この記事は会計上の判断を示すものではありません。予約レートと取引先ごとの残高を外部のAIサービスへ渡してよいかは、自社の情報管理の責任者の判断が必要です。

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

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

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

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