お金を扱う大人の算数、第13回・実録編。ここまでの12回は、金額が合わなくなる仕組みを「作った例」で説明してきました。今回は、作った例ではありません。実際に起きた話を、起きた順に書きます。第12回が「1998年、私はこう決めた」なら、今回は「決まっていなかった現場では、こうなった」——理論を外から裏書きする一話です。
差額の「金額」は、原因を教えてくれるのか。
この連載では12回にわたり、金額が合わなくなる仕組みを、作った例で説明してきました。今回は、作った例ではありません。実際に起きたことを、起きた順に書きます。
本稿は、筆者が実際に関わった事例をもとに、業種の詳細・時期・一部の数字を変更して再構成したものです。計算の構造と調査の経緯は事実に基づきます。記憶と記録が確認できない部分は、その旨を明記しています。
要点先に、この回の要点
月次の締めで25円合わなかった事故の実録です。原因は値引・商品・税率ではなく、「注文確定後の電話追加を、どの取引として受けるか」が決まっていなかったこと。誰も間違えていないのに、取引の残し方(第9回)が未決だと事故が起き、範囲すら後から確定できなくなります。
- 差額の原因は、確定後の追加分を担当者が個別に5%計算し、カートは全合計に5%を掛ける——丸めの単位が食い違ったこと。担当者もカートも正しい。
- 取引の残し方が未決だと、事故が起きるだけでなく、起きた事故の範囲を後から特定することすらできなくなる。
- 解決はプログラム修正ではなく運用ルールの明文化。「確定後の追加は担当者が金額を計算せず、全合計にシステムが割引を再計算」。
発覚
衣料品と小物を扱う通販の話です。月次の締め作業で、販売管理の売上と入金の突き合わせが、25円合いませんでした。
25円です。月商からすれば、誤差のような金額です。「雑損で落とせば」という判断もあり得ました。しかし、原因の分からない差額を、締めに通すことはできません。翌月も同じ形の差額が出ない保証が、どこにもないからです。
調査が始まりました。
25円を追いかけた
最初に疑ったのは、25円という数字そのものでした。25円の値引きをした注文はないか。探しましたが、ありませんでした。次に、価格の下二桁が25円の商品はないか。価格設定を誤って登録した商品が、どこかに紛れていないか。商品マスタを浚いましたが、該当なし。
次に、5%を疑いました。当時の消費税率です。しかも、5%の割引キャンペーンも走っていました。どこかで税と割引が二重に掛かったか、逆に片方が抜けたか。5%が絡む計算を一つずつ検算しましたが——どれも合っている。
二週間、「25円の出どころ」を探し続けた。
値引きにも、商品にも、税率にも、25円はいなかった。
特定
見つけたのは、注文を一件ずつ突き合わせる作業の中でした。差額を生んでいる注文には、共通点がありました。すべて、注文確定後にお客様から電話があり、商品を追加した注文だったのです。
仕組みはこうです。この通販では、5%割引のキャンペーンを実施していました。カートで注文すれば、システムが全商品の合計に5%を掛けます。ここに間違いはありません。しかし、電話で「あの注文に、もう一点足してください」と言われたとき、担当者は、追加された商品の金額に5%を掛けて、元の注文へ足していました。
カートの仕様では、割引は全商品の合計に掛かります。合計に掛けてから丸めるのと、追加分だけに掛けて丸めたものを足すのとでは——この連載の第1回で見たとおり、金額が一致するとは限りません。1件あたりの差は、わずかな端数です。それが20件以上積み重なって、25円になっていました。
担当者の計算は、間違いではありません。「追加分の5%を引く」のは、電話口の対応として自然な発想です。カートの計算も正しい。経理の突き合わせも正しい。
誰も間違えていなかった。
決まっていなかったのは、注文確定後の追加を、どの取引として受けるのか——たった一つ。
これは、本連載でいう第9回・第9段「取引の残し方を決める」が未決だった事故です。確定後の追加を「元注文への継ぎ足し」として人が処理するのか、「取消と再注文」としてシステムに再計算させるのか。それが決まっていなかったため、電話というシステムの外側を通った注文だけ、計算の単位(第1段)が割れたのです。
探し切れなかった
正直に書けば、差額を生んだ注文を、すべて特定できたわけではありません。
電話での追加は、元の注文への継ぎ足しとして処理されていたため、どの注文が電話を経由したのか、記録の上では区別がつきませんでした。正しく処理されていた電話注文もありました。突き合わせで見つかった20件超がすべてなのか、それ以上あったのか——確かめる手段が、記録の側にありませんでした。
取引の残し方が決まっていないと、事故が起きるだけではない。
起きた事故の範囲を、後から確定することすらできなくなる。
決めたこと
解決は、プログラムの修正ではありませんでした。運用ルールを明文化しました。
注文確定後の商品追加は、担当者が金額を計算しない。
全商品の合計に対して、システムが割引を再計算する処理として行う。
この一行が最初からあれば、この事故は存在しませんでした。
なお、差額はお客様への請求ではなく、店舗側の負担として処理されました。お客様は誰一人、この差額に気づいていません。外から見えない事故ほど、締めの中でしか発見されない——ということでもあります。
勘定
この14日間で分かったのは、差額の「金額」は原因を教えてくれない、ということでした。25円を探した二週間は、すべて空振りでした。25円は、どこにも存在しない数字だったからです。存在していたのは、わずかな端数が20回、同じ未決ルールから生まれる仕組みでした。
誰の計算も間違っていないのに、締めだけが合わない。原因が「金額」の中にないので、探すほど時間だけが溶けていく。
その金額が、どの「決め方の不在」から生まれ得るかを探す。
25円という差額は、25円の値引きからも、25円の商品からも生まれていませんでした。生まれていたのは、注文確定後の追加をどの取引として受けるのかという、決められていなかった一点からです。金額の姿は、原因の姿と似ていません。だから、差額を調べるときに必要なのは、電卓ではなく索引です。どの数字を基準にし、どの順番で計算し、どこで丸め、何を記録として残すのか——本連載の12の設計判断は、そのための索引です。
余談ですが、同じ時期には、第8回で作例として書いた「配分した割引分まで現金で返してしまう」返金も、実際に起きていました。あの例は、机上で作った話ではありません。
Series ・ 特別編 大人の算数・国語・論理的思考 ― 連載一覧へよくあるご質問(FAQ)
金額は小さくても、原因不明の差額を残すと再発し、範囲も分からなくなります。出どころを特定し、運用ルールを決めることに意味がありました。
いいえ。電話口で追加分の5%を引く担当者も、全合計に5%を掛けるカートも正しいのです。決まっていなかったのは「確定後の追加をどの取引として受けるか」だけでした。
電話追加が元注文への継ぎ足しとして処理され、記録上どれが電話経由か区別できなかったためです。取引の残し方が未決だと、事故範囲すら後から確定できません。
プログラム修正ではなく運用ルールの明文化です。「注文確定後の追加は担当者が金額を計算せず、全商品合計にシステムが割引を再計算する」と決めました。
