消費税の端数処理ではまった
久しぶりに、端数のまるめ処理ではまったのでメモ。
ラフなメモ書き。
【参考】
切り上げた数値を元に戻すには - 数学 | 【OKWAVE】
消費税の端数処理は影響が大きい?!総額表示と積み上げ計算の復習を!
消費税の端数処理は影響が大きい。
よくある例は、税込価格から消費税を抜いた税抜きの販売価格を計算した後、税抜きの販売価格から消費税を加味した税込価格に戻す処理で、四捨五入で単純に計算すると、端数が合わなくなってしまう。
上記の記事のように、元に戻す時は、切り捨てにする。
たかが1円程度の違いと言っても、大規模店舗で商品を大量仕入したり、工場で原材料を大量仕入したりする時は、数十万円の違いが出たりする。
小売業や製造業では、購買部門の担当者が別途いて、彼らは仕入先と、大量購入するから単価は値引きさせるように交渉しているから、金額にはとてもうるさい。
発注処理は大量仕入れで安く仕入れることで、規模の経済を生かすから、ちょっとしたシステムのバグがユーザ企業のビジネスに大きな影響を与えてしまう。
消費税の計算方法は、実は商品ごとに異なったりする。
普通は、税込価格で表示するように法律で決められているから、税抜価格で安い価格で不当に表示するのは、不正競争防止法などにも引っかかるだろう。
しかし、たとえば、書籍では再販制度があるために、税抜価格で表示していい。
他に、委託販売、試用販売でも似たような事例があるだろう。
つまり、商品の種類ごとに、価格表示の仕様は異なる。
設計SEはその辺の事情も考える必要があるので、普通は別途、計算仕様書なる補足資料を作り、価格表示や消費税の計算に関する仕様をまとめている。
その計算仕様書には、どの場面では、どんな計算式で、四捨五入・切り上げ・切り捨てにするか、という仕様がまとめられている。
開発者は、その計算仕様書を参照しながらシステムを実装していく。
これが、ドメイン知識と呼ばれるものなのだろう。
一方、注意すべき点は、価格計算の要件は法律で決まっているため、システムの仕様も法律の要件に引きずられてしまうことだ。
つまり、消費税に関する法律とか、景品表示法、不正競争防止法などの法律があり、法律がシステムの仕様を決めているし、その仕様は絶対だから変更することもできない。
そして、法律はその時々の政治的事情でコロコロ変わる。
消費税が5%から8%に上がっただけで、たくさんのシステム改修が発生して、ちょっとしたスポット景気になった。
ユーザから見れば、消費税は変わるのだから動的に作っていて当然で、なぜ改修料金を支払わないといけないの、と思ったりする。
だが、古いシステムほどロジックは魑魅魍魎なので、法律がフレキシブルに変わるたびに、システムをいじる手間がかかってくる。
法律の変更に対応できるようなシステム設計、アーキテクチャ設計が必要であるわけだ。
この辺りの業務知識も一度まとめてみたいと思う。
| 固定リンク
« 「昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ」の記事が役に立つ | トップページ | WindowsOS上でbash環境を使うためのツールのリンク »
「経済学・ERP・財務会計」カテゴリの記事
- ビジネス書の名著はどれ?(2023.09.18)
- 第85回IT勉強宴会の感想~概念データモデルからビジネスモデルを構築すべきという考え方(2023.05.13)
- 令和4年度春期試験のITストラテジスト試験第4問をastahでモデル化してみた(2023.04.15)
- 経営戦略とIT戦略をつなぐ鍵は何なのか(2023.01.04)
- 計量政治学と計量経済学の考え方の違い(2022.10.02)
コメント