Open Source CRM

FARA CRM

Современная CRM-система нового поколения. Полный контроль над клиентской базой, сделками и автоматизацией бизнес-процессов — с открытым исходным кодом.

Next-generation CRM system. Full control over your client base, deals, and business process automation — open source.

О системеAbout

Что такое 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)
100%
Open Source
Модулей
Modules
0₽
Лицензия
License
24/7
Self-hosted
МодулиModules

Модульная экосистема 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

WhatsApp

Интеграция с WhatsApp через ChatApp API. Plug-and-play коннектор на базе Strategy-паттерна.

WhatsApp integration via ChatApp API. Plug-and-play connector based on Strategy pattern.

MAX

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

ВКонтакте

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.

Быстрый стартQuick Start

Три шага до запуска

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.

АрхитектураArchitecture

Модульная 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()
СравнениеComparison

FARA CRM vs другие решения

FARA CRM vs Other Solutions

Посмотрите, чем FARA CRM отличается от проприетарных CRM-систем.

See how FARA CRM differs from proprietary CRM systems.

FARA CRM
Другие CRMOther CRMs
Открытый кодOpen Source
Self-hosted
частичноpartial
Модульная архитектураModular Architecture
REST API
Бесплатная лицензияFree License
Контроль данныхData Control

Подробные сравнения — с плюсами и честными минусами FARA CRM:

Detailed comparisons — with the pros and the honest cons of FARA CRM:

vs amoCRM vs Битрикс24vs Bitrix24 vs Salesforce

Готовы попробовать FARA CRM?

Ready to Try FARA CRM?

Начните с документации или клонируйте репозиторий и запустите систему за 2 минуты.

Start with the docs or clone the repo and launch in 2 minutes.

Начать бесплатноGet Started Free Читать документациюRead Documentation