消費税0%でなぜレジPOS改修に長期間必要なのか考えてみた

当ページには広告が含まれています。
POSレジ

消費税を0%にするとレジPOSの改修に時間がかかるのか?

最近はインフレや円安で物価が上昇しているということで、消費税の軽減税率を0%にしようという議論がされています。軽減税率についての良しあしはともかく、この議論の中で必ずでてくるのが軽減税率を0%にするとレジPOSの改修に時間がかかるという意見です。

その理由は税率を0%に設定すると0で割る計算がでてくる可能性があるため、改修や試験には時間がかかるというものです。

普通に考えれば、消費税を求めるためには、「税抜き価格×税率=消費税」で計算できるため税率を割り算の分母にするような計算は考えにくいです。そのため、消費税を0%にしたくない勢力が何かしらの圧力を掛けているのではないか、といった陰謀論的な意見も流れています。

しかしいろいろと検討してみると、消費税の税率を分母にしなければならない、いくつかの特殊な計算をしなければならない場合も存在するようです。

今回はカメラの話ではありませんが、少し興味深い話でしたので、コラムとして記事にしてみました。なお、以下は筆者の知識の範囲で想像した内容となりますので、間違いが含まれている可能性があるので、このあたりはあらかじめご容赦ください。

エラーがでる可能性 消費税の按分

消費税を0%にするとPOSレジでエラーが起きるのではないか、という理由の一つが「値引き時の消費税按分(あんぶん)」です。これは少し専門的に見えますが、仕組み自体はそれほど難しくありません。むしろ、普段レジで何気なく使っている「100円引きクーポン」や「サービス券」の裏側で、ごく普通に行われている計算です。

今回はまず、消費税按分の仕組みと、なぜ税率が0%になるとエラーが起きやすいのかを、できるだけわかりやすく整理します。

サービス券100円でも、税率ごとに分けて計算しなければいけない理由

たとえばスーパーで、次の2つの商品を買ったとします。

  • 洗剤 1,000円(標準税率10%)
  • 弁当 1,000円(軽減税率8%)

合計は2,000円です。ここで「サービス券100円」を使って、100円引きになったとします。一見すると、ただ100円引くだけなので簡単そうに見えます。しかし実際には、POSレジはここでひとつ重要な判断をしなければなりません。

それは、

  • この100円引きは、10%の商品から何円引いたことにするのか
  • 8%の商品から何円引いたことにするのか

ということです。なぜなら、どちらから値引いたことにするかで、最終的な消費税額が変わるからです。

どちらの商品を値引くかで消費税額が異なる

たとえば100円引きを、すべて10%の商品(洗剤)から引いたとします。

  • 洗剤 1,000円 → 900円(10%)
  • 弁当 1,000円(8%)

この場合の消費税は、

  • 洗剤:900円 × 10% = 90円
  • 弁当:1,000円 × 8% = 80円

合計 170円 です。

では逆に、100円引きをすべて8%の商品(弁当)から引いた場合はどうなるでしょうか。

  • 洗剤 1,000円(10%)
  • 弁当 1,000円 → 900円(8%)

この場合の消費税は、

  • 洗剤:1,000円 × 10% = 100円
  • 弁当:900円 × 8% = 72円

合計 172円 です。

同じ「100円引き」でも、

  • 10%側から引く → 消費税170円
  • 8%側から引く → 消費税172円

となり、納める消費税額が変わってしまいます。そのためPOSレジは、「100円引きだからとりあえず100円引く」ではなく、税率ごとに、どれだけ値引いたことにするかを計算して配分する必要があります。

これが「消費税按分」です。

POSレジでは「税額の比率」で按分することがある

ではPOSレジは、100円引きをどうやって10%と8%に分けるのでしょうか。よくある方法のひとつが、それぞれの税率区分が持っている税額の比率で分ける方法です。

まず元の税額を計算します。

  • 洗剤 1,000円 × 10% = 100円
  • 弁当 1,000円 × 8% = 80円

