• 締切済み

カートcgiで消費税の内税計算から外税にするには?

cgiのテーダの中で下の部分だけの変更でいけるかどうかは理解していないのですが # 総合計金額 $param{'zeikin'} =~ s/,//g; $sougoukei = $param{'price2'} + $daibiki_calc + $souryou2; $uchizei = int($sougoukei / (100 + $zei) * $zei); 1 while $uchizei =~ s/(.*\d)(\d\d\d)/$1,$2/g; 1 while $param{'price2'} =~ s/(.*\d)(\d\d\d)/$1,$2/g; 1 while $sougoukei =~ s/(.*\d)(\d\d\d)/$1,$2/g; $indata .= qq| <input type="hidden" name="総合計金額" value="$sougoukei円(内消費税:$uchizei円)">\n |; 一番下のデータを以下に書き換えたのですが、ダメでした。 $indata .= qq| <input type="hidden" name="総合計金額" value="$sougoukei円" + "$uchizei円">\n |; どう書き換えたらよいか教えて下さい。

みんなの回答

回答No.2

>お支払総合計9,280円 が 9114+464+630= >10208円になるようにcgiデータがなるように変更したいのです。 それ、消費税を2重取りしてるよ。間違い。 >1 6668□500ml ヴィッラ・ピロ エクストラ・ヴァージン・オリーヴオイル 3,234 1 3,234 これは「本体3080円、税込3234円」ですよ。 >2 2152●750ml コルナス<古木> 1996年 アラン・ヴォージュ 5,880 1 5,880 これも「本体5600円、税込5880円」ですよ。 なので、 >商品代金合計  9,114 は「税込9114円」です。本体価格は「8680円」で、5%の税金は「434円」です。 >消費税  464 この「464円」は「送料630円(税込)」の税の「30円」と、商品のみの消費税「434円」を足した「434+30=464」です。 >送料 ( 1 個口 ) 630 これは「税込」なので「本体価格600円、税30円」です。 お客が支払う「総合計」は「8680(本体)+434(税)+600(本体)+30(税)=9744円」です。 >お支払総合計 9,280円 + 464」 本体価格は「8680(本体)+600(本体)=9280円」です。 消費税は「434(税)+30(税)=464円」です。 なので「お支払総合計 9,280円 + 464」で正しいです。 >お支払総合計9,280円 が 9114+464+630= >10208円になるようにcgiデータがなるように変更したいのです。 それ、明らかに「消費税の2重取り」で、違法です。 商品明細を「本体価格」にして、送料も税別表示にして 1 6668□500ml ヴィッラ・ピロ エクストラ・ヴァージン・オリーヴオイル 3,080 1 3,080 2 2152●750ml コルナス<古木> 1996年 アラン・ヴォージュ 5,600 1 5,600 商品代金合計 8,680 消費税 464 送料 ( 1 個口 )600 お支払総合計9,280円 + 464」 となるのが正しい。 なお 「商品代金合計 8,680」の「8680」は「本体価格合計である」事に注意。 「消費税 464」の「464」は「送料600円の税30円も含む」事に注意。 「送料 ( 1 個口 )600」の「600」は「税抜きの本体価格である」事に注意。 >$sougoukei = $sougoukei - $uchizei; >を >$sougoukei = $sougoukei + $uchizei; >にするこで解決致しまた。 ほら、引き算を足し算しちゃってるから「消費税の2重取り」になってる。 このまま続けたら「顧客からクレームの嵐」になるから、素人が訳も判らず弄り回すのは止めましょう。絶対に酷い目にあいます。 少なくとも「今のままでは、詐欺と言われても、弁解は不可能」です。

ys55588
質問者

お礼

ありがとうございます。 確かに計算式の間違いでした。

すると、全ての回答が全文表示されます。
回答No.1

$sougoukeiには「税金が入っちゃってる」から、その分、引き算しないと。 $uchizei = int($sougoukei / (100 + $zei) * $zei); の行の次に $sougoukei = $sougoukei - $uchizei; の行を入れてみよう。 当然だけど、$param{'price2'}は「税込み価格」になってないといけない。

ys55588
質問者

お礼

ありがとうございます。 $sougoukei = $sougoukei - $uchizei; を $sougoukei = $sougoukei + $uchizei; にするこで解決致しまた。 ほんとうにありがとうございます。

ys55588
質問者

補足

早々のご教授ありがとうございます。 質問仕方がま違っていたようですみません。 金額「商品代金合計  9,114 + 消費税  464 + 送料 ( 1 個口 ) 630 = お支払総合計 9,280円 が 9114+464+630= 10208円になるようにcgiデータがなるように変更したいのです。 よろしくお願いいたします。 HTMLの注文確認画面は以下です。 「注 文 確 認 ●今回のお買い上げ内容 送料の欄はクール便使用の場合クール料金が加算表示されます NO 商品名 単価 数量 備考1 備考2 小計 1 6668□500ml ヴィッラ・ピロ エクストラ・ヴァージン・オリーヴオイル 3,234 1 3,234 2 2152●750ml コルナス<古木> 1996年 アラン・ヴォージュ 5,880 1 5,880 商品代金合計  9,114 消費税  464 送料 ( 1 個口 ) 630 お支払総合計 9,280円 + 464」

すると、全ての回答が全文表示されます。

関連するQ&A