Универсальный план (озвучивайте заказчику при заключении сделки):
Без предоплаты либо символическая предоплата.
Делаете сайт. По ходу разработки показываете прогресс
только через скриншоты, либо посредством демонстрации экрана.
Когда сайт готов действия следующие:
Если заказчик сразу просит файлы: требуйте
полную оплату (либо
полностью остаток если была предоплата).
Если заказчик просит что-то типа "хочу посмотреть/потестить сайт в разных браузерах/устройствах (то есть фронтенд): требуете 50% оплаты (или больше/меньше - зависит от объёма работы на фронтенде в процентном соотношении от объёма всей работы), заливаете на
свой хостинг и пусть он смотрит/тестит.
Если заказчик просит что-то типа "хочу посмотреть админку": требуйте
полную оплату (либо
полностью остаток если была предоплата).
По поводу
миллион правок
во время разработки/после сдачи - всё должно быть прописано в ТЗ. Всё, что не описано в ТЗ (если ТЗ вообще есть) вы вольны делать так, как считаете нужным. Но не стоит этим бравировать. Лучше выяснять все спорные моменты до, чем после.