Um, no. You teach people how to treat you. Develop a policy and stick to it.
Take deposits, finalize orders 1 week out, and don't let people do this to you. You may need the money, but in 6 months you will be angry, bitter and pissed off. People treat you how you let them.
"I'm sorry, I'd LOVE to help you, but I need at least 7 days' notice. Please think of me next time!"
This is not the customer's fault, this is yours. Sorry for the tough love, we all go...