Media > AI活用ユースケース > 物流 > 通い箱・パレットの回収状況を追って、返ってこないものを拾う

通い箱・パレットの回収状況を追って、返ってこないものを拾う

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

出荷票と回収票を読み取って得意先ごとの容器の残数を出し、長く戻っていないものと回収のペースが落ちた先を毎月拾います。担当者の作業は、伝票を1枚ずつ突き合わせることから、差が出た先だけを確かめることに変わります。

サマリー
利用ツール
AWS Textract/Azure AI/ChatGPT/Claude/Gemini/Google Document AI/Make/n8n/Power Automate/Zapier
対象業界
EC/小売/物流/製造/飲食
対象部門
物流/購買
対象業務
台帳・マスタ管理/集計・分析
主な課題
データ分析に時間がかかる/人手が足りない/期限・対応漏れが起きる
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/工数削減/機会損失防止
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
API連携(中)
人間の確認
条件付き
現在工数
40h/月
AI導入後
16h/月
想定削減
60%
年間削減
288h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 出荷時に販売管理システムで出荷伝票を切る。容器の数は伝票の備考欄か、別紙の受渡票に書く
  2. 得意先の担当者が受領のサインをし、控えを持ち帰る
  3. 空になった容器が、次回の納品の便で戻ってくる
  4. ドライバーが回収票に、得意先名・容器の種類・数量を手書きする
  5. 回収票が物流部へ集まる(手渡し、FAX、得意先からのメール添付が混在)
  6. 担当者が回収票を1枚ずつ見て、Excelの台帳へ入力する
  7. 出荷の記録と突き合わせ、差があればメモを残す
  8. 月末に、得意先ごとの残数を集計する
  9. 残数が目立つ先を目視で拾い、営業担当へ連絡を依頼する
  10. 足りない分は、購買部へ補充を依頼する
導入後(After)
  1. 回収票が届く(スキャン、FAXの受信、メール添付)
  2. 自動受付フォルダへの保存を検知して処理が始まる
  3. 自動伝票から、得意先・容器の種類・数量・日付を読み取る
  4. 自動読み取った項目ごとの信頼度を記録する
  5. 自動販売管理システムの出荷の記録と突き合わせる
  6. 自動得意先ごと・容器の種類ごとの残数を更新する
  7. 自動毎月1日、残数と回収のペースを見る
  8. 自動5つの区分に振り分け、差が出た理由の候補を挙げる
  9. 自動確認の連絡の下書きを作る
  10. 人物流の担当者が、区分と根拠を確かめる
  11. 人連絡の文面を直し、営業担当を通して送る
  12. 人補充が要ると判断したものだけ、購買部へ起票する
  13. 自動連絡の結果と、実際に戻った数を記録へ残す
各工程の詳しい説明を読む
  1. 出荷時に販売管理システムで出荷伝票を切る。容器の数は伝票の備考欄か、別紙の受渡票に書く
  2. 得意先の担当者が受領のサインをし、控えを持ち帰る
  3. 空になった容器が、次回の納品の便で戻ってくる
  4. ドライバーが回収票に、得意先名・容器の種類・数量を手書きする
  5. 回収票が物流部へ集まる(手渡し、FAX、得意先からのメール添付が混在)
  6. 担当者が回収票を1枚ずつ見て、Excelの台帳へ入力する
  7. 出荷の記録と突き合わせ、差があればメモを残す
  8. 月末に、得意先ごとの残数を集計する
  9. 残数が目立つ先を目視で拾い、営業担当へ連絡を依頼する
  10. 足りない分は、購買部へ補充を依頼する

問題は6つあります。

(a)出た数と戻った数が別の場所にある。 出荷は販売管理システム、回収は紙の票です。両方を見られるのはExcelの台帳に入力し終えた後だけで、その入力が滞れば差は見えません。

(b)少しずつ減るので、誰も気づかない。 1回あたり1〜2個の差は異常に見えません。気づくのは、年度末に棚卸をして「9,000点あるはずが8,600点しかない」と分かったときです。 そこから原因をたどることはできません。

(c)回収票の様式がばらばら。 ドライバーの手書き、得意先の様式でのFAX、PDF。容器の呼び方も得意先ごとに違い、同じ箱が「青箱」「中箱」「Aケース」と書かれます。

(d)突き合わせが月末に集中する。 日々の入力が後回しになり、月末に480枚をまとめて処理することになります。繁忙期には入力そのものが飛びます。

(e)差の原因が分からないまま「紛失」にされる。 数が合わなければ紛失として処理し、補充を手配します。伝票の書き漏れだったのなら、買わなくてよかったものを買っています。

(f)督促の言い方が難しく、後回しになる。 「返してください」と言えば、相手を疑っているように受け取られます。言い方を考えるうちに月が変わり、そのまま流れます。

