サムネイル

ShopifyでCSV注文作成を実現!一括注文インポートのメリットと方法を徹底解説

目次

はじめに

Shopify ストアを運営していると、「注文をまとめて取り込みたい」という場面に直面することがあります。別の EC システムから Shopify へ移行するとき、店頭・電話・FAX で受けたオフライン注文を登録するとき、あるいは卸・BtoB の注文をまとめて処理するとき。こうした場合に、注文を 1 件ずつ手入力していては、膨大な時間がかかってしまいます。

そこで役立つのが CSV 注文作成 の仕組みです。注文情報をまとめた CSV ファイルをアップロードするだけで Shopify に注文を一括登録できれば、一括注文インポート によって作業時間を劇的に短縮できます。

しかし、Shopify の標準機能だけでは、CSV から注文を一括作成することはできません。この記事では、CSV 注文作成・一括注文インポートのメリット・デメリットから、実現方法、おすすめアプリ「シンプル CSV 注文作成|お手軽一括注文インポート」の使い方、さらにコードで実装する場合のサンプルまでを徹底解説します。

今回は、以下の記事を参考にしています。

記事の構成

この記事は以下の流れで解説します。

  • Shopify で CSV 注文作成・一括注文インポートは実現できるのか
  • 一括注文インポートのメリット・デメリット
  • テーマのコード編集とアプリ導入の比較
  • おすすめアプリ「シンプル CSV 注文作成」の紹介と使い方
  • コードで実装する場合のサンプル
  • 関連施策との組み合わせ
  • よくある質問とまとめ

Shopify で CSV 注文作成・一括注文インポートは実現できる?

結論から言うと、Shopify の標準機能だけでは、CSV から注文を一括作成することはできません。

Shopify には商品や顧客を CSV でインポートする機能は標準で備わっています。しかし、注文(オーダー)に関しては、CSV から一括で取り込む機能が用意されていません。管理画面の「下書き注文」から 1 件ずつ手動で作成することはできますが、大量の注文を扱う場合には非現実的です。

CSV 注文作成・一括注文インポートを実現するには、主に次の 2 つの方法があります。

  • テーマのコード編集(Admin API)で実装する方法:Shopify の Admin GraphQL API を使って、CSV を読み込み注文を作成するスクリプトを自作する
  • アプリを導入して実装する方法:CSV 注文作成に対応したアプリをインストールして、管理画面から CSV をアップロードする

それぞれにメリット・デメリットがあるため、後ほど比較します。

一括注文インポートを行うメリット・デメリット

メリット

作業時間を大幅に短縮できる

注文を 1 件ずつ手入力する必要がなくなり、数十〜数百件の注文を一度の操作で取り込めます。繁忙期やセール後の注文処理、他システムからの移行時など、まとまった件数を扱う場面で作業負担を大きく減らせます。

  • 数百件の注文を数分で取り込める
  • 担当者の作業時間を他の業務に回せる

入力ミスを防げる

手入力では避けられない打ち間違いやコピペミスを、CSV による一括処理で減らせます。検証モードを備えたアプリなら、取り込み前にエラーを検出できるため、より安全にインポートできます。

  • 価格・数量の打ち間違いを防止
  • 顧客情報の入力漏れを事前に検出

過去注文を正確に再現できる

注文日時・税金・割引・配送先などを CSV で細かく指定できれば、他システムからの移行時にも元の注文情報を忠実に再現できます。

  • 注文日時を指定して過去日付の注文を作成
  • 税金・割引・配送料まで含めて再現

デメリット

CSV のフォーマットを整える必要がある

アプリが指定する列名・形式に合わせて CSV を準備する手間が発生します。ただし、サンプル CSV を配布しているアプリを選べば、この負担は大きく軽減できます。

文字コードによる文字化けに注意が必要

日本語を含む CSV では、Shift-JIS と UTF-8 の違いによる文字化けが起こりがちです。文字コードを自動判定してくれるアプリを使えば、この問題を回避できます。

商品・顧客の対応付けに注意が必要

CSV 内のバリアント ID や SKU が Shopify 側の商品と正しく対応していないと、注文の作成に失敗します。インポート前に検証する習慣をつけると安心です。

テーマのコード編集とアプリ導入の比較

テーマのコード編集(Admin API)で実装する方法

メリット

  • 自社の要件に合わせて自由にカスタマイズできる
  • アプリの月額費用がかからない

