Что такое FARA CRM?
What is FARA CRM?
FARA CRM — это полнофункциональная система управления взаимоотношениями с клиентами, построенная на модульной Python-архитектуре. Каждый модуль можно подключить, заменить или вынести в отдельный микросервис без переписывания кода.
Интуитивная точка входа: один файл main.py с асинхронным lifespan — и вся система поднимается автоматически. Сервисы, роутеры, модули — всё инициализируется в правильном порядке.
Никаких чёрных ящиков — весь код открыт и документирован. FastAPI под капотом обеспечивает скорость и автодокументацию API.
FARA CRM is a full-featured customer relationship management system built on a modular Python architecture. Each module can be connected, replaced, or extracted into a separate microservice without rewriting code.
Intuitive entry point: a single main.py file with async lifespan — and the entire system boots automatically. Services, routers, modules — everything initializes in the correct order.
No black boxes — all code is open and documented. FastAPI under the hood ensures speed and auto-generated API docs.
# Интуитивная Entry Point — main.py
from backend.project_setup import env
@asynccontextmanager
async def lifespan(app: FastAPI):
# startup
app.state.env = env
await env.setup_services()
await env.start_services_before(app)
await env.load_routers(app)
await env.start_services_after(app)
await env.start_post_init(app)
yield
# shutdown
await env.stop_services(app)Модульная экосистема FARA CRM
FARA CRM Modular Ecosystem
Каждый модуль — независимое приложение со своими моделями, роутерами и правами доступа. Подключайте только то, что нужно.
Each module is an independent app with its own models, routers, and access rights. Enable only what you need.
Контрагенты
Partners
Партнёры, контакты и типы контактов. Единая база с полной историей взаимодействий и сегментацией.
Partners, contacts, and contact types. Unified database with full interaction history and segmentation.
Компании
Companies
Управление компаниями с расширяемыми полями. Поддержка юридических реквизитов через модуль Contract.
Company management with extensible fields. Legal details support via Contract module.
Лиды
Leads
Управление лидами с настраиваемыми стадиями, CRM-командами и автоматическим продвижением по воронке.
Lead management with configurable stages, CRM teams, and automatic funnel progression.
Продажи
Sales
Сделки, строки заказов, стадии продаж и налоги. Полный цикл от лида до закрытия сделки.
Deals, order lines, sale stages, and taxes. Full cycle from lead to deal closure.
Товары и каталог
Products & Catalog
Товары, категории, единицы измерения. Гибкий каталог для любого типа бизнеса.
Products, categories, units of measure. Flexible catalog for any business type.
Договоры
Contracts
Договоры с контрагентами. Расширение Partner/Company полями РФ — ИНН, КПП, ОГРН, ОКПО.
Contracts with counterparties. Partner/Company extension with Russian legal fields — INN, KPP, OGRN, OKPO.
Задачи и проекты
Tasks & Projects
Проекты, задачи со стадиями и тегами. Kanban-борд для управления рабочим процессом команды.
Projects, tasks with stages and tags. Kanban board for team workflow management.
Активности
Activities
Звонки, встречи, письма и напоминания — привязанные к записям. Уведомления приходят прямо в чат.
Calls, meetings, emails and reminders — bound to records. Notifications arrive straight in the chat.
Чат и WebSocket
Chat & WebSocket
Внутренний чат через WebSocket + PostgreSQL pub/sub. Каналы, группы, папки, реакции и вложения в реальном времени.
Internal chat via WebSocket + PostgreSQL pub/sub. Channels, groups, folders, reactions and attachments in real time.
Telegram
Telegram
Интеграция с Telegram через стратегию-коннектор. Двусторонний обмен сообщениями прямо из CRM.
Telegram integration via connector strategy. Two-way messaging directly from CRM.
Интеграция с WhatsApp через ChatApp API. Plug-and-play коннектор на базе Strategy-паттерна.
WhatsApp integration via ChatApp API. Plug-and-play connector based on Strategy pattern.
MAX
MAX
Мессенджер MAX двумя способами: бот-коннектор и официальный business-API — переписка ложится в общий чат.
The MAX messenger two ways: a bot connector and the official business API — conversations land in the shared inbox.
ВКонтакте
VK
Сообщения из сообществ ВКонтакте приходят в CRM через Callback API — с историей и привязкой к клиенту.
Messages from VK communities arrive in the CRM through the Callback API — with history and customer binding.
Avito
Avito
Интеграция с Avito — сообщения от покупателей попадают прямо в CRM-чат и создают лид.
Avito integration — buyer messages land directly in the CRM chat and create a lead.
Email (SMTP/IMAP)
Email (SMTP/IMAP)
Отправка и получение почты через SMTP/IMAP. Синхронизация по cron, письма привязаны к записям CRM.
Send and receive mail via SMTP/IMAP. Cron sync, messages bound to CRM records.
Телефония
Telephony
Asterisk, Sipuni и МегаФон: входящие и исходящие звонки, записи разговоров и вся история в карточке клиента.
Asterisk, Sipuni and Megafon: inbound and outbound calls, recordings and the full history on the customer card.
Софтфон в браузере
Browser softphone
SIP-звонилка на WebRTC прямо во вкладке CRM: звоните и принимайте вызовы без отдельного телефона.
A WebRTC SIP phone right inside the CRM tab: place and take calls with no separate handset.
Вложения
Attachments
Локальное и удалённое хранение файлов. Кэширование, маршрутизация по папкам, несколько хранилищ сразу.
Local and remote file storage. Caching, folder routing, several storages at once.
Google Drive и Яндекс Диск
Google Drive & Yandex Disk
Вложения можно держать в облаке через OAuth2. Хранилище выбирается стратегией — локальное, Google или Яндекс.
Attachments can live in the cloud via OAuth2. Storage is picked by strategy — local, Google or Yandex.
Отчёты DOCX/PDF
Reports DOCX/PDF
Генерация документов из DOCX-шаблонов с Jinja2-тегами: рендеринг через docxtpl, конвертация в PDF через LibreOffice.
Documents generated from DOCX templates with Jinja2 tags: rendered by docxtpl, converted to PDF by LibreOffice.
Права и безопасность
Access & Security
Роли, ACL, правила видимости записей, пользователи и сессии. Контроль доступа до уровня модели, операции и поля.
Roles, ACLs, record-visibility rules, users and sessions. Access control down to model, operation and field.
Push-уведомления и PWA
Push notifications & PWA
Web push о новых сообщениях и напоминаниях. CRM ставится на телефон прямо из браузера.
Web push for new messages and reminders. The CRM installs on a phone straight from the browser.
Auto CRUD
Auto CRUD
Автогенерация CRUD-роутеров и Pydantic-схем из DotORM-моделей. Один проход — все эндпоинты и OpenAPI готовы.
CRUD routers and Pydantic schemas auto-generated from DotORM models. One pass — endpoints and OpenAPI ready.
DotORM + PostgreSQL
DotORM + PostgreSQL
Собственный async-ORM на пуле asyncpg. Транзакции, контроль доступа на уровне запроса, диалект PostgreSQL.
An in-house async ORM on an asyncpg pool. Transactions, query-level access control, PostgreSQL dialect.
Cron-задачи
Cron Jobs
Запланированные задачи через subprocess + pg_advisory_lock. Из N воркеров cron запускает ровно один.
Scheduled jobs via subprocess + pg_advisory_lock. Out of N workers exactly one runs cron.
Фильтры и колонки
Filters & Columns
Сохранённые фильтры списков и настройка колонок под себя: что показывать и в каком порядке — для каждого пользователя.
Saved list filters and per-user column setup: what to show and in what order.
Языки
Languages
Мультиязычность системы. Управление языками и локализацией интерфейса.
System multilanguage support. Language management and UI localization.
Документация разработчика
Developer Docs
Встроенная документация MkDocs и Swagger offline. Всё в одном месте прямо в приложении.
Built-in MkDocs and offline Swagger docs. Everything in one place inside the app.
Как выглядит FARA CRM
How FARA CRM Looks
Реальные скриншоты системы — кликните на категорию для просмотра.
Real system screenshots — click a category to browse.

