海外の仕入先から届く英文の支払督促と入金確認のメールを訳し、買掛金と送金の記録に照らして英文の回答案を作る
海外の仕入先から届く英文の支払督促・入金確認・請求照会のメールを訳し、書かれた請求書番号ごとに、買掛金と送金の記録で状況を確かめます。 その結果だけを根拠に、英文の回答案を作ります。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate
- 対象業界
- EC/商社/小売/製造
- 対象部門
- 経理/財務
- 対象業務
- 内容確認・チェック/問い合わせ対応
- 主な課題
- 問い合わせが多い/属人化している/確認ミスが多い
- AIで行う処理
- 翻訳
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 共有メールボックスに届いた英文メールを開き、翻訳の画面に貼るか辞書を引きながら読む
- 本文と添付の一覧から、請求書番号・金額・通貨を書き出す
- 会計システムで、その請求書が計上されているか、支払期日と支払予定日はいつかを調べる
- 送金の記録で、その請求書に対する送金があるか、送金日と金額、銀行の手数料の負担を調べる
- 請求額と送金額が違えば、差の理由(手数料、為替、値引き、一部の保留)を経理部に聞く
- 英文を書ける担当者に調べた結果を渡し、返信を書いてもらう
- 返信を送り、メールボックスのフォルダを「対応済み」へ移す
- 自動共有メールボックスに新しいメールが届くと、Power Automate のフローが動く
- 自動本文と添付の一覧を取り出し、Azure OpenAI に渡す
- 自動AIが日本語訳と要点を作り、問い合わせの種類と、書かれた請求書番号・金額・通貨を取り出す
- 自動種類が振込先の変更なら、回答案を作らずに不正確認の担当者へ回す
- 自動請求書番号ごとに、フローが買掛金と送金の記録を引き、状況を決める
- 自動状況の一覧を渡し、AIが英文の回答案を作る
- 自動回答案の日付・金額・参照番号が記録どおりかをフローが確かめる
- 自動返信の下書きを共有メールボックスに作り、確認の一覧に載せる
- 人担当者が訳・状況・回答案を確かめ、直して送る
- 人期日超過・保留・差額のあるものは、経理部と確かめてから送る
各工程の詳しい説明を読む
- 共有メールボックスに届いた英文メールを開き、翻訳の画面に貼るか辞書を引きながら読む
- 本文と添付の一覧から、請求書番号・金額・通貨を書き出す
- 会計システムで、その請求書が計上されているか、支払期日と支払予定日はいつかを調べる
- 送金の記録で、その請求書に対する送金があるか、送金日と金額、銀行の手数料の負担を調べる
- 請求額と送金額が違えば、差の理由(手数料、為替、値引き、一部の保留)を経理部に聞く
- 英文を書ける担当者に調べた結果を渡し、返信を書いてもらう
- 返信を送り、メールボックスのフォルダを「対応済み」へ移す
(a)問い合わせのたびに調べ直している。 同じ請求書について、仕入先の担当者が代わるたびに、あるいは督促のたびに同じ問い合わせが来ます。前回どう調べてどう答えたかが残っていないので、毎回3番と4番をやり直します。
(b)支払済みなのに督促が続く。 送金はしたのに、仕入先の側で入金が請求書と結び付いていないことがあります。送金の参照番号や送金日を返信に書いていないと、仕入先はまた同じ督促を送ってきます。 1通で済むはずの問い合わせが3往復になります。
(c)英文を書ける人に集まる。 返信の文面は、書く人ごとに言い回しも載せる情報も違います。送金日を書く人もいれば書かない人もいます。2名に頼る形では、繁忙期に返信が滞り、督促の2通目、3通目を呼び込みます。
(d)確認の抜けが起きる。 「未払いの一覧」として十数件の請求書番号が並んだメールでは、1件ずつ調べるうちに1〜2件を見落とします。 見落とした1件について、翌月にまた督促が届きます。
- 【自動】 共有メールボックスに新しいメールが届くと、Power Automate のフローが動く
- 【自動】 本文と添付の一覧を取り出し、Azure OpenAI に渡す
- 【自動】 AIが日本語訳と要点を作り、問い合わせの種類と、書かれた請求書番号・金額・通貨を取り出す
- 【自動】 種類が振込先の変更なら、回答案を作らずに不正確認の担当者へ回す
- 【自動】 請求書番号ごとに、フローが買掛金と送金の記録を引き、状況を決める
- 【自動】 状況の一覧を渡し、AIが英文の回答案を作る
- 【自動】 回答案の日付・金額・参照番号が記録どおりかをフローが確かめる
- 【自動】 返信の下書きを共有メールボックスに作り、確認の一覧に載せる
- 【人】 担当者が訳・状況・回答案を確かめ、直して送る
- 【人】 期日超過・保留・差額のあるものは、経理部と確かめてから送る
5番目が、この設計の分かれ目です。 状況を決めるのはAIではなくフローです。請求書番号で記録を引き、見つかったか、期日を過ぎているか、送金があるかを条件で分けます。 AIが受け取るのはその結果で、記録そのものではありません。
9番目で人が送るのも、意図してのことです。 支払についての返信は、そのまま自社の約束になります。「来週払います」と書いた下書きがそのまま送られると、それが支払の約束として相手の記録に残ります。 送信はフローに入れません。
02今回想定するシステム構成
海外の仕入先からの英文メール(本文・添付の一覧) │ ▼【トリガー】共有メールボックスに新しいメールが届く Power Automate ├──▶ 本文・差出人・添付を取り出す ▼ Azure OpenAI(Microsoft Foundry)── 1回目:構造化出力 │ ① 日本語訳と要点 ② 問い合わせの種類 │ ③ 請求書番号・金額・通貨の一覧 ▼ Power Automate ├──▶ 振込先の変更 → 回答案を作らず不正確認の担当へ ├──▶ 請求書番号ごとに買掛金と送金の記録を引く │ → 状況(未受領/期日前/期日超過/支払済み/一部支払/保留) ▼ Azure OpenAI(Microsoft Foundry)── 2回目:構造化出力 │ 状況の一覧だけを根拠に英文の回答案 ▼ Power Automate ── 日付・金額・参照番号を記録と照合 ▼ 共有メールボックスの下書き + SharePoint の確認リスト ▼ 【担当者が確認して送信】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude、Gemini |
| 連携 | Power Automate | Make、n8n |
| メール | Outlook(財務部の共有メールボックス) | Gmail |
| 支払の記録 | 会計システムと送金の記録を取り込んだ SharePoint のリスト | 会計システムのAPI |
| 回答履歴 | SharePoint のリスト | Dataverse |
会計システムと銀行の送金の記録は、新しく足すものではありません。 毎朝、会計システムの買掛金の明細と送金の記録を書き出し、SharePoint のリストに取り込みます。取り込み方は会計システムによって違うため、この部分は利用環境に合わせた個別の実装になります。 フローはこのリストを読むだけで、会計システムには書き込みません。
土台になるのは、Microsoft Foundry で提供される Azure OpenAI のモデルです。 Azure が販売するモデルは Microsoft の Azure 環境でホストされ、モデルの提供元が運営するサービスとはやり取りしないとされています。入力と出力は他の顧客にもモデルの提供元にも提供されず、許可や指示なしに基盤モデルの学習に使われないとされています。仕入先の口座や支払額が書かれたメールを扱うので、この点を最初に確かめます。
処理される場所も確かめます。 標準のデプロイでは顧客が指定した地域の中で処理されますが、「Global」や「DataZone」と付くデプロイの種類では、処理の場所がその範囲に広がるとされています。社内の規程で処理の場所に決まりがあるなら、デプロイの種類を先に決めます。
メールは Power Automate の Office 365 Outlook コネクタで受けます。 共有メールボックス用に「共有メールボックスに新しいメールが届いたとき (V2)」のトリガーがあります。返信は「メール メッセージを下書きする」アクションまでにとどめます。このアクションは下書きを作る共有メールボックスのアドレスと、返信の元になるメッセージIDを指定できます。送信のアクションはフローに入れません。
03どうやって実装するのか
処理の起点を決める
共有メールボックスに新しいメールが届いたことを起点にします。 Office 365 Outlook コネクタの「共有メールボックスに新しいメールが届いたとき (V2)」で、財務部の共有メールボックスを監視します。1日1回まとめて処理する形にはしません。 督促のメールは、返事が遅れるほど2通目が早く来ます。
添付ファイルは、トリガーでは取らないようにします。 コネクタの既知の問題として、新着メールのトリガーで添付を含める設定にすると、添付の多いメールが同時に届いたときにタイムアウトすることがあり、添付を含めずに「添付ファイルの取得 (V2)」アクションで別に取る回避策が示されています。このアクションは共有メールボックスのアドレスを指定できます。未払いの一覧が付いたメールは添付が大きくなりがちなので、最初からこの形にします。
フローに入れるメールを絞ります。
- 差出人のドメインが、仕入先マスタに登録されたドメインか
- 件名か本文に、payment・remittance・invoice・overdue・statement などの語があるか
- 自動返信(不在通知など)でないか
1番目に当たらないメールも捨てません。 登録外のドメインから支払の話が来ることは、それ自体が詐欺の兆しになりうるからです。回答案を作らない「登録外」の区分に入れ、担当者が見ます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| メール | 本文、差出人、件名、受信日時、スレッドのID | 共有メールボックス |
| 添付の一覧 | 仕入先が送ってくる未払いの一覧(PDF・表計算のファイル) | 添付ファイルの取得 |
| 仕入先マスタ | 仕入先コード、名称、登録ドメイン、支払条件、担当者 | SharePoint のリスト |
| 買掛金の明細 | 仕入先の請求書番号、計上日、通貨、金額、支払期日、支払予定日、保留の理由 | 会計システムから毎朝取り込むリスト |
| 送金の記録 | 送金日、通貨、送金額、手数料の負担区分、送金の参照番号、対象の請求書番号 | 銀行の外国送金の明細から毎朝取り込むリスト |
| 回答履歴 | 過去に同じ請求書について返信した日と内容 | SharePoint のリスト |
質を決めるのは、送金の記録の「対象の請求書番号」です。 1回の送金で複数の請求書をまとめて払っていると、送金の明細からはどの請求書の分か分かりません。送金のときに対象の請求書番号を記録に残す運用が無いと、「支払済み」かどうかを機械的に決められません。
回答履歴を持つのは、第3章の(a)を止めるためです。 同じ請求書について2回目の問い合わせが来たら、前回いつ何を答えたかを確認の一覧に並べます。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 本文と差出人 | トリガーの出力 | 翻訳と、登録ドメインとの照合 |
| 添付 | 「添付ファイルの取得 (V2)」 | 未払いの一覧の請求書番号 |
| 仕入先 | 仕入先マスタ | 差出人のドメインから仕入先コードを決める |
| 請求書の状況 | 買掛金の明細 | 仕入先コード × 請求書番号で引く |
| 送金 | 送金の記録 | 仕入先コード × 請求書番号で引く |
請求書番号は、仕入先コードと組にして引きます。 仕入先が振る請求書番号は、別の仕入先の番号と重なることがあります。番号だけで引くと、別の会社の請求書の状況を返信に書くことになります。
請求書番号の表記ゆれは、引く前に整えます。 「INV-2026-0815」「INV20260815」「No. 2026/0815」のように、同じ番号が書き方を変えて届きます。記号と空白を除いた形で引き、当たらなければ表記を変えずに「未受領」とし、人の確認に回します。
AIへ渡す前に整形する
- 引用部分を除く … 返信の繰り返しで下に付いた過去のメール本文を切り離し、最新の本文だけを渡す
- 署名を除く … 差出人の署名と、定型の免責文を除く
- 添付を文字にする … 表計算のファイルは表として、PDFは文字として取り出す
- 口座番号を伏せる … 本文と添付に口座番号・IBAN・SWIFTコードらしき文字列があれば、伏せ字にし、その事実だけを印として残す
- スレッドをまとめる … 同じスレッドのIDで24時間以内に届いた続きのメールは、1件にまとめる
- 登録外のドメインを分ける … 仕入先マスタに無いドメインは、AIに回答案を作らせない区分に入れる
4番目が、この構成でいちばん大事な前処理です。 口座の番号そのものは、問い合わせに答えるのに要りません。一方で、口座の情報が書かれていること自体は、振込先の変更の依頼である可能性を示します。 伏せ字にしたうえで「口座の情報あり」の印を付け、次の段階の判定に使います。
AIに処理させる
AIは2回呼びます。 1回目は訳と取り出し、2回目は回答案の作成です。あいだに、フローが記録を引いて状況を決める段階を挟みます。
1回目にさせること:
| 取り出すもの | 中身 |
|---|---|
| 日本語訳 | 本文の全訳 |
| 要点 | 仕入先が何を求めているかを3行以内で |
| 問い合わせの種類 | 下の表の5つから1つ |
| 請求書の一覧 | 請求書番号、金額、通貨、仕入先が書いた期日 |
| 仕入先の主張 | 「未入金」「金額不足」「期日超過」など、何を問題にしているか |
| 種類 | 意味 |
|---|---|
payment_reminder | 支払の督促。期日を過ぎた、まだ届いていないという連絡 |
remittance_confirmation | 送金したかどうか、いつ送金したかの確認 |
invoice_query | 金額の差、未払いの一覧との照合、請求書の受領の確認 |
bank_detail_change | 振込先の口座の変更の依頼 |
other | 上のどれでもない |
フローが決める状況:
| 状況 | 決め方 |
|---|---|
not_received | 買掛金の明細にその請求書番号が無い |
scheduled | 計上済み・未払いで、支払期日が今日より後 |
overdue | 計上済み・未払いで、支払期日が今日以前 |
paid | 送金の記録があり、送金額が請求額と一致 |
partially_paid | 送金の記録があるが、送金額が請求額と違う |
on_hold | 保留の理由が記録されている |
2回目にさせること: 状況の一覧を受け取り、請求書ごとに英文で答える回答案を作ります。paid なら送金日・送金額・参照番号を、scheduled なら支払予定日を書きます。overdue ・ partially_paid ・ on_hold ・ not_received は、事実だけを書き、理由や約束は書かずに「確認して改めて連絡する」とします。
| させないこと | 理由 |
|---|---|
| 支払の状況の推測 | 状況はフローが記録から決める |
| 記録に無い支払予定日を書く | 書いた日付がそのまま約束になる |
| 差額の理由を書く | 手数料か為替か保留かは、経理部が確かめる |
| 振込先の変更への返答 | 詐欺の入口になりうる。回答案を作らない |
| 謝罪の上乗せや支払の約束 | 自社の責任を認める文面は人が決める |
3行目の「差額の理由を書かない」は、起きやすい失敗です。 外貨の送金では、差額の多くは銀行の手数料か為替に見えます。AIはもっともらしい理由を書きますが、実際には検収の差異で一部を保留していることがあります。 理由を書くのは、経理部が確かめてからです。
指示内容を固定する
2回目(回答案の作成)の指示の例です。
あなたは商社の財務部で、海外の仕入先からの支払の問い合わせに英文で返信する担当者です。
渡された「照合の結果」だけを根拠に、返信の案を英語で書いてください。
【書き方】
- 仕入先の問い合わせに対し、請求書ごとに1段落で答えてください。
- status ごとに、次の情報だけを書いてください。
- paid ............ 送金日、送金額と通貨、送金の参照番号
- scheduled ....... 支払予定日
- partially_paid .. 送金日、送金額と通貨、参照番号。差額があることだけを書く
- overdue ......... 請求書を確認したことと、社内で確認して改めて連絡すること
- on_hold ......... 社内で確認中であることと、改めて連絡すること
- not_received .... その請求書番号が当社の記録に見当たらないことと、写しの送付の依頼
- 丁寧で簡潔な業務の英文にしてください。
【厳守事項】
- 照合の結果に無い日付・金額・参照番号を書かないでください。
- 支払予定日が照合の結果に無い請求書に、支払の時期を書かないでください。
- 差額の理由(手数料、為替、値引きなど)を推測して書かないでください。
- 支払を早める、今週中に払うなどの約束を書かないでください。
- 遅れについての謝罪は一文までにし、責任を認める表現を使わないでください。
- 口座の情報や振込先について触れないでください。
- 日付は「15 August 2026」の形で、金額は通貨の記号ではなく通貨コードを付けて書いてください。
- 返信の案とは別に、その日本語の訳を付けてください。
【仕入先の名称】{vendor_name}
【問い合わせの要点】{summary_ja}
【照合の結果】{match_results}
「照合の結果に無い日付を書かない」を2か所に分けて書いているのは、支払予定日がいちばん埋められやすいからです。 督促に答える文を書かせると、AIは相手を安心させる一文として「近日中に」「今月末までに」と書きます。書かれた日付は、相手にとって支払の約束です。
日付の書き方を決めているのは、日と月の順が国によって違うためです。 「08/09/2026」は、相手によって8月9日にも9月8日にも読めます。月を英語の語で書けば、読み違いが起きません。
日本語の訳を付けさせるのは、英文を書けない3名が確認できるようにするためです。 回答案が照合の結果どおりかを、日本語で確かめられます。
出力形式を固定する
1回目は次の形で受け取ります。
{
"translation_ja": "",
"summary_ja": "",
"inquiry_type": "payment_reminder | remittance_confirmation | invoice_query | bank_detail_change | other",
"invoices": [
{ "invoice_no": "", "amount": 0, "currency": "", "vendor_due_date": null, "vendor_claim": "" }
],
"mentions_bank_details": false
}
2回目は次の形です。
{
"reply_en": "",
"reply_ja": "",
"invoices_answered": [
{ "invoice_no": "", "status": "paid", "dates_used": ["2026-08-15"], "amounts_used": [12500.00], "refs_used": [""] }
]
}
1つ目の理由は、2回目の dates_used ・ amounts_used ・ refs_used で照合できることです。 回答案に使った日付・金額・参照番号を別の欄に書き出させ、フローがそれを照合の結果と突き合わせます。1つでも照合の結果に無い値があれば、回答案に印を付けて人の確認を強めます。
2つ目は、Azure OpenAI の構造化出力の制約に合わせやすいことです。 構造化出力では、すべての項目を必須にし、additionalProperties を false にする必要があります。任意の項目は null との組み合わせの型で表します。vendor_due_date を null にできるのは、仕入先が期日を書いていないメールがあるからです。スキーマは合計100個までの項目と5段までの入れ子に収めます。
3つ目は、種類と状況を決まった語で受け取れることです。 enum で選択肢を固定しておけば、bank_detail_change の判定をフローの条件分岐でそのまま使えます。文字列の長さや形式を指定するキーワードは使えないため、日付の形式はフローの側で確かめます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 共有メールボックス | 「共有メールボックスに新しいメールが届いたとき (V2)」 | 新着を検知し、本文と差出人を取る |
| 添付 | 「添付ファイルの取得 (V2)」 | 未払いの一覧を取る |
| Azure OpenAI | HTTP での呼び出し | 1回目の訳と取り出し、2回目の回答案 |
| 買掛金・送金の記録 | SharePoint のリストの読み取り | 請求書ごとの状況を決める |
| 共有メールボックス | 「メール メッセージを下書きする」 | 共有メールボックスのアドレスと元のメッセージIDを指定し、回答案を下書きとして置く |
| 確認リスト | SharePoint のリストへの書き込み | 訳・状況・回答案・照合の印を並べる |
書き込むのは下書きと確認リストだけです。 会計システムにも送金の記録にも書き込みません。コネクタには接続ごとに60秒あたり300回の呼び出しの上限があります。 月初に督促がまとめて届いても、この構成の呼び出しの数なら収まります。
人が確認する
全件を担当者が確かめて送ります。見る順と深さを状況で分けます。
bank_detail_changeと登録外のドメインを最初に見る … 回答案はありません。メールに返信せず、登録済みの電話番号で仕入先の担当者に確かめる手順に回しますoverdue・partially_paid・on_holdは経理部と確かめる … 遅れや差額の理由を確かめてから、回答案に書き足して送りますnot_receivedは請求書の受け取り漏れを疑う … 受領の窓口に届いていないかを確かめてから送りますpaidとscheduledは日本語の訳と照合の結果を見比べて送る … 照合の印が付いていなければ、多くはそのまま送れます
1番目は、どれだけ急いでいても省きません。 振込先の変更の依頼に、メールの返信で確かめるのは意味がありません。そのメールを送ってきた相手が、本物の仕入先とは限らないからです。
目標は、300件をならして1件6分です。 paid と scheduled だけのメールは数分で送れ、overdue や差額のあるメールは経理部とのやり取りを含めて10分以上かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 請求書番号が本文にも添付にも無い | 状況を決めず、請求書番号を尋ねる回答案だけを作る |
| 同じ請求書番号が別の仕入先にある | 仕入先コードと組で引く。番号だけで引かない |
| 送金の記録に対象の請求書番号が無い | paid とせず「要確認」とし、経理部に回す |
| 請求書の通貨と送金の通貨が違う | partially_paid にせず「要確認」とする |
| 添付が画像で文字が取れない | 本文だけで処理し、添付は担当者が見る |
| 英語以外の言語で届く | 訳と取り出しは行い、回答案は英語で作る。相手の言語で返すかは担当者が決める |
| AIの応答が決まった形で返らない | 1回だけやり直し、だめなら確認リストに「要手作業」で載せる |
| 回答案に照合の結果に無い値がある | 印を付けて確認リストの上に並べる |
| 同じ請求書について2回目の問い合わせ | 回答履歴の前回の返信を並べ、前回と違うことを書いていないかを見る |
上から3行目と4行目が、支払済みを誤って伝える経路です。 送金はしたが対象の請求書番号が記録に無い、送金の通貨が違う。どちらも paid に見えますが、機械的には決められません。 迷うものはすべて「要確認」へ寄せます。
記録を残す
- 受け取ったメールの本文・差出人・受信日時と、スレッドのID
- 1回目のAIの出力(訳、種類、請求書の一覧)
- 請求書ごとの照合の結果と、そのとき参照した買掛金と送金の記録の値
- 2回目のAIの出力(回答案、使った日付・金額・参照番号)と、照合の印
- 担当者が直した後の送信文と、送信した日時
bank_detail_changeと登録外のドメインのメールについての、確認の結果
3つ目で「そのときの記録の値」を残すのは、記録が後から変わるためです。 支払予定日は変わり、保留は解除されます。当時の記録が残っていないと、なぜその日付を返信に書いたのかを後から説明できません。
5つ目は、次の問い合わせのための記録です。 同じ請求書の2回目の問い合わせで回答履歴を並べるとき、AIの回答案ではなく、実際に送った文を比べます。
04実装レベルの3段階
最小構成では300通をさばけません。 1通ずつ記録を書き出すので、確かめるための段階です。 半自動化で、1件18分が11分程度になります。 訳と請求書番号の書き出しは自動になりますが、記録を調べる作業と返信を書く作業が残ります。本格構成で6分になり、この段階が本記事の想定です。 差が大きいのは、記録を調べる7分が、照合の結果を読むだけになるからです。 半自動化の段階で、振込先の変更の振り分けを先に入れてください。 回答案が無くても、bank_detail_change を最初に見る流れだけは、翻訳が自動になった時点で必要になります。
05工数削減シミュレーション
導入後 300件 × 6分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 海外の仕入先が百社を超え、支払や請求についての英文の問い合わせが財務・経理の共有の窓口に毎月数百通届く輸入商社や製造業。問い合わせのたびに会計システムと送金の記録を開いて調べ、英文の返信を担当者が一から書いている場合。英文を書ける担当者が限られ、その人に問い合わせが集まっている場合。
- 海外の仕入先が数社で、問い合わせが月に数通の場合。支払の状況を仕入先が自分で確かめられる仕組み(取引先向けの照会画面など)がすでにある場合。会計システムの支払予定と送金の記録が、仕入先の請求書番号で引けない場合(先に記録の整備が要ります)。なお、支払を早めるか、差額を認めるかといった判断は、この構成では代替できません。
07最小構成で試す方法
- 先月届いた問い合わせのメールから20通を選ぶ(うち数通は、未払いの一覧が付いたものと、差額を問われたものを入れる)
- 20通について、当時担当者が調べた買掛金と送金の記録を書き出す
- 手元のAIサービスの画面に、メールの本文と、書き出した記録を貼り付ける
- 「このメールを訳し、書かれた請求書番号を一覧にしてください。そのうえで、下の記録だけを根拠に英文の返信案を書いてください。記録に無い日付や支払の約束、差額の理由は書かないでください」と指示する
- 出てきた返信案を、当時実際に送った返信と比べる
20通は、記録を人が書き出して試します。 ワークフローを組む前に、「記録を渡せば、記録どおりの返信が書けるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の返信と同じ情報が、記録どおりに書かれた | メールボックスと記録の連携に進む |
| 記録に無い支払予定日や理由を書き足した | 指示の書き方で直る。構成は有効 |
| 請求書番号が記録と突き合わない | 記録の整備が先。 送金の記録に対象の請求書番号を残す運用から始める |
3行目が出ることは珍しくありません。 まとめて送金した分の対象の請求書番号が記録に無いと、人が調べても時間がかかります。それが、第4章の②が7分かかる理由です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 回答案に記録に無い支払予定日が入る | 2回目の指示で禁じ、使った日付を別の欄に出させて照合する |
| 差額の理由を推測で書く | 理由を書かせない。経理部が確かめてから人が書き足す |
| 振込先の変更の依頼に返信してしまう | bank_detail_change は回答案を作らない。登録済みの電話番号で確かめる |
| 別の仕入先の請求書の状況を書く | 請求書番号は仕入先コードと組で引く |
まとめて送金した分が paid にならない | 送金の記録に対象の請求書番号を残す。残せないものは「要確認」 |
| 過去のメールの引用まで訳す | 引用部分を除いてから渡す |
| 添付付きでトリガーが止まる | 添付はトリガーで取らず、「添付ファイルの取得 (V2)」で別に取る |
| 日付の日と月を読み違える | 月を英語の語で書かせる |
| 登録外のドメインからの支払の話 | 回答案を作らない区分に入れ、担当者が必ず見る |
| 前回と違う内容を返信する | 回答履歴の実際に送った文を並べる |
| 構造化出力のスキーマが通らない | すべての項目を必須にし、任意の項目は null との組み合わせにする |
上の3行が、この構成の失敗のほとんどです。 どれも「AIがもっともらしく書いた一文」が、そのまま支払の約束や詐欺への返答になる失敗です。事実はフローが決め、AIには書かせない範囲を決め、振込先の話には答えない。 この3つで守ります。
5行目は、導入の前に効いてきます。 送金の記録と請求書が結び付いていないと、状況の多くが「要確認」になり、人が調べる時間がほとんど減りません。 記録の整備を先に済ませてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 仕入先の名称と担当者の連絡先、請求書番号と金額、送金日と送金額、送金の参照番号、そしてメールに書かれることのある口座の情報です。
- 口座の情報をAIに渡さない … 前処理で口座番号やIBAN、SWIFTコードを伏せ字にします。問い合わせに答えるのに、口座の番号は要りません
- 振込先の変更は、メール以外の経路で確かめる … 回答案を作らず、登録済みの電話番号で仕入先の担当者に直接確かめます。 メールに書かれた電話番号にかけてはいけません
- データの扱いとデプロイの種類を確かめる … Azure OpenAI の入力と出力はモデルの提供元に渡らず、学習に使われないとされています。不正利用の監視のため、検知された入力と出力を権限のある担当者が確認する仕組みがあることも公開されています。取引の情報を渡す前に、社内の規程と照らしてください
- 送信は人が行う … 下書きまでにとどめます。支払についての返信は自社の約束になるため、自動で送りません
- この構成は支払の判断を代替しません … 支払を早めるか、差額を認めるか、保留を解くかは、財務部と経理部が決めることです
- 回答履歴の保存期間を決める … 支払額と取引先の情報がまとまった記録です。会計の記録と同じ期間を目安に、閲覧できる人を財務部と経理部に限ります
誤りが起きた場合のリスクは、払っていない請求書を「支払済み」と伝えることと、詐欺の依頼に応じることの2つです。 前者は状況の推測をAIに許すと起き、後者は振込先の変更を通常の問い合わせとして扱うと起きます。どちらも、AIに書かせない範囲を先に決めることで防ぎます。
10まず何から始めるか
1週目:送金の記録と仕入先マスタを確かめる
送金の記録に対象の請求書番号が残っているかを、先月分で確かめます。仕入先マスタに登録ドメインの列を足します。問い合わせの多い上位30社から埋めます。
2週目:20通で試す
先月の問い合わせのメールから20通を選び、手元のAIサービスに記録と一緒に貼り付けて返信案を作らせます。当時の返信と比べ、記録に無い日付や理由を書き足していないかを最優先で見ます。
3週目:振込先の変更の手順を決める
振込先の変更の依頼が来たときに、誰が、どの電話番号で確かめるかを決めます。 この手順が決まらないうちに翻訳を自動にすると、訳された依頼がそのまま処理の流れに乗ります。
4週目:受信から訳と請求書の一覧までをつなぐ
Power Automate で共有メールボックスを見張り、Azure OpenAI で訳と取り出しをして、確認リストに載せるところまで作ります。この時点では回答案を作らず、訳と請求書の一覧と種類だけを見ます。
2か月目: 買掛金と送金の記録を毎朝取り込み、状況を決める照合を足します。3か月目以降: 回答案の作成と、日付・金額・参照番号の照合を足し、1件18分が何分になったかを実測します。同じ請求書の2回目の問い合わせが減ったことを回答履歴で確かめた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Azure が販売するモデル(Azure OpenAI を含む)の入力と出力が、他の顧客やモデルの提供元に提供されず、許可なく基盤モデルの学習に使われないこと。Microsoft の Azure 環境でホストされ、モデルの提供元のサービスとやり取りしないこと。標準のデプロイでは指定した地域で処理され、Global と DataZone では処理の場所が広がること。不正利用の監視で、検知された入力と出力が権限のある担当者に確認されうること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-09-30 |
構造化出力が JSON Schema への準拠をさせる機能であること。すべての項目を必須にし、任意の項目は null との組み合わせの型で表すこと。additionalProperties を false にすること。項目は合計100個・入れ子は5段まで。enum に対応し、文字列の minLength・maxLength・pattern・format などに対応しないこと | Microsoft Learn: How to use structured outputs with Azure OpenAI | 2026-09-30 |
| 「共有メールボックスに新しいメールが届いたとき (V2)」のトリガーがあること。「メール メッセージを下書きする」で下書きを作る共有メールボックスのアドレスとメッセージIDを指定できること。「添付ファイルの取得 (V2)」で共有メールボックスのアドレスを指定できること。新着メールのトリガーで添付を含めるとタイムアウトしうることと、その回避策。接続ごとに60秒あたり300回の呼び出しの上限 | Microsoft Learn: Office 365 Outlook コネクタ | 2026-09-30 |
会計システムと銀行の送金の記録を取り込む方法は、利用している製品によって異なります。 本記事では個別の製品の仕様を確かめていないため、毎朝の書き出しを SharePoint のリストに取り込む構成を想定しています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0399)についてのご相談はこちらから。
