荷主から届く入荷予定のメールと添付から入荷日・品番・数量・車両を読み取って入荷予定表に転記し、受入の能力を超える日を物流センターの担当者に示す
荷主から届く入荷予定のメールと添付から、入荷日・品番・数量・荷姿・車両を予定の行ごとに取り出し、物流センターの入荷予定表に書き込みます。書き込んだあと、日ごとの入荷の量を受入の能力と比べ、超えそうな日を担当者に知らせます。
- 生成AI
- Azure OpenAI Service/Gemini
- 連携・自動化
- Make/Power Automate/Zapier
- 対象業界
- EC/商社/小売/物流/製造
- 対象部門
- 物流
- 対象業務
- データ入力・転記/集計・分析
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 共有メールボックスに届いた入荷予定のメールを開き、荷主と、新しい予定か変更かを読み取る
- 添付があれば開き、本文と添付のどちらに予定が書かれているかを確かめる
- 入荷日・品番・数量・荷姿・車両の種類と台数を、入荷予定表に1行ずつ書き写す
- 変更の連絡であれば、入荷予定表から元の行を探して書き換える
- ケースで書かれた数量を、品番マスタの入数とパレットの積み付けの数でパレットに直す
- 日ごとのパレットと車両の合計を見て、多そうな日を課長に伝える
- 課長が人員とバースを見て、荷主に日の変更を頼むか、人を足すかを決める
- 自動共有メールボックスへの着信をきっかけにフローが動き、送り主を荷主の対応表と照らす
- 自動添付の種類を見て、PDF・画像、表計算のファイル、CSV、本文だけ、の4つに振り分ける
- 自動プロンプトが予定の行ごとに、入荷日・品番・数量・単位・荷姿・車両と、新規・変更・取消の別を返す
- 自動荷主と予定番号で入荷予定表を引き、新しい行を足すか、元の行を書き換えるか、取消の印を付けるかを決める
- 自動品番マスタの入数と積み付けの数で、数量をパレットに直す
- 自動書き込んだ日の合計を出し直し、受入の能力の表と比べる
- 自動取り出しに自信のない行と、能力を超える日を Teams のチャネルに投稿する
- 人担当者が「要確認」の行だけを、元のメールと見比べて直す
- 人課長が能力を超える日を見て、荷主への日の変更の依頼か、人員の手配かを決める
各工程の詳しい説明を読む
- 共有メールボックスに届いた入荷予定のメールを開き、荷主と、新しい予定か変更かを読み取る
- 添付があれば開き、本文と添付のどちらに予定が書かれているかを確かめる
- 入荷日・品番・数量・荷姿・車両の種類と台数を、入荷予定表に1行ずつ書き写す
- 変更の連絡であれば、入荷予定表から元の行を探して書き換える
- ケースで書かれた数量を、品番マスタの入数とパレットの積み付けの数でパレットに直す
- 日ごとのパレットと車両の合計を見て、多そうな日を課長に伝える
- 課長が人員とバースを見て、荷主に日の変更を頼むか、人を足すかを決める
(a)書き写しの手間が書式の数だけある。 荷主ごとに、日付が本文の冒頭にあるもの、表の見出しにあるもの、品番ごとに違うものがあります。どこを見ればよいかを思い出すところから1通が始まります。 表計算のファイルで届くものは列の並びが荷主ごとに違い、コピーして貼るだけでは済みません。
(b)変更の連絡を反映し忘れる。 変更のメールは件名が「Re:」で始まるだけのことが多く、本文の1行だけが変わっていることもあります。元の行を探して書き換える手間がかかるので、忙しい日には後回しになり、そのまま忘れられます。 当日、予定表にない荷物が届くのはたいていこの型です。
(c)能力の超過に前日まで気づかない。 日ごとの合計は、表を見て担当者が暗算か電卓で出しています。合計を出すのは、たいてい前日の夕方です。 そこで超えていると分かっても、荷主に日の変更を頼むには遅く、派遣の追加も間に合わないことがあります。
(d)パレットへの換算が人によって違う。 マスタを見る人と記憶で換算する人がいて、能力との比較が「多そう」という感覚の報告になります。
- 【自動】 共有メールボックスへの着信をきっかけにフローが動き、送り主を荷主の対応表と照らす
- 【自動】 添付の種類を見て、PDF・画像、表計算のファイル、CSV、本文だけ、の4つに振り分ける
- 【自動】 プロンプトが予定の行ごとに、入荷日・品番・数量・単位・荷姿・車両と、新規・変更・取消の別を返す
- 【自動】 荷主と予定番号で入荷予定表を引き、新しい行を足すか、元の行を書き換えるか、取消の印を付けるかを決める
- 【自動】 品番マスタの入数と積み付けの数で、数量をパレットに直す
- 【自動】 書き込んだ日の合計を出し直し、受入の能力の表と比べる
- 【自動】 取り出しに自信のない行と、能力を超える日を Teams のチャネルに投稿する
- 【人】 担当者が「要確認」の行だけを、元のメールと見比べて直す
- 【人】 課長が能力を超える日を見て、荷主への日の変更の依頼か、人員の手配かを決める
8番目で人が見るのは、全件ではありません。 取り出しに自信のある行は、入荷予定表に「未確認」のまま書き込まれ、1日の終わりに一覧で流し見ます。時間を使うのは、品番がマスタに無い、日付が「来週」のように相対で書かれている、変更の元の行が見つからない、といった行だけです。
4番目から6番目をAIにさせないのは、意図してのことです。 どの行を書き換えるかは荷主と予定番号という決まった鍵で引き、換算と合計は毎回同じ答えが出る計算にします。
02今回想定するシステム構成
荷主からのメール(本文/PDF/表計算のファイル/CSV) │ ▼【トリガー】共有メールボックスへの着信 Power Automate(クラウド フロー) ├──▶ 送り主を荷主の対応表と照合(対応表にない送り主は止める) ├──▶ 添付の種類で4つに振り分け ▼ プロンプトを実行する(AI Builder のプロンプト、JSON 出力) │ 予定の行ごとに:入荷日/品番/数量/単位/荷姿/車両/新規・変更・取消 ▼ Power Automate ├──▶ 荷主+予定番号で入荷予定表を引き、追加・書き換え・取消 ├──▶ 品番マスタでパレットに換算 ├──▶ 書き込んだ日の合計を出し直し、受入の能力の表と比べる ▼ SharePoint のリスト(入荷予定表/品番マスタ/受入の能力の表) ▼ Teams のチャネル(要確認の行と、能力を超える日) ▼ 【人が要確認の行と、超過の日の手当てを決める】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Power Automate(クラウド フロー、Office 365 Outlook コネクタ、SharePoint コネクタ) | Make、Zapier |
| 生成AI | AI Builder のプロンプト(「プロンプトを実行する」アクション、ドキュメント入力と JSON 出力) | Azure OpenAI(Microsoft Foundry)、Gemini |
| 保管 | SharePoint のリスト(入荷予定表、品番マスタ、受入の能力の表、荷主の対応表) | Dataverse |
| 通知 | Microsoft Teams のチャネル | Outlook のメール |
新しく入れるものは、フローとプロンプトだけです。 入荷予定表を SharePoint のリストに移し、能力の表を課長の頭の中から出してリストにするのが、いちばん大事な準備です。
AI Builder のプロンプトは、フローの中で「プロンプトを実行する」アクションとして呼べます(2025年5月以降、旧名から改称)。テキストの入力と、画像またはドキュメントの入力を組み合わせて持たせられます。
画像またはドキュメントの入力で扱えるのは、PNG、JPG、JPEG、PDF です。 ファイルの合計は25MB未満、ドキュメントは50ページ未満、処理は最大100秒という制限があります。表計算のファイルは、プロンプトの設定でコード インタープリターを有効にしたときに、分析用のドキュメント入力として扱えるとされています。 そのため、この構成では添付の種類でプロンプトを分けます。
出力は JSON にします。 プロンプトの出力に JSON を選び、例を与えると形式が「カスタム」になり、保存した形式がフローで使われるときも変わらないとされています。フィールドのキーを持たない配列の形式は使えないので、予定の行は {"line_no": 1, ...} のようにキー付きのオブジェクトの配列で返させます。
03どうやって実装するのか
処理の起点を決める
共有メールボックスへの着信で、1通ずつ動かします。 Office 365 Outlook コネクタの「新しいメールが届いたとき(V3)」を使います。届いた時点で合計を出し直すことが能力の超過を早く知る理由そのものなので、1日1回のまとめ処理にはしません。
添付は、トリガーでは取らずに後から取ります。 コネクタの説明では、トリガーで添付を含める設定にすると、添付付きのメールが同時に多数届いたときに時間切れになることがあるとされ、含めずに「添付ファイルの取得(V2)」で取る方法が示されています。朝に荷主の予定がまとめて届くセンターでは、この設定が効きます。
同じメールで2回動くことがあります。 コネクタの説明では、Microsoft Defender の安全な添付ファイルの動的配信を使っていると、トリガーが2回動き、1回目は添付の配列が空のことがあるとされています。添付の数が0のときは、本文だけの予定として扱う前に、数分おいて同じ Message Id のメールを取り直します。
取りこぼしの対策として、毎日15時に突き合わせのフローを動かし、取り込みの記録に Message Id が無いメールを同じ処理に流し直します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 入荷予定のメール | 件名、本文、送り主、受信日時、Message Id、添付の名前と種類 | 共有メールボックス |
| 添付 | PDF、画像、表計算のファイル、CSV | 添付ファイルの取得(V2) |
| 荷主の対応表 | 荷主コード、送り主のアドレス、予定番号の書き方、項目名の言い換え、日付の書き方 | SharePoint のリスト |
| 品番マスタ | 荷主コード、品番、品名、ケースの入数、パレットあたりのケース数、温度帯 | SharePoint のリスト |
| 受入の能力の表 | 日付、午前・午後、受け入れられるパレット数と車両数、休業の印 | SharePoint のリスト |
| 入荷予定表 | 荷主、予定番号、行番号、入荷日、時間帯、品番、数量、単位、パレット換算、車両、状態 | SharePoint のリスト |
質を決めるのは、荷主の対応表と品番マスタです。 荷主の対応表には、「納品予定日」「着日」「搬入日」のように荷主ごとに違う項目名を、1社ずつ人が書いておきます。 プロンプトに渡すのは、その荷主の言い換えの行だけです。
予定番号の書き方も荷主の対応表に持たせます。 発注番号、仕入先の出荷番号など、変更の連絡で元の予定を引く鍵が荷主ごとに違うからです。 予定番号を持たない荷主は、荷主・入荷日・品番の組を鍵にします。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 件名・本文・送り主 | トリガーの出力 | 荷主の特定と、本文に書かれた予定 |
| 添付の中身 | 添付ファイルの取得(V2) | PDF と画像はドキュメント入力、表計算のファイルは別のプロンプト、CSV はテキスト |
| 荷主の対応表の行 | SharePoint の項目の取得(フィルター クエリ) | 送り主のアドレスで1行に絞る |
| 元の予定の行 | SharePoint の項目の取得(フィルター クエリ) | 荷主コードと予定番号で絞る |
| 品番マスタの行 | SharePoint の項目の取得(フィルター クエリ) | 荷主コードと品番で絞る |
| その日の予定の行 | SharePoint の項目の取得(フィルター クエリ) | 入荷日と時間帯で絞り、合計を出す |
添付の種類で渡し方を分けます。 PDF と画像はドキュメント入力に、CSV は文字に直してテキスト入力に渡します。表計算のファイルはコード インタープリターを有効にした別のプロンプトに渡し、1回に複数のファイルを分析できないとされているので、添付が2つあれば2回呼びます。
元の予定は、フィルター クエリで荷主コードと予定番号の2つで引きます。 SharePoint のコネクタの「複数の項目の取得」は、OData のフィルター クエリで返す行を絞れます。品番や数量をクエリの条件に入れません。 変更の連絡は品番や数量そのものを変えるもので、条件に入れると元の行が見つからなくなります。
日ごとの合計は、書き込んだ日だけ出し直します。 変更で日が動いた予定は、動く前の日と動いた後の日の両方を出し直します。 片方だけにすると、動く前の日に荷物が残ったままの合計になります。
AIへ渡す前に整形する
- 送り主の確認 … 荷主の対応表に載ったアドレスかを確かめます。載っていなければ処理せず、担当者に回します
- 重複の確認 … 同じ Message Id の取り込みの記録があれば処理しません
- 添付の確認 … 署名の画像やロゴの画像を外し、PDF・画像・表計算のファイル・CSV だけを残します
- 大きさの確認 … ファイルの合計が25MB未満、ドキュメントが50ページ未満かを見ます。超えるものはプロンプトに渡さず担当者に回します
- パスワードの確認 … 開けない PDF や表計算のファイルは、担当者に回します
- 引用の除去 … 「Re:」の返信で付いてくる過去のメールの引用を、本文から落とします
- 受信日の付与 … 相対の日付を読むために、メールの受信日時をプロンプトに渡します
6番目を省くと、過去の予定を新しい予定として拾います。 変更の連絡には元の予定がまるごと引用されていることが多く、引用の部分の品番と数量を、もう一度新しい行として書き込みます。 引用の開始を示す行(「-----Original Message-----」など)から下を落とします。
7番目は、推測を見分けるためです。 相対の日付は書かれたとおりに返させ、日付への置き換えはフローで行い、置き換えた行は担当者の確認に回します。
AIに処理させる
させるのは、予定の行ごとに、書かれている項目を書かれたとおりに取り出すことと、その連絡が新規・変更・取消のどれかを示すことだけです。
| 取り出すもの | 取り出し方 | 書かれていないとき |
|---|---|---|
| 予定番号 | 荷主の対応表の書き方に合う番号を写す | null。鍵は荷主・入荷日・品番の組にする |
| 入荷日 | 日付として書かれていれば YYYY-MM-DD、相対の書き方なら原文のまま | null |
| 時間帯 | 午前・午後・時刻の指定を原文のまま | null |
| 品番 | 書かれた文字列をそのまま写す | null |
| 数量と単位 | 数と、ケース・パレット・ピースなどの単位を分けて返す | 単位が無ければ unit: null |
| 荷姿 | パレット・バラ積み・カゴ車など | null |
| 車両 | 車種と台数 | null |
| 連絡の種類 | 新規・変更・取消・判断できない | unknown |
右端の列が要です。 品番マスタや過去の予定から補った値は、担当者がその行を確かめる理由を消します。
| させないこと | 理由 |
|---|---|
| ケースからパレットへの換算 | 品番マスタの入数とパレットあたりのケース数で、フローが毎回同じ計算をする |
| 日ごとの合計と能力との比較 | 書き込んだ日だけを出し直す決まった計算 |
| 書き換える元の行を決めること | 荷主と予定番号という鍵で引く |
| 相対の日付を日付に直すこと | 受信日の取り違えに気づけなくなる |
| 書かれていない品番や数量の補完 | 補った値が確認の対象から外れる |
| 能力を超えたときの対応の提案 | 荷主への依頼と人員の手配は課長が決める |
1行目がいちばん起きやすい失敗です。 品名から箱の大きさを想像してパレットに直した数は、マスタと違えばそのまま日ごとの合計を狂わせます。
指示内容を固定する
あなたは物流センターの入荷の事務担当です。
荷主から届いたメールの本文と添付から、入荷予定を行ごとに取り出してください。
書かれていることだけを取り出し、推測で埋めないでください。
【取り出す項目】
- plan_no ... 予定番号。荷主の予定番号の書き方に合うものを写す
- arrival_date ... 入荷日。日付として書かれていれば YYYY-MM-DD
- arrival_date_text ... 入荷日の原文(「明日」「来週火曜」なども、そのまま)
- time_slot ... 時間帯の原文(午前、午後、10時着 など)
- item_code ... 品番。書かれた文字列をそのまま
- quantity ... 数量(数字のみ)
- unit ... 単位(ケース、パレット、ピース など。原文のまま)
- packing ... 荷姿の原文
- vehicle_type / vehicle_count ... 車種と台数
- change_type ... new(新規) / change(変更) / cancel(取消) / unknown
- evidence ... その行の根拠にした原文の一節
【厳守事項】
- 書かれていない項目は null にしてください。品名や他の行から補わないでください。
- 「明日」「来週火曜」のような相対の日付を、日付に直さないでください。
arrival_date は null にし、原文を arrival_date_text に入れてください。
- 数量の単位を換算しないでください。ケースをパレットに直す計算をしないでください。
- 品番は1文字も直さないでください。ハイフンの有無や全角・半角もそのままです。
- 返信の引用部分(過去のメール)に書かれた予定は取り出さないでください。
- 変更の連絡では、変更後の値を返し、change_type を change にしてください。
変更前の値は before_value に原文で入れてください。
- 取消の連絡では、取り消す予定番号と品番だけを返し、change_type を cancel にしてください。
- 新規か変更か判断できない場合は unknown にしてください。迷ったときに new を選ばないでください。
- 入荷予定ではない連絡(請求、在庫の照会、出荷の依頼など)なら、
lines を空にし、document_type に連絡の種類を書いてください。
- 回答に JSON マークダウンを含めないでください。
【荷主】{shipper_name}
【この荷主の項目名の言い換え】{field_aliases}
【この荷主の予定番号の書き方】{plan_no_pattern}
【メールの受信日時】{received_at}
【メール本文(引用を除いたもの)】{body}
【添付】{attachment}
「迷ったときに new を選ばない」を明記しないと、ほとんどの連絡が新規になります。 変更の連絡の多くは「下記のとおりお願いします」としか書いていないからです。unknown を返させ、元の行の有無はフローで確かめます。
「回答に JSON マークダウンを含めない」は、JSON を生成できないエラーへの公式の FAQ の対処です。
表計算のファイル用のプロンプトには、「見出しの行を見て列の意味を決め、集計の行は読まない」を足します。
出力形式を固定する
次の形のJSONで受け取ります。
{
"document_type": "asn",
"shipper_code": "",
"message_change_type": "new | change | cancel | unknown",
"lines": [
{
"line_no": 1,
"plan_no": "",
"arrival_date": "",
"arrival_date_text": "",
"time_slot": "",
"item_code": "",
"quantity": 0,
"unit": "",
"packing": "",
"vehicle_type": "",
"vehicle_count": 0,
"change_type": "new | change | cancel | unknown",
"before_value": "",
"evidence": ""
}
]
}
1つ目の理由は、AIの出力とフローの判断を別の層に置けることです。 lines はAIが埋め、追加・書き換え・取消のどれにするか、パレットにいくつ換算するか、能力を超えるかはフローが決めます。換算の数や能力の数が変わっても、直すのはリストの値だけです。
2つ目は、arrival_date と arrival_date_text を分けて持てることです。 日付で書かれた予定は前者で、相対の書き方は後者だけが埋まります。後者だけが埋まった行は、自動で「要確認」に回ります。
3つ目は、行ごとに evidence を持てることです。 引用の部分から拾っていないかを、元のメールを開く前に読めます。
フローは JSON を受け取ったあと、次の規則で行の状態を決めます。
| 条件 | 入荷予定表の状態 |
|---|---|
| 入荷日・品番・数量・単位がそろい、品番がマスタにある | 未確認 で書き込む |
arrival_date が null で arrival_date_text だけがある | 要確認(日付) |
| 品番がマスタに無い、または単位がマスタで換算できない | 要確認(品番) |
change_type が change か cancel で、元の行が見つからない | 要確認(元の行なし) |
change_type が unknown | 元の行があれば 要確認(変更か)、無ければ 未確認 で新規 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 共有メールボックス | Office 365 Outlook のトリガーとアクション | 着信の検知と、添付の取得 |
| AI Builder のプロンプト | 「プロンプトを実行する」アクション | 予定の行の取り出し(PDF・画像用、表計算のファイル用の2本) |
| 入荷予定表 | SharePoint の項目の作成・更新 | 行の追加、書き換え、取消の印 |
| 品番マスタ・受入の能力の表 | SharePoint の項目の取得 | 換算の数と、日ごとの能力 |
| Teams のチャネル | メッセージの投稿 | 要確認の行と、能力を超える日 |
入荷予定表の行は消しません。 取消の連絡が来ても、状態を「取消」にして残します。 消してしまうと、荷主から「取り消していない」と言われたときに経緯をたどれません。合計の計算からは、状態が取消の行を外します。
能力を超える日の通知は、超えた時点で、どの荷主のどの予定で超えたかを添えて投稿します。 能力の90%を超えた日は「注意」、100%を超えた日は「超過」と分けます。
倉庫管理システムへは書き込みません。 担当者が「確認済み」にした行だけを従来の手順で取り込みます。未確認の行が検品の予定に入ると、現場で予定違いが増えます。
人が確認する
人が開くのは、「要確認」の行と、能力を超える日の通知だけです。 「未確認」の行は、1日の終わりに入荷予定表を荷主ごとに並べて流し見て、まとめて「確認済み」にします。
- 要確認(元の行なし)を先に見る … 変更や取消なのに元の予定が無いもの。元の予定のメールを取りこぼしている可能性があります
- 要確認(日付)を見る … 相対の日付を、フローが受信日から置き換えた値で合っているかを確かめます
- 要確認(品番)を見る … 品番の書き間違いか、新しい品番かを確かめます。新しい品番なら、品番マスタへの登録を荷主に確かめてから足します
- 能力を超える日の手当てを決める … 課長が、荷主への日の変更の依頼か、人員の手配かを決めます
- 直した内容を記録する … どの項目を、何から何に直したかを残します
1番目を最初に見るのは、能力の判断の前に合計の土台をそろえるためです。
目標は、600件をならして1件2分です。 要確認が2割を大きく超える月は、対応表の言い換えか品番マスタの登録が遅れています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 荷主の対応表に無い送り主 | 処理しない。担当者に回し、新しい荷主か担当の交代かを確かめる |
| 添付の配列が空で着信する | 動的配信による2回目の起動を待ち、数分後に取り直す |
| ファイルが25MB以上、50ページ以上 | プロンプトに渡さず、担当者に回す |
| パスワード付きの PDF や表計算のファイル | 担当者に回す。荷主にパスワードを付けない送り方を相談する |
| 処理が100秒を超えて時間切れ | 再実行しても続く場合は、ページを分けるか担当者に回す |
| 入荷予定ではない連絡 | document_type を見て、入荷予定表に書かずに担当者へ |
| 1通に複数の荷主の予定 | 転送の連絡などで起きる。荷主ごとに分けられなければ担当者へ |
| 品番がマスタに無い | 要確認(品番)。マスタに勝手に足さない |
| 受入の能力の表に、その日の行が無い | 能力との比較をせず、「能力未設定」として課長に通知する |
| SharePoint の書き込みに失敗 | 取り込みの記録を残さず、15時の突き合わせで流し直す |
下から2行目は月の変わり目に必ず起きるので、能力の表の翌月分は月の20日までに入れる決まりにします。
記録を残す
- 元のメール(Message Id、受信日時、送り主)と添付のファイル
- プロンプトが返した JSON の全文と、どちらのプロンプト(PDF・画像用、表計算のファイル用)を使ったか
- 入荷予定表への書き込みの記録(追加・書き換え・取消、書き換え前の値)
- 能力との比較の結果と、そのときの受入の能力の表の値
- 人が直した記録 … どの項目を、何から何に直したか
- 荷主ごとの要確認の発生率
4つ目で「そのときの能力の値」を残すのは、能力の表が後から変わるためです。 派遣を足して能力を上げると過去の超過の通知の意味が変わり、当時の値が残っていないと、なぜ超過と出たのかを説明できません。
最後の行は、荷主と書式を相談する材料になります。
04実装レベルの3段階
最小構成では件数がさばけません。 1通ずつ貼り付けるので、月600通には使えません。確かめるための段階です。 半自動化で、1件6分が3分程度になります。 書き写しと変更の反映は自動になりますが、換算と合計は人が行います。本格構成で2分になり、この段階が本記事の想定です。 差が大きいのは、換算と日ごとの合計が、変更のたびにやり直しになる作業だからです。 段階を飛ばさないでください。 半自動化を1か月回すと、マスタに無い品番と予定番号なしで変更を送る荷主が分かり、そこを直してから進むほうが超過の誤報が減ります。
05工数削減シミュレーション
導入後 600件 × 2分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 複数の荷主から入荷を受ける3PLの物流センターや、仕入先からの入荷を自社の倉庫で受ける商社・メーカー・小売・EC。入荷予定が荷主ごとにばらばらの書式(メール本文、PDF、表計算のファイル、CSV)で届き、センターの事務担当が1通ずつ入荷予定表に書き写している場合。入荷が特定の日に重なり、前日になってから人とバースが足りないと分かることがある場合。Microsoft 365 を使い、入荷予定表を SharePoint のリストで持てる場合。
- 荷主が数社で、入荷予定がすべて倉庫管理システムへの EDI やWeb画面での登録で届いている場合。入荷が月に数十件で、担当者が見てすぐ書き写せる場合。入荷予定の大半が電話で伝えられ、文書で届かない場合(受け取り方の見直しが先)。なお、受入の能力を超えた日にどの荷主の入荷を動かしてもらうか、人員をどう手配するかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月届いた入荷予定のメールから30通を選ぶ(うち10通は、変更・取消の連絡を入れる)
- その30通について、当時入荷予定表にどう書き写したかを並べておく
- 手元のAIサービスに、メール本文と PDF を1通ずつ貼り付ける
- 「この連絡から、入荷予定を行ごとに、入荷日・品番・数量・単位・荷姿・車両で取り出してください。新規・変更・取消のどれかも書いてください。書かれていない項目は空欄にし、単位を換算しないでください。引用の部分は読まないでください」と指示する
- 出てきた行を、当時の書き写しと突き合わせる
フローを組む前に、「変更の連絡を変更として読めるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の書き写しと同じ行が出た | フローとの連携に進む |
| 引用の部分の予定を新しい行として出した | 前処理で引用を落とせば直る。構成は有効 |
| 変更の連絡をほとんど新規と判断した | 指示に「迷ったら unknown」を足す。それでも続く荷主は、予定番号の書き方を対応表に足す |
| 表計算のファイルの列を取り違える | 表計算のファイル用のプロンプトを分け、見出しの行を見させる |
3行目は失敗ではなく、変更の反映を忘れていた理由が1つ分かったということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 変更の連絡が新規として足され、同じ荷物が2回数えられる | 引用を落とし、「迷ったら unknown」を指示に書く。 荷主と予定番号で元の行を引く |
| 引用の部分の予定を取り出す | 前処理で引用の開始の行から下を落とす |
| 相対の日付を勝手に日付に直す | 原文を arrival_date_text に返させ、置き換えはフローで行い要確認に回す |
| AIがケースをパレットに換算する | 換算を禁じ、品番マスタの数でフローが計算する |
| 表計算のファイルの列を取り違える | コード インタープリターのプロンプトを分け、見出しの行で列を決めさせる |
| 添付付きのメールがまとめて届くと時間切れ | トリガーで添付を含めず、「添付ファイルの取得(V2)」で取る |
| 同じメールで2回動く | Message Id で重複を確かめ、添付が空なら取り直す |
| 日が動いた予定で、動く前の日の合計が残る | 動く前と後の両方の日を出し直す |
| 能力の表に翌月の行が無い | 月の20日までに翌月分を入れる決まりにする |
| 品番マスタにパレットあたりのケース数が無い | 換算できない品番を一覧にし、荷主に確かめて埋める |
| 未確認の行が倉庫管理システムに入る | 確認済みの行だけを取り込む |
上の2行が、この構成の失敗のほとんどです。 どちらも同じ荷物を2回数え、誤報ばかりになると課長は通知を見なくなります。
換算できない品番があると合計が少なく出て、超過を見逃す方向に働きます。 誤報より見逃しのほうが当日の現場に響きます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 荷主の品番・数量・入荷の時期・取引先の名前です。荷主の販売の計画や新商品の投入の時期が推し量れる情報で、荷主との契約で守秘の対象になっていることが多くあります。
- データが処理される地域を確かめる … 公式の一覧では、日本のリージョンで GPT-4.1 mini などのモデルが「GA(クロスジオ)」とされ、クロスジオと示されたモデルはリージョン外でデータを処理する可能性があるとされています。荷主の予定を渡してよいかを、荷主との契約と照らして先に確かめてください
- プロンプトに渡すのはその荷主の情報だけにする … 荷主の対応表の行は、送り主から特定した1社分だけを渡します。ほかの荷主の品番や予定を同じプロンプトに入れません
- 確認済みは人だけが付ける … フローが付けられる状態は「未確認」と「要確認」だけにします
- 荷主への連絡は人が行う … 能力の超過を理由に日の変更を頼むのは課長です。荷主への依頼を自動で送らない
- 品番マスタと能力の表の変更を記録する … 誰がいつ変えたかを残します
- 受入の判断を代替しない … どの荷主の入荷を動かしてもらうか、人をどれだけ足すかは、課長が荷主との関係を見て決めます
誤りが起きた場合のリスクは、当日に予定外の荷物が届くことと、誤った超過の通知が出ることの2つです。 どちらも新規と変更の見分けから出ているので、そこだけは設計で守ります。
10まず何から始めるか
1週目:受入の能力の表をリストにする
課長に、平日・土曜・月末・連休前の午前・午後で、受け入れられるパレット数と車両数を書き出してもらいます。ここが決まらないと、能力の超過は判定できません。 翌月分をリストに入れ、休業日に印を付けます。
2週目:30通で試す
第8章のとおり、手元のAIサービスで予定の行を取り出させ、当時の書き写しと突き合わせます。変更の連絡を新規と読んでいないか、引用の部分を拾っていないかを最優先で見ます。
3週目:荷主の対応表と品番マスタを整える
通数の多い上位10社について、送り主のアドレス、項目名の言い換え、予定番号の書き方を表にします。品番マスタのパレットあたりのケース数の空欄を、上位10社の品番から埋めます。
4週目:着信から入荷予定表の「未確認」までをつなぐ
着信からプロンプトの実行、入荷予定表への書き込みまでを作ります。能力との比較はまだせず、取り出しと変更の反映だけを見ます。
2か月目: 品番マスタでの換算と、日ごとの合計と能力との比較を足し、超過の通知を出します。誤報の件数を毎週数えます。3か月目以降: 表計算のファイル用のプロンプトを足して残りの荷主に広げ、1件6分が何分になったかを実測します。能力の超過を数日前に知り、荷主との相談で日を動かせた件数が見えた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| トリガーで添付を含めると添付付きのメールが同時に多数届いたときに時間切れになることがあり、含めずに「添付ファイルの取得(V2)」で取る方法が示されていること。安全な添付ファイルの動的配信でトリガーが2回動き、1回目は添付の配列が空のことがあること。トリガー「When a new email arrives (V3)」があること | Microsoft Learn: Office 365 Outlook コネクタ | 2026-10-08 |
| Power Automate のフローで「プロンプトを実行する」アクションとしてプロンプトを呼べること。2025年5月以降に旧名から改称されたこと。人によるレビューの手順 | Microsoft Learn: Power Automate でプロンプトを使用する | 2026-10-08 |
| プロンプトにテキストと画像またはドキュメントの入力を組み合わせられること。対応するファイルが PNG、JPG、JPEG、PDF であること。合計25MB未満、50ページ未満、処理は最大100秒であること。表計算のファイルはコード インタープリターを有効にしたときに扱えること | Microsoft Learn: プロンプトに入力を追加する | 2026-10-08 |
| 出力に JSON を選べ、例を更新すると形式が「カスタム」になり、保存した形式が実行時に使われること。キーの無い配列の形式が使えないこと。JSON を生成できないときに「回答に JSON マークダウンを含めない」と足す対処 | Microsoft Learn: JSON 出力 | 2026-10-08 |
| プロンプトの設定でコード インタープリターを有効にでき、表計算のファイルを入出力に使えること。1つのプロンプトで複数のファイルの分析はできないこと | Microsoft Learn: プロンプトでコード インタープリターを使用する | 2026-10-08 |
| 日本のリージョンで GPT-4.1 mini などが「GA(クロスジオ)」で、クロスジオのモデルはリージョン外でデータを処理する可能性があること | Microsoft Learn: プロンプトのモデルの可用性 | 2026-10-08 |
| SharePoint コネクタに項目の作成・取得・更新があり、「複数の項目の取得」で OData のフィルター クエリと取得件数を指定できること | Microsoft Learn: SharePoint コネクタ | 2026-10-08 |
受入の能力を超えた日の扱いは、荷主との契約とセンターの判断で決めてください。 本記事は Microsoft の公開ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1021)についてのご相談はこちらから。
