Media > AI活用ユースケース > 物流 > 荷主からメールで届く出荷依頼の本文・PDF・表計算の添付から、出荷先・品番・数量・指定日を倉庫管理システムの取込形式にそろえ、不足と矛盾を確認文にする

荷主からメールで届く出荷依頼の本文・PDF・表計算の添付から、出荷先・品番・数量・指定日を倉庫管理システムの取込形式にそろえ、不足と矛盾を確認文にする

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

荷主からメールで届く出荷依頼を、本文・PDF・表計算の添付のどれで来ても読み取り、倉庫管理システムの取込形式にそろえます。品番や出荷先がマスタに無いもの、数量や指定日の矛盾を拾い、荷主への確認文にまとめます。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Make/n8n/Power Automate/Zapier
対象業界
EC/商社/小売/物流/製造
対象部門
物流
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
抽出
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
必須
現在工数
120h/月
AI導入後
30h/月
想定削減
75%
年間削減
1,080h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 共用メールで依頼を開き、本文と添付を確かめる
  2. 荷主ごとの取込用の表を開き、出荷先・品番・数量・出荷日・納品指定日・時間指定を打ち込む
  3. 品番が荷主の商品マスタにあるか、出荷先が届け先マスタにあるかを確かめる
  4. 数量がケースかバラか、入数の倍数になっているかを確かめる
  5. 指定日に間に合うか(締め時刻、届け先までのリードタイム)を確かめる
  6. 分からない点があれば、荷主に電話かメールで聞く
  7. 表をCSVに書き出し、倉庫管理システムに取り込む
導入後(After)
  1. 自動共用メールに依頼が届くと、ワークフローが動き、差出人から荷主を特定する
  2. 自動添付を1つずつに分け、本文・PDF・表計算のどれかで処理を分ける
  3. 自動表計算の添付はスプレッドシートに変換して行を読み、PDFと本文はそのまま生成AIに渡す
  4. 自動生成AIが出荷先・品番・数量・単位・指定日を、書かれたとおりに取り出す
  5. 自動荷主の商品マスタ・届け先マスタと照合し、入数の倍数、締め時刻、リードタイムを規則で確かめる
  6. 自動本文と添付の食い違い、合計と明細の食い違いを拾う
  7. 自動問題の無い行は取込待ちの表に、問題のある行は要確認の表に書き、荷主への確認文の下書きを作る
  8. 人担当者が取込待ちの表を確かめ、CSVに書き出して倉庫管理システムに取り込む
  9. 人要確認のものは、確認文を直して荷主に送り、返事を受けて表を直す
各工程の詳しい説明を読む
  1. 共用メールで依頼を開き、本文と添付を確かめる
  2. 荷主ごとの取込用の表を開き、出荷先・品番・数量・出荷日・納品指定日・時間指定を打ち込む
  3. 品番が荷主の商品マスタにあるか、出荷先が届け先マスタにあるかを確かめる
  4. 数量がケースかバラか、入数の倍数になっているかを確かめる
  5. 指定日に間に合うか(締め時刻、届け先までのリードタイム)を確かめる
  6. 分からない点があれば、荷主に電話かメールで聞く
  7. 表をCSVに書き出し、倉庫管理システムに取り込む

(a)打ち直しで誤る。 品番は「AB-10230」と「AB-10320」のように似た番号が並び、1桁の入れ替えがそのまま誤出荷になります。 40行の明細を締めの前に打ち込むとき、誤りは目で拾いきれません。

(b)形がばらばらで、見る場所が決まらない。 表計算のファイルは荷主ごとに列の並びが違い、「数量」の列がケース数なのかバラ数なのかは、荷主の過去の依頼を覚えている担当者にしか分かりません。

(c)食い違いに気づくのが遅い。 本文と添付で指定日が違う、合計と明細が合わない、といった食い違いは、ピッキングの段階で現場から「数が合わない」と言われて初めて気づくことがあります。荷主に確かめる頃には、締めを過ぎています。