もう1つ、構造的な問題があります。 この業務は、やらなくても今日の出荷は止まりません。容器が足りなければ買い足せば済むため、緊急ではないのです。 緊急でない仕事は、忙しいときに真っ先に削られます。そして削った影響は、1年後の補充費用としてしか現れません。因果が見えないので、削ったことの損が誰にも分かりません。 だからこそ、人の意志に頼らず仕組みで回す価値があります。

  1. 回収票が届く(スキャン、FAXの受信、メール添付)
  2. 【自動】 受付フォルダへの保存を検知して処理が始まる
  3. 【自動】 伝票から、得意先・容器の種類・数量・日付を読み取る
  4. 【自動】 読み取った項目ごとの信頼度を記録する
  5. 【自動】 販売管理システムの出荷の記録と突き合わせる
  6. 【自動】 得意先ごと・容器の種類ごとの残数を更新する
  7. 【自動】 毎月1日、残数と回収のペースを見る
  8. 【自動】 5つの区分に振り分け、差が出た理由の候補を挙げる
  9. 【自動】 確認の連絡の下書きを作る
  10. 【人】 物流の担当者が、区分と根拠を確かめる
  11. 【人】 連絡の文面を直し、営業担当を通して送る
  12. 【人】 補充が要ると判断したものだけ、購買部へ起票する
  13. 【自動】 連絡の結果と、実際に戻った数を記録へ残す

自動化されるのは「伝票の読み取り」「出荷との突き合わせ」「残数の更新」「区分への振り分け」「連絡の下書き」の5つです。残るのは、連絡するかどうかの判断と、その言い方を決めることです。

紛失と決めつけません。 「この得意先が400個を紛失した」という記述を出させないでください。この構成が出せるのは「こちらの記録では400個が戻っていない」という事実までです。

請求の材料にもしません。 容器の紛失を請求できるかは契約によります。この構成が作るのは、確認の連絡の材料までです。

「回収のペースが落ちた先」を拾えることが、この構成で最も価値のある部分です。 残数の多さだけを見ると、取引量の大きい得意先が常に上位に並びます。取引量に対して回収が遅れている先は、残数の順位では見えません。

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

構成図
回収票(手書き / FAX / PDF)
   │
   ▼ スキャン/FAXの受信/メール添付の取り込み
   │
   ▼【トリガー1】受付フォルダへの保存(都度・15分ごとに確認)
   │
Azure AI Document Intelligence(レイアウトの読み取り/自社様式のカスタムモデル)
   │  ・伝票の項目を読み取る(得意先、容器の種類、数量、日付)
   │  ・表の行と列の構造を保ったまま取り出す
   │  ・項目ごとの信頼度を返す
   │
   ▼
Make(ワークフロー・都度のシナリオ)
   │
   ├──▶ 販売管理システムの出荷の記録と突き合わせる
   │
   ▼
容器台帳の更新(得意先 × 容器の種類ごとの残数)
   │
   ┈┈┈ ここまでが都度の処理 ┈┈┈
   │
   ▼【トリガー2】毎月1日(月次のシナリオ)
   │
残数と回収のペースを見る
   │  ・得意先ごと・容器の種類ごとの残数
   │  ・いちばん古い残の経過日数
   │  ・直近3か月の回収のペースと、その前との比較
   │
   ▼
Claude API(差異の説明と督促文の下書き)
   │  ・5つの区分への振り分け
   │  ・数が合わない理由の候補を、断定せずに挙げる
   │  ・確認の連絡の下書き
   │
   ▼
区分ごとの一覧(balanced / slow_return / long_outstanding / count_mismatch / undetermined)
   │
   ▼
【人】物流の担当者が確認 ── 根拠の伝票を開いて確かめる
   │
   ├──▶ 督促ではなく確認の連絡(担当者が文面を直して送る)
   └──▶ 追加手配の起票(購買部へ)
役割想定する製品代替候補
ワークフローMakePower Automate、n8n、Zapier
OCRAzure AI Document IntelligenceGoogle Document AI、AWS Textract
処理Claude API(差異の説明と督促文の下書き)OpenAI API、Gemini API

販売管理システムとExcelの容器台帳は、この表に載せていません。 出荷の記録は既存の販売管理システムから読み出すだけで、書き戻しはしません。容器台帳は当面Excelのままで構いませんが、得意先と容器の種類の組み合わせで残数を持つ形に作り直す必要があります。 ここが最初の作業です。

回収票に、請求書向けの事前構築済みモデルをそのまま当てることはできません。 回収票は請求書ではなく、様式も社内の都合で決まっているためです。汎用のレイアウトと表の読み取りを使い、それで足りなければ自社の様式でカスタムモデルを作るという前提で組みます。

ただし、入力の要件は同じサービスの中で共通しています。 事前構築済みのモデルの説明には、扱える形式と限界が示されています。入力はPDFと画像(JPEG/JPG、PNG、BMP、TIFF、HEIF)で、PDFとTIFFは最大2,000ページまで扱えます。ファイルサイズは有料のレベルで500MB、無料のレベルでは4MBです。画像の寸法は50×50ピクセルから10,000×10,000ピクセルの間である必要があります。

最小の文字の高さが決まっていることが、回収票では効いてきます。 抽出するテキストの最小高さは、1024×768の画像で12ピクセル、150dpiで約8ポイントのテキストに相当するとされています。手書きの回収票を低い解像度でスキャンすると、この下限を割ります。スキャナの設定を先に決めてください。 なお、パスワードで保護されたPDFは、提出前にロックを解除する必要があります。

