Companies that insist on advance payment for their product or service have an obligation to deliver as promised. Collecting advance payment and then providing poor quality or bad experience to customers is a breach of trust. It is bad for your brand.
Customers feel cheated if they are shortchanged by companies that collected full payment but did not deliver satisfactory results.
If taking advance payment from your customers is your right, then providing excellent quality, service and experience is your duty. Exercising rights without fulfilling your duty is detrimental to your reputation as a brand.
Taking advance payments is a responsibility. It is a promise you make to the customer. If you wish to be a successful brand in your industry, don’t break that promise.