Magentoにはいくつかの配送方法が初期状態で用意されています。
その中でもこのエントリでは「Table Rates(料金表)」について解説します。

「Table Rates(料金表)」とは

料金表はデータベース上に登録した、配送料金マスタを元にした配送料金計算機能です。
Magentoが標準で備える配送方法の中では一番国内の配送料金に対応しやすい配送方法です。

ただ、料金表の定義方法や計算式がわかりにくい側面があり、初心者が戸惑う場合があります。

料金の計算方法

配送料金を計算するためにMagentoが用意している条件式は以下のとおりです。

  • 重量と配送先
  • 商品点数と配送先
  • 価格と配送先

一般的な配送業者の場合、梱包サイズの3辺合計か、梱包重量のいずれかと配送先の関係によって配送料金を決定します。
ですから、商品点数や価格で料金が決まる、ということはあまり無いでしょう。

条件から料金を計算する仕組みについて

Magentoの料金表では、独特の概念で料金表マスタを定義します。
例えばヤマト運輸の場合は以下のようになっていると思います。

 配送料金

一般的には60サイズで2kgまでなので、つい定義する際に2kgでいくらと書きそうになります。

ところが、Magento上では以下の表のように定義しなければなりません。(一部だけ掲載しています)

  北海道 青森県
秋田県
岩手県
宮城県
山形県
福島県 
0kg 1160 840 740
2kg 1370 1050 950
5kg 1580 1260 1160
10kg 1790 1470 1370
15kg 2000 1680 1580
20kg 2210 1890 1790

Magento上では、「商品重量 > 料金表定義重量」という条件式で検索するため、運送業者の料金表にある「◯◯kgまで」という定義の間に齟齬が発生します。

そのため、料金表を作成する際には、条件式を1つずつずらして見なければなりません。

まとめると以下の表のようになります。

重量 運送業者の定義 Magento上の定義
2kg 2kg(まで) 0kg(以上)
5kg 5kg(まで) 2kg(以上)
10kg  10kg(まで)  5kg(以上) 
15kg  15kg(まで)  10kg(以上) 
20kg  20kg(まで)  15kg(以上) 
25kg  25kg(まで)  20kg(以上)  

料金表の作成

料金表を作成するには、まず料金表のCSVをダウンロードする必要があります。
ダウンロードするには、管理画面の「システム>設定>配送方法」 で「現在の設定範囲」を「標準の設定」以外に切り替えると、料金表のところにダウンロードするボタンが表示されます。

設定画面

CSVをダウンロードして、ExcelやOpenOffice、テキストエディタで開きます。
(Excelで開く場合は、CSVファイルの文字コードに注意してください。MagentoはUTF-8でCSVを生成するので、そのままでは文字化けを起こします)

CSVには以下のようなデータが書かれています。

地域 郵便番号 重量 配送料
JP Hokkaido   0 1300
JP Hokkaido   2 1500
JP Hokkaido   5 1700
JP Hokkaido   10 1900
JP Hokkaido   15 2100
JP Hokkaido   20 2300
JP Aomori   0 900
JP Aomori   2 1000
JP Aomori   5 1100
JP Aomori   10 1200
JP Aomori   15 1300
JP Aomori   20 1400

国は日本の場合は「JP」、アメリカの場合は「US」などと書きます。

地域は都道府県マスタにも依存しますが、英文表記か日本語表記、場合によってはコードになります。
こればかりはデータベースを見なければわかりません。

次に郵便番号です。特定の郵便番号の地域だけ別料金を定義したい場合は郵便番号を入力します。
入れない場合はその地域全てが同じ料金になります。
離島・遠隔地・到達困難地の情報を入れると良いでしょう。

あとは先ほど説明した重量と、料金を入れます。

CSVができたら、先ほどの画面でファイルをアップロードします。
アップロードするには、アップロードボタンでファイルを選び、画面右上の「保存」ボタンをクリックします。

料金表が抱える問題点 

料金表には2つの問題点があります。
ある程度運用でカバーできるのですが、場合によってはカスタマイズが必要になります。 

荷物番号を入力する際に、どの業者で配送したかを都度手入力しなければならない

料金表は汎用的な配送方法です。
特定の業者向けに用意されている機能ではないので、荷物番号を配送データ作成の際に入力しようとすると、毎回業者名をて入力しなければなりません。 

荷物重量の上限値を定義できない

業者に寄っては受付可能重量の上限がある場合があります。
この場合、料金表がそのままだと対応できません。
なぜなら、上限を持っていないからです。

もし、重量の上限値を設定したい場合は、カスタマイズが必要になります。