Theoretically they have breached the contract but going down that route would probably lead you nowhere. The best route would have been to make use of the Sale of Goods Act 1979- which states that goods must be in satisfactory condition. Breaking this implied term of a contract means you can terminate it, and this would mean giving the sofa back and getting your money back. Seeing as you didn't actually take the goods and have accepted another lot, this is unlikely to work now. If you have persistence though personally I would mention these facts about the SGA 1979 to store, stating that you will be informing the Office of Fair Trading if they don't come up with a solution quickly. Thanks to the rather generous EU legislation 'Unfair terms in consumer contract regulations 1999' the Office of Fair Trading can now take a case on for you, threatening rather large penalties for non compliance, and taking companies to court on your behalf if needs be. As you can imagine, this is rather persuasive for companies to comply with orders. Another positive is that it means it can go to court without potentially large fees for yourself!