(d)先頭の0が消える。 品番や届け先コードが「00123」のような形のとき、表計算に貼ると「123」になります。取り込んだ後でマスタと一致しないことに気づきます。

  1. 【自動】 共用メールに依頼が届くと、ワークフローが動き、差出人から荷主を特定する
  2. 【自動】 添付を1つずつに分け、本文・PDF・表計算のどれかで処理を分ける
  3. 【自動】 表計算の添付はスプレッドシートに変換して行を読み、PDFと本文はそのまま生成AIに渡す
  4. 【自動】 生成AIが出荷先・品番・数量・単位・指定日を、書かれたとおりに取り出す
  5. 【自動】 荷主の商品マスタ・届け先マスタと照合し、入数の倍数、締め時刻、リードタイムを規則で確かめる
  6. 【自動】 本文と添付の食い違い、合計と明細の食い違いを拾う
  7. 【自動】 問題の無い行は取込待ちの表に、問題のある行は要確認の表に書き、荷主への確認文の下書きを作る
  8. 【人】 担当者が取込待ちの表を確かめ、CSVに書き出して倉庫管理システムに取り込む
  9. 【人】 要確認のものは、確認文を直して荷主に送り、返事を受けて表を直す

8番目で、取り込みは人が行います。 倉庫管理システムに入った出荷予定は、そのまま在庫の引き当てとピッキングの指示になります。取り込む前に人が見る1回を、ここに置きます。

5番目を生成AIにさせないのは、答えが表で決まるからです。 品番がマスタにあるか、48が12の倍数かは、比べれば決まります。生成AIに確かめさせると、「マスタにありそうです」という答えが返ってきます。

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

構成図
荷主からの出荷依頼メール(本文/PDF/表計算の添付)
   │
   ▼【トリガー】Gmail:Watch emails(出荷依頼のラベル)
Make
   ├──▶ Gmail:List email attachments and media → Iterator で1つずつ
   ├──▶ Router:添付の種類で分ける
   │      ├─ 表計算 → Google Drive:Upload a File(変換)→ Google Sheets:Get Range Values
   │      ├─ PDF ──→ そのまま
   │      └─ 添付なし → 本文
   ▼
Claude API(Make の Anthropic Claude アプリから呼ぶ)
   │   出荷先/品番/数量と単位/出荷日・納品指定日・時間指定/書かれた合計
   ▼
Make ── 商品マスタ・届け先マスタと照合、入数・締め・リードタイムを規則で確認
   ├──▶ Google Sheets:取込待ちの表(Add a Row、値は Raw)
   ├──▶ Google Sheets:要確認の表+確認文の下書き
   ▼
【人が取込待ちを確かめ、CSVに書き出して倉庫管理システムへ】
役割想定する製品代替候補
ワークフローMake(Gmail・Google Drive・Google Sheets のモジュール、Iterator、Router)Zapier、n8n、Power Automate
生成AIClaude API(Make の Anthropic Claude アプリから呼ぶ)OpenAI API、Gemini API
保管Google スプレッドシート(取込待ち・要確認の表、商品マスタと届け先マスタの写し)Airtable
倉庫管理既存の倉庫管理システム(CSVの取り込み)-

倉庫管理システム、荷主ごとのマスタ、共用メールは今あるものを使います。 足すのは Make のシナリオが1本と、荷主ごとの取込定義の表です。荷主ごとに、数量の列がケースかバラか、入数、締め時刻、届け先までのリードタイムを1行で持たせます。担当者の頭の中にあった荷主ごとの癖を、表に書き出すことが最初の準備作業です。

添付は、Gmail の List email attachments and media で取り出します。 このモジュールは指定したメールの添付とメディアの一覧を返し、1つずつの処理は Iterator で行います。 Iterator は配列を1要素ずつのまとまりに分けるモジュールで、公式もメールの添付を1つずつ扱う例を挙げています。

表計算の添付は、Google Drive の Upload a File でスプレッドシートに変換して開きます。 このモジュールには、アップロードするファイルを変換するかを選ぶ設定があります。変換したスプレッドシートは、Google Sheets の Get Range Values で範囲の値をまとめて読みます。

