納品書と請求書は、どちらも取引の記録ですが、目的が違うため必要な項目も異なります。納品書は「何をどこへ届けたか」を示す物流記録、請求書は「いくら支払うべきか」を示す財務記録です。同じCSVデータから両方を出力する場合、テンプレートごとに列マッピングを変えることで出し分けられます。この記事では、両帳票の項目違い、CSV列の対応関係、確認ポイントを整理します。
納品書と請求書の役目の違い
納品書は商品の配送・受領を証明する書類です。届け先の倉庫や店舗で荷受人が確認するため、物流に関わる項目が中心になります。
請求書は代金の支払いを求める書類です。経理部門が確認・処理するため、金額計算や支払条件に関わる項目が中心になります。
両者は同じ取引を異なる観点から記録しているため、元データは共通でも出力する項目が変わります。
共通項目と固有項目
両方に含まれる共通項目
- 商品名
- 数量
- 単価
- 備考(自由記述欄)
- 注文番号
- 発行元の会社名・連絡先
これらはCSVの基本列からそのまま参照できる項目です。
納品書にだけ必要な項目
- 納品先住所(請求先と異なる場合に必須)
- 納品日
- 配送業者名
- 追跡番号
- 倉庫名・出庫元
- 梱包明細(箱数・重量など)
請求書にだけ必要な項目
- 請求先名・請求先住所
- 請求番号
- 請求日
- 支払期限
- 振込先口座情報
- 消費税の内訳(税率ごとの税額)
- 小計・合計金額
項目比較表
| 項目 | 納品書 | 請求書 | 元データ列 | 備考 |
|---|---|---|---|---|
| 商品名 | 〇 | 〇 | product_name | 共通 |
| 数量 | 〇 | 〇 | quantity | 共通 |
| 単価 | 〇 | 〇 | unit_price | 共通 |
| 備考 | 〇 | 〇 | notes | 共通 |
| 注文番号 | 〇 | 〇 | order_id | 共通 |
| 納品先住所 | 〇 | - | delivery_address | 納品書のみ |
| 納品日 | 〇 | - | delivery_date | 納品書のみ |
| 配送業者 | 〇 | - | carrier_name | 納品書のみ |
| 追跡番号 | 〇 | - | tracking_number | 納品書のみ |
| 倉庫名 | 〇 | - | warehouse_name | 納品書のみ |
| 梱包明細 | 〇 | - | packing_info | 納品書のみ |
| 請求先名 | - | 〇 | billing_name | 請求書のみ |
| 請求番号 | - | 〇 | invoice_number | 請求書のみ |
| 請求日 | - | 〇 | invoice_date | 請求書のみ |
| 支払期限 | - | 〇 | payment_due | 請求書のみ |
| 振込先 | - | 〇 | bank_account | 請求書のみ |
| 消費税内訳 | - | 〇 | tax_rate / tax_amount | 請求書のみ |
| 合計金額 | - | 〇 | total_amount | 計算列で生成も可 |
1つのCSVから2つの帳票を出し分ける仕組み
1つのCSVに納品書用・請求書用の列をすべて含めておき、テンプレート側で使う列だけをマッピングするのが一般的です。
CSVの列構成イメージ
order_id,product_name,quantity,unit_price,delivery_address,delivery_date,carrier_name,tracking_number,warehouse_name,packing_info,billing_name,billing_address,invoice_number,invoice_date,payment_due,bank_account,tax_rate,tax_amount,total_amount,notes
テンプレートごとの列マッピング
納品書テンプレートは、delivery_address、carrier_name、tracking_number など物流関連の列を参照します。請求書テンプレートは、billing_name、payment_due、tax_amount など金額関連の列を参照します。CSVの読み込み側でテンプレートに合わせて列を取捨選択すれば、1つのデータファイルから両方の出力が可能です。
納品先と請求先が異なるケース
B2B取引では「納品先」と「請求先」が違う住所になることがよくあります。たとえば本社宛てに請求書を送り、実際の商品は地方の倉庫に届けるようなケースです。
この場合、CSVには2つの住所列を用意する必要があります。
| 列名 | 内容 | 使用帳票 |
|---|---|---|
| delivery_address | 商品の届け先 | 納品書 |
| billing_address | 請求書の送り先 | 請求書 |
両方が同じ場合は同じ値を入れておき、テンプレート側でそれぞれの列を参照する設計にしておけば、住所の使い分けを自動で処理できます。
出力前の確認チェックリスト
| 確認項目 | 納品書 | 請求書 | 備考 |
|---|---|---|---|
| 必須項目が空欄でないか | □ | □ | 商品名・数量は必須 |
| 納品先と請求先の使い分け | □ | □ | 住所列の参照先が正しいか |
| 金額の計算整合性 | - | □ | 小計+税=合計 |
| 日付の形式統一 | □ | □ | YYYY-MM-DD 推奨 |
| 注文番号の一致 | □ | □ | 両帳票で同じ番号か |
| テンプレート選択 | □ | □ | 出力先に合ったテンプレートか |
自動で確認できる部分
- 必須列の欠落チェック(テンプレートに必要な列がCSVに存在するか)
- 空欄の検出(必須項目に値が入っているか)
- データ型の検証(数量が数値、日付が有効なフォーマットか)
- 金額の計算照合(単価 × 数量 = 小計、小計 + 消費税 = 合計)
- 納品書と請求書間の注文番号・商品情報の整合性
- 住所列の使い分け確認(delivery_address と billing_address の参照先)
これらはスクリプトで機械的に検証できるため、出力前に自動チェックを通すことで手戻りを減らせます。
人間が判断すべき部分
- どのテンプレートを使うか(納品書・請求書・両方など)
- 項目の優先順位付け(どの列を必須とするかの業務判断)
- 消費税率や免税の扱い(法令に関わる部分は専門家の確認が別途必要です)
- 振込先口座の正確性(銀行側の情報と突合)
- 備考欄の記載内容(取引先との約束事項の反映)
法令や税務に関わる部分(消費税の計算方法、インボイス制度への対応など)については、当社の専門外ですので税理士や関係機関にご確認ください。
相談時に用意するとよい情報
- 現在使っている納品書・請求書の見本(項目のレイアウトがわかるもの)
- 出力元のCSVの列構成(ヘッダー行だけでも可)
- 納品先と請求先が異なるケースの有無
- 1回の処理で出力する帳票の種類と枚数の目安
- 出力フォーマット(PDF、印刷、CSV添付など)
初回相談では機密CSVやスクリーンショットの送付は不要です。上記の情報をテキストで共有いただければ、概算の対応方針をご案内できます。
参考にした公式情報
Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。
無料診断を依頼する