Makeを使う理由は、2つのトリガーを別々に動かせることです。 Makeのシナリオは既定では15分ごとに実行され、一定間隔、毎日1回、平日、週単位、月単位、オンデマンドのいずれかを設定できます。都度の読み取りと、月次の判断を、別のシナリオに分けます。

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

Step1

処理の起点を決める

トリガーは2つあります。最初にここを整理します。

トリガー1は、回収票が受付フォルダに保存されたときです。 スキャンした画像、FAXから変換されたPDF、得意先からのメール添付。いずれも同じフォルダへ集めます。既定の15分ごとでも構いませんが、回収票は便が戻る時間帯に集中するため、平日の1日1回、夕方に動かす設定でも足ります。

トリガー2は、毎月1日です。 得意先ごとの残数と回収のペースを見て、区分へ振り分けます。月単位のスケジュールを設定した、別のシナリオにしてください。

分ける理由は、判断の材料がそろう時点が違うからです。 回収票は1枚ずつ届きますが、「回収のペースが落ちた」は1枚では分かりません。数か月分の記録がそろって初めて言えることです。 1枚読むたびに判定させると、便が1日ずれただけで「遅れている」と出ます。

実務上の理由もあります。 連絡は月に1度まとめるほうが、相手の負担も軽くなります。「先週も連絡が来たのに、また来た」という状態は避けなければなりません。

スケジュールを設定しただけでは動きません。 Makeでは、シナリオを有効化しなければスケジュールは働きません。テストで動かした後、有効化を忘れたまま「動かない」となることがよくあります。 なお最小の間隔はプランによって異なりますが、この構成は1日1回で足りるため制約にはなりません。

再処理の入口も用意してください。 読み取りに失敗した伝票、後から差し替えられた回収票があります。伝票の番号を指定して、もう一度処理できる形にしてください。

Step2

入力データを集める

データ中身取得元
回収票得意先名、容器の種類、数量、回収日、ドライバー名スキャン/FAX/メール添付
出荷の記録出荷日、得意先、容器の種類、出した数量、伝票番号販売管理システム
容器台帳得意先 × 容器の種類ごとの残数、最終の動きの日付Excel(作り直す)
容器のマスタ容器の種類、呼び方の揺れ、単価、保有総数物流部の管理表
得意先のマスタ得意先コード、納品の頻度、担当営業、契約上の容器の扱い販売管理システム
過去の確認の履歴いつ誰に連絡し、何個戻ったか記録(新たに作る)
Step3

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

容器のマスタが、この構成の質を決めます。 回収票に書かれる容器の呼び方は、得意先ごと、ドライバーごとに揺れます。「青箱」「中箱」「Aケース」が同じものだと機械が知らなければ、残数は合いません。

列例
容器コードCT-003
正式名称中型通い箱(折りたたみ式)
呼び方の揺れ青箱/中箱/Aケース/折りコン中
単価補充の費用の試算に使う
保有総数9,000点の内訳
標準の往復日数出荷から回収までの平年の日数

「呼び方の揺れ」の列がいちばん効きます。 最初は物流部の担当者に思いつくものを挙げてもらい、運用しながら足していく形にしてください。読み取れなかった呼び方が出るたびに1行足せば、半年で実用に足ります。

「標準の往復日数」の列は、長く戻っていないものの判定に使います。 週2回納品の得意先と月1回の得意先では、戻るまでの日数が違って当たり前です。一律に「30日を超えたら督促」とすると、月1回の先が毎月引っかかります。

出荷の記録: 販売管理システムから、出荷日・得意先・容器の種類・数量を読み出します。容器の数が伝票の備考欄にしか入っていない場合は、ここを構造化するところから始めてください。 文章から数を取り出す処理を毎回挟むと、そこが誤差の入口になります。欄そのものが無いなら、この構成より先に欄を作ってください。 出た数が分からなければ、戻った数と比べようがありません。

容器台帳: 現状のExcelは、月ごとの集計表になっていることが多いはずです。得意先 × 容器の種類を行とし、出荷の累計・回収の累計・残数・最終の動きの日付を持つ形へ作り直してください。 集計表では、いつからその残が積まれているのかが分かりません。

過去の確認の履歴は、新たに作る必要があります。 現状はメールや口頭で済んでおり、記録が残っていないはずです。いつ連絡し、相手が何と答え、実際に何個戻ったか。 この3つだけで、次の判断の質が変わります。

Step4

AIへ渡す前に整形する

  1. ファイル形式の判別 … PDF(文字あり)/PDF(スキャン画像)/画像ファイルを判別します
  2. 解像度と文字の高さの確認 … 文字が小さすぎる伝票は、読み取りの前に弾きます
  3. ページの分割 … FAXで複数の得意先の票がまとめて届くことがあります。伝票ごとに切り分けます
  4. 項目の読み取り … 得意先・容器の種類・数量・回収日を、表の構造を保ったまま取り出します
  5. 信頼度の保持 … 項目ごとの信頼度を、後段へそのまま渡します
  6. 呼び方の名寄せ … 容器のマスタの「呼び方の揺れ」に照らして、容器コードへ寄せます
  7. 得意先の特定 … 得意先名の表記の揺れを、得意先コードへ寄せます

