If I was building software to automatically underbid products being sold in an online store, I would for sure want some safeguards in place to prevent this. I would almost expect this kind of scenario playing out as an eventuality. I realize this was a bug and that the code otherwise works, but they've obviously got a single point of failure. There should be some redundancy in the design, but I guess that's fairly obvious now.
A few things they could do (as told from my mighty armchair of wisdom):
* slow roll out of new code so not everyone is impacted (assuming service architecture permits)
* alert/circuit-breaker on changes to qty sold versus order totals; compare with historical data
* request approval on price changes before they apply
* prevent or notify on price changes exceeding X% amount relative to last week or month
* circuit-breaker on significant uptick in order count compared to average
* and of course, better QA and validation of their code and systems
I think it's safe to say RepricerExpress will be putting some safeguards in place to prevent this from happening again. Or they'll just go under from the customer flight. Or it's a scrappy PHP script that they'll update in notepad and call it a day.