税額合計は 180円 です。ここで、100円引きをこの税額の比率で分けます。10%側の比率は、

  • 100 ÷ 180 = 約55.6%

8%側の比率は、

  • 80 ÷ 180 = 約44.4%

なので、100円引きをこの割合で配分すると、

  • 10%側:100円 × 55.6% = 約56円
  • 8%側:100円 × 44.4% = 約44円

となります。

つまりPOSレジは、サービス券100円を「10%側56円、8%側44円」として内部的に分けて処理しているわけです。見た目はただの「100円引き」でも、内部ではこのように税率ごとの細かい按分計算が行われています。

税率が0%になると、この計算が崩れる

ここまでは、税率が8%と10%なので問題なく計算できます。ところが、この仕組みは税率が0%になると急に危なくなります。たとえば、0%の商品しか買っていないケースを考えます。

  • 弁当 1,000円(0%)

ここでサービス券100円を使って、100円引きにします。人間から見ると、計算はとても簡単です。

  • 弁当 1,000円 → 900円
  • 税率0%なので消費税は0円

これで終わりです。ところが、POSレジが先ほどと同じ「税額の比率で按分する」ルールで処理すると、話が変わります。

税率0%だと、按分計算で「0で割る」

まず、この商品の税額を計算します。

  • 弁当 1,000円 × 0% = 0円

税額合計も当然0円です。

  • 税額合計 = 0円

ここでPOSレジは、先ほどと同じように「按分比率」を計算します。按分比率は、次の式です。

税率区分の税額 ÷ 税額合計

今回の数字をそのまま入れると、

0 ÷ 0

になります。これが問題になる可能性がある計算です。

エラーがでる可能性 税額と売上額からの税抜金額の算出

値引き時の消費税按分と並んで、もうひとつ消費税0%で問題になりやすいのが、「税額と売上額から税抜金額を逆算する処理」にあるようです。こちらはレジで直接目にすることは少ないのですが、会計連携や監査、売上集計では非常によく使われているようです。

そしてこの処理も、普段は自然に動いているのに、税率が0%になった瞬間に「0で割る」計算が発生しやすくなります。今回は、なぜ税額と売上額から税抜金額を求める必要があるのか、そしてどこで0除算が起きるのかを、順番に見ていきましょう。

なぜ「税額と売上額から税抜金額」を求める必要があるのか

本来、POSレジに近い工程であればあるほど、かなり細かい情報をもっています。

  • 何を売ったか
  • 何円で売ったか
  • 税率は何%か
  • 税額はいくらか
  • 税抜金額はいくらか

つまりレジの瞬間には、税抜金額も最初から分かっています。ところが、そのデータが会計や集計システムに渡るころには、商品ごとの明細は細かすぎるため、かなり省略されてしまいます。

たとえば会計側に渡すときは、

  • 売上合計
  • 税額合計
  • 税率区分

だけにまとめられることがよくあります。

すると後から、

  • この売上のうち、税抜金額はいくらだったのか

を、もう一度計算し直す必要が出てくることがあります。

つまり、最初は税抜金額を持っていたのに、途中で明細をまとめてしまうので、後から税額と売上額を使って税抜金額を逆算するということが起こるわけですが、この「後からの逆算」が、0%で問題になりやすい処理になります。

通常の計算(10%と8%が混在している場合)

たとえば、次の2つの商品が売れたとします。

  • 洗剤 1,000円(10%)
  • 弁当 800円(8%)

まず税額を計算します。

  • 洗剤:1,000円 × 10% = 100円
  • 弁当:800円 × 8% = 64円

税額合計は 164円、売上合計は 1,800円 です。会計側には、細かい商品明細ではなく、次のような集計だけが渡ることがあります。

  • 売上 1,800円
  • 税額 164円

ここで会計や監査では、

  • 税額164円は、税抜でいくら分の売上に対する税なのか

を知りたくなります。

