こんにちわ。kimonoです
今日は、2014年4月1日より適用になる消費税につきまして、Zen Cartでの対応について記載させていただこうと思います。
通常、Zen Cartにて、商品毎に登録時に、消費税を選択して金額を入力していましたら、消費税の税率を変更しますと、商品の価格を5%から8%に一斉に変更することが可能です。
何件か見たことがありますが、総額表示にあわせて、税種別を消費税を使わずに登録し、合計モジュールでも消費税を表示しないようにしていた場合は、税込価格のため、こちらの税率変更では、対応不可ですので、すべての商品の金額を変更していただくしかございません。
また、消費税を利用していた場合でも、下記のようなケースでは、同様に対応が必要です。
税込価格で1000円など、きっちりとした金額にするため、ネットの方ではなく、グロスの方に税込金額を登録していた場合(下記画像参考)。
このような状態で登録していた場合、Zen Cartのデーターベース上の商品の価格の部分には、952.381として登録され、消費税率をかけた形(952.381×1.05=1000.00005のため、端数切捨てになり1000円と表示される)になります。
この状態にて、税率を8%に変更しますと、下記のようになってしまいます。
上記のようにどちらも端数がついた形で登録されるため、商品などによっては、1円単位で狂ってしまう可能性があるということになります。
上記の場合は、1028.5715ですが、端数切捨てで1028円となって表示されます。
場所によっては、金額があわないということが起こってくるでしょう。
また、どちらにしても総額できっちりあわせたはずが端数が出てしまうということになりますので、価格の変更は必要にはなるとは思います。
ちなみに、商品によって、使い分けて登録しているケースもあります。
その場合、どの商品がそうなっている商品なのかというのを探すのが大変ですが、mysqlにて検索を使えば、小数点以下がついている商品を探すことも可能です。
通常の金額のみで運用しているサイトの場合は、
SELECT *
FROM `zen_products`
WHERE products_price <> floor( products_price )
AND products_status = 1
このようなSQLにて探すことが可能です。
弊社の着物サイトのように通常価格と、特価価格にて二重価格のようにしているサイトの場合は、
SELECT *
FROM `zen_specials`
RIGHT JOIN `zen_products`
ON zen_specials.products_id = zen_products.products_id
WHERE zen_specials.specials_new_products_price <> floor( zen_specials.specials_new_products_price )
AND zen_products.products_status = 1
このような形で検索すればいいでしょう。
このように、4/1は近いですが、急いで変更しないといけない点があると思いますので、少しでも皆さんのお役にたてましたらと思います。