> our business would not be possible with prepayment
Not exactly sure how this is possible. Any mature business will split up a project into milestones. Whether payment is due at the beginning of a milestone or at the end, makes little difference to the business overall.
I prefer to charge new clients at the beginning of each milestone, starting work after they pay. Existing clients I'm happy to charge after the work is completed, because there's a working relationship there already.
Before I started doing this, I had payment issues several times a year. Since I started doing this, I haven't had a single payment concern and have never had to even think about it.