5の信頼度が、この構成の要です。 読み取りの結果は3つの部分に分かれて返ります。認識された全テキストと選択マークをページ・行・単語で整理した部分、表とセルに信頼度を添えた部分、検出された項目の値の部分です。このうち信頼度を必ず後段へ渡してください。

信頼度を捨てると、「読み取れなかった」と「書かれていない」が区別できなくなります。 数量の欄が空だったのか、手書きが薄くて読めなかったのか。前者は伝票を書いた人の問題、後者はスキャンの問題で、直す相手が違います。

キーと値のペアの返却は、既定では無効です。 オプションで有効にできますが、キーが存在しても値が無い場合、キーだけが単独で存在することがあります。 「数量」というキーだけが返る状態です。これを0と解釈しないよう、処理の側で明示的に扱ってください。

2の解像度の確認を読み取りの前に置くのは、入り口で弾くほうが安全だからです。 手書きの数字が最小の文字の高さの目安を割るなら、スキャナの設定を上げてもらうしかありません。

6の名寄せは、機械的な照合で足ります。 マスタに無い呼び方が出たときだけ、人へ回してマスタに足します。

Step5

AIに処理させる

処理は5つに分かれます。生成AIに任せるのは、後ろの3つだけです。

(1)読み取り(OCRの側)

伝票の項目を取り出し、項目ごとの信頼度を付けます。ここで数量を確定させません。 読み取った数字は候補です。

(2)突き合わせ(ワークフローの側。生成AIは使いません)

出荷と回収の記録を、得意先 × 容器の種類で突き合わせ、残数といちばん古い残の経過日数を計算します。引き算は機械にさせてください。生成AIに計算させると、合わないときに原因が追えません。

(3)区分への振り分けと説明(生成AIの側)

区分意味次の手
balanced出荷と回収がおおむね合っている何もしない
slow_return残数はあるが、回収のペースが落ちている様子を見る。次月も続けば連絡
long_outstanding一定期間を超えて戻っていない数がある得意先へ確認の連絡
count_mismatch伝票の数と読み取り結果が合わない伝票の現物を人が確認
undetermined読み取れない、得意先を特定できない人が見る

count_mismatch と undetermined を分けることが、この設計の要です。 前者は伝票の問題で、書いた人か様式を直します。後者は読み取りの問題で、スキャンの設定かマスタを直します。 一緒にすると、どちらを直せばよいか分からない一覧になります。

slow_return と long_outstanding も分けてください。 前者はまだ連絡する段階ではありません。取引量が落ちただけのことがあるので、1か月では判断しません。

(4)差が出た理由の候補を挙げる

実際の紛失、伝票の書き漏れ、他の得意先の箱と混ざった、自社の入庫の記録漏れ。「紛失した」ではなく「この4つのいずれかが考えられ、直近の履歴からはこれが疑わしい」という形にします。

(5)確認の連絡の下書き

「返してください」ではなく「こちらの記録ではこうなっていますが、ご確認いただけますか」の形にします。 数の食い違いは相手を疑う話になりやすいためです。記録の提示にとどめてください。 「紛失分をご負担いただきます」といった、請求につながる文も書かせません。

Step6

指示内容を固定する

読み取りの側の指示

回収票の画像から、次の項目を取り出してください。

【取り出す項目】
- 得意先名(伝票に書かれているとおりの文字列)
- 容器の呼び方(伝票に書かれているとおりの文字列。正式名称に直さない)
- 数量(半角の数字)
- 回収日
- ドライバー名または伝票番号

【厳守事項】
- 記載がなければ「不明」としてください。推測で埋めないでください。
- 数量が読み取れない場合は、0ではなく「不明」としてください。
  空欄と読み取り不能を区別してください。
- 容器の呼び方を正式名称に直さないでください。
  「青箱」と書かれていれば「青箱」と返してください。変換は後の処理で行います。
- 1枚の票に複数の容器の種類が書かれている場合は、行ごとに分けて返してください。
- 手書きの数字で 1 と 7、0 と 6 の判別に迷う場合は、
  確定させずに候補を両方挙げ、信頼度を下げてください。

月次の判断の側の指示

あなたは食品メーカーの物流部で、通い箱とパレットの管理を担当する者です。
得意先ごとの残数と回収の履歴を見て、次の連絡が必要かを整理してください。

【厳守事項】
- 得意先が紛失したと断定しないでください。
  「紛失」「未返却のまま」といった、相手の責任を示す書き方をしないでください。
  「こちらの記録では戻っていない数がある」という事実までにしてください。
- 数が合わない理由を1つに決めないでください。
  実際の紛失、伝票の書き漏れ、他の得意先の箱との混同、自社の入庫の記録漏れ。
  考えられるものを挙げ、どれが疑わしいかの根拠を示してください。
