荷主からメールで届く出荷依頼の本文・PDF・表計算の添付から、出荷先・品番・数量・指定日を倉庫管理システムの取込形式にそろえ、不足と矛盾を確認文にする
荷主からメールで届く出荷依頼を、本文・PDF・表計算の添付のどれで来ても読み取り、倉庫管理システムの取込形式にそろえます。品番や出荷先がマスタに無いもの、数量や指定日の矛盾を拾い、荷主への確認文にまとめます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- EC/商社/小売/物流/製造
- 対象部門
- 物流
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 共用メールで依頼を開き、本文と添付を確かめる
- 荷主ごとの取込用の表を開き、出荷先・品番・数量・出荷日・納品指定日・時間指定を打ち込む
- 品番が荷主の商品マスタにあるか、出荷先が届け先マスタにあるかを確かめる
- 数量がケースかバラか、入数の倍数になっているかを確かめる
- 指定日に間に合うか(締め時刻、届け先までのリードタイム)を確かめる
- 分からない点があれば、荷主に電話かメールで聞く
- 表をCSVに書き出し、倉庫管理システムに取り込む
- 自動共用メールに依頼が届くと、ワークフローが動き、差出人から荷主を特定する
- 自動添付を1つずつに分け、本文・PDF・表計算のどれかで処理を分ける
- 自動表計算の添付はスプレッドシートに変換して行を読み、PDFと本文はそのまま生成AIに渡す
- 自動生成AIが出荷先・品番・数量・単位・指定日を、書かれたとおりに取り出す
- 自動荷主の商品マスタ・届け先マスタと照合し、入数の倍数、締め時刻、リードタイムを規則で確かめる
- 自動本文と添付の食い違い、合計と明細の食い違いを拾う
- 自動問題の無い行は取込待ちの表に、問題のある行は要確認の表に書き、荷主への確認文の下書きを作る
- 人担当者が取込待ちの表を確かめ、CSVに書き出して倉庫管理システムに取り込む
- 人要確認のものは、確認文を直して荷主に送り、返事を受けて表を直す
各工程の詳しい説明を読む
- 共用メールで依頼を開き、本文と添付を確かめる
- 荷主ごとの取込用の表を開き、出荷先・品番・数量・出荷日・納品指定日・時間指定を打ち込む
- 品番が荷主の商品マスタにあるか、出荷先が届け先マスタにあるかを確かめる
- 数量がケースかバラか、入数の倍数になっているかを確かめる
- 指定日に間に合うか(締め時刻、届け先までのリードタイム)を確かめる
- 分からない点があれば、荷主に電話かメールで聞く
- 表をCSVに書き出し、倉庫管理システムに取り込む
(a)打ち直しで誤る。 品番は「AB-10230」と「AB-10320」のように似た番号が並び、1桁の入れ替えがそのまま誤出荷になります。 40行の明細を締めの前に打ち込むとき、誤りは目で拾いきれません。
(b)形がばらばらで、見る場所が決まらない。 表計算のファイルは荷主ごとに列の並びが違い、「数量」の列がケース数なのかバラ数なのかは、荷主の過去の依頼を覚えている担当者にしか分かりません。
(c)食い違いに気づくのが遅い。 本文と添付で指定日が違う、合計と明細が合わない、といった食い違いは、ピッキングの段階で現場から「数が合わない」と言われて初めて気づくことがあります。荷主に確かめる頃には、締めを過ぎています。
(d)先頭の0が消える。 品番や届け先コードが「00123」のような形のとき、表計算に貼ると「123」になります。取り込んだ後でマスタと一致しないことに気づきます。
- 【自動】 共用メールに依頼が届くと、ワークフローが動き、差出人から荷主を特定する
- 【自動】 添付を1つずつに分け、本文・PDF・表計算のどれかで処理を分ける
- 【自動】 表計算の添付はスプレッドシートに変換して行を読み、PDFと本文はそのまま生成AIに渡す
- 【自動】 生成AIが出荷先・品番・数量・単位・指定日を、書かれたとおりに取り出す
- 【自動】 荷主の商品マスタ・届け先マスタと照合し、入数の倍数、締め時刻、リードタイムを規則で確かめる
- 【自動】 本文と添付の食い違い、合計と明細の食い違いを拾う
- 【自動】 問題の無い行は取込待ちの表に、問題のある行は要確認の表に書き、荷主への確認文の下書きを作る
- 【人】 担当者が取込待ちの表を確かめ、CSVに書き出して倉庫管理システムに取り込む
- 【人】 要確認のものは、確認文を直して荷主に送り、返事を受けて表を直す
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 |
| 生成AI | Claude 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どうやって実装するのか
処理の起点を決める
出荷依頼のラベルが付いたメールが届いたことを起点にします。 当日出荷の締めは14時で、締めの前の1時間に依頼が集中します。定時にまとめて処理すると、締めに間に合わない依頼が出ます。 シナリオは短い間隔で動かします。
業務課の共用メールには、荷主からの問い合わせや請求、運送会社からの連絡も届きます。Gmail のフィルタで、荷主ごとの登録アドレスから届いたものに「出荷依頼」のラベルを付け、そのラベルだけを見張ります。 件名で絞ると、「出荷依頼の件で」という問い合わせまで拾います。
取り込んだメールには、処理の結果で「取込待ち」「要確認」のラベルを付け直します。ラベルが「出荷依頼」のまま残っているメールが、未処理の数です。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼のメール | 差出人、件名、本文、受信日時 | 共用メール |
| 添付 | PDFの出荷指示書、表計算のファイル | 同上 |
| 取込定義 | 荷主コード、数量の単位、入数の扱い、締め時刻、リードタイム、日付の書き方の癖 | 荷主ごとの取込定義の表 |
| 商品マスタ | 荷主ごとの品番、品名、入数、単位 | 倉庫管理システムから書き出した写し |
| 届け先マスタ | 届け先コード、名称、住所、電話、休業日 | 同上 |
質を決めるのは、取込定義の表です。 「この荷主の数量はケース」「この荷主は納品日を書いてくる(出荷日ではない)」という区別が無いと、生成AIが正しく取り出しても、取込の項目に入れる場所を誤ります。
マスタは毎朝、倉庫管理システムから書き出した写しを使います。 生成AIにはマスタ全体を渡しません。照合はワークフローの側で行います。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 依頼のメール | 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ページが多く、上限に近づくことはまずありません。
AIへ渡す前に整形する
- 荷主の特定 … 差出人のアドレスで取込定義の表を引きます。登録外のアドレスは処理せずに担当者へ
- 添付の振り分け … 拡張子とファイルの種類で、PDF・表計算・それ以外に分けます。画像や圧縮ファイルは担当者へ
- パスワード付きPDFの検知 … 開けないPDFは扱えないため、荷主にパスワードの無いものを送ってもらう確認文を作ります
- 表計算の変換 … スプレッドシートに変換し、見出しの行と明細の範囲を読みます。複数のシートがあれば、シート名も渡します
- 本文の整理 … 署名と引用を除きます。ただし「添付のとおり」「前回と同じ」などの一文は残します
- 受信日時の添付 … 「明日」「来週月曜」を日付に直すため、受信日時を渡します
- 再送の検知 … 同じ荷主から同じ件名・同じ添付名のメールが直近にあれば、訂正の再送か二重送信かを担当者に確かめるよう印を付けます
5番目で、短い一文を残すのが要です。 「前回と同じ届け先で」と書かれていると、届け先は本文にも添付にもありません。この一文を落とすと、届け先が空のまま取り込まれます。
AIに処理させる
させるのは、依頼に書かれた出荷先・品番・数量・単位・日付を、書かれたとおりに取り出し、取込の項目に対応づけることです。
| 取り出すもの | 取り出し方 | 書かれていないとき |
|---|---|---|
| 出荷先 | 届け先コード、名称、住所、電話を書かれたとおりに | null。「前回と同じ」なら refers_previous |
| 品番 | 書かれた文字列をそのまま。先頭の0も残す | null |
| 品名 | 照合の補助として書かれたとおりに | null |
| 数量と単位 | 数と、ケース・バラ・箱などの単位語 | 単位が無ければ unit_unknown |
| 出荷日・納品指定日 | どちらとして書かれているかを区別 | 区別できなければ date_kind_unknown |
| 時間指定 | 午前・午後・時刻の範囲 | null |
| 書かれた合計 | 本文や表の「合計」の数 | null |
| 出どころ | 本文・PDFの何ページ・表の何行目か | 必ず書く |
「出どころ」を必ず書かせるのは、食い違いを拾うためです。 同じ項目が本文とPDFの両方から取り出され、値が違えば、それが食い違いです。どちらを採るかは決めず、両方を並べます。
| させないこと | 理由 |
|---|---|
| 品番の補正 | 似た番号に直すと、誤出荷の原因を作る |
| 数量の換算 | ケースとバラの換算は入数の表で行う |
| 食い違いのどちらかを選ぶ | 荷主にしか分からない |
| 出荷できるかの判断 | 在庫の引き当ては倉庫管理システムの仕事 |
| 届け先の住所の補完 | 住所の一部から届け先を推測しない |
1行目がいちばん起きやすい失敗です。 「AB-1O230」のようにOと0が混ざった品番を渡すと、マスタにありそうな番号に直して返すことがあります。直さずに返させ、マスタに無いという事実を照合で拾います。
指示内容を固定する
あなたは物流センターの業務課で、荷主からの出荷依頼を読み取る担当です。
渡されたメール本文と添付(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個」と書かれていれば、書かれたほうを写させます。 定義と依頼の食い違いも、確認の対象です。
出力形式を固定する
次の形の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文字違いの品番を引いて問いの形で荷主に示します。決めるのは荷主です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 共用メール | Gmail の Watch emails/List email attachments and media | 依頼と添付を取り出す |
| 表計算の添付 | Google Drive の Upload a File(変換)/Google Sheets の Get Range Values | 行を読む |
| Claude API | Anthropic Claude の Make an API Call | 取り出しと対応づけ |
| マスタ・取込定義 | Google Sheets の Search Rows | 照合と規則 |
| 取込待ち・要確認の表 | Google Sheets の Add a Row(値は Raw) | 結果を書く |
| 倉庫管理システム | 既存のCSVの取り込み | 人が書き出して取り込む |
倉庫管理システムへは、この構成から書き込みません。 取り込みの前に人が見る1回を残すためで、誤った出荷予定が引き当てとピッキングの指示まで一息に進む経路を作りません。
確認文は、要確認の表の行に下書きとして置きます。 荷主ごとに、同じメールの要確認の点を1通にまとめます。1行ずつ別のメールにすると、荷主の担当者が返事をまとめきれません。
取込待ちの表の列は、倉庫管理システムの取込形式の並びに合わせます。 荷主コード、出荷予定日、届け先コード、届け先名、品番、数量(バラ換算)、時間指定、備考に、この構成が付ける列として、元のメールの識別子と source を最後に足します。 取り込むときはこの2列を外してCSVに書き出します。取り込んだ後でも、どのメールのどこから来た行かをたどれます。
人が確認する
人が見るのは、取込待ちの表の全件(流し見)と、要確認の表の全件です。
- 要確認を先に見る … 締め時刻に近いものから。確認文を直して荷主に送ります
- 取込待ちを流し見る … 荷主・件数・合計の数量を見て、いつもと大きく違う数量が無いかを見ます
- CSVに書き出して取り込む … 取り込みの結果、倉庫管理システムでエラーになった行を要確認に戻します
- 荷主の返事で表を直す … 直した行を取込待ちに移し、直した内容を記録します
2番目の「いつもと大きく違う数量」は、規則では拾いきれない誤りです。 毎週12ケースの品番に120ケースと書かれていても、マスタにも入数にも合っています。荷主の打ち間違いかもしれず、ここは人の目で見ます。 過去の平均と比べて大きく外れる行に印を付けると、見る場所が絞れます。
例外に対処する
| 起きること | 対応 |
|---|---|
| パスワード付きのPDF | 扱えない。パスワードの無いものを送ってもらう確認文 |
| PDFが32MBを超える・ページが多すぎる | 分けて送ってもらうか、担当者が分割して投入 |
| 画像(写真)だけが添付 | この構成の対象外。担当者が読む |
| 表計算に複数のシート | シートごとに読み、シート名を source に残す |
| 表計算の変換に失敗 | 担当者へ。ファイルの形式を荷主に確かめる |
| 登録外のアドレスから届く | 処理しない。担当者が荷主に確かめる |
| 「前回と同じ」で出荷先が無い | 前回の依頼を担当者が確かめて埋める。自動で前回を引かない |
| 取り消し・変更の依頼 | 取り込み済みかを担当者が確かめる。この構成では取り込まない |
| 生成AIが応答しない・形が崩れる | ラベルを「出荷依頼」のまま残し、次回の実行で再処理 |
7行目を自動にしないのは、「前回」がどれかが決まらないからです。 同じ荷主から1日に何通も依頼が来ると、どの依頼の届け先を指しているかは荷主に聞くしかありません。
記録を残す
- 受け取ったメールの識別子、受信日時、添付のファイル名
- 生成AIが返したJSONの全文と、照合の結果
- そのとき参照したマスタと取込定義の版
- 荷主に送った確認文と、返事の内容、直した行
- 倉庫管理システムに取り込んだ日時と、取り込んだ担当者
- 誤出荷が起きたときに、どの段階で誤ったか(荷主の誤記/取り出し/照合/取り込み)
最後の行が、この構成を育てる材料です。 誤出荷のたびに原因を4つのどれかに分けて残すと、直すべき場所が、荷主への依頼のしかたか、指示か、規則かが見えてきます。
04実装レベルの3段階
最小構成では件数がさばけません。 1日45件を手で渡すことはできないので、確かめるための段階です。 半自動化で、転記の時間がなくなります。 ただし照合と確認は人に残り、1件あたりの時間は半分程度にとどまります。 本格構成で、照合と食い違いの検知まで自動になり、人が見るのは要確認と取込待ちの流し見だけになります。 これが本記事の想定です。 段階を飛ばさないでください。 半自動化の表を1か月見ると、荷主ごとの単位や日付の書き方の癖が分かります。それを取込定義に書き足してから照合を自動にするほうが、要確認の件数が減ります。
05工数削減シミュレーション
導入後 900件 × 2分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 複数の荷主から出荷を請け負う物流センター(3PL)や、取引先からの出荷依頼をメールで受ける卸・メーカーの倉庫。荷主ごとに依頼の形がばらばらで、メール本文、PDFの出荷指示書、表計算のファイルが混ざって届き、事務担当が倉庫管理システムの取込用の表に打ち直している場合。品番の打ち間違いや指定日の読み違いで、誤出荷や出荷の遅れが起きたことがある場合。
- 荷主の大半とEDIやAPIで出荷データを受け取れている場合。荷主が数社で、決まった様式のファイルをそのまま取り込めている場合。手書きのFAXが主で、メールの依頼がほとんど無い場合(手書きの読み取りは別の構成が要ります)。なお、在庫の引き当てと出荷の可否の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の依頼から30通を選ぶ(本文だけ、PDF、表計算をそれぞれ10通。食い違いがあったものを必ず入れる)
- その30通について、当時取り込んだ出荷予定のデータを手元に用意する
- 手元のAIサービスに、本文と添付を1通ずつ渡す
- 「この出荷依頼から、明細ごとに出荷先・品番・数量・単位・日付を取り出してください。品番は書かれたとおりに写し、直さないでください。日付が出荷日か納品日かを区別してください。本文と添付で違う値があれば両方を出してください」と指示する
- 結果を、当時取り込んだデータと1行ずつ突き合わせる
30通は必ずやってください。 ワークフローを組む前に、「書かれたとおりに取り出せるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時のデータと一致した | ワークフローの連携に進む |
| 品番を似た番号に直した | 指示の書き方で直る。構成は有効 |
| 出荷日と納品日を取り違えた | 荷主ごとの書き方の癖を取込定義に足す |
| 当時のデータのほうが誤っていた | 目視の転記の誤りが見つかった。 構成の価値の裏付け |
4行目が出ることがあります。 30通の中で、当時の打ち直しの誤りが見つかることは珍しくありません。それは失敗ではなく、この構成で減らしたかった誤りが実際にあったということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 品番を似た番号に直して返す | 直さないことを明記し、照合でマスタに無いことを拾う |
| 「00123」が123になる | 値の入れ方を Raw にして文字列のまま書く |
| 出荷日と納品日を取り違える | 書かれた言葉で区別させ、荷主ごとの癖を取込定義に書く |
| ケースとバラを取り違える | 単位語を写させ、換算は入数の表で行う |
| 本文と添付の食い違いを片方で上書きする | 両方を出させ、どちらも採らない |
| 「前回と同じ」で届け先が空になる | refers_previous で印を付け、担当者が埋める |
| パスワード付きのPDFで止まる | 荷主にパスワードの無いものを送ってもらう |
| 問い合わせのメールまで処理する | 件名ではなく、登録アドレスでラベルを付ける |
| 取り消しの依頼を取り込む | 取り消し・変更は担当者へ。この構成では取り込まない |
| 荷主の担当者が替わり、書き方が変わる | 荷主ごとの要確認の件数を週で見る。急に増えたら取込定義を見直す |
| 取り込みまで自動にしたくなる | 最初は人が取り込む。 誤りの傾向が見えるまで残す |
上の2行が、誤出荷に直結する失敗です。 どちらも、値が「それらしく」変わることから起きます。書かれた文字列を1文字も変えないことを、指示と表の設定の両方で守ります。
最後の行は、運用が落ち着いた頃に出てくる誘惑です。 要確認が減ると取り込みも自動にしたくなりますが、取り込みの前の1回は、規則で拾えない「いつもと違う数量」を見る場所です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 荷主の取引先(届け先)の名称・住所・電話、品番と数量、そして個人宛ての通販の出荷では、購入者の氏名と住所です。
- 個人宛ての出荷を含む荷主は、渡す範囲を決める … 通販の荷主の依頼には購入者の住所が並びます。生成AIに渡す前に、荷主との契約で外部のサービスに渡してよいかを確かめます
- マスタを生成AIに渡さない … 商品マスタと届け先マスタは、荷主の取引の一覧そのものです。照合はワークフローの側で行います
- 荷主ごとにデータを混ぜない … 取込待ちの表は荷主ごとに分け、別の荷主の届け先が候補に出る経路を作りません
- 倉庫管理システムへ自動で書き込まない … 取り込みは人が行います
- 確認文を自動で送らない … 荷主との関係に関わり、どちらの値が正しいかを決める権限は荷主にあります
誤りが起きた場合のリスクは、誤った品番・数量で出荷することと、届け先を取り違えることの2つです。 前者は値を「それらしく」直させると起き、後者は「前回と同じ」を自動で埋めると起きます。どちらも推測を禁じることで防げるので、そこだけは設計で守ります。
10まず何から始めるか
1週目:取込定義の表を作る
メールで依頼してくる14社について、数量の単位、入数の扱い、日付の書き方(出荷日か納品日か)、締め時刻、リードタイムを担当者から聞き取り、1社1行で表にします。依頼の多い上位5社から始めます。
2週目:30通で試す
本文・PDF・表計算を10通ずつ選び、手元のAIサービスで明細を取り出させて、当時取り込んだデータと突き合わせます。品番を直していないか、出荷日と納品日を取り違えていないかを最優先で見ます。
3週目:ラベルとマスタの写しを整える
荷主の登録アドレスに「出荷依頼」のラベルを付けるフィルタを作り、商品マスタと届け先マスタを毎朝書き出す手順を決めます。
4週目:メールから取込待ちの表までをつなぐ
Make でラベルを見張り、添付を振り分け、取り出した明細を表に書き出すところまで作ります。この時点では照合をせず、取り出しの結果だけを見ます。
2か月目: マスタとの照合と規則、食い違いの検知を足し、要確認の件数を毎日数えます。3か月目以降: 確認文の下書きを足し、1件8分が何分になったかを実測します。誤出荷の原因の記録が数か月たまり、取り出しの段階の誤りがほとんど無くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Gmail のアプリに Watch emails(フォルダ・ラベル、差出人などでの絞り込み)と、指定したメールの添付とメディアの一覧を返す List email attachments and media があること | Make: Gmail modules | 2026-10-07 |
| Iterator が配列を1要素ずつのまとまりに分けるモジュールで、メールの添付を1つずつ扱う例が示されていること | Make: Iterator | 2026-10-07 |
| Google Drive の Upload a File に、ファイルを変換するかを選ぶ設定があること | Make: Google Drive modules | 2026-10-07 |
| Google Sheets のアプリに Get Range Values、Search Rows、Add a Row があること。値の入れ方に、入力した値をそのまま保存する Raw と、画面での入力と同じく数値や日付に変換されうる User entered があること | Make: Google Sheets modules | 2026-10-07 |
| Router がルートごとの条件で処理を分け、フォールバックのルートを設定できること | Make: Router | 2026-10-07 |
| Anthropic Claude のアプリに Create a Prompt と、任意のAPIを呼べる Make an API Call があること | Make: Anthropic Claude | 2026-10-07 |
| PDFの1リクエストの上限が32MB、ページ数が600(コンテキストが1Mトークン未満のときは100)であること。パスワード・暗号化の無い標準のPDFが対象であること。各ページが画像に変換され、取り出した文字とあわせて扱われること | Claude API Docs: PDF support | 2026-10-07 |
構造化出力が output_config.format の type: "json_schema" で指定でき、enum が使えること | Claude API Docs: Structured outputs | 2026-10-07 |
在庫の引き当てと出荷の可否は、倉庫管理システムと担当者の判断で決めてください。 本記事は Make と Claude の公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0768)についてのご相談はこちらから。