デメリット

  • Admin API やプログラミングの知識が必要
  • 文字コード変換・エラーハンドリング・検証機能をすべて自作する必要がある
  • レート制限への対応やメンテナンスの負担が発生する

アプリを導入する方法

メリット

  • ノーコードで CSV をアップロードするだけで注文を作成できる
  • 文字コードの自動判定や検証モードなど、便利な機能が最初から揃っている
  • 管理画面が日本語に対応しているアプリならサポートも安心

デメリット

  • 月額費用がかかる
  • アプリが対応していない特殊な要件には対応しづらい場合がある

結論:最初はアプリで小さく試すのがおすすめ

コード実装は柔軟性が高い一方、開発・保守の負担が大きくなりがちです。まずはアプリを導入して、CSV 注文作成・一括注文インポートの効果を小さく試してみるのがおすすめです。特に「注文の一括作成」をシンプルに始めたい場合は、専用アプリが手軽で確実です。

おすすめ Shopify アプリ「シンプル CSV 注文作成|お手軽一括注文インポート」紹介

ここからは、CSV 注文作成に特化したおすすめアプリ「シンプル CSV 注文作成|お手軽一括注文インポート」を紹介します。

シンプルCSV注文作成アプリのメインビジュアル

アプリの基本情報

  • アプリ名:シンプル CSV 注文作成|お手軽一括注文インポート
  • 開発者:株式会社 UnReact
  • 料金:Basic Plan 月額 $19.99(7 日間の無料体験つき、年払いで実質 2 ヶ月分無料)
  • 特徴:CSV から最大 100 件の注文を一括作成、Shift-JIS / UTF-8 自動判定、検証モード、エラー行の再ダウンロード
  • 管理画面:日本語対応

できること

本アプリは、CSV ファイルをアップロードするだけで Shopify の注文を一括作成できる管理画面アプリです。主な機能を画像付きで紹介します。

CSV ファイルをアップロードして注文を一括作成

専用の CSV ファイルをアプリにアップロードするだけで、Shopify に注文をまとめて作成できます。1 回のインポートで最大 100 行(100 注文分)まで処理できるため、まとまった件数の注文データもスムーズに取り込めます。

CSVファイルをアップロードして注文を一括作成する画面

インポート結果を成功・失敗件数で一目で確認

インポートが終わると、成功件数と失敗件数が結果バナーに表示されます。エラーが発生した場合は、エラー内容も併せて確認でき、原因の特定もスムーズに行えます。

インポート結果を成功・失敗件数で確認できる画面

検証モードでインポート前にエラーを事前チェック

実際の注文作成は行わず、CSV の内容に問題がないかだけをチェックできる検証モードを用意しています。バリアント ID や数量の誤り、顧客情報の不足などを事前に検出できるため、大量の注文を作成する前に安心して内容を確認できます。

検証モードでインポート前にエラーを事前チェックする画面

エラー行を CSV でダウンロードして修正・再インポート

インポート中に発生したエラー行だけを、元の CSV と同じ形式でダウンロードできます。すべての行を見直す必要がなく、エラーが発生した行だけを修正してそのまま再インポートできます。BOM 付き UTF-8 で出力されるため、Excel で開いても文字化けしません。

エラー行をCSVでダウンロードして修正・再インポートする画面

顧客情報・配送先・税金・割引まで CSV で細かく指定可能

顧客の姓名・メールアドレス・電話番号、配送先住所、配送方法、配送料、税金、固定額割引、注文メモ、タグ、注文日時まで、27 項目を CSV で指定できます。過去注文の正確な再現や、複雑な注文データの一括登録に最適です。

顧客情報・配送先・税金・割引などをCSVで指定する画面

バリアント ID・SKU 指定で商品を柔軟にインポート

商品の指定方法は、バリアント ID と SKU の 2 種類から選べます。バリアント ID 列に商品 ID を入力した場合は、自動でその商品の最初のバリアントが取得されるため、複数のシステムを併用している場合でも柔軟にインポートできます。

バリアントID・SKUで商品を柔軟にインポートする画面

アプリのインストール手順