- 請求に関する記述をしないでください。
- 記載がなければ「不明」としてください。
  出荷の記録が欠けている期間は「記録なし」とし、前後の月から推定して埋めないでください。
- 数量を自分で計算し直さないでください。
  残数と経過日数は、すでに計算された値を使ってください。
- 読み取りの信頼度が 0.8 未満の伝票を含む得意先は、
  status を undetermined とし、needs_human を true にしてください。
- 連絡の下書きは、返却を要求する文面ではなく、確認を依頼する文面にしてください。
- 一律の日数ではなく、標準の往復日数を超えたかどうかで判断してください。

【得意先の情報(納品の頻度/標準の往復日数/担当営業)】
{customer_profile}

【容器の種類ごとの残数(出荷の累計/回収の累計/残数/いちばん古い残の経過日数)】
{balance}

【直近6か月の回収のペース】
{return_pace}

【この得意先への過去の確認の履歴(連絡日/内容/その後戻った数)】
{contact_history}

【読み取りの信頼度が低かった伝票の一覧】
{low_confidence_docs}

「数量を自分で計算し直さない」の指示が外せません。 残数は引き算で出ます。計算までさせると、合わないときに読み取りの誤りか計算の誤りかを切り分けられません。

「返却を要求する文面にしない」も必ず入れてください。 何も指示しないと、督促状らしい文面が返ります。それがそのまま送られると、取引の関係に直接響きます。

Step7

出力形式を固定する

{
  "period": "",
  "doc_id": "",
  "customer": "",
  "container_type": "",
  "shipped_qty": 0,
  "returned_qty": 0,
  "ocr_confidence": 0.0,
  "outstanding_qty": 0,
  "days_outstanding": 0,
  "status": "balanced | slow_return | long_outstanding | count_mismatch | undetermined",
  "possible_reasons": [
    { "reason": "", "basis": "" }
  ],
  "evidence": [
    { "doc_id": "", "page": 0, "field": "", "excerpt": "", "confidence": 0.0 }
  ],
  "message_draft": "",
  "needs_human": { "required": true, "reason": "" }
}

構造化する理由は、後の処理が全部この形に依存するからです。 区分ごとに一覧を分けるのも、信頼度の低いものを上に並べるのも、実際に戻った数を後から突き合わせるのも、決まった項目名があって初めてできます。文章で返されると、そのたびに読み取り直すことになります。

status をenumで固定していることが重要です。 「やや遅れている」といった表現が混ざると、一覧が並べ替えられません。5つのどれかに必ず入る形にしてください。

ocr_confidence を残数と並べて持つことにも意味があります。 残数が400個あっても、読み取りの信頼度が低ければその400という数自体が怪しいのです。信頼度を見ずに残数だけを見る画面を作らないでください。

possible_reasons を配列にしているのは、1つに決めさせないためです。 basis に「直近3か月は伝票の数と一致しており、今月だけ差が出ている」といった根拠を書かせます。evidence には、伝票のどの欄を読んだかまで入れてください。「3枚目の3行目の数量欄」まで示せれば、担当者の確認は数十秒で終わります。

needs_human には理由を持たせます。 真偽だけでは、担当者が何を見ればよいか分かりません。「信頼度が低い」「得意先を特定できない」「出荷の記録が欠けている」のどれかを書かせてください。

Step8

システムへ連携する

出力は一覧と下書きを作るだけで、外部への送信は行いません。

出力先内容
容器台帳(Excelまたはデータベース)得意先 × 容器の種類ごとの残数の更新
月次の一覧区分ごとに並べた、確認が必要な得意先の表
社内のチャット月初に一覧ができたことの通知。undetermined の件数も併せて
購買システム補充の起票は人が行う。自動では起票しない

得意先へ自動で連絡しないでください。 これがこの構成でいちばん重要な線引きです。数の食い違いの連絡は、相手を疑う話になりやすく、関係に直接ひびきます。 下書きは作りますが、送るのは人です。

営業担当を通すかどうかも決めてください。 物流部から直接、得意先の窓口へ連絡する会社もあります。どちらでも構いませんが、決めずに始めると連絡が重なります。

販売管理システムへの書き戻しは行いません。 出荷の記録は読むだけです。残数を売掛の情報に紐づけないでください。 購買システムへの起票も自動にしません。補充するかどうかは、単価と使用の見込みを見て人が決めることです。

Step9

人が確認する

物流の担当者の確認は必ず残します。

確認することなぜ
count_mismatch の伝票伝票の現物を開く。数字の読み違いか、書き漏れかを見分ける
undetermined の件読み取れなかった原因を見る。スキャンかマスタかを切り分ける
long_outstanding の残数連絡する前に、出荷の記録が欠けていないかを確かめる
連絡の文面そのまま送れるか、言い方を変えるか
補充が要るかの判断残数と保有総数、繁忙期の見込みを見て決める

3つ目が最も重要です。 こちらの記録が欠けているだけなのに「戻っていません」と連絡すると、相手に記録を出されて終わります。一度これをやると、次から連絡が軽く扱われます。

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

  • 信頼度の低い項目を、一覧の上に並べる
  • 伝票の該当の行の画像を、一覧から直接開けるようにする
  • 出荷の記録と回収の記録を、日付順に左右で並べる
  • 前回の連絡の内容と、その後に戻った数を横に置く
  • 連絡の文面を、その場で直して保存できる欄を置く