PDFは、Claude の PDF サポートでそのまま渡します。 Claude は各ページを画像に変換し、ページから取り出した文字とあわせて読むため、表の罫線や列の並びも手がかりにできます。 1回のリクエストの上限は32MB、ページ数は600ページ(コンテキストが1Mトークン未満のときは100ページ)で、パスワードや暗号化のかかったPDFは扱えません。

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

Step1

処理の起点を決める

出荷依頼のラベルが付いたメールが届いたことを起点にします。 当日出荷の締めは14時で、締めの前の1時間に依頼が集中します。定時にまとめて処理すると、締めに間に合わない依頼が出ます。 シナリオは短い間隔で動かします。

業務課の共用メールには、荷主からの問い合わせや請求、運送会社からの連絡も届きます。Gmail のフィルタで、荷主ごとの登録アドレスから届いたものに「出荷依頼」のラベルを付け、そのラベルだけを見張ります。 件名で絞ると、「出荷依頼の件で」という問い合わせまで拾います。

取り込んだメールには、処理の結果で「取込待ち」「要確認」のラベルを付け直します。ラベルが「出荷依頼」のまま残っているメールが、未処理の数です。

Step2

入力データを集める

データ中身取得元
依頼のメール差出人、件名、本文、受信日時共用メール
添付PDFの出荷指示書、表計算のファイル同上
取込定義荷主コード、数量の単位、入数の扱い、締め時刻、リードタイム、日付の書き方の癖荷主ごとの取込定義の表
商品マスタ荷主ごとの品番、品名、入数、単位倉庫管理システムから書き出した写し
届け先マスタ届け先コード、名称、住所、電話、休業日同上

質を決めるのは、取込定義の表です。 「この荷主の数量はケース」「この荷主は納品日を書いてくる(出荷日ではない)」という区別が無いと、生成AIが正しく取り出しても、取込の項目に入れる場所を誤ります。

マスタは毎朝、倉庫管理システムから書き出した写しを使います。 生成AIにはマスタ全体を渡しません。照合はワークフローの側で行います。

Step3

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

取るものどこから何に使うか
依頼のメールGmail の Watch emails(出荷依頼のラベル)処理の起点
添付の一覧Gmail の List email attachments and media添付を取り出す
表計算の中身Google Drive の Upload a File(変換)→ Google Sheets の Get Range Values行を読む
取込定義Google Sheets の Search Rows(荷主コードで検索)単位・締め・リードタイム
マスタGoogle Sheets の Search Rows(品番・届け先コードで検索)照合

表計算の添付は、行をそのまま生成AIに渡します。 列の名前が「品番」「商品コード」「JAN」と荷主ごとに違っても、生成AIに列の意味を判定させ、取込の項目に対応づけます。 対応づけの結果は荷主ごとに保存し、次から同じ形のファイルが来たら、前回の対応づけを渡して確かめさせるだけにします。

PDFは、ページ数と大きさを確かめてから渡します。 出荷指示書は1〜3ページが多く、上限に近づくことはまずありません。

Step4

AIへ渡す前に整形する

  1. 荷主の特定 … 差出人のアドレスで取込定義の表を引きます。登録外のアドレスは処理せずに担当者へ
  2. 添付の振り分け … 拡張子とファイルの種類で、PDF・表計算・それ以外に分けます。画像や圧縮ファイルは担当者へ
  3. パスワード付きPDFの検知 … 開けないPDFは扱えないため、荷主にパスワードの無いものを送ってもらう確認文を作ります
  4. 表計算の変換 … スプレッドシートに変換し、見出しの行と明細の範囲を読みます。複数のシートがあれば、シート名も渡します
  5. 本文の整理 … 署名と引用を除きます。ただし「添付のとおり」「前回と同じ」などの一文は残します
  6. 受信日時の添付 … 「明日」「来週月曜」を日付に直すため、受信日時を渡します
  7. 再送の検知 … 同じ荷主から同じ件名・同じ添付名のメールが直近にあれば、訂正の再送か二重送信かを担当者に確かめるよう印を付けます