Три шага до запуска
Three Steps to Launch
Начните использовать FARA CRM за считанные минуты.
Start using FARA CRM in minutes.
Клонируйте репозиторий
Clone the Repository
git clone и docker-compose up — система готова к работе за 2 минуты.
git clone and docker-compose up — ready to go in 2 minutes.
Настройте модули
Configure Modules
Подключите нужные модули в project_setup, а настройки через .env файл. Только то, что нужно вашему бизнесу.
Connect needed modules via project_setup, and settings via .env file. Only what your business needs.
Начните работать
Start Working
Импортируйте базу клиентов или начните ее заполнять и начните управлять сделками прямо сейчас.
Import your client base or start fill and start managing deals right now.
Модульная Python-архитектура
Modular Python Architecture
FARA CRM построена на паттерне Apps Architecture — каждый модуль это независимое приложение (App) со своими моделями, роутерами, правами доступа и зависимостями.
Environment — центральный фасад: содержит Apps, Models и Settings. Monkey-patch трюк позволяет расширять модели через ExtensibleMixin и декоратор @extend без изменения исходного кода.
Три типа компонентов: App (бизнес-логика + CRUD + ACL), Service (инфраструктура: БД, логгер, cron) и Mixin (расширения: Google Drive, Telegram, WhatsApp — подключаются к существующим моделям).
FARA CRM is built on the Apps Architecture pattern — each module is an independent application (App) with its own models, routers, access rights, and dependencies.
Environment — the central facade: contains Apps, Models, and Settings. Monkey-patch trick allows extending models via ExtensibleMixin and @extend decorator without modifying source code.
Three component types: App (business logic + CRUD + ACL), Service (infrastructure: DB, logger, cron), and Mixin (extensions: Google Drive, Telegram, WhatsApp — plug into existing models).
# backend/project_setup.py
class Apps(AppsCore):
# CRM
leads = LeadsApp()
partners = PartnersApp()
sales = SalesApp()
products = ProductsApp()
company = CompanyApp()
contract = ContractApp()
task = TasksApp()
activity = ActivityApp()
# Chat
chat = ChatApp()
chat_tg = ChatTelegramApp()
chat_mail = ChatEmailApp()
# System
security = SecurityApp()
users = UserApp()
cron = CronApp()
db = DbPostgresService()
crud_auto = CrudAutoService()FARA CRM vs другие решения
FARA CRM vs Other Solutions
Посмотрите, чем FARA CRM отличается от проприетарных CRM-систем.
See how FARA CRM differs from proprietary CRM systems.
Подробные сравнения — с плюсами и честными минусами FARA CRM:
Detailed comparisons — with the pros and the honest cons of FARA CRM:
Готовы попробовать FARA CRM?
Ready to Try FARA CRM?
Начните с документации или клонируйте репозиторий и запустите систему за 2 минуты.
Start with the docs or clone the repo and launch in 2 minutes.