販売・返品価格の計算方式

商品単品の価格については商品の価格を参照してください。 ここでは、主にレジスター機能にて販売を行う際の金額計算と、その中の商品が返品されるときの返金額を決定するための 計算方式、さらに販売原価や粗利の計算方式について述べます。

これらは非常に複雑ですので、疑問をもった時にお読みいただければ良いかと思います。 複雑になってしまう理由は、ひとえに

顧客とのやりとりは必ず整数値でしか行えないにも関わらず、 商品の単品価格や数量に小数点が入ることがある。 たとえ単品価格や数量が整数であっても値引・割引を行うと 小数点数が入ってきてしまう。

という点です。これを「どんな場面でどのようにして割り切って整数にするか」 ということは世間的な了解事項ではありません。そうではなく「決め事」です。 しかしながら、「どういう決め事になっているか」をレジ担当者が常に意識しなくては 使えないようでは困りますし、顧客が疑問に持つようではいけません。 出来る限り自然な考え方に沿うようにしてあります。

商品価格の小数点と丸め

商品の価格で説明したように、 特に税込売価小数点を設定した商品の 販売時には単品の税込価格が小数点数になることがあります。

これをそのままの状態で計算するわけにはいきません。なぜなら、 少なくとも「合計」においては整数になっていなければならないからです。 (「123.45円のお支払いです」と言うわけにはいきません)。 もちろん、小数点のままにするという考え方も有り得ます。その方が数学的には正しいですが、 実際上は煩雑すぎるので採用できません。

結局のところ、何がしかの時点で「丸め」を行わなければなりませんし、「丸め方法」も決めておかねばなりません。 本システムでは、「行ごとに切り上げ」という方法を取っています。

例えば、いまA商品を販売するとし、その税込単品価格が2.3円だったとします。

※このような小額の商品を「バラ売り」することはあまりなさそうですが、 しかしガソリンスタンドなどではできる限りの安さを強調するために「142.3円」などと表示することもあります。

この商品を2個購入された場合には「2.3円×2=4.6円」を切り上げして5円となります。

切り上げにする理由は、「切り捨てや四捨五入では商品を一つずつ買った方が安くなってしまう」 からです。例えば四捨五入の場合、

1個では2.3を四捨五入して2円
2個では4.6を四捨五入して5円
3個では6.9を四捨五入して7円

もちろんこれも、このような小額の商品を安く買うために一品ずつ買うような顧客は 実際にはおそらくいないものと思われます。 この考え方は、システム上あくまでも矛盾の無いようにするためのものとお考えください。

仕入も同様です。発注伝票に、もし税別価格に小数点のある商品があった場合、その行ごとに 切り上げが行われます。

数量の小数点と丸め

商品単品の税込価格が整数だとしても、数量として小数点を入力すると、商品行の合計には 本来であれば小数点が入ってしまいます。例えば、

A商品 525円 1.3個 682.5円

という場合です。この場合も商品の行単位で切り上げにしていますので、683円となります。

※通常は数量として小数点は使用できません。 数量小数点設定のある商品にのみ使用することができます。 これは特に「量り売り」を行う場合に有用です。