本アプリは Shopify アプリストアからインストールできます。以下の手順に沿って進めてください。

  1. Shopify 管理画面の左下にある「設定」をクリックします。

    Shopify管理画面の左下にある設定メニュー

  2. 「アプリと販売チャネル」をクリックし、「Shopify アプリストア」へ移動します。

    アプリと販売チャネル画面からShopifyアプリストアへ移動するボタン

  3. 検索窓に「シンプル CSV 注文作成」と入力し、表示されたアプリをクリックします。

    Shopifyアプリストアでの検索結果画面

  4. アプリ詳細画面で「インストール」をクリックします。

    アプリストアの詳細画面とインストールボタン

  5. 権限の確認画面が表示されますので、内容を確認のうえ「インストール」を完了します。

    アプリインストール時の権限確認画面

本アプリは管理画面に設置するだけで、すぐに CSV から注文を一括作成できます。テーマへの追加作業は不要です。

アプリの使い方を理解する

1. CSV ファイルを準備する

まずは、注文情報を記載した CSV ファイルを用意します。サンプル CSV はアプリの管理画面からダウンロードできますので、最初はサンプルをベースにご自身のデータに置き換えるのがおすすめです。

アプリ管理画面のサンプルCSVダウンロードボタン

CSV の基本ルールは次のとおりです。

  • エンコーディング:UTF-8 または Shift-JIS(アプリが自動判定)
  • 最大行数:1 ファイルあたり最大 100 行(ヘッダー除く)
  • 必須列:「顧客姓」「数量」「商品バリアント ID または SKU(どちらか一方)」
  • 同じ注文番号の行:1 つの注文として複数商品を含められます

2. CSV ファイルをアップロードする

アプリの管理画面のアップロードエリアに、CSV ファイルをドラッグ&ドロップするか、ファイル選択ダイアログから選んでください。

CSVファイルのアップロード画面

3. インポート前に検証する

いきなり本番のインポートを行う前に、検証モードで内容をチェックすることをおすすめします。「検証のみ」ボタンをクリックすると、CSV の各行に対してエラーチェックが実行され、問題のある行番号とエラー内容が表示されます。

検証モードでの事前チェック画面

4. 注文をインポートする

CSV の準備が整ったら、本番のインポートです。インポート時には、作成する注文の財務ステータス(支払済み/未払い)を選択できます。また、過去注文の移行時など、お客様に注文確認メールを送りたくない場合は、「注文確認メールを顧客に送信する」のチェックを外してください(デフォルトは OFF)。

財務ステータス選択とメール送信チェックボックス

「インポート」ボタンをクリックすると、CSV の各行が順番に処理され、進捗状況がリアルタイムで更新されます。

インポート中の進捗バー表示画面

5. インポート履歴を確認する

過去のインポート結果は、管理画面の「インポート履歴」に最大 20 件まで保存されます。いつ何件のインポートを行ったかが一目でわかるため、作業ログとしてご活用いただけます。

インポート履歴一覧画面

すぐ使えるおすすめの活用例

CSV 注文作成・一括注文インポートは、次のようなユースケースで特に効果を発揮します。

他システムからの移行

別の EC カートや受注管理システムから Shopify へ乗り換える際、過去注文を CSV で書き出し、注文日時や税金・割引まで含めて Shopify に再現できます。注文確認メールの送信を OFF にしておけば、お客様に余計なメールを送ることなく移行が完了します。

オフライン注文の登録

電話・FAX・店頭などで受けたオフライン注文をまとめて Shopify に登録できます。実店舗と Shopify を併用しているストアでも、売上データを一元管理しやすくなります。

卸・BtoB 注文の一括処理

取引先から届いた注文書をもとに、大量の注文をまとめて作成できます。同じ注文番号の行をまとめれば、複数商品を含む 1 つの注文として登録できます。

テーマのコード編集で実装する場合のサンプルコード

アプリを使わず、自前で CSV から注文を作成したい場合は、Shopify の Admin GraphQL API を使う方法があります。ここでは Node.js を使ったサンプルを紹介します。

実装の流れ

  1. CSV ファイルを読み込んでパースする
  2. 各行を下書き注文の入力データに変換する
  3. draftOrderCreate ミューテーションで下書き注文を作成する
  4. 必要に応じて draftOrderComplete で注文を確定する

CSV を読み込む

まずは CSV を読み込み、1 行ずつオブジェクトに変換します。

import fs from 'node:fs';
import { parse } from 'csv-parse/sync';

