梱包伝票から主要項目をExcelに抽出する方法
サプライヤーごとにフォーマットが異なっていても
手作業による入庫データ入力のミスは、倉庫で年間約39万ドルの損失を生んでいます。Graingerの梱包伝票はFastenalの納品書とも、Ulineのサーマル印刷シートともまったく異なります。それでも受入担当者は、それぞれから同じ5つの項目 — PO番号、SKU、受入数量、ロット番号、日付 — をスプレッドシートやWMSに取り込む必要があります。テンプレートベースのOCRでは、このようなフォーマットの多様性に対応できません。しかし、項目がページ上のどこにあるかではなく何を意味しているかで読み取るアプローチなら、対応できます。
フォーマットの違いが従来の抽出を壊す理由 — 代わりに有効な方法
仕入先ごとに梱包伝票の形式は異なります。Graingerは左側に部品番号、右側にカートン数を配置した複数列テーブルを使用します。Fastenalは商品を縦に並べ、出荷ドックで手書きの注記を加えることがあります。Ulineのサーマル印刷にはテーブル構造が一切なく、アイテムコードが文の途中に埋め込まれたテキストの連続だけです。MSC Industrialは、出荷フィールドと請求フィールドが同じページに共存する複合請求書・梱包伝票に梱包情報を入れています。ある物流コーディネーターは日常業務をこう語ります。「毎回の注文で、誰かが手作業で梱包伝票を読み、PO番号、重量、カートン数、運送クラスを抽出してスプレッドシートに入力し、配送ラベルをサイズに合わせて切り取り、すべてを倉庫にメールで送る必要がありました。1日に何度も。毎日です。」
従来のOCR抽出は位置に依存するため、ここで失敗します。テンプレートは「PO番号」が上端から2.3インチ、左端から1.1インチの位置にあることを記録しますが、位置がずれると抽出は失敗します。仕入先ごとに1つのテンプレートが必要になります。さらに悪いことに、仕入先がレイアウトを変更した場合(通知なしに行われます)、テンプレートは静かに壊れ、数週間後に在庫差異が判明するまでエラーに気づきません。
代わりとなるのが意味ベース抽出です。人間の受領担当者が行うように文書を読み取ります。ピクセル座標を探すのではなく、「注文番号」を意味するテキストを、それがどこにあっても探します。これがAIベースの抽出の仕組みです。位置を記憶するのではなく、フィールドの意味を理解します。ImageToTable.aiでは、必要な列名を入力するだけで — 「PO番号」「SKU」「受領数量」「ロット番号」— AIがページ上のどこからでも各値を特定します。これはカラム名抽出と呼ばれます。入力したフィールド名が出力テーブルのヘッダーになり、AIは各フィールドが何を表すかを理解して値を列にマッチングさせます。前回の位置を記憶するのではありません。
フォーマットの多様性は現実です。2024年の倉庫・フルフィルメントコスト&価格調査によると、受領コストはSKUあたり$2.50からパレットあたり$12.91の範囲で、労働集約的な手動データ入力が主要な要因です。Warehousing Education & Research Council(WERC)のベンチマーク調査では、受領精度が85%未満だと「大きな改善余地」の層に入り、最高水準の運用では98%以上を達成しています。受領担当者が遭遇するフォーマット不一致のたびに、その数値は下がります。
受入業務で実際に重要なフィールド
梱包伝票には多くの情報が含まれています。その大半はスプレッドシートには不要です。成功するアプローチは選択的であることです。受入ワークフローを推進するフィールドのみを抽出し、それ以外はPDFに残します。
| フィールド | 重要な理由 | 使用方法 |
|---|---|---|
| PO番号 | すべての出荷を調達システムに結び付ける共通キー | 受領した商品を未処理の発注書と照合。POの半分しか出荷されていない場合に部分受領ワークフローを起動 |
| 仕入先 / ベンダー名 | 送り主を識別 — 特に梱包伝票のヘッダーがPOのベンダー名と一致しない場合に重要 | 正しい受入キューに振り分け。仕入先コンプライアンス(納期順守、数量正確性)を追跡 |
| SKU / 品番 | 各明細行に対する仕入先の識別子 | 社内の部品カタログと照合。新規または未認識の品番をレビュー用にフラグ付け |
| 出荷数量 | 仕入先が箱に入れたと主張する数量 | 受入検査時に実地棚卸と比較。不足または過剰の例外レポートを生成 |
| ロット / バッチ番号 | トレーサビリティの要 — 食品、製薬、電子機器で特に重要 | WMSのロット追跡モジュールに入力。すべてのカートンを開けずにリコール対応が可能 |
| 出荷日 / 納期 | 仕入先から出荷された日時 | 仕入先ごとの輸送時間を計算。遅延納品を仕入先スコアカードにフラグ付け |
| 梱包伝票番号 | 伝票自体の一意の識別子 | 物理文書保管のファイリング参照。数量に異議がある場合の紛争解決に使用 |
すべての出荷にすべてのフィールドが必要なわけではありません。食品卸売業者であれば、ロット番号は必須です — FDA 21 CFR Part 11は規制対象製品のトレーサブルな電子記録を要求しており、梱包伝票はそのチェーンの最初の文書となることがよくあります。一般商品倉庫であれば、PO番号、SKU、数量だけで十分かもしれません。重要なのは、列を定義するのはあなた自身であるということです — ソフトウェアでも、仕入先のフォーマットでもありません。
これは複数の梱包伝票のバッチ処理に使用されるものと同じフィールドセットです — ここでの違いは、ボリュームにスケールアップする前に単一伝票の精度に焦点を当てていることです。
ステップバイステップ:梱包伝票のフィールドをExcelに抽出
梱包伝票のPDFから構造化されたスプレッドシートを作成する最速の方法は、先にフィールドを定義し、AIに見つけさせることです。位置のトレーニングも、テンプレートの作成も、サプライヤーごとの設定も不要です。このチュートリアルでは1枚の梱包伝票を使用しますが、同じ列定義は、どのようなサプライヤーの組み合わせからの何百枚もの文書にも拡張できます。
梱包伝票をアップロード
PDF、JPG、PNG形式の梱包伝票をアップロードエリアにドラッグ&ドロップします。GraingerからのデジタルPDF、地元のサプライヤーからのスキャンした納品書、サーマルプリント伝票の写真など、AIはすべて処理します。対応形式はPDF、JPG、PNG、WebP、AVIFです。
列名を定義
テーブルに変換モードで、抽出したいフィールド名を1列につき1つ入力します。標準的な受入ワークフローの場合は、「PO番号」「サプライヤー名」「SKU」「出荷数量」「ロット番号」「出荷日」と入力します。これらの列名が出力テーブルのヘッダーになります。AIはこれらを意味的なターゲットとして使用し、ページ上の正確な文言に関係なく、各概念に一致する値を文書内から検索します(「Order Ref」や「Purch Ord #」とラベル付けされたフィールドも、「PO番号」列にマッピングされます)。
確認してエクスポート
AIが各値を抽出し、1ページあたり5〜10秒でテーブルに入力します。手動入力に通常かかる3分と比較して高速です。出力の正確性を確認し(印刷テキストでは最大99%の精度)、Excel(XLSX)、CSV、またはJSONとしてエクスポートします。同じ列定義は、まったく異なるサプライヤーからの次回の梱包伝票でも機能します。
出力は、各行が梱包伝票(または列構造によっては明細項目)に対応し、各列が定義したフィールドに対応するスプレッドシートです。データクリーニングは不要です。AIが日付形式を自動的に標準化し、品番から余分なスペースを削除し、数量値を数値形式に正規化します。
ファイルは安全に処理され、保存されることはありません。
上記のフィールド(「PO番号」「SKU」「出荷数量」)を入力して、梱包伝票をアップロードしてみてください。AIが意味を読み取るため、どのサプライヤーの形式でも同じ列でデータを抽出できます。位置ではなく意味を読み取るからです。
エッジケースへの対応:スキャン・手書き・感熱紙の伝票
最新のERPで生成されたきれいなPDF梱包伝票は簡単なケースです。実際の受入現場では、はるかに扱いにくい書類に直面します。抽出方法はそれらにも対応する必要があります。
スキャンされた梱包伝票(特に150DPIのデスクスキャナからメール添付で転送されるもの)は、中小サプライヤーからよく届きます。文字がぼやけていたり、傾いていたり、一部切れていたりすることがあります。AIベースの抽出は、鮮明な文字の輪郭を必要とせず、人間の受入担当者が少しにじんだ書類を読むのと同じように、視覚的な内容を全体的に解釈するため、こうしたケースにも対応できます。劣化の激しいスキャンの場合のアプローチは、スキャンしたPDFをExcelに変換するガイドと同じです。アップロード、列の定義、確認という流れです。
手書きの注記 — 荷受担当者が印刷された数量50の横に「実数:47」と走り書きするようなケースは、受入担当者にとって必要な情報であり、無視すべきノイズではありません。ImageToTable.aiは印刷されたテキストと一緒に手書きのテキストも読み取るため、現場での修正内容が誰かのポケットの中のくしゃくしゃの紙ではなく、スプレッドシートに反映されます。
感熱紙の梱包伝票(Ulineなどのサプライヤー)は、デジタル処理の前に物理的な課題があります。文字が薄くなるのです。解決策は、受け取ったらすぐに写真を撮るかスキャンすることです。スマートフォンの写真でも問題ありません。AIは感熱紙の写真もPDFと同じように処理します。Graingerの梱包伝票用に定義したフィールド名は、設定変更なしでUlineの感熱紙にもそのまま使えます。
請求書と梱包伝票が一体化した書類 — MSC IndustrialなどのB2Bサプライヤーは、請求書と梱包伝票を兼ねた1枚の書類を発行することがよくあります。同じカラム名抽出アプローチがここでも機能します。必要なフィールドだけを抽出すればよいからです。財務フィールド(単価、税、合計)と物流フィールド(数量、SKU、ロット番号)が同じページにありますが、列は独立して定義できます。後で同じ書類から請求書フィールドが必要になった場合は、請求書フィールドの抽出ワークフローが財務面を処理します。2つの抽出は重複することなく相互補完します。
抽出から受領までのワークフロー:スプレッドシートの次の行き先
抽出によりスプレッドシートが生成されます。そのスプレッドシートは受領プロセスに供給されます。次のステップは、お客様の既存システムによって異なります。
WMS(倉庫管理システム)をお使いの場合 — Manhattan Active WMS、SAP EWM、Oracle WMS Cloud、Blue Yonder、またはLogiwaやFinale Inventoryのようなミッドマーケット向けシステム — 多くの場合、CSVアップロードまたはAPIを通じて受領数量をインポートしています。抽出によるExcelファイルがインポート元になります。「PO番号」列をWMSの注文書参照フィールドに、「出荷数量」を受領数量に、「ロット番号」をロット追跡モジュールにマッピングしてインポートします。これにより、WMS端末への手入力が不要になります。
ShipStationやFishbowlのような軽量な出荷プラットフォームをお使いの場合、スプレッドシートは同じ目的を果たします — 在庫同期のため、受領数量をアップロードまたはコピー&ペーストします。ShipStationの梱包伝票テンプレートは出荷側をカバーしますが、入荷受領側は依然としてサプライヤー文書からのデータ入力が必要です。抽出ステップがそのギャップを埋めます。
受領プロセスがスプレッドシートで運用されている場合 — 倉庫教育研究評議会(WERC)が依然として一般的な慣行として追跡しており、2023年時点で44%の倉庫が紙ベースのピッキングを使用しています — 抽出されたExcelファイルがそのまま受領ログになります。各行が出荷の受領記録です。「実数カウント」、「差異」、「保管場所」の列を追加すれば、梱包伝票からの手入力を一切行わずに、完全な受領記録が完成します。
受領の正確性には法的な重みがあります。統一商事法典(UCC § 2-513)の下では、買い手は商品の受領前に検査する権利を有します — そして梱包伝票はその検査の主要な参照文書です。OSHA 1910.176は安全性の側面を追加します:商品は安全に積み重ねられ、危険を生じさせないことを確認するため、保管前に検証されなければなりません。梱包伝票データを迅速かつ正確にシステムに取り込むことは、単なる効率性の問題ではありません — 法的な受領と安全な保管の判断の両方を引き起こす運用上のステップなのです。
単一伝票処理を超えてスケールアップする準備ができたら、バッチ抽出アプローチにより、1日分の梱包伝票を一度にアップロードし、単一の統合された受領スプレッドシートを出力できます。同じ列定義が引き継がれるため、新しい設定を必要とせずにワークフローがスケールします。比較として、同様のバッチロジックは異なるフォーマットのベンダー見積もりにも適用され、受領ではなく調達において同じサプライヤー多様性の問題が現れます。
よくある質問
手書きの梱包伝票でも対応できますか?
はい。AIは数字、製品コード、荷受け場で書かれた注記など、手書きの文字を認識します。手書きの精度は印刷文字より低くなります(読みやすさにもよりますが、約85〜95%を想定してください)。受領ログを確定する前に、手書きで抽出された内容は必ず確認してください。
梱包伝票のフィールド名が、入力した列名と異なる場合はどうなりますか?
これこそが意味ベース抽出の最大の利点です。列名に「PO番号」と入力し、梱包伝票のフィールドが「Purch Ord #」や「Order Ref」と表示されていても、AIはそれらが同じ概念を指していると理解し、正しい値を抽出します。仕入先ごとの用語に合わせて列名を変更する必要はありません。
梱包伝票のデータをGoogle Sheetsに直接抽出できますか?
はい。Google Sheetsアドオンを使用すると、Sheetsのサイドバーから梱包伝票をアップロードして列名を指定できます。アプリケーションを切り替えることなく、抽出したデータがアクティブなシートに入力されます。
一度に処理できる梱包伝票の枚数は?
単票モードでは一度に1枚のドキュメントを処理します。各出荷の即時確認が必要なリアルタイム受領に最適です。1日の終わりや一括処理には、バッチモードで複数の梱包伝票を同時にアップロードでき(異なる仕入先の混在フォーマットにも対応)、単一の統合Excelファイルとして出力されます。大量処理のワークフローについては、バッチ梱包伝票処理ガイドをご覧ください。
AIは梱包伝票の数量がPOと一致しないことを判断できますか?
ImageToTable.aiは梱包伝票に記載された内容を抽出するもので、自動照合のための発注データにはアクセスできません。ただし、抽出時に計算列を使用してチェックを行うことは可能です。例えば、複数行の梱包伝票がある場合、計算列で全明細の数量を合計し、印刷された合計と照合できます。POとの差異チェックはエクスポート後のスプレッドシート作業です。抽出した梱包伝票データとPO明細の両方をExcelに取り込み、VLOOKUPまたはINDEX/MATCHを使用して不一致をフラグ付けしてください。
英語以外の梱包伝票はどうですか?
AIは50以上の言語の梱包伝票を処理します。欧州のサプライヤーからのドイツ語のLieferscheinも、Graingerからの英語の梱包伝票と同じように抽出できます。列名を英語で入力すれば、AIが文書の言語に関係なく対応する値を特定します。
サプライヤーごとに梱包伝票のフォーマットは異なります。抽出方法はそれを気にする必要はありません。
「PO番号」「SKU」「数量」「ロット」などの項目を一度定義するだけで、AIがどんな梱包伝票、PDF、スキャン、写真でもそれを見つけ出します。テンプレート不要。サプライヤーごとの設定も不要です。
ご自身の梱包伝票で試す