5番目で、短い一文を残すのが要です。 「前回と同じ届け先で」と書かれていると、届け先は本文にも添付にもありません。この一文を落とすと、届け先が空のまま取り込まれます。

Step5

AIに処理させる

させるのは、依頼に書かれた出荷先・品番・数量・単位・日付を、書かれたとおりに取り出し、取込の項目に対応づけることです。

取り出すもの取り出し方書かれていないとき
出荷先届け先コード、名称、住所、電話を書かれたとおりにnull。「前回と同じ」なら refers_previous
品番書かれた文字列をそのまま。先頭の0も残すnull
品名照合の補助として書かれたとおりにnull
数量と単位数と、ケース・バラ・箱などの単位語単位が無ければ unit_unknown
出荷日・納品指定日どちらとして書かれているかを区別区別できなければ date_kind_unknown
時間指定午前・午後・時刻の範囲null
書かれた合計本文や表の「合計」の数null
出どころ本文・PDFの何ページ・表の何行目か必ず書く

「出どころ」を必ず書かせるのは、食い違いを拾うためです。 同じ項目が本文とPDFの両方から取り出され、値が違えば、それが食い違いです。どちらを採るかは決めず、両方を並べます。

させないこと理由
品番の補正似た番号に直すと、誤出荷の原因を作る
数量の換算ケースとバラの換算は入数の表で行う
食い違いのどちらかを選ぶ荷主にしか分からない
出荷できるかの判断在庫の引き当ては倉庫管理システムの仕事
届け先の住所の補完住所の一部から届け先を推測しない

1行目がいちばん起きやすい失敗です。 「AB-1O230」のようにOと0が混ざった品番を渡すと、マスタにありそうな番号に直して返すことがあります。直さずに返させ、マスタに無いという事実を照合で拾います。

Step6

指示内容を固定する

あなたは物流センターの業務課で、荷主からの出荷依頼を読み取る担当です。
渡されたメール本文と添付(PDF、または表計算の行)だけを見て、
書かれている内容をそのまま取り出してください。推測で埋めないでください。

【取り出す項目】
明細の1行ごとに、出荷先、品番、品名、数量、単位、出荷日、納品指定日、時間指定。
あわせて、書かれている合計(ケース数・個数)があれば取り出す。

【厳守事項】
- 品番は書かれた文字列をそのまま写してください。先頭の0、ハイフン、英字の
  大文字・小文字を変えないでください。似た番号に直さないでください。
- 数量の単位(ケース、c/s、箱、バラ、個、pcs など)を unit_raw に写してください。
  単位が書かれていなければ unit_raw を null にしてください。換算しないでください。
- 日付が「出荷日」か「納品日(着日)」かを、書かれた言葉(出荷、発送、着、納品、
  お届け)で区別してください。区別できなければ date_kind を unknown にしてください。
- 「明日」「来週月曜」は受信日時({received_at})から日付に直し、
  元の言葉を date_raw に残してください。
- 「前回と同じ」「いつもの届け先」とだけ書かれている場合は、出荷先を埋めず、
  refers_previous を true にしてください。
- 同じ項目が本文と添付の両方にある場合は、両方を別々に出してください。
  どちらが正しいかを決めないでください。
- すべての値に source(body/pdf:ページ番号/sheet:シート名:行番号)を付けてください。
- 出荷できるか、在庫があるかについては書かないでください。

【荷主の取込定義(参考)】{shipper_profile}
【前回の列の対応づけ(表計算の場合)】{previous_mapping}
【受信日時】{received_at}
【メール本文】{body}
【表計算の行(ある場合)】{sheet_rows}

「似た番号に直さない」は、書かないと必ず起きます。 生成AIは読みにくい文字を、文脈に合う文字に寄せて読みます。出荷依頼では、その親切がそのまま誤出荷になります。

取込定義は「参考」として渡します。 「この荷主の数量はケース」と渡しても、依頼に「バラで24個」と書かれていれば、書かれたほうを写させます。 定義と依頼の食い違いも、確認の対象です。

