仕入先請求書からデータを抽出する方法
— eコマースSKU利益率の向上
r/AmazonSellerで、FBAセラーが売上原価のワークフローをこう説明しています。「VLOOKUPなどを使って月を通してExcelファイルを更新し、月末に売上原価の計算に3〜4時間かかります」。50〜200 SKUを扱うeコマース事業者の間では、これは例外ではなく標準です。ボトルネックは計算ではありません。そもそも仕入先請求書から数値を抽出することです。Alibabaは中国語と英語で12行の品目が記載されたPDFの貿易保証請求書を送ります。1688のサプライヤーは手書きのプロフォーマをWhatsAppのスクリーンショットで送ります。工場は段ボール箱ごとに運送費を内訳した複数ページの商業請求書をメールで送ります。各形式は同じデータ(SKU、単価、数量、運送費)を異なるレイアウトに格納しており、スプレッドシートを開く前に誰かがそれを取り出す必要があります。
重要なポイント
- 月に3〜4時間は目に見えるコストです — 入力、VLOOKUP、タブ切り替え — そしてこれは手動の仕入先請求書入力がeコマース事業にもたらす最も安価なコストです。
- 高額なコストは見えないところにあります:4つの別々の書類からの運送費、関税、手数料がSKUごとに配賦されない場合、記録上の商品原価と総原価の差は46%に達し、それ以降に行ったすべての価格決定にその誤差が含まれます。
- ImageToTable.aiは、1つの列定義を通じてすべての仕入先形式(Alibaba PDF、WhatsAppスクリーンショット、工場プロフォーマ)を読み取り、抽出時にSKUごとの総原価を計算して出力します。サプライヤーごとのテンプレートは不要です。
eコマースの仕入先請求書が通常の買掛金請求書と異なる理由
買掛金チームは支払いのために請求書を処理します。重要な項目 — 請求書番号、仕入先名、合計金額、支払期日 — は普遍的です。しかし、eコマース事業者が仕入先請求書を見るとき、最初に考えるのは支払いではありません。考えているのは: この商品の実際の原価はいくらだったのか? ということです。
eコマース事業者が仕入先請求書から必要とするデータは、支払い項目よりも深いところにあります。SKUコードが必要です — それは仕入先の内部コード、自社のSKU、またはASINかもしれません。単価あたりの卸売原価が必要です。これは「FOB価格」「EXU単価」または単に「单价」(中国語で単価) と表示されることがあります。記載されていればMSRP、そしてMOQ(最小注文数量) も必要です。実際に意味のある数量帯で購入したかを追跡するためです。リードタイム — 注文から納品までの日数 — も必要です。30日と見積もった仕入先が45日で納品すると、静かに運転資金を食いつぶしているからです。そして、これらすべてをSKUごと、注文ごと、取引のあるすべての仕入先にわたって必要とします。
買掛金ソフトウェアは最初の問題 — 正しい金額を正しい仕入先に支払ったか? — のために作られています。その問いは請求書の合計で終わります。eコマースの利益率の問いは明細項目から始まり、続いていきます。
すべてのeコマース商品原価トラッカーに必要な項目
抽出ワークフローを設定する前に、何を抽出するかを決めてください。以下の列リストはeコマースの原価追跡用に設計されています — 買掛金請求書処理用ではありません。これらはSKUレベルの利益率シートに反映される項目です:
| 列名 | 仕入先請求書での表示箇所 | 利益率分析で重要な理由 |
|---|---|---|
| SKU / 商品コード | 仕入先の品番、ASIN、または社内SKU — 「Item No」「货号」「Model #」と表示されるか、商品説明に埋め込まれている場合があります | この請求書明細を在庫データおよび売上データに結びつけるキーです |
| 商品名 | 中国語のみ(「不锈钢水瓶500ml」)、中国語+英語、または英語のみで表示される場合があります | SKUが正しい物理商品に対応していることを確認します |
| 卸売単価 | 「FOB Price」「EXW Unit Price」「单价」「Unit Price」— USD、人民元、または仕入先の現地通貨の場合があります | すべての利益率計算の基準値です。通貨を必ず記録してください |
| MSRP | 常に記載されるとは限りません。記載される場合は「MSRP」「Retail Price」「建议零售价」と表示されます | 価格設定の簡易チェック — メーカー自身の推奨価格に対して、あなたの販売価格は競争力がありますか? |
| 注文数量 | 「Qty」「Order Qty」「数量」 | 仕入先が注文どおりに出荷したかを確認します |
| 受領数量 | 請求書に常に記載されるとは限らず、パッキングリストや納品書にのみ記載される場合もあります | 注文数量と受領数量の差異は原価調整のトリガーになります |
| MOQ | 「MOQ」「Minimum Order」「起订量」— 通常は見積書にSKUごとに記載され、請求書ごとには記載されません | 最適な数量で仕入れているかを追跡します。MOQ未満で購入したSKUには通常、ペナルティ価格が適用されます |
| リードタイム(日数) | 「Lead Time」「交货期」、または注文日と出荷日の差から算出されます | 仕入先の信頼性指標 — 注文全体でリードタイムが悪化している場合、発注点の調整が必要です |
| 仕入先名 | 請求書ヘッダーに記載された会社名。中国の仕入先は、Alibabaのストア名とは異なる法人名を使用することがよくあります | 仕入先ごとに原価データをグループ化し、ベンダー間のパフォーマンスを比較するために重要です |
| 運送費 / 貨物運送費 | 「Freight」「Shipping」「运费」— 請求書全体の合計、カートン単位の料金、または明細項目に含まれる場合があります | 総原価の構成要素の一つ。個々のSKUに配分する必要があります |
| 輸入関税および諸費用 | 仕入先の請求書にはほとんど記載されず、通常は通関業者またはフォワーダーの請求書に記載されます | 抽出後に単価へ加算する必要がある、もう一つの総原価の構成要素です |
| 注文日 | 「請求日」「注文日」「日期」 | トレンド分析が可能になります — 同じSKUのコストは時間の経過とともに上昇していますか? |
| 支払条件 | 「条件」「支払い」「付款条件」— 頭金30%/出荷前70%、Net 30など | キャッシュフロー計画 — サプライヤーが30/70から50/50に変更すると、運転資本のスケジュールが変わります |
すべての請求書にすべての項目が必要なわけではありません。重要なのは、利益率の計算式に反映される項目です。在庫を一切持たないドロップシッパーには受領数量は不要です。深センからコンテナを輸入するFBAセラーは、上記すべてに加えて通関業者の請求書データを統合する必要があります。あなたの原価構造に合った列を定義し、残りは抽出ツールに任せてください。
抽出から総原価まで:eコマース会計に欠けたリンク
これはeコマース事業者で毎日起きているシナリオです。FBAセラーが深圳のサプライヤーからステンレス製ウォーターボトル1,000個をFOB $3.50で発注します。彼らは$3,500を製品原価として記録します。3週間後、運送会社が海上運送費として$850を請求します。通関ブローカーの請求書には関税$262.50(申告価格の7.5%)が記載されています。その貨物は3PLの受け入れセンターで2週間、1個あたり$0.30で保管されました。セラーのスプレッドシートには製品原価が$3.50と表示されています。実際の製品原価は$5.12 — 46%の差です。
これが総原価であり、IRS Publication 334によると、仕入運送費、輸入関税、および取り扱い費用は在庫に資本化されなければなりません — これらは売上原価の一部であり、別個の営業費用ではありません。IRSの統一資本化規則(Pub 334、統一資本化規則のセクション)は、これらの間接費用を転売目的で取得した資産の基準に含めることを要求しています。これらはユニットが売れたときに売上原価を通じて回収されます — 記録していればの話ですが。
総原価の計算式は単純です:
1個あたりの総原価 =(卸売原価 + 運送費 + 関税 + 保険料 + 検査費 + 取り扱い費 + 倉庫保管費)÷ 貨物のユニット数
計算自体は難しくありません。問題は、すべての数字を1か所に集めることです。仕入先請求書には卸売原価が記載されています。運送会社の請求書には輸送費が記載されています。通関ブローカーの請求書には関税が記載されています。3PLの請求書には倉庫保管費が記載されています。4つの書類、4つの形式、3つの異なる会社 — そして計算式を実行する前に、それらすべてを同じスプレッドシートの行に揃える必要があります。ほとんどのeコマースセラーは、4つの別々のPDFから数字を手動で1つのExcel行に入力して対応しています。出荷ごと、SKUごとに。四半期に20回の出荷があり、それぞれ平均8 SKUの場合、それは160行の手動データ入力です。毎四半期。
r/FulfillmentByAmazonコミュニティのeコマースセラーは現実をこう表現しています:「SKUが数個を超えると、実際の製品原価は混乱してきます。」混乱は概念的なものではありません — セラーは総原価を理解しています。混乱は手続き上のものです:数字が異なる書類に分散しており、それらを1か所に集めるには入力が必要です。
AIで仕入先請求書データを抽出する場合、計算列を使用して抽出中に総原価計算を実行できます — AIが仕入先請求書から卸売価格を読み取り、パラメータとして入力した運送費を加算し、関税率を適用して、1個あたりの総原価を直接出力します。別途スプレッドシートの手順は不要です。出力列には「1個あたりの総原価」とラベルが付けられ、その下の数字はマージン計算式にそのまま使えます。抽出の基本についての完全な解説は、請求書データ抽出の詳細ガイドをご覧ください。
抽出ワークフローの仕組み
ここでは、仕入先請求書のフォルダを持っていて、マージン計算用のスプレッドシートが必要な方のためのステップバイステップのプロセスをご紹介します。AP自動化の導入ではありません。目的は、混在フォーマットの書類の山から、1回のセッションで単一のExcelファイルに変換することです。
ファイルは安全に処理され、保存されることはありません。
AlibabaのPDF貿易保証請求書、WeChatで受け取った1688のスクリーンショット、スキャンしてPDFにした工場のプロフォーマ請求書、運送会社の請求書、通関業者の明細書など、あらゆる形式をドラッグ&ドロップできます。PDF、JPG、PNGを混在して一度にアップロード可能です。AIは各書類を個別に読み取るため、すべての仕入先が同じ請求書レイアウトを使う必要はありません。4社の仕入先から30 SKUを扱うセラーなら、四半期分の請求書を一度にアップロードできます。ワークフローを試す場合は、2社分の請求書(AlibabaのPDF1枚と工場のプロフォーマ1枚)から始めると、1つの列リストが両方からデータを取得する様子を確認できます。
これがセマンティックAI抽出とテンプレートベースのOCRの違いです。各仕入先の請求書レイアウトにフィールドの枠を描く代わりに、必要な列名を入力するだけです — 「SKU」「商品名」「単価(卸値)」「注文数量」「仕入先」「注文日」「運送費」。AIはフィールドの意味を理解して各値を特定します。SKUコードはAlibabaの請求書では「Item No」、1688のスクリーンショットでは「货号」、工場のプロフォーマでは商品説明行に埋め込まれているかもしれません。3つの異なる位置、3つの異なるラベル — 1つの列定義で全部を捕捉できます。これがカスタム列抽出です:列名を入力すれば、AIがどの書類でも一致する値を探して行を埋めます — テンプレート不要、仕入先ごとの設定不要、レイアウト依存のルールも不要です。
「総原価(単価(卸値)+(運送費 ÷ 注文数量)+(単価(卸値) × 0.075))」のような計算列を定義します — 実際の関税率に置き換えてください。AIが卸値を抽出し、運送費の配分を読み取り、処理中に計算を実行します。出力ファイルを開くと、総原価の列はすでに埋まっています — 後処理の数式は不要です。仕入先請求書が異なる通貨コードを使用している場合は、推論列も使えます:正しい換算を適用するルールで、単一通貨で出力するよう列を設定します。
XLSX形式でダウンロード。各請求書の行は、Alibabaのtrade assurance PDF、工場のproformaスキャン、1688サプライヤーからのWhatsAppスクリーンショットのいずれがソースでも、同じ列構成です。サプライヤー別ファイルの統合は不要。スプレッドシート間のコピー&ペーストも不要。マージン分析にすぐ使える1つの出力ファイルが得られます。大量の場合は、バッチ請求書抽出が同じ列定義で数百件の文書を処理し、1ページあたり5〜10秒で処理します — 1ページの手入力と比べて約18倍高速です。
仕入先請求書の形式が特殊な問題となる理由
テンプレートベースのOCRツールは、文書を既知のレイアウトと照合することで機能します。ツールに「請求書番号は常にこのPDFの右上にある」と教え込むのです。これは毎月同じ仕入先から請求書を処理する場合には機能します。しかし、eコマースの仕入先との関係はそうではありません:
- Alibaba Trade Assuranceの請求書は、Alibaba独自のフォーマットに従い、商品詳細、配送、支払い保護のセクションが分かれています。整然としてはいますが、他の仕入先のレイアウトとはまったく異なります。
- 1688の仕入先スクリーンショットは、多くの場合、1688の注文画面をスマートフォンで撮影したものです。商品名は中国語、単価は人民元、注文数量が表示されており、人間には判読できますが、構造化されたPDFは存在しません。
- 工場のプロフォーマ請求書は工場ごとに異なります。会社のレターヘッド、インコタームズ、銀行口座情報を備えた正式なテンプレートを使用する工場もあれば、Word文書の表をPDFに書き出しただけの工場もあります。さらに、手書きのものを写真に撮った請求書もあります。
- 運送業者の請求書はSKU単位ではなく出荷単位で請求され、仕入先請求書のデータと統合する必要があります。運送費はその出荷に含まれるSKUに配賦しなければなりません。
- ドロップシッピング仕入先の請求書(AliExpressやShein関連の仕入先)は、英語と中国語が混在した商品名のスクリーンショットとして届くことがよくあります。人間には解析できる「チャングリッシュ」の説明文ですが、キーワードベースのOCRツールは誤読します。
テンプレートベースのツールでは、レイアウトごとに個別のテンプレートが必要です。仕入先が4社あればテンプレートも4つ。新しい仕入先を追加すれば、新しいテンプレートが必要です。仕入先が請求書の形式を変更すれば、テンプレートは壊れ、誰かが気づくまで不完全な抽出を静かに続けます。成長中のeコマースストアで一般的な8〜10社のアクティブな仕入先を抱えると、テンプレートのメンテナンス負担が自動化によって節約できる時間を上回ってしまいます。
セマンティック抽出はこの問題を完全に回避します。AIは調達マネージャーと同じように請求書を読み取ります。商品、価格、数量、日付を含む文書として認識するのです。座標やラベルの照合には依存しません。「单价 ¥23.50」と書かれた1688のスクリーンショットと、「Unit Price $3.50」と書かれたAlibabaの請求書が、言語も位置も異なっていても同じフィールドであることを理解します。このアプローチにより、単一の列名セットが全仕入先で機能し、形式をまたいだ統合抽出が仕入先ごとの設定なしで可能になります。
重要な違い:テンプレートベースの抽出は、仕入先が増えるたびに設定作業が増えます。AIベースの抽出は設定作業を一定に保ちます。年間2〜3社の新規仕入先を追加するeコマースストアにとって、これはスケールするワークフローと、結局手入力に戻されるワークフローの違いです。
スプレッドシートからマージンダッシュボードへ
仕入先請求書のデータが構造化されたスプレッドシートにまとまれば、これまで四半期ごとの推測に頼っていたマージン分析が、生きたデータセットになります。実際には次のような形です。
SKU別売上総利益率は、毎月手作業で再計算する数値ではなく、セルから引っ張り出す計算式になります。販売価格からSKUあたりの総原価を差し引き、販売価格で割ります。卸売原価が$3.50で利益が出そうに見えたSKUでも、総原価が$5.12になると利益率は12%になり、ほとんどのFBAセラーがAmazon手数料を賄うために目標とする15〜20%の最低ラインを下回る可能性があります。抽出がなければ、この計算は思い出したときに一度だけ手作業で行われます。抽出があれば、スプレッドシートを更新するたびに常に最新の値が反映されます。あるAmazonセラーのCFOがRedditで指摘したように:「SKUが数個を超えると、実際の製品原価は混乱してきます。」抽出こそが、その混乱を解消するのです。
Amazon FBAセラーには、さらに別の利点があります。製品原価とフルフィルメント費用を分離できることです。Amazonは紹介手数料(通常15%)、FBAフルフィルメント手数料、保管手数料、広告費を請求しますが、これらはどれも仕入先請求書には記載されません。SKUレベルの抽出スプレッドシートでは、仕入先側のコスト(卸売、運送費、関税)を一つの列グループにまとめ、Amazon側のコストを別の列グループに追加できます。これで、マージンを2つのレベルで確認できます。製品マージン(販売価格から総原価を差し引いたもの)と、Amazon手数料を差し引いた純マージンです。製品マージンが40%でもFBA手数料後の純マージンが8%の製品と、製品マージン25%で純マージン18%の製品では、意味が異なります。抽出ステップが正確な総原価データを供給しなければ、どちらの製品も「$3.50」のように見え、実際のマージンの実態は明らかになりません。
仕入先のパフォーマンス追跡は、同じデータセットの副産物になります。リードタイムの傾向(仕入先Aの平均納期が30日から38日に伸びていないか)、コストの傾向(仕入先Bの単価がカテゴリ平均より速く上昇していないか)、MOQの遵守状況(うっかり最低注文数量を下回って注文し、気づかないうちに割増価格を支払っていないか)。これらの質問は、個々の請求書からは答えられません。注文サイクルごとに更新される構造化されたスプレッドシートからなら、簡単に答えられます。
そして、関税率が変わったとき(2025〜2026年に繰り返し発生しており、米国統一関税率表の関税率は製品カテゴリごとに変動しています)、総原価データがすでに構造化されていれば、関税要素を再計算して、どのSKUが最も影響を受けるかをすぐに確認できます。構造化されていなければ、すべての仕入先請求書をフォルダから取り出して、手作業で再計算することになります。
FAQ
中国語の仕入先請求書でも使えますか?
はい。AIは中国語、英語、および混合言語の文書を読み取ります。1688の仕入先スクリーンショットで、商品名が中国語(「不锈钢保温杯」)、価格が人民元、数量がアラビア数字で記載されている場合も、英語のAlibaba貿易保証請求書と同じように読み取ります。英語で定義した列名(「SKU」「商品名」「卸売原価」)がヘッダーになり、AIはソース言語に関係なく対応する値を抽出します。中国語の請求書に「¥23.50」と記載されていれば、AIはこれが「卸売原価」列の値であると理解して抽出します。
PDFだけでなく、スクリーンショットからもデータを抽出できますか?
はい。このツールはJPG、PNG、PDFの入力に対応しています。WhatsAppやWeChatの電話スクリーンショット(1688の仕入先が注文確認書を画像で送ってくる場合によくあります)も、スキャンしたPDFと同じように処理されます。AIは画像の視覚的な内容を読み取るため、埋め込まれたテキストレイヤーは使用しません。したがって、仕入先の社内システムを表示しているコンピューター画面の写真でも機能します。画質は重要です。480pのぼやけたスクリーンショットは、1080pの鮮明なスクリーンショットよりも抽出精度が低くなります。圧縮率の高い画像の場合は、低解像度抽出戦略が役立ちます。
請求書に合計しかない場合、SKU全体に運送費をどのように配分しますか?
ほとんどの運送業者の請求書には、SKUごとの内訳ではなく、出荷ごとの合計金額のみが記載されています。選択肢は3つあります。(1) 計算列を使用して、運送費の合計を出荷内の全SKUの合計注文数量で割り、均等な単位あたりの配分を算出します。(2) 重量で配分する — 運送業者の請求書に総重量が記載されている場合は、各SKUの単位重量に数量を掛けた値に基づいて運送費のシェアを計算する計算列を作成します。(3) 価値で配分する — 高価なSKUは、運送費の比例的に大きなシェアを吸収します。どの方法を使用するかは、運送費の構造によって異なります。重量ベースの配分は海上運送(コンテナ/重量あたりの価格設定)に適しており、価値ベースは航空運送(kgあたりの価格に価値割増金が加算)に適しています。抽出ツールは、ルールを定義すれば計算を処理します。運送業者にSKUごとの明細を要求する必要はありません。
関税はどうですか?それは数か月後に別の請求書で届きますよね?
これは実際の問題です。運送業者や通関業者は、貨物が通関してから3〜6週間後に関税請求書を送ることがよくあります。在庫を販売して売上原価を記録した後になることもあります。正しいアプローチは、今すぐ仕入先請求書データを抽出して、卸売原価と運送費をスプレッドシートに入力することです。通関業者の請求書が届いたら、「出荷ID」「支払関税」「日付」などの列を使用して、別のタブに抽出します。VLOOKUPまたはINDEX-MATCHを使用して、元の出荷の総原価列に関税額を引き込みます。これにより、遅れて発生するコストが入ってきても、マージンデータの精度を維持できます。発生主義会計を使用している場合は、IRS Pub 334で、受領時に総原価を見積もって発生させ、実際の請求書が届いたときに調整することが期待されています。
QuickBooksやXeroと連携できますか?
このツールはExcel(XLSX)、CSV、JSON形式で出力します。抽出したデータをダウンロードして、QuickBooks、Xero、またはファイルインポートに対応した任意の会計プラットフォームに取り込むことができます。直接のAPI連携はありません。A2Xなどのツールを使ってAmazonの決済をQuickBooksに連携しているeコマース事業者の場合、抽出による仕入先側の原価データが、それらのツールでは取得できない売上原価の入力値となります。抽出した仕入先請求書のスプレッドシートを仕訳や在庫原価の更新としてインポートしてください。Googleスプレッドシートで原価管理をしている事業者は、Googleスプレッドシートのアドオンを使えば、Googleスプレッドシートから離れることなく、仕入先請求書データを直接トラッキングシートに抽出できます。
一度に処理できる請求書の枚数は?
複数の請求書を1つのバッチでアップロードできます。各ページの処理時間は5〜10秒です。バッチサイズに上限はありませんが、処理時間はページ数に比例して増加します。平均2ページの請求書20枚(合計40ページ)のバッチは、約3〜7分で処理されます。実際の制約はツールの容量ではなく、バッチ内の全仕入先にわたって必要なすべてのフィールドをカバーする列名を定義しているかどうかです。大規模な四半期バッチ処理には、バッチ抽出が高ボリュームを効率的に処理します。
スプレッドシートは簡単な部分
ほとんどのeコマース事業者はマージンの計算を理解しています。総原価=卸値+運送費+関税+手数料であることを知っています。SKUごとに追跡すべきことも分かっています。チェーンの中で欠けているのは知識ではなく、データが十数社の仕入先からのPDFやスクリーンショットにあり、それをスプレッドシートに入力するにはタイピングが必要だということです。総原価の計算に関する記事はどれもこのステップを省略しています。計算式を示して、数字がすでに列にあると想定しているのです。
実際にはそうではありません。数字はAlibabaの貿易保証PDF、1688のスクリーンショット、運送会社の請求書という3つの異なる形式にあります。抽出こそが計算式を使えるようにするステップです。仕入先ごとにテンプレートを作らずに仕入先請求書データを構造化されたスプレッドシートに取り込めるようになれば、マージン分析は四半期ごとのプロジェクトではなくなり、毎回の出荷後に数分で更新できるものになります。
登録は不要です。仕入先請求書をアップロードして列を定義するだけです。