税率ごとの内訳が分かっていれば、逆算は簡単です。洗剤(10%)は、「100円 ÷ 10% = 1,000円、」弁当(8%)は「64円 ÷ 8% = 800円」なので、

  • 洗剤の税抜 1,000円
  • 弁当の税抜 800円

と復元できます。これが、税額から税抜金額を逆算するという処理です。10%や8%なら、特に問題なく計算できます。

税率が0%になるとどうなるか

では次に、弁当の税率が8%ではなく0%だったとします。

  • 洗剤 1,000円(10%)
  • 弁当 800円(0%)

このとき税額は、

    • 洗剤:1,000円 × 10% = 100円
    • 弁当:800円 × 0% = 0円

    です。会計側に渡るデータは、

    • 売上 1,800円
    • 税額 100円

    となります。ここまでは特に問題ありません。見た目には普通に計算できています。

    問題は「税額0円の売上」を逆算するとき

    ここで会計側が、弁当側の税抜金額を復元しようとすると問題が起こります。弁当の税額は 0円 です。税率は 0% です。

    通常と同じように、

    • 税抜金額 = 税額 ÷ 税率

    で逆算すると、

    • 0円 ÷ 0%

    になります。これが問題になる可能性があります。

    非課税と消費税0%の違い

    消費税の軽減税率を0%にするのに改修が必要であることについて、よくある指摘は、現在でも商品券や切手などは非課税で販売されているので問題がないのではないかというものがあります。

    普通に買い物をしている人から見ると、非課税の商品と課税0%の商品は、ほとんど同じに見えます。どちらもレシートには税額0円と表示されるので、「どちらも消費税がかかっていない」と感じるのが自然です。実際、買う側の感覚ではその理解でほとんど困りません。

    ただ、違いが出るのはお店のレジや会計システムの中です。非課税の商品は、最初から消費税の計算そのものに入れません。一方で課税0%の商品は、消費税の計算には入るものの、税率だけが0%として扱われます。見た目はどちらも税額0円でも、レジの中ではまったく別の処理になるようです。

    たとえるなら、非課税は最初から計算の対象外で、課税0%は計算には入るけれど結果が0になる、という違いです。買う人には同じ「税金ゼロ」に見えても、レジの中では通る計算の道筋が違います。そしてPOSや会計システムで問題になりやすいのは、この「見た目は同じでも、中では別の処理をしている」という部分があり、単純に非課税の設定にするだけでは解決しないようです。

    意外なところで問題が発生する可能性

    このようにみてみると、簡単に消費税って課税前の商品金額に税率をかけて算出すればいいんだろう思いますが、実際には会計システム上、様々な処理によって問題が発生する可能性があることがわかりますね。

    特にサービス券やポイント利用による消費税按分の税率10%と軽減税率0%の対応は問題となるシステムが多そうです。おそらく軽減税率が0%になったら総税額から計算する按分ではなく、0%製品の購入金額の総額と、10%製品の購入金額の総額で按分するという処理が必要になるのかなと思いますね。

    また会計上では、特に大手のシステムの場合、会計システム上でPOSレジが所有しているすべてのデーターを保存しておくことは効率が悪いため、少なくとも店舗ごとに売上額、税額などを計算して保存しているものと思われます。それらのデーターからオリジナルのデーターを復元しようとした場合には、確かに税率0%が分母になりエラーになる可能性は否定できないと思いますし、エラーになったらこうすればいいという単純なやり方では解決できないようにも思えます。

    このあたり会計システムや運用上の仕組みについて精通しているわけではないので、間違っている可能性がありますが、少し考えるだけでもこれらの問題が発生する可能性があると思います。

    もちろん税率が何%であれ完全に動作するシステムであることが完璧なのだと思いますが、まさか税率がゼロになるとは考えていなくて、消費税ありきで設計していた場合には問題となるのかもしれませんね。このあたりは開発の設計思想やコスト、開発時間との兼ね合い、使用する側の将来の見通しなどもあるので、なかなか複雑な問題かなと思います。

    コメント

    コメントする