Step7

出力形式を固定する

次の形のJSONで受け取ります。

{
  "message_id": "",
  "shipper_code": "",
  "lines": [
    { "line_no": 1,
      "ship_to": { "code": "", "name": "", "address": "", "phone": "", "refers_previous": false },
      "item_code": "", "item_name": "",
      "qty": 0, "unit_raw": "",
      "date": "2026-10-15", "date_kind": "ship | deliver | unknown", "date_raw": "",
      "time_window": "",
      "source": "body | pdf:1 | sheet:出荷依頼:5" }
  ],
  "stated_totals": [ { "value": 0, "unit_raw": "", "source": "" } ],
  "notes_from_shipper": ""
}

1つ目の理由は、照合をワークフローの規則で書けることです。 item_code で商品マスタを、ship_to.code で届け先マスタを引き、一致しなければ not_in_master を付けます。

確かめること規則結果
品番商品マスタに同じ文字列がある無ければ要確認
出荷先届け先マスタにコードか名称がある無ければ要確認
単位unit_raw が取込定義の単位語に当たる不明なら要確認
入数ケース指定でなくバラなら、入数の倍数か倍数でなければ要確認(端数の出荷か確かめる)
日付出荷日が今日なら受信が締め時刻の前か。納品日なら出荷日をリードタイムから逆算間に合わなければ要確認
休業日納品日が届け先の休業日でないか休業日なら要確認
合計明細の和と stated_totals が一致する違えば要確認
重複同じ値の明細が本文と添付の両方にある片方だけを採る(同じ値なら)

2つ目は、取込待ちの表に書くときに型を守れることです。 品番と届け先コードは文字列のまま、Google Sheets の Add a Row の値の入れ方をRaw(入力した値をそのまま保存する設定)にして書きます。User entered にすると、「00123」が数字の123になります。

3つ目は、source で確認文が具体的になることです。 「本文では15日着、添付のPDF(1ページ目)では16日着となっています。どちらでお手配すればよろしいでしょうか」と、どこに何が書かれていたかを荷主に示せます。

確認文の下書きは、同じメールの要確認の点をまとめて次の形にします。

件名:【確認】10月14日受信の出荷依頼(○○商事様 宛て)について

○○株式会社 物流ご担当 ○○様

いつもお世話になっております。本日ご依頼の出荷について、3点確認させてください。

1. 納品日:本文では「15日着」、添付のPDF(1ページ目)では「16日着」となっています。
   どちらでお手配すればよろしいでしょうか。
2. 品番「AB-1O230」:商品マスタに登録がありません。
   「AB-10230」(○○ 12入)のことでしょうか。
3. 合計数量:本文の「50ケース」に対し、明細の合計は48ケースです。

本日出荷の締めは14時です。13時30分までにご返信いただければ本日出荷できます。

2番目で候補を挙げるのは、照合の側です。 生成AIに品番を直させない代わりに、マスタで1文字違いの品番を引いて問いの形で荷主に示します。決めるのは荷主です。

Step8

システムへ連携する

つなぎ先方式内容
共用メールGmail の Watch emails/List email attachments and media依頼と添付を取り出す
表計算の添付Google Drive の Upload a File(変換)/Google Sheets の Get Range Values行を読む
Claude APIAnthropic Claude の Make an API Call取り出しと対応づけ
マスタ・取込定義Google Sheets の Search Rows照合と規則
取込待ち・要確認の表Google Sheets の Add a Row(値は Raw)結果を書く
倉庫管理システム既存のCSVの取り込み人が書き出して取り込む

倉庫管理システムへは、この構成から書き込みません。 取り込みの前に人が見る1回を残すためで、誤った出荷予定が引き当てとピッキングの指示まで一息に進む経路を作りません。

確認文は、要確認の表の行に下書きとして置きます。 荷主ごとに、同じメールの要確認の点を1通にまとめます。1行ずつ別のメールにすると、荷主の担当者が返事をまとめきれません。