// CSV ファイルを読み込んで配列に変換する
const readCsv = (filePath) => {
  const content = fs.readFileSync(filePath, 'utf-8');
  // 1 行目をヘッダーとして扱い、各行をオブジェクトにする
  return parse(content, {
    columns: true,
    skip_empty_lines: true,
    trim: true,
  });
};

const rows = readCsv('./orders.csv');

下書き注文の入力データを組み立てる

CSV の各行を、draftOrderCreate に渡す入力データへ変換します。

// CSV の 1 行を下書き注文の入力に変換する
const toDraftOrderInput = (row) => ({
  lineItems: [
    {
      // バリアント ID は gid 形式で指定する
      variantId: `gid://shopify/ProductVariant/${row['商品バリアントID']}`,
      quantity: Number(row['数量']),
    },
  ],
  email: row['顧客メールアドレス'] || undefined,
  shippingAddress: {
    lastName: row['配送先姓'],
    firstName: row['配送先名'],
    address1: row['配送先住所1'],
    city: row['配送先市区町村'],
    countryCode: row['配送先国コード'] || 'JP',
  },
  note: row['注文メモ'] || undefined,
  tags: row['タグ'] ? row['タグ'].split(',') : [],
});

Admin GraphQL API で下書き注文を作成する

組み立てた入力データを使って、下書き注文を作成します。

const SHOP = 'your-shop.myshopify.com';
const TOKEN = process.env.SHOPIFY_ADMIN_TOKEN;

const DRAFT_ORDER_CREATE = `
  mutation draftOrderCreate($input: DraftOrderInput!) {
    draftOrderCreate(input: $input) {
      draftOrder { id }
      userErrors { field message }
    }
  }
`;

const createDraftOrder = async (input) => {
  const res = await fetch(`https://${SHOP}/admin/api/2026-04/graphql.json`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-Shopify-Access-Token': TOKEN,
    },
    body: JSON.stringify({ query: DRAFT_ORDER_CREATE, variables: { input } }),
  });
  const json = await res.json();
  // userErrors を確認してエラーがあればログ出力
  const errors = json.data?.draftOrderCreate?.userErrors ?? [];
  if (errors.length > 0) {
    console.error('下書き注文の作成に失敗しました:', errors);
    return null;
  }
  return json.data.draftOrderCreate.draftOrder.id;
};

for (const row of rows) {
  const draftOrderId = await createDraftOrder(toDraftOrderInput(row));
  console.log('作成した下書き注文:', draftOrderId);
}

コード実装の注意点

  • Admin API にはレート制限があるため、大量の注文を作成する場合はリクエスト間隔の調整やリトライ処理が必要です。
  • バリアント ID は gid://shopify/ProductVariant/... の形式で指定する必要があります。
  • 日本語を含む CSV では文字コードに注意し、必要に応じて Shift-JIS から UTF-8 へ変換してください。
  • エラーが発生した行を記録し、修正後に再実行できる仕組みを用意しておくと安全です。

このように自前での実装も可能ですが、文字コード対応・検証機能・エラー行の再処理まで含めると、開発・保守の負担は決して小さくありません。手間をかけずに確実に注文を取り込みたい場合は、専用アプリの導入をおすすめします。

関連施策との組み合わせ

CSV 注文作成・一括注文インポートは、他の施策と組み合わせることで、さらにストア運営を効率化できます。

顧客タグ・注文タグの活用

CSV のタグ列を使えば、インポートした注文に任意のタグを付与できます。「卸注文」「移行データ」「店頭注文」などのタグを付けておけば、後から注文を絞り込んで分析したり、ワークフローの自動化に活用したりできます。本アプリでは、注文番号を指定した注文に自動で csv-import-ref-{注文番号} タグが付与され、重複インポートを防げる仕組みも備わっています。

一括フルフィルメントとの連携

注文を一括作成したあとは、出荷処理も一括で行いたいものです。追跡番号を CSV でアップロードして一括フルフィルメントできるアプリと組み合わせれば、注文の作成から出荷までを効率的に進められます。

データのエクスポート・レポートとの連携

インポートした注文データは、エクスポート・レポート系のアプリと組み合わせることで、会計・ERP との連携や売上分析にも活用できます。インポートとエクスポートをセットで運用すれば、Shopify を中心としたデータ管理がスムーズになります。