4つ目が、次の判断の質を決めます。 前回連絡して翌月に全部戻った先と、連絡しても動かない先を、同じ扱いにすべきではありません。記録に残さなければ、これは担当者の記憶の中だけに残ります。

「連絡しないと決めた」も記録してください。 残っていないと、翌月も同じものが一覧の上に出てきて、毎月同じ判断を繰り返すことになります。

Step10

例外に対処する

起きること対応
手書きの数字が読み取れないundetermined とする。推測で埋めない
数量の欄が空欄「書かれていない」として扱う。0と区別する
キーだけが返り、値が無い0と解釈しない。不明として人へ回す
1枚に複数の得意先の票が混ざる伝票ごとに分割する。分割できなければ人へ回す
容器の呼び方がマスタに無い人へ回し、マスタへ1行足す
得意先名の表記が揺れて特定できないundetermined。近い名前へ勝手に寄せない
出荷の記録が欠けている「記録なし」として示す。残数を計算しない
回収票が出荷より先に届く前月からの持ち越しの可能性。マイナスの残数を放置しない
同じ回収票が二重に届く伝票番号で重複を弾く。FAXと現物の両方が届くことがある
解像度が低くて文字が小さい読み取りの前に弾く。スキャナの設定を直してもらう
パスワードで保護されたPDFロックを解除してから処理する
ファイルサイズやページ数が上限を超える分割して処理する
生成AIが紛失と断定したプロンプトで禁止する。テストで確認する
生成AIが残数を計算し直した与えた値を使わせる。計算はさせない
生成AIが請求に触れた禁止する。契約の話に踏み込ませない
連絡が自動で送信された送信は必ず人が行う設計にする
一覧に毎月同じ先が並ぶ標準の往復日数を見直す。一律の日数で判定していないかを確かめる

「同じ回収票が二重に届く」は必ず起きます。 ドライバーが持ち帰った現物と、得意先からのFAXの両方が届くためです。伝票番号で弾く仕組みを、最初から入れてください。

そして「マイナスの残数」を放置しないでください。 二重の計上か、他の得意先の箱が混ざって戻ってきた可能性があります。 放置すると、混ざった先の残数がいつまでも合いません。

Step11

記録を残す

この記録は、翌月以降の判断に直接使われます。

  • 処理した回収票の一覧と、受付日
  • 項目ごとの読み取り結果と、信頼度
  • 出荷の記録との突き合わせの結果
  • 得意先 × 容器の種類ごとの残数の推移
  • 振り分けられた区分と、その根拠
  • 担当者が確認した結果(連絡した/見送った/伝票の誤りだった)
  • 連絡の文面と、送った日
  • 連絡の後に実際に戻った数と、その日付
  • 読み取りが誤っていた事例(数字の読み違い、得意先の取り違え)

「連絡の後に実際に戻った数」の記録が最も効きます。 連絡して戻る先と、戻らない先が分かれます。戻らない先には、容器の種類を変える、預け数の上限を決めるといった別の手立てが要ります。

「伝票の誤りだった」事例も必ず記録してください。 count_mismatch の原因が伝票側に集中している得意先があれば、回収票の様式をそろえてもらう交渉の材料になります。 読み取りの誤りが特定のドライバーの伝票に集中しているなら、書き方を揃えてもらうほうが早いこともあります。

容器台帳の残数は、月ごとの断面を残してください。 上書きだけだと、いつから残が積まれ始めたのかが後から追えません。

04実装レベルの3段階

最小構成:回収票を読み取り、出荷の記録と突き合わせて残数を出す / 入力と突き合わせ
半自動化:受付フォルダへの保存を検知し、読み取りから台帳の更新まで / 都度の処理の全体
本格構成:上記+月次の区分への振り分け+連絡の下書き+結果の記録 / 判断の材料づくりまで

半自動化の時点で、5分が3分程度になります。 入力と突き合わせが消えるためです。本格構成では2分になりますが、減るのは差異をメモする時間と、月末に集計する時間です。 本格構成の「回収のペースを見る」は、現状ほとんど行われていない作業です。 ここは時間削減というより、これまでできていなかったことができるようになる部分です。 最小構成で止める判断も、得意先の数によってはあり得ます。 20社程度なら、残数の表を見れば担当者が異常に気づけます。200社だからこそ、区分への振り分けに価値が出ます。 半自動化の段階で、必ず1か月まるごと回してください。 回収票は月の中で偏って届きます。月初の数日だけで試すと、月末の集中に耐えられるかが分かりません。 本格構成へ進む前に、確認の履歴を残す運用を始めてください。 区分への振り分けは、過去の連絡と結果を材料にして初めて精度が出ます。履歴が空のまま本格構成に進むと、最初の数か月は材料の薄い判断になります。

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

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

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

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

AI活用について相談する

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