取込待ちの表の列は、倉庫管理システムの取込形式の並びに合わせます。 荷主コード、出荷予定日、届け先コード、届け先名、品番、数量(バラ換算)、時間指定、備考に、この構成が付ける列として、元のメールの識別子と source を最後に足します。 取り込むときはこの2列を外してCSVに書き出します。取り込んだ後でも、どのメールのどこから来た行かをたどれます。

Step9

人が確認する

人が見るのは、取込待ちの表の全件(流し見)と、要確認の表の全件です。

  1. 要確認を先に見る … 締め時刻に近いものから。確認文を直して荷主に送ります
  2. 取込待ちを流し見る … 荷主・件数・合計の数量を見て、いつもと大きく違う数量が無いかを見ます
  3. CSVに書き出して取り込む … 取り込みの結果、倉庫管理システムでエラーになった行を要確認に戻します
  4. 荷主の返事で表を直す … 直した行を取込待ちに移し、直した内容を記録します

2番目の「いつもと大きく違う数量」は、規則では拾いきれない誤りです。 毎週12ケースの品番に120ケースと書かれていても、マスタにも入数にも合っています。荷主の打ち間違いかもしれず、ここは人の目で見ます。 過去の平均と比べて大きく外れる行に印を付けると、見る場所が絞れます。

Step10

例外に対処する

起きること対応
パスワード付きのPDF扱えない。パスワードの無いものを送ってもらう確認文
PDFが32MBを超える・ページが多すぎる分けて送ってもらうか、担当者が分割して投入
画像(写真)だけが添付この構成の対象外。担当者が読む
表計算に複数のシートシートごとに読み、シート名を source に残す
表計算の変換に失敗担当者へ。ファイルの形式を荷主に確かめる
登録外のアドレスから届く処理しない。担当者が荷主に確かめる
「前回と同じ」で出荷先が無い前回の依頼を担当者が確かめて埋める。自動で前回を引かない
取り消し・変更の依頼取り込み済みかを担当者が確かめる。この構成では取り込まない
生成AIが応答しない・形が崩れるラベルを「出荷依頼」のまま残し、次回の実行で再処理

7行目を自動にしないのは、「前回」がどれかが決まらないからです。 同じ荷主から1日に何通も依頼が来ると、どの依頼の届け先を指しているかは荷主に聞くしかありません。

Step11

記録を残す

  • 受け取ったメールの識別子、受信日時、添付のファイル名
  • 生成AIが返したJSONの全文と、照合の結果
  • そのとき参照したマスタと取込定義の版
  • 荷主に送った確認文と、返事の内容、直した行
  • 倉庫管理システムに取り込んだ日時と、取り込んだ担当者
  • 誤出荷が起きたときに、どの段階で誤ったか(荷主の誤記/取り出し/照合/取り込み)

最後の行が、この構成を育てる材料です。 誤出荷のたびに原因を4つのどれかに分けて残すと、直すべき場所が、荷主への依頼のしかたか、指示か、規則かが見えてきます。

04実装レベルの3段階

最小構成:依頼を手でAIの画面に渡し、明細を取り出させる / 1通ごとの取り出し
半自動化:上記+ラベルを起点に添付を振り分けて取り出し、結果を表に書き出す / 取り出しと転記
本格構成:上記+マスタとの照合、入数・締め・休業日の規則、食い違いの検知、確認文の下書き / 取込データの作成と確認の大半

最小構成では件数がさばけません。 1日45件を手で渡すことはできないので、確かめるための段階です。 半自動化で、転記の時間がなくなります。 ただし照合と確認は人に残り、1件あたりの時間は半分程度にとどまります。 本格構成で、照合と食い違いの検知まで自動になり、人が見るのは要確認と取込待ちの流し見だけになります。 これが本記事の想定です。 段階を飛ばさないでください。 半自動化の表を1か月見ると、荷主ごとの単位や日付の書き方の癖が分かります。それを取込定義に書き足してから照合を自動にするほうが、要確認の件数が減ります。

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

