バージョン選択

フォーラム

メニュー

オンライン状況

50 人のユーザが現在オンラインです。 (43 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 50
もっと...

サイト内検索

質問 > フロント機能 > 消費税を個々の商品に対してではなく合計に対して適応したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
pringles
投稿日時: 2014/4/17 15:00
対応状況: −−−
新米
登録日: 2014/4/17
居住地:
投稿: 2
消費税を個々の商品に対してではなく合計に対して適応したい
EC-CUBEバージョン 2.13.1
PHPバージョン PHP 5.4.10
DBバージョン MySQL 5.5.9

eccubeの標準の機能では、消費税の計算は個々の商品に対して税率をかけて(四捨五入、切り捨て、切り上げ)処理を行ってから、その総和を求めることになるかと思います。
ところが私が携わっている店舗では、4月からの消費税増税に伴い、個々の商品に対してではなく、税抜き価格の合計に対して税率をかけることになってしまいました。このため(四捨五入、切り捨て、切り上げ)処理時の端数の関係で、誤差が出てしまい困っています。

修正するとなると、結構大掛かりになるような気がしていますが、できるだけ修正箇所を少なくするには、どの箇所に修正を加えればよろしいでしょうか?
yuh
投稿日時: 2014/4/17 17:29
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 消費税を個々の商品に対してではなく合計に対して適応したい
SC_CartSession.phpのgetAllProductsTaxでカート内の商品の税金を個別に出して集計しているので、その部分をSC_Helper_TaxRule_Ex::sfTaxも含めて修正すれば2か所くらいでなんとかなりそうな予感はします。
っと思ったんですが、
テンプレ周り結構修正する必要ありますね。
時間がある時にでもまとめてみます。
pringles
投稿日時: 2014/4/17 22:45
対応状況: −−−
新米
登録日: 2014/4/17
居住地:
投稿: 2
Re: 消費税を個々の商品に対してではなく合計に対して適応したい
レスありがとうございます。案外少ない修正で済むのですね。確かにテンプレ周りは結構ありそうですね。
yuh
投稿日時: 2014/4/17 23:46
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 消費税を個々の商品に対してではなく合計に対して適応したい
ぱっと作ってみたところ、表側は結構あっさり組めますが、管理画面側の受注管理周りが結構ややこしいですね。
表側は
SC_CartSession_Exに

    public function getAllProductsTax($productTypeId, $pref_id = 0, $country_id = 0)
    {
        // 税合計
        $total = 0;
        $max = $this->getMax($productTypeId);
        for ($i = 0; $i <= $max; $i++) {
            $price = $this->cartSession[$productTypeId][$i]['price'];
            $quantity = $this->cartSession[$productTypeId][$i]['quantity'];
            $total+= ($price * $quantity);
        }
        return SC_Helper_TaxRule_Ex::calcTaxFromRuleId($total,0);
    }
    public function calculate($productTypeId, &$objCustomer, $use_point = 0,
        $deliv_pref = '', $charge = 0, $discount = 0, $deliv_id = 0,
        $order_pref = 0, $order_country_id = 0
    ) {
		$results = parent::calculate($productTypeId, $objCustomer, $use_point,$deliv_pref, $charge, $discount, $deliv_id,$order_pref, $order_country_id);
		$results['total'] += $results['tax'];
		$results['payment_total'] += $results['tax'];
        return $results;
    }

を追加
cart/index.tpl


<!--{$item.price_inctax|number_format|h}-->円




<!--{$item.price|number_format|h}-->円


に変更

<!--{$item.total_inctax|number_format|h}-->円



									<!--{math equation="`$item.price` * `$item.quantity`" assign=totalprice}-->
                                    <!--{$totalprice|number_format|h}-->円

に変更

<tr>
                                <th colspan="5" class="alignR">小計</th>
                                <td class="alignR"><!--{$tpl_total_inctax[$key]|number_format|h}-->円</td>
                            </tr>

の下に

                            <tr>
                                <th colspan="5" class="alignR">消費税</th>
                                <td class="alignR"><!--{$arrData[$key].tax|number_format|h}-->円</td>
                            </tr>

を追加
shopping/confirm.tplの


<!--{$item.price_inctax|number_format|h}-->円




<!--{$item.price|number_format|h}-->円

に変更

<!--{$item.total_inctax|number_format|h}-->円



									<!--{math equation="`$item.price` * `$item.quantity`" assign=totalprice}-->
                                    <!--{$totalprice|number_format|h}-->円

に変更

                            <tr>
                                <th colspan="5" class="alignR">小計</th>
                                <td class="alignR"><!--{$tpl_total_inctax[$key]|number_format|h}-->円</td>
                            </tr>

の下に

                            <tr>
                                <th colspan="5" class="alignR">小計</th>
                                <td class="alignR"><!--{$tpl_total_inctax[$key]|number_format|h}-->円</td>
                            </tr>

を追加

で表側は一旦それっぽくなります。

一応テストサーバーで確認してみてください。

多分管理画面側の受注情報周りは結構手を加えないとだめっぽいですね。
kyil
投稿日時: 2014/10/11 19:40
対応状況: −−−
半人前
登録日: 2014/9/16
居住地:
投稿: 14
Re: 消費税を個々の商品に対してではなく合計に対して適応したい
上記を私の環境で試してみたところ、消費税がさらに加算されていますね。
税抜き商品合計+税金+税金となってしまっているようです。
また、総合計に対しての税金計算がされておりませんでした。

SC_Helper_TaxRule.phpとDBに変更を行って税金額を小数点以下まで持つようにすれば最終金額の計算段階で合わせられるような気がするのですが、どうでしょうか?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,039名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.