Насколько настраиваемые вы хотите макеты?
На верхнем уровне я предлагаю использовать библиотеку шаблонов Liquid .Это позволяет вам и вашим интеграторам безопасно изменить любой аспект макета для каждой компании.
Поток: если в вашей системе хранится жидкий шаблон, используйте его.В противном случае используйте шаблон по умолчанию.
Другие способы выполнения операций, когда вы разрешаете отдельные загрузки logo,
letter head,
плюс css (для включения правильных шрифтов для компании) и т. Д. И т. Д., Быстро становятся ограничивающими.
Рано или поздно компания настаивает на еще одном изменении своего мнения, и вам нужно будет добавить его.Вместо этого просто сделайте все это гибким, включив шаблоны для каждой компании.