Боюсь в данном случае вы просто не оценили, что хотел от вас заказчик.
Старайтесь смотреть на это с его стороны. Вот он говори "сделать верстку". Вы думаете, что за этим скрывается "сверстать макет и передать hrml и css". С вероятностью же 99% для заказчика за этим стоит: "сверстать пиксел в пиксел как на макете, натяунуть на сайт, добавить в контроллере обработку новых элементов, внести изменение в базу чтобы все это поддерживалось". Заказчик конечно не думает это все такими словами. Просто он думает что если вы сверстаете ему на страничке элемент оценки товара с пятью звездочками, то он должен работать. Он не знает, что за этим стоит не только картинка, а куча js, непростая серверная часть и т.п.
Чем короче требования заказчика, тем больше он под ними подразумевает. И он в это не виноват.
Это вы должны объяснить ему что он просит и что он получит, потому что когда то, что он получит не будет совпадать с тем что он ждет, виноваты будете именно вы, даже если он попросил у вас именно то, что получил.