前提値(モデル条件)
対象人数
6 名
月間件数
900 件
1件あたり現在時間
8 分
1件あたり導入後時間
2 分
現在  900件 × 8分 ÷ 60 = 120 時間/月
導入後 900件 × 2分 ÷ 60 = 30 時間/月
月間削減時間
90h
削減率
75%
年間削減時間
1,080h
年間金額換算(時間単価2,800円)
302万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

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

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

AI活用について相談する

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

向いている
  1. 複数の荷主から出荷を請け負う物流センター(3PL)や、取引先からの出荷依頼をメールで受ける卸・メーカーの倉庫。荷主ごとに依頼の形がばらばらで、メール本文、PDFの出荷指示書、表計算のファイルが混ざって届き、事務担当が倉庫管理システムの取込用の表に打ち直している場合。品番の打ち間違いや指定日の読み違いで、誤出荷や出荷の遅れが起きたことがある場合。
向いていない
  1. 荷主の大半とEDIやAPIで出荷データを受け取れている場合。荷主が数社で、決まった様式のファイルをそのまま取り込めている場合。手書きのFAXが主で、メールの依頼がほとんど無い場合(手書きの読み取りは別の構成が要ります)。なお、在庫の引き当てと出荷の可否の判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の依頼から30通を選ぶ(本文だけ、PDF、表計算をそれぞれ10通。食い違いがあったものを必ず入れる)
  2. その30通について、当時取り込んだ出荷予定のデータを手元に用意する
  3. 手元のAIサービスに、本文と添付を1通ずつ渡す
  4. 「この出荷依頼から、明細ごとに出荷先・品番・数量・単位・日付を取り出してください。品番は書かれたとおりに写し、直さないでください。日付が出荷日か納品日かを区別してください。本文と添付で違う値があれば両方を出してください」と指示する
  5. 結果を、当時取り込んだデータと1行ずつ突き合わせる

30通は必ずやってください。 ワークフローを組む前に、「書かれたとおりに取り出せるのか」を確かめます。

出てきた内容判断
当時のデータと一致したワークフローの連携に進む
品番を似た番号に直した指示の書き方で直る。構成は有効
出荷日と納品日を取り違えた荷主ごとの書き方の癖を取込定義に足す
当時のデータのほうが誤っていた目視の転記の誤りが見つかった。 構成の価値の裏付け

4行目が出ることがあります。 30通の中で、当時の打ち直しの誤りが見つかることは珍しくありません。それは失敗ではなく、この構成で減らしたかった誤りが実際にあったということです。

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

問題対策
品番を似た番号に直して返す直さないことを明記し、照合でマスタに無いことを拾う
「00123」が123になる値の入れ方を Raw にして文字列のまま書く
出荷日と納品日を取り違える書かれた言葉で区別させ、荷主ごとの癖を取込定義に書く
ケースとバラを取り違える単位語を写させ、換算は入数の表で行う
本文と添付の食い違いを片方で上書きする両方を出させ、どちらも採らない
「前回と同じ」で届け先が空になるrefers_previous で印を付け、担当者が埋める
パスワード付きのPDFで止まる荷主にパスワードの無いものを送ってもらう
問い合わせのメールまで処理する件名ではなく、登録アドレスでラベルを付ける
取り消しの依頼を取り込む取り消し・変更は担当者へ。この構成では取り込まない
荷主の担当者が替わり、書き方が変わる荷主ごとの要確認の件数を週で見る。急に増えたら取込定義を見直す
取り込みまで自動にしたくなる最初は人が取り込む。 誤りの傾向が見えるまで残す

上の2行が、誤出荷に直結する失敗です。 どちらも、値が「それらしく」変わることから起きます。書かれた文字列を1文字も変えないことを、指示と表の設定の両方で守ります。

最後の行は、運用が落ち着いた頃に出てくる誘惑です。 要確認が減ると取り込みも自動にしたくなりますが、取り込みの前の1回は、規則で拾えない「いつもと違う数量」を見る場所です。

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

