WooCommerce(wordpress)が出力する注文データを『ゆうパックプリントR』(日本郵政株式会社)が取込むことができる形式に変換する(フォーマット変換)プログラムを開発したので紹介します。このとき、いくつか便利だと思う機能を付加しました。
『ゆうパックプリントR取込みCSV作成プログラム』(以降、本プログラム)は、WooCommerce(プラグイン名:Advanced Order Export For WooCommerce)からエクスポートしたExcelファイル(以降、エクスポートしたExcelファイル)と都道府県毎の配送日数が記載したExcelファイル(以降、配送日数Excelファイル)
本プログラムが取込む[.xlsx]の例
WooCommerceからエクスポートした[.xlsx]の例(1)
以下の表は、エクスポートしたExcelファイルの一例です。表示の都合により行と列を逆にしています。
一列目は項目名で、2列目以降は注文データとなります。そして
並び順は、注文日付が新しい順で顧客毎、注文商品毎です。「行番号」は、「1」から始まり一つの商品が一行となっています。例えば、顧客が3種類の商品を購入した場合、3行となり、2種類の商品だと2行となります。(表の最後の方に商品名が表示)
以下に各項目を説明します。
- 「注文番号」は、WooCommerceの注文番号となります。
- 「注文ステータス」には、処理中、完了済み、キャンセル中などのステータスがあり、重複取り込みを避けるために「処理中」のみを処理の対象としています。なぜならば、「処理中」の意味は支払い済みでまだ、エクスポートされていないということなので。
- 「お客様のユーザー ID」は、ユーザーがログインしていれば、IDが表示されます。
- 「注文日」は、注文した年月日時分秒です。
- 「お客様メモ」は、チェックアウト画面で入力できるお客様のメモです。 ここでは請求先にのみ名前や住所が表示されています。これは「代引き」となっていますのでこうなっています。この場合、「***(配送先)」は空白で構いません。
- 「配送方法名」は、WooCommerce→設定→配送→「配送方法」で設定されている名前が入ります。
- 「重量合計」は、配送する商品の重量の合計値が入ります。商品の重量は、商品→配送→重量で設定されています。
- 「注文行合計 (税込)」は、この表では1列になります。1列の商品金額の合計値が入ります。
- 「代引き手数料」は、本来であればここに代引きであれば代引き手数料が入ります。しかしながら運用中にプラグインが「代引き手数料」をサポートせず、急遽配送手数料の中にやむを得ず含めることにしました。現時点ではサポートされているようです。(余談ですが、プラグインのアップデートは要注意です! この時はパニクリました、他にもプラグインはあるようですが、プラグインは最小限にした方がよい。そして可能であれば、functions.phpの中に記載すべきです。代引き手数料は難しいですね。)
- 「配達予定日」は、チェックアウト画面で顧客が指定した予定日が入ります。
- 「お届け予定メール送信」は、WooCommerceでは標準装備されていません、『ゆうパックプリントR』ではこのサービスがありますのでチェックアウト画面で追加しています。
- 「ご不在連絡メール送信」は、「お届け予定メール送信」と同様です。
実際のエクスポートしたExcelファイル例
| 行番号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 注文番号 | 1052 | 1051 | 1051 | 1051 | 1050 | 1050 | 1049 | 1048 |
| 注文ステータス | 処理中 | 処理中 | 処理中 | 処理中 | 処理中 | 処理中 | 処理中 | 処理中 |
| お客様のユーザー ID | 0 | 0 | 0 | 0 | 93 | 93 | 0 | 0 |
| お客様のユーザー名 | ||||||||
| お客様のユーザーメール | ||||||||
| 注文日 | 2025-12-07 12:05 | 2025-12-07 09:31 | 2025-12-07 09:31 | 2025-12-07 09:31 | 2025-12-07 08:54 | 2025-12-07 08:54 | 2025-12-07 08:41 | 2025-12-06 23:16 |
| お客様メモ | ||||||||
| フルネーム (請求先) | Y1 X1 | Y2 X2 | Y2 X2 | Y2 X2 | Y3 X3 | Y3 X3 | Y4 X4 | Y5 X5 |
| 性 (請求先) | X1 | X2 | X2 | X2 | X3 | X3 | X4 | X5 |
| 名 (請求先) | Y1 | Y2 | Y2 | Y2 | Y3 | Y3 | Y4 | Y5 |
| 郵便番号 (請求先) | 187-0044 | 047-0033 | 047-0033 | 047-0033 | 473-0902 | 473-0902 | 135-0043 | 980-0801 |
| 都道府県コード (請求先) | JP13 | JP01 | JP01 | JP01 | JP23 | JP23 | JP13 | JP04 |
| 都道府県名 (請求先) | 東京都 | 北海道 | 北海道 | 北海道 | 愛知県 | 愛知県 | 東京都 | 宮城県 |
| 市区町村 (請求先) | ||||||||
| 住所1 (請求先) | 8-2 | 2-25-1 | 2-25-1 | 2-25-1 | 大林町11-2-7 | 大林町11-2-7 | 1丁目6-8 | 1丁目2-2 |
| 住所2 (請求先) | ||||||||
| 会社名 (請求先) | ||||||||
| Eメール (請求先) | ||||||||
| 電話番号 (請求先) | ||||||||
| 電話2 | ||||||||
| フルネーム (配送先) | ||||||||
| 性 (配送先) | ||||||||
| 名 (配送先) | ||||||||
| 敬称 | ||||||||
| 郵便番号 (配送先) | ||||||||
| 都道府県コード (配送先) | ||||||||
| 都道府県名 (配送先) | ||||||||
| 市区町村 (配送先) | ||||||||
| 住所1 (配送先) | ||||||||
| 住所2 (配送先) | ||||||||
| 住所1&2 (配送先) | ||||||||
| 郵便番号 (配送先) | ||||||||
| 決済方法名 | 代金引換 | 代金引換 | 代金引換 | 代金引換 | 代金引換 | 代金引換 | 代金引換 | 代金引換 |
| 注文小計 | 6400 | 9600 | 9600 | 9600 | 4800 | 4800 | 6400 | 4800 |
| 配送方法名 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 | 配送料+箱代+クール便代+代引き手数料 |
| 商品サイズ | ||||||||
| 重量合計 | 4 | 6 | 6 | 6 | 3 | 3 | 4 | 3 |
| 注文行合計 (税込) | 6400 | 3200 | 3200 | 3200 | 3200 | 1600 | 6400 | 4800 |
| 代引き手数料 | ||||||||
| 注文配送料金合計 | 2510 | 1990 | 1990 | 1990 | 2690 | 2690 | 2510 | 2240 |
| 注文払戻合計 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 注文金額合計 | 8910 | 11590 | 11590 | 11590 | 7490 | 7490 | 8910 | 7040 |
| 注文税額合計 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 発送予定日 | ||||||||
| 出荷期限日 | ||||||||
| 配達予定日 | ||||||||
| お届け予定メール送信 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| ご不在連絡メール送信 | Yes | Yes | Yes | Yes | Yes | |||
| 注文商品名 | 商品A | 商品A | 商品B | 商品C | 商品A | 商品B | 商品A | 商品C |
| 数量 | 4 | 2 | 2 | 2 | 2 | 1 | 4 | 3 |
| 商品 ID | 144 | 144 | 143 | 130 | 144 | 143 | 144 | 130 |
表 エクスポートしたExcelファイルの一例 表示の都合により行と列を逆に表示
本プログラムが取込む「配送日数情報都道府県.xlsx」の例(2)
以下の表は、本プログラムが取込む「配送日数情報都道府県.xlsx」の一例です。
北海道から各都道府県へ配送に必要な日数が記載しています。各項目を説明します。
- 「都道府県番号」は、WooCommerceで使用している都道府県固有の番号で上表「表 エクスポートしたExcelファイルの一例」の項目「都道府県コード (請求先)」となります。
- 「都道府県名」は、都道府県名称です。
- 「配達日数」は、必要とする配送日数です。
| 都道府県番号 | 都道府県名 | 配達日数 |
|---|---|---|
| JP01 | 北海道 | 2 |
| JP02 | 青森県 | 3 |
| JP03 | 岩手県 | 3 |
| JP04 | 宮城県 | 3 |
| JP05 | 秋田県 | 3 |
| JP06 | 山形県 | 3 |
| JP07 | 福島県 | 3 |
| JP08 | 茨城県 | 3 |
| JP09 | 栃木県 | 3 |
| JP10 | 群馬県 | 3 |
| JP11 | 埼玉県 | 3 |
| JP12 | 千葉県 | 3 |
| JP13 | 東京都 | 3 |
| JP14 | 神奈川県 | 3 |
| JP15 | 新潟県 | 3 |
| ・・・ | ・・・ | ・・・ |
本プログラム画面と動作説明
以下の画面は、本プログラム起動時の初期画面です。
特徴は、IT初心者でも簡単に操作できるよう配慮しており、通常は【実行】ボタンを押せばよいだけです。
本プログラムは、「Python」(Windows11)で作成し、実行形式はexeです。

- 「WC_CSV(Excel)ファイル」は、本プログラムが起動時の最新の「エクスポートしたExcelファイル」名を表示します。【参照】ボタンはファイルを選択することができます。
- 「ゆうパックR_CSVファイル」は、本プログラムが起動時の本プログラムが出力するCSVファイル名、「ゆうパックプリントR」が取込むCSVファイル名です。
- 【更新】ボタンは、最新の「エクスポートしたExcelファイル」名を表示し、かつ最新のCSVファイル名を表示します。
- 「発送までの準備日数」は、商品を発送までに必要する日数、例えば生産するのに1日必要、梱包するのに1日必要とかです。
- 「配送日数設定ファイル(Excel)」は、配送業者が目的地までに必要とする配送日数です。時間帯指定は考慮していません。
- 【実行】ボタンは、設定した上記の内容で「CSVファイル」を出力します。
- 【終了】ボタンは、本プログラムを終了します。
「ゆうパックプリントR」がCSVファイル取込む画面
以下の画面は、本プログラムが出力したCSVファイルを「ゆうパックプリントR」が取込む画面イメージです。
【ファイル取り込み】をクリックし、指示に従えば取込むことができます。
