Разработчики FARA CRM внедрили систему отчетов на базе шаблонов DOCX, использующую библиотеку docxtpl с тегами Jinja2. Такой подход позволяет редактировать документы непосредственно в Word, исключая необходимость участия программистов при изменении формулировок. Система поддерживает генерацию файлов в форматах DOCX и PDF.
Архитектура решения включает три модуля: ядро для печати, функции сбора данных на Python и визуальный конструктор шаблонов. В CRM встроен React-компонент для редактирования DOCX-файлов, который позволяет вставлять поля и просматривать результат в реальном времени. Конструктор доступен для любых DOCX-вложений в системе.
Для создания PDF по умолчанию используется LibreOffice, что увеличивает размер Docker-образа на 400 МБ и требует установки пакета шрифтов fonts-liberation для корректной верстки. Для предотвращения конфликтов при параллельной обработке каждому процессу назначается отдельный профиль. В качестве резервного движка используется решение на python-docx и fpdf2.
Система поддерживает автоматическую рассылку отчетов по расписанию через email и Telegram. Реализация включает 63 файла и около 4,9 тысячи строк кода, предоставляя семь готовых шаблонов документов, включая счета и отчеты о продажах. Исходный код проекта опубликован на GitHub, также доступна демо-версия и документация.





