【内税の額が合わない】割引適用後に注文金額を変更すると消費税額がずれる件
日付:2026/08/05(出荷環境反映日)
バージョン:4.1.0-434.1(発生時のシステムバージョン)
症状
会計時の内税(消費税)算出額が、合計金額から算出される理論値と一致しない事象が発生した。伝票番号00210201では合計24,156円(税込)に対し、10%内税であれば消費税は2,196円となるはずだが、実際の表示は2,152円となっていた。また別伝票(伝票番号00182801、合計22,347円)でも同様に、理論値2,039円に対し実際の表示は1,996円となる事象が確認された。
発生条件
自動割引(10%割引等)を適用した後に、伝票修正の注文修正から商品を追加する、または会計画面から数量変更・金額変更・割増・時間帯割増・奉仕料・席料の追加など、注文金額に変更が生じる操作を行った場合に発生する。割引適用時にDOM上で確定した割引額(receipt_discount_price)と、その後の注文金額変更後に明細へ配分される割引総額との間にずれが生じることが要因となる。
再現手順
①会計画面で自動割引(10%割引等)を適用し、割引額を確定する
②割引確定後、伝票修正の注文修正から商品を追加する(または数量・金額変更、割増等を行う)
③そのまま会計を行う
④レシート・伝票に表示される消費税額が、合計金額から算出される理論値と一致しない
原因
order_detail.total_inside_taxは、会計時にJSが確定・保存したorder_tax_variations.inside_tax(内税額)を、order_detail.total_price_after_discount(値引後金額)の比率で按分して算出される仕様であり、按分後の合計とinside_taxが一致しない場合は最終明細行で差分が吸収される。割引確定(receipt_discount_price)後に商品追加等で注文金額が変更されると、実際に明細へ配分される割引総額と割引確定時の額が一致しなくなり、消費税算出のベースとなるtotal_price_after_discountが本来の会計金額と食い違ってしまうことが原因と判明した。
改善内容
割引適用後に、伝票修正の注文修正から商品追加、会計画面からの数量変更・金額変更、割増、時間帯割増、奉仕料、席料など注文金額に変更があった場合、割引を再適用(再計算)し「注文内容が変更されたため、割引額を再計算しました。」とポップアップを表示する改修を実施した。また初回改修版で値引対象外商品と値引対象商品が混在する場合に割引額が小計全体から算出されてしまう不具合が確認されたため、対象商品のみに割引が適用されるよう追加修正を行い、伝票修正の注文修正時にも割引・割増が適用されるよう対応した。
影響範囲
レジ画面で自動割引を適用した後、注文修正・商品追加・数量変更・金額変更・割増・時間帯割増・奉仕料・席料の追加などにより注文金額が変更となるケース全般が対象。該当ケースでは再計算確認のポップアップが表示されるようになる。
対象バージョン
【E-POS4 PHP8】base.v4.e-pos.link マイナーバージョンコード483.4
関連Issue
#96171 E-POS3:消費税の計算について
#107206 端数割引設定時 レシートと領収書の合計金額と対象額内訳項目の金額が相違している
改善内容の評価
社内検証環境(development4.v4/eval2.v4)および貴社ステージング環境(staging-rwa.v4/release-check-rwa.v4)にて、割引適用後の注文金額変更時に再計算ポップアップが表示され金額が正しく算出されることを確認した。値引対象・対象外商品が混在するケースについても対象商品のみへ割引が適用されることを確認し、E社チェック環境確認後に出荷環境(マイナーバージョンコード483.4)へ反映済み。なお、本チケットの問い合わせ元となった伝票(00210201/00182801)そのものの事象については担当者側での再現には至っておらず、原因はデータ突合による推定に基づくものである点に留意が必要。