タグアーカイブ 価格表示

WooCommerceで国別価格設定後にカートで価格が18%下がる原因

WooCommerceで国別価格設定後にカートで価格が18%下がる原因

国別価格プラグインとWooCommerceの標準税設定を併用していると、商品をカートに入れた瞬間に約18%引きの価格が表示される現象が起きる。これはインド向けの税率が米ドル建ての表示価格にまで漏れ出し、税抜き再計算が走ってしまうためだ。

なぜカートで価格が18%下がるのか

なぜカートで価格が18%下がるのか

カートに追加した直後に129ドルが約109ドルに減る理由は、WooCommerceの「税設定」と「価格表示」に潜む優先順位の構造にある。販売地域がインドで基本通貨を米ドルに設定し、かつ国別価格プラグインで国ごとに異なる価格を手動入力している店舗では、インド向けの18%税率が米ドル表示側に干渉しやすい。

WooCommerceの税設定には「税込で価格を入力する」か「税抜きで入力する」かの二択がある。税込(ベース価格に税が含まれている前提)を選ぶと、システムは表示価格を税込み総額とみなし、該当する税率に基づいて税抜き部分と税額に内部で分離する。ここに、本来その国には適用されるはずのないインドの18%スラブが食い込むと、129ドルを「税抜き価格+18%税相当」と計算し直し、税抜き価格約109ドルをカートに表示してしまう。

特にPrice Based on Country系のプラグインは、通貨ごとに手動価格を入力できても、WooCommerceの標準税テーブルと密接に連動しているわけではない。このため国検出ロジックと税ルールが別々に動き、非インド顧客の米ドル表示にもインド税率がかぶさる不整合が起こる。

税テーブルと国別価格の干渉を解消する手順

税テーブルと国別価格の干渉を解消する手順

不整合の根源である税テーブルを整理し、適用範囲を正しく限定すれば価格の引き下げは止まる。管理画面から次の流れで修正する。

STEP 1 WooCommerceの「設定」→「税」を開き、税率一覧を確認する
STEP 2 インド向け税率の「国」欄が「IN」のみであることを確認し、誤って「全地域」などになっていれば修正する
STEP 3 税設定の「税込で価格を入力する」を一旦「税抜きで価格を入力する」に切り替え、すべての通貨で正しい価格を再入力する

税率テーブルを開くと、インド向けの18%行の「国コード」欄が空白または複数国に誤設定されているケースがある。これをIN単独に直し、米国など他国に波及しないようにする。Price Based on Countryプラグイン側でも、米ドル表示の国リストに見落としがないか再確認する必要がある。

価格表示オプションの「税込」「税抜」を整理する

価格表示オプションの「税込」「税抜」を整理する

税込み入力モードは税テーブルと不可分に動くため、通貨ごとに手動価格を割り当てる運用との相性が悪い。税抜き入力に切り替えて価格を純粋な本体金額とし、税は決済時に国ごとのテーブルにしたがって自動加算する形が安定する。

ただし切替時に既存商品の価格は変わらないため、129ドルと入力していた商品は税抜き129ドルとみなされ、かえって値上がりする。そこで切り替え後は全商品の価格を意図した税抜き金額(たとえば税込み表示にしたいなら本体109ドル前後)に書き換える作業が必要になる。国別価格プラグインに一括更新機能があれば活用すると手間を減らせる。

Before 税込み入力モード
商品価格 129ドル → 自動で18%税抜き計算 → カートに109ドル表示
After 税抜き入力モード
商品価格 109ドル(本体) → 税は決済時のみ加算 → カート表示は109ドルで安定
税込み入力で誤動作  税抜き入力で安定

税込み入力モードのまま運用を続ける場合は、インドの税率をいったん無効化し、Price Based on Countryプラグイン側の価格に税込み金額を直接登録する方法もある。ただこの方法は今後の税率変更に弱く、国ごとの税計算をWooCommerceの標準機能に任せられなくなるため推奨しない。

よくある質問

米ドル建てに18%の税率が見当たらないのに価格が下がるのはなぜか

米ドル用の税率が存在しなくても、WooCommerceは税込み入力モード時に「顧客の所在地に連動した税率」を内部で適用しようとする。国検出がインドと判定された瞬間に18%スラブが動き、価格が再計算されるのが根本原因だ。

国別価格プラグインを一時停止すればすぐ直るか

プラグインを無効化すると国別の価格表示そのものが消え、全ユーザーに基本通貨の価格が表示されるため、18%引きは起こらなくなる。ただし根本解決ではなく、多通貨販売をあきらめることになる。

税率テーブルでIN以外の国をすべて削除しても問題ないか

税率を適用したい国が増えるたびに行を追加する運用になるが、現在問題が起きている状態よりは安全だ。税率テーブルには最低限必要な国コードだけを残し、ワイルドカード指定は避けることを勧める。

価格を税抜き入力に切り替えた後、カートで税が表示されずに困る場合の対処は

税抜き入力にしたら「表示価格」の設定を「税込み」に戻すと、フロントエンドでは本体価格に税が乗った金額が表示される。この設定は「WooCommerce → 設定 → 税」の「店舗での価格表示」で変更できる。

キャッシュが原因で設定変更がすぐ反映されないときはどうするか

WooCommerceの「ステータス → ツール」から顧客セッションと製品の価格キャッシュをクリアし、さらにサイトキャッシュやCDNキャッシュもあわせて削除する。プライベートウィンドウで確認すると切り分けが早い。

この記事のポイント

  • カートでの価格引き下げは税込み入力モードと国別税率の干渉で起こる
  • 税率テーブルの国コードを見直し、不要な適用範囲を削除する
  • 「税抜きで価格を入力する」モードに統一すれば価格は安定する
  • 設定変更後はキャッシュクリアと価格再設定を忘れずに行う