向いている
  1. 通い箱やパレットを数千点持ち、得意先との間を往復させている製造業・卸売。回収票が手書きやFAXで届き、残数の集計が月末にまとめて行われている場合。容器の紛失が毎年一定数あり、補充の費用が負担になっている場合。得意先が数十社以上あり、担当者の記憶では残数を追えなくなっている場合。
向いていない
  1. 使い捨ての梱包材しか使っておらず、返却を前提とした容器がない場合。容器に電子の荷札を付けて自動で読み取る仕組みが既にあり、出荷と回収が機械的に記録されている場合。得意先が数社で、残数を担当者が把握できている場合。容器の単価が低く、紛失しても補充の費用が問題にならない場合。

07最小構成で試す方法

  1. 得意先を10社選ぶ(回収票の様式が違うものを混ぜる)
  2. 容器のマスタを、「呼び方の揺れ」の列付きで作る
  3. 直近1か月の回収票を、そのまま読み取りにかける
  4. 販売管理システムの出荷の記録と突き合わせ、残数を出す
  5. 担当者がExcelで集計した結果と比べる

見るのは次の4点です。

見る点判断
数量の読み取りが合っているか誤りが1件でもあれば原因を調べる。ここが崩れると使えない
容器の呼び方が名寄せできているかできていなければマスタに足す
読み取れなかったものが undetermined になっているか0として計上されていたら設計の誤り
残数が担当者の集計と一致するかずれたら、出荷と回収のどちらの記録がずれたかを見る

3つ目が見落とされがちです。 読み取れなかった数量が0として計上されると、残数が実際より多く出ます。 「まだ戻っていない」と判定され、要らない連絡が生まれます。空欄と読み取り不能の区別を、この段階で必ず確かめてください。

次に、手書きの回収票を低い解像度でスキャンして、どこから読めなくなるかを確かめてください。 最小の文字の高さには目安があります。現場のスキャナの設定がその下限を割っていないかを、実物で見ます。

最後に、確認の連絡の下書きを、営業担当に読んでもらってください。 文面が要求に聞こえないかを見ます。物流部の感覚と、得意先と接している営業の感覚は違います。

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

問題対策
読み取れなかった数量が0として計上される空欄と読み取り不能を区別する。ここが最大の落とし穴
容器の呼び方が名寄せできないマスタに「呼び方の揺れ」の列を作り、運用しながら足す
得意先名が近い先に寄せられる勝手に寄せない。特定できなければ人へ回す
出荷時に容器の数が記録されていない欄を作る。出た数が無ければ比べようがない
容器の数が備考欄の文章にしかない定型の欄にする。文章からの抽出は誤差の入口になる
同じ回収票が二重に計上される伝票番号で弾く。現物とFAXの両方が届く
残数がマイナスになる他の得意先の箱の混入を疑う。放置しない
一律の日数で督促の判定をする標準の往復日数を得意先ごとに持つ
毎月同じ先が一覧の上に並ぶ判定の条件を見直す。見られない一覧は使われない
生成AIが紛失と断定する禁止する。テストで確認する
生成AIが残数を計算し直す与えた値を使わせる
生成AIが請求に触れる禁止する。契約の話に踏み込ませない
連絡が自動で送信される送信は人が行う。関係に直接ひびく
文面が要求に聞こえる営業担当に読んでもらう
残数だけを見て連絡する出荷の記録が欠けていないかを先に確かめる
確認の結果が記録されない連絡後に戻った数を必ず残す
「連絡しない」と決めたことが残らない見送りも記録する。翌月も同じ判断を繰り返す
月末の集中に耐えられない1か月まるごと回して確かめる
スキャンの解像度が低い最小の文字の高さの目安に照らして設定を直す

「読み取れなかった数量が0として計上される」が、この構成で最大の落とし穴です。 0は「戻ってこなかった」という意味になり、残数がその分だけ増えます。要らない連絡が生まれ、相手に記録を出されて終わります。 一度これをやると、次から連絡が軽く扱われます。空欄と読み取り不能の区別を、設計の最初に決めてください。

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

この構成で扱うデータ: 回収票と出荷の記録。得意先名と、その得意先への出荷量がそのまま載ります。

  1. 取引数量の秘密 … 回収票には得意先名と出荷量が載ります。取引数量は、取引先との関係で秘密にすべき情報です。 どの範囲を外部のAIサービスへ渡すかを、始める前に決めてください。得意先名を符号に置き換えて渡す方法もあります
  2. 渡す範囲の設計 … 都度の読み取りには生成AIを使わない設計にしているため、外部へ出るのは月次の判断の分だけです。渡す項目を、判断に要るものだけに絞ってください
  3. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます。得意先ごとの取引量が学習に使われることは避けなければなりません
  4. 督促の連絡を自動送信しない … これがこの構成で最も重要な線引きです。数の食い違いは相手を疑う話になりやすく、関係に直接ひびきます。 下書きまでを機械が作り、送るのは必ず人です
  5. 残数を請求に直結させない … 容器の紛失を請求できるかは契約によります。この構成が出すのは確認の材料までです。 残数の一覧を、そのまま請求の根拠として扱わないでください
  6. 紛失と断定しない … 数が合わない原因は複数あります。「紛失」という語を出力から排除し、「戻っていない数がある」という表現に統一してください
  7. アクセス権限 … 得意先ごとの取引量が一覧で見える画面になります。閲覧できる範囲を、物流部と購買部の担当者に限ってください
  8. undetermined の扱い … 読み取れなかった件が多い得意先は、回収票の様式をそろえてもらう交渉の材料にしてください。相手を責める材料ではなく、双方の手間を減らす提案として持ちかけます
  9. 保存期間 … 回収票の画像と読み取りの結果をどこまで保存するかを決めてください。容器の残数をめぐる話は、数年前にさかのぼることがあります
  10. 自動実行してよい範囲 … 読み取り、突き合わせ、残数の更新、区分への振り分け、連絡の下書きまでです。連絡するかどうかの判断、文面の確定、送信、補充の起票は人が行います