この構成で扱うデータ: 荷主の取引先(届け先)の名称・住所・電話、品番と数量、そして個人宛ての通販の出荷では、購入者の氏名と住所です。

  1. 個人宛ての出荷を含む荷主は、渡す範囲を決める … 通販の荷主の依頼には購入者の住所が並びます。生成AIに渡す前に、荷主との契約で外部のサービスに渡してよいかを確かめます
  2. マスタを生成AIに渡さない … 商品マスタと届け先マスタは、荷主の取引の一覧そのものです。照合はワークフローの側で行います
  3. 荷主ごとにデータを混ぜない … 取込待ちの表は荷主ごとに分け、別の荷主の届け先が候補に出る経路を作りません
  4. 倉庫管理システムへ自動で書き込まない … 取り込みは人が行います
  5. 確認文を自動で送らない … 荷主との関係に関わり、どちらの値が正しいかを決める権限は荷主にあります

誤りが起きた場合のリスクは、誤った品番・数量で出荷することと、届け先を取り違えることの2つです。 前者は値を「それらしく」直させると起き、後者は「前回と同じ」を自動で埋めると起きます。どちらも推測を禁じることで防げるので、そこだけは設計で守ります。

10まず何から始めるか

1週目:取込定義の表を作る

メールで依頼してくる14社について、数量の単位、入数の扱い、日付の書き方(出荷日か納品日か)、締め時刻、リードタイムを担当者から聞き取り、1社1行で表にします。依頼の多い上位5社から始めます。

2週目:30通で試す

本文・PDF・表計算を10通ずつ選び、手元のAIサービスで明細を取り出させて、当時取り込んだデータと突き合わせます。品番を直していないか、出荷日と納品日を取り違えていないかを最優先で見ます。

3週目:ラベルとマスタの写しを整える

荷主の登録アドレスに「出荷依頼」のラベルを付けるフィルタを作り、商品マスタと届け先マスタを毎朝書き出す手順を決めます。

4週目:メールから取込待ちの表までをつなぐ

Make でラベルを見張り、添付を振り分け、取り出した明細を表に書き出すところまで作ります。この時点では照合をせず、取り出しの結果だけを見ます。

2か月目: マスタとの照合と規則、食い違いの検知を足し、要確認の件数を毎日数えます。3か月目以降: 確認文の下書きを足し、1件8分が何分になったかを実測します。誤出荷の原因の記録が数か月たまり、取り出しの段階の誤りがほとんど無くなった時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-07/最終更新:2026-10-07
確認した内容情報源確認日
Gmail のアプリに Watch emails(フォルダ・ラベル、差出人などでの絞り込み)と、指定したメールの添付とメディアの一覧を返す List email attachments and media があることMake: Gmail modules2026-10-07
Iterator が配列を1要素ずつのまとまりに分けるモジュールで、メールの添付を1つずつ扱う例が示されていることMake: Iterator2026-10-07
Google Drive の Upload a File に、ファイルを変換するかを選ぶ設定があることMake: Google Drive modules2026-10-07
Google Sheets のアプリに Get Range Values、Search Rows、Add a Row があること。値の入れ方に、入力した値をそのまま保存する Raw と、画面での入力と同じく数値や日付に変換されうる User entered があることMake: Google Sheets modules2026-10-07
Router がルートごとの条件で処理を分け、フォールバックのルートを設定できることMake: Router2026-10-07
Anthropic Claude のアプリに Create a Prompt と、任意のAPIを呼べる Make an API Call があることMake: Anthropic Claude2026-10-07
PDFの1リクエストの上限が32MB、ページ数が600(コンテキストが1Mトークン未満のときは100)であること。パスワード・暗号化の無い標準のPDFが対象であること。各ページが画像に変換され、取り出した文字とあわせて扱われることClaude API Docs: PDF support2026-10-07
構造化出力が output_config.format の type: "json_schema" で指定でき、enum が使えることClaude API Docs: Structured outputs2026-10-07

在庫の引き当てと出荷の可否は、倉庫管理システムと担当者の判断で決めてください。 本記事は Make と Claude の公開仕様で確認できた範囲だけを扱っています。

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

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

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

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