I've been on both sides of this kind of situation, as a customer and fairly often as a supplier, and the root of the trouble in almost every case is communication, or rather the lack of it. If there's going to be a delay or some other problem with a customer's order you have to tell them and explain everything fully. In my own business, orders often arrive for items that aren't in stock, with the result that delivery won't be within the times quoted as normal in catalogue & website. What I do then is contact the customer immediately with an accurate estimate of the delivery time. In my experience, customers never mind waiting two or three weeks if that's what they've been told at the outset, or even longer than that for specially made items. After that though, delivery has to be within the stated time, whatever that was. I'd expect them to be a lot less understanding if original promises on delivery times weren't kept, I know I would be.