In a letter to investors, CEO Patrick M. Byrne said:
Our 1st Commandment is "Maintain a bullet proof balance sheet," But while the spirit is strong, the flesh made a mistake. The short version is: when we upgraded our system, we didn't hook up some of the accounting wiring; however, we thought we had manual fixes in place. We've since found that these manual fixes missed a few of the unhooked wires.
It also turned out there were errors cutting both ways which partially obscured the problem because we relied on reasonability testing to verify certain balances rather than a ground-up reconciliation. Now that we have found these errors, we have called a penalty on ourselves. The total effect of the errors over the five and a half year period (during which we generated nearly $3.5 billion in revenues) is a reduction in revenue of $12.9 million and a $10.3 million increase to cumulative net loss.
Overstock's Senior Vice President of Finance, David K. Chidester, added more detail:
As you know, during 2005 we implemented a major system upgrade which also upgraded our accounting system. As part of this accounting system upgrade we changed from recording refunds to customers in batches to recording them transaction-by-transaction. When we issue a customer refund, the refund reduces the amount of cash we receive from our credit card processors and, as a result, our financial system should reduce our accounts receivable balance. After the implementation, in the instance of some customer refunds, this reduction wasn't happening, and we didn't catch it.
We use internal "reason codes" to track the reasons we give customer refunds. Under the new system not all reason codes were automatically recorded; some customer refunds required manual entry in the financial system. We set up automatic and manual processes so that these would be recorded. Unfortunately, we missed some of the manual customer refunds, and as a result, we did not record all that were occurring.
THE PROJECT FAILURES ANALYSIS
Although a narrow set of transactions wasn't implemented correctly, creating a large cumulative effect over time, the company's internal controls should have caught these errors. The investor letter states:
[M]anagement acknowledges the impact these errors have on the effectiveness of the Company's internal control over financial reporting and disclosure controls and procedures for the periods being restated.
Some companies, such as Levi's, have attempted to mask financial controls issues by shifting blame onto their ERP implementation. In contrast, Overstock acknowledged the problem in a straightforward manner.
Overstock didn't point the finger at either Oracle or any third-party system integrator, suggesting the problem was entirely home-grown. Another online retailer, J.Crew, faced severe financial issues following a botched system roll out; J.Crew's problem was also internal.
My take. Relatively arcane implementation issues compounded over time because Overstock didn't have appropriate financial controls in place. Overstock accepted responsibility and didn't obscure the issue.
Update: 10/28/08 2:00pm Eastern time: Computer World spoke with Overstock's Director of Investor Relations, Kevin Moon, who confirmed my conclusions:
Overstock had previously used a homegrown system and rushed the Oracle implementation project to get the new system live before the fourth quarter of 2005 and the busy shopping season, according to Moon.
"Honestly, it didn't have anything to do with Oracle per se, it was the implementation," he said. "We had consultants and we had help, but it was all driven by Overstock. We set the timelines."
It's unusual for an enterprise software customer to directly acknowledge its own contribution to a problem implementation. Overstock, you did the right thing.