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.

💬

Чат и WebSocket

Chat & WebSocket

Внутренний чат через WebSocket + PostgreSQL pub/sub. Каналы, группы, реакции, вложения. Real-time обмен.

Internal chat via WebSocket + PostgreSQL pub/sub. Channels, groups, reactions, attachments. Real-time messaging.

✈️

Telegram

Telegram

Интеграция с Telegram через стратегию-коннектор. Двусторонний обмен сообщениями прямо из CRM.

Telegram integration via connector strategy. Two-way messaging directly from CRM.

📧

Email (SMTP/IMAP)

Email (SMTP/IMAP)

Отправка и получение email через SMTP/IMAP. Синхронизация через cron, привязка к записям CRM.

Send and receive email via SMTP/IMAP. Cron sync, binding to CRM records.

📱

WhatsApp

WhatsApp

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

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

🛒

Avito

Avito

Интеграция с Avito — получайте сообщения от покупателей прямо в CRM-чат.

Avito integration — receive buyer messages directly in CRM chat.

Задачи и проекты

Tasks & Projects

Проекты, задачи со стадиями и тегами. Kanban-борд для управления рабочим процессом команды.

Projects, tasks with stages and tags. Kanban board for team workflow management.

🔔

Активности

Activities

Звонки, встречи, email, напоминания — привязанные к записям. Уведомления через системный чат.

Calls, meetings, emails, reminders — bound to records. Notifications via system chat.

📎

Вложения

Attachments

Локальное и удалённое хранение файлов. Кэширование, маршрутизация, поддержка нескольких хранилищ.

Local and remote file storage. Caching, routing, multi-storage support.

☁️

Google Drive

Google Drive

Хранение вложений в Google Drive через OAuth2. Расширение модуля Attachments стратегией Google.

Store attachments in Google Drive via OAuth2. Extends Attachments module with Google strategy.

📊

Отчёты DOCX/PDF

Reports DOCX/PDF

Генерация отчётов из DOCX-шаблонов с Jinja2-тегами. Рендеринг через docxtpl, конверсия в PDF через LibreOffice.

Report generation from DOCX templates with Jinja2 tags. Rendering via docxtpl, PDF conversion via LibreOffice.

🔐

Безопасность (RBAC)

Security (RBAC)

Роли, правила, ACL-списки, сессии. Гранулярный контроль доступа до уровня модели и операции.

Roles, rules, ACL lists, sessions. Granular access control down to model and operation level.

👤

Пользователи

Users

Управление пользователями, аутентификация через токены. Связь с ролями и сессиями.

User management, JWT token authentication. Linked to roles and sessions.

Auto CRUD

Auto CRUD

Автогенерация CRUD-роутеров и Pydantic-схем из DotORM-моделей. Один проход — все эндпоинты готовы.

Auto-generation of CRUD routers and Pydantic schemas from DotORM models. One pass — all endpoints ready.

🗄️

DotORM + PostgreSQL

DotORM + PostgreSQL

Собственный ORM DotORM с пулом asyncpg. Транзакции, access-контроль на уровне запросов, диалект PostgreSQL.

Custom DotORM with asyncpg pool. Transactions, query-level access control, PostgreSQL dialect.

Cron-задачи

Cron Jobs

Запланированные задачи через subprocess + pg_advisory_lock. Только один воркер из N запускает cron.

Scheduled tasks via subprocess + pg_advisory_lock. Only one worker out of N runs cron.

🌐

Языки

Languages

Мультиязычность системы. Управление языками и локализацией интерфейса.

System multilanguage support. Language management and UI localization.

🔖

Сохранённые фильтры

Saved Filters

Пользователи сохраняют настроенные фильтры списков для быстрого доступа к нужным данным.

Users save configured list filters for quick access to needed data.

📚

Документация разработчика

Developer Docs

Встроенная документация MkDocs + Swagger offline. Всё в одном месте прямо в приложении.

Built-in MkDocs + offline Swagger documentation. 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()
    report_docx = ReportDocxApp()

    # Коммуникации
    chat          = ChatApp()
    chat_telegram = ChatTelegramApp()
    chat_email    = ChatEmailApp()
    attachments   = AttachmentsApp()

    # Система
    security  = SecurityApp()
    users     = UserApp()
    cron      = CronApp()
    db        = DotormDatabasesPostgresService()
    crud_auto = DotormCrudAutoService()
Сравнение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?

Ready to Try FARA CRM?

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

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

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