運用のコツ

  • 初めて使うときは、必ず検証モードで内容を確認してから本番インポートを行いましょう。
  • まずは数件のサンプルでテストし、想定どおりに注文が作成されるか確認してから、本番データを取り込むと安心です。
  • 過去注文を移行する際は、注文確認メールの送信を OFF にしておきましょう。
  • エラーが出た場合は、エラー行だけをダウンロードして修正・再インポートすれば効率的です。

よくある質問

Q. 1 つの注文に複数の商品を含めるには?

CSV の「注文番号」列に同じ番号を入れた行が、1 つの注文にまとめられます。3 行に同じ注文番号を入れれば、3 商品を含む 1 注文が作成されます。

Q. 顧客情報がなくても注文を作成できますか?

「顧客姓」「数量」「商品バリアント ID または SKU」さえあれば注文は作成できます。顧客情報がない場合は、顧客に紐付かないゲスト注文として作成されます。

Q. 同じ CSV を 2 回アップロードしてしまったらどうなりますか?

注文番号が指定されている注文には自動で csv-import-ref-{注文番号} タグが付与されます。同じ注文番号で再度インポートを実行すると、すでに作成済みの注文はスキップされるため、重複登録を防げます。

Q. 過去の日付で注文を作成できますか?

はい、CSV の「注文日時」列に過去の日時を指定することで、過去日付の注文として作成できます。ストア移行などで元の注文日時を保持したい場合に便利です。

Q. Shift-JIS の CSV でも使えますか?

はい、本アプリは Shift-JIS と UTF-8 を自動判定するため、どちらの文字コードの CSV でも文字化けなく取り込めます。

まとめ

  • Shopify の標準機能だけでは CSV から注文を一括作成できない
  • 一括注文インポートは、作業時間の短縮・入力ミスの削減・過去注文の再現に役立つ
  • コードでの自作も可能だが、文字コード対応や検証機能まで含めると負担が大きい
  • まずはアプリで小さく試すのがおすすめ
  • 「シンプル CSV 注文作成|お手軽一括注文インポート」は、日本語対応・文字コード自動判定・検証モード・エラー行の再ダウンロードを備えた、注文の一括作成に特化したアプリ

CSV 注文作成・一括注文インポートを手軽に始めたい方は、ぜひ以下のアプリストアからインストールしてみてください。

参考記事

今回は、以下の記事を参考にしています。

おすすめ Shopify アプリ

シンプル店舗受け取り|お手軽ローカルピックアップのアイコン

シンプル店舗受け取り|お手軽ローカルピックアップ

お客様がカートページで受け取り店舗・日時を指定できます。テイクアウトや店舗受け取りにおすすめです。

シンプル注文履歴おすすめ商品|お手軽マイページアップセルのアイコン

シンプル注文履歴おすすめ商品|お手軽マイページアップセル

マイページの注文ページに、商品ごとに設定したおすすめ商品を表示。再購入を後押しします。

シンプル顧客メタフィールドCSVインポート・エクスポートのアイコン

シンプル顧客メタフィールドCSVインポート・エクスポート

顧客メタフィールドをCSVで一括管理。エクスポート・編集・インポートがかんたんに。

シンプルフォーム一体型LP|お手軽チャットボット購入のアイコン

シンプルフォーム一体型LP|お手軽チャットボット購入

チャットボット形式でお客様が迷わず注文できるLPを設置できます。コーディング不要で、テーマエディタから簡単に設定できます。

シンプル商品メタフィールドCSVインポート・エクスポートのアイコン

シンプル商品メタフィールドCSVインポート・エクスポート

商品やバリエーションのメタフィールドをCSVで一括管理。インポートもエクスポートもこのアプリひとつで完了。

シンプル新しいお客様アカウント拡張|生年月日・追加フォームのアイコン

シンプル新しいお客様アカウント拡張|生年月日・追加フォーム

誕生日や性別などの項目を、お客様アカウントのプロフィールページに追加できます。コーディング不要です。

シンプル2点目購入割引|2点目以降自動セール設定のアイコン

シンプル2点目購入割引|2点目以降自動セール設定

2点目以降の購入で自動割引。割引バッジと対象商品の表示で、まとめ買いを後押しします。

シンプル商品カルーセル|お手軽おすすめ商品スライダーのアイコン

シンプル商品カルーセル|お手軽おすすめ商品スライダー

おすすめ商品をスライダーで表示できます。ストアのどこにでも設置でき、お客様に気になる商品を見つけてもらえます。

関連記事