誤りが起きた場合のリスクは、こちらの記録が欠けているのに「戻っていません」と連絡してしまうことです。相手に記録を出されれば、その後の連絡が軽く扱われます。 long_outstanding と判定された先は、連絡の前に出荷の記録の欠けを必ず確かめてください。

10まず何から始めるか

1週目:容器のマスタを作る

容器の種類、正式名称、呼び方の揺れ、単価、保有総数、標準の往復日数を1つの表にします。呼び方の揺れは、物流部の担当者とドライバーに聞いて集めてください。 この表がこの構成の土台です。

2週目:容器台帳を作り直す

月ごとの集計表になっているなら、得意先 × 容器の種類を行とし、出荷の累計・回収の累計・残数・最終の動きの日付を持つ形へ変えます。ここで初めて、いつから残が積まれているかが見えます。

3週目:出荷側の記録を確かめる

販売管理システムに容器の数が入っているかを見ます。備考欄の文章にしかないなら、定型の欄を作ってください。 ここが無いまま先へ進んでも、比べる相手がありません。

4週目:回収票10枚で読み取りを試す

様式の違うものを混ぜて試します。読み取れなかった数量が0になっていないかを、1件ずつ確かめてください。

2か月目: 得意先10社で1か月まるごと回します。担当者のExcelの集計と、出てきた残数を突き合わせてください。 ずれたら、出荷と回収のどちらの記録がずれたかを見ます。

3か月目以降: 月次の区分への振り分けを足します。最初の月は連絡を送らず、一覧だけを見てください。 毎月同じ先が上に並ぶなら、標準の往復日数の設定を見直します。

半年後: 連絡した先のうち、実際に戻った割合を見てください。連絡して戻る先と、戻らない先が分かれます。 同時に、補充の手配の件数を導入前と比べてください。 伝票の書き漏れを紛失として処理していた分が減れば、買わなくてよいものを買わずに済みます。減らなければ、実際に紛失していたということです。

1年後には、容器の運用そのものを見直す材料がそろいます。 「この得意先では、この種類の容器だけが戻りにくい」という傾向が見えたら、容器の種類を変える、預け数の上限を決めるといった対策が取れます。点検を厚くするより、戻りにくい構造そのものを直すほうが、双方にとって手間が少なくなります。


11関連ユースケース

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

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

技術仕様確認日:2026-09-25/最終更新:2026-09-25
確認した内容情報源確認日
入力が PDF と画像(JPEG/JPG、PNG、BMP、TIFF、HEIF)であり、PDF と TIFF は最大2,000ページ、ファイルサイズは有料のレベルで500MB、無料のレベルで4MB、画像の寸法は50×50から10,000×10,000ピクセルの間である必要があることMicrosoft Learn: Document Intelligence 請求書モデル2026-09-25
抽出するテキストの最小高さが、1024×768の画像で12ピクセル(150dpi で約8ポイント相当)であること。パスワードでロックされた PDF は提出前に解除が必要なこと同上2026-09-25
出力が、全テキストと選択マークをページ・行・単語で整理した部分、表とセルに信頼度を添えた部分、検出された項目の値の部分の3つに分かれること。キーと値のペアの返却が既定では無効で、値が無い場合にキーだけが存在し得ること同上2026-09-25
シナリオが既定では15分ごとに実行され、一定間隔・毎日1回・平日・週単位・月単位・オンデマンドを設定でき、最小間隔はプランによって異なること。スケジュールを働かせるには有効化が必要なことMake Help Center: Schedule a scenario2026-09-25

上に挙げた入力の要件は、同じサービスの事前構築済みモデルについて公開されている内容です。回収票は請求書ではないため、事前構築済みのモデルがそのまま当たるとは限りません。 汎用のレイアウトと表の読み取りを使い、必要に応じて自社の様式でカスタムモデルを作る前提で構成しています。読み取りの方式と精度は、自社の回収票で検証してください。

容器の呼び方、標準の往復日数、督促の基準、契約上の容器の扱いは、企業と得意先によって異なります。この部分は自社の契約と商慣行に応じた個別対応が必要です。 容器の紛失を得意先へ請求できるかは契約によります。契約の確認を、自社の法務部門と行ってください。

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

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

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

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