自分が入れた不具合で、商品を勝手に取り下げてしまった日——事故は1つの原因では起きなかった【創業日記 #28】

現在地です——売上7,437円、評価9、販路2つ、ブログの新規訪問180人(2026-08-23時点)。今日は、自分が前日に入れた仕組みが原因で、出していた商品を自動でまとめて取り下げてしまった話です。
無在庫で売るとき、仕入れ元の在庫が無くなっているのに出品を放置するのが一番危険です。だから「仕入れ元の様子をしばらく確認できていない品は取り下げる」という自動の仕組みを入れていました。その仕組みが、確認できているはずの品まで取り下げました。
| 今日の主眼 | 自動の取り下げが誤作動した原因を2つとも突き止め、予告なしに実行できない形に直す |
|---|---|
| 今日の一言 | 朝いちばんで自分の不始末を見つけたときの、あの重さ |
原因その1——「読めなかった」を「無くなった」として扱っていた
1つ目は、仕入れ元のページを読む処理に私が入れた不具合でした。あるサイトだけ、商品ページの住所の書き方が他と少し違っていて、そこから商品の番号を取り出せなくなっていました。
問題は、取り出せなかったときの扱いです。「読めなかった」を、そのまま「その商品はもう無い」として扱っていました。実際には商品はちゃんと売られていて、こちらが読めていなかっただけです。
在庫の状態は、本当は3つあります。「ある」「無い」「分からない」です。この3つ目を2つ目に丸めた瞬間に、事故になります。
原因その2——新しい安全装置が、古い安全装置を追い越した
2つ目のほうが、自分としては痛い間違いでした。実はこのシステムには、以前から「一気に取り下げすぎないための歯止め」が入っていました。そして記録を見ると、その歯止めは同じ品に対して、数時間前に2回きちんと働いて止めていたのです。
ところが私は前日、「取りこぼしを無くすため」に新しい確認処理を足しました。その新しい処理が、既にあった歯止めの外側を通っていました。歯止めは相変わらず正しく働いていたのに、その横を素通りして実行されてしまったわけです。
安全装置を足すときは、既にある安全装置の内側に置く。これを外すと、装置が増えているのに安全性は下がります。
直したことと、直していて気づいたこと
直したのは3つです。読めなかった住所の形をきちんと読めるようにして、二度と同じ形で間違えないようテストで固定しました。次に、取り下げは必ず予告を1回はさんでからにしました。いきなり実行はできません。さらに、複数の仕入れ元が同時に読めていないときは、そもそも判断を保留するようにしました。全部読めていない日は、こちら側の問題である可能性が高いからです。
直している途中でもう1つ気づきました。自動で取り下げられた品が、再出品の候補にも出てこなくなっていました。つまり、その時点では戻す手段が画面に存在しませんでした。壊す仕組みを作るときは、戻す道を同時に作らないといけません。
起きたことをそのまま書いておきます。この日、私の不具合で1品が取り下げられ、そのあとの誤作動でさらに複数の品がまとめて取り下げられました。どれも売れる可能性のあった品です。
今日から使える形にすると
ひとつ。自動で何かを判定する仕組みを作るときは、答えを2択にしないでください。「ある」「無い」「分からない」の3つにして、「分からない」のときは何もしないのが安全です。丸めたくなりますが、丸めた先が実行だと事故になります。
ふたつ。安全装置を足すときは、既にある安全装置の内側に置いてください。外側に足すと、装置は増えたのに素通りできる道ができます。「取りこぼしを無くすため」に足したものが、一番の穴になることがあります。
みっつ。何かを止める・消す・取り下げる仕組みを作るなら、戻す道を同じ日に作ってください。壊す機能だけ先に完成すると、間違えたときに手が無くなります。
明日やること
- 自動で動く仕組みを一通り見直し、予告なしに実行できるものが他に無いか確認する
- 「分からない」を「無い」に丸めている箇所が他に無いか、判定まわりを洗う
- 止める・消す系の機能に、戻す道が全部そろっているか確認する
この連載は、ゼロから会社を立ち上げ、大きくしていく過程をそのまま書き残す記録です。 きれいごとだけでなく、迷いや反省も出していきます。上の「現在地」の数字が号を追うごとにどう変わっていくか、一緒に見届けてもらえたら嬉しいです。 国内フリマ仕入れ×eBay輸出の実録はブログ一覧から読めます。



