Позвольте модели заполнять данные, а не писать документ
Агент, которому поручено написать контракт, придумывает макет, пункты и иногда цифры. Дайте ему шаблон вместо этого: он запрашивает у шаблона необходимые поля, заполняет JSON‑скелет из ваших заметок, а движок рендерит документ.