FARA CRM has implemented a reporting system based on DOCX templates using the docxtpl library, which integrates Jinja2 tags directly into Word documents. This approach allows users to edit templates in Word without requiring developer intervention for minor changes. The system supports both DOCX and PDF formats, with the latter generated via LibreOffice or a fallback Python-based converter.

The reporting architecture consists of three modules: a core engine for printing, data-fetching functions written in Python, and a visual template designer. The designer, built as a React component, allows users to insert fields and preview documents in real-time. It includes a browser-based editor that enables editing of any DOCX attachment within the CRM.

For PDF generation, the system defaults to LibreOffice, which requires an additional 400 MB in the Docker image and the fonts-liberation package to ensure consistent formatting. To handle concurrency, the system assigns a unique profile to each worker process. A secondary, lightweight converter using python-docx and fpdf2 serves as a fallback for basic documents.

The platform supports automated report distribution via email and Telegram, managed through cron tasks that execute specific model methods with predefined parameters. The implementation, totaling approximately 4,900 lines of code across 63 files, includes seven document templates such as invoices and sales reports. Source code is available on GitHub.