Перед нами проект Frappe с более чем 50 000 звёзд на GitHub. Это фреймворк, который позволяет создавать гибкие бизнес-системы с полноценным пользовательским интерфейсом. Платформа поддерживает множество интеграций, в том числе с n8n, что открывает широкие возможности для автоматизации и построения сквозных процессов.

На базе Frappe можно разрабатывать:

  • системы управления производством

  • решения для взаимодействия с клиентами

  • складской учёт

  • обучающие платформы

  • личные кабинеты пользователей

  • партнёрские и клиентские порталы

  • другие прикладные веб-приложения под любые бизнес-задачи

Ключевые сущности платформы Frappe

Далее перейдём к основным компонентам платформы, чтобы лучше понять её архитектуру и замысел разработчиков.

DocType и Документы

Базовая сущность в Frappe это DocType, то есть тип документа. Через встроенный drag and drop редактор можно описать структуру практически любого бизнес-объекта.

Доступно около 30 типов полей, поддерживаются связи между документами, вложенные таблицы и зависимости. Для каждого DocType автоматически создаются:

  • форма для работы с записью

  • список записей (List View)

  • REST API

  • система прав доступа

  • история изменений

  • комментарии и упоминания

  • лайки и активность пользователей

По сути, DocType это одновременно модель данных и интерфейс.

drag and drop редактор
drag and drop редактор

List View

List View это представление набора документов одного типа. Данные могут отображаться в виде таблицы, канбан доски, календаря. Через внутренние скрипты можно добавить свой UI на страницу.

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

Вот тут добавлена кнопка Voice, чтобы пользователь мог наговорить заказ и он автоматом создался. Это при помощи интеграции с n8n.
Вот тут добавлена кнопка Voice, чтобы пользователь мог наговорить заказ и он автоматом создался. Это при помощи интеграции с n8n.

Роли и разрешения

Система прав доступа в Frappe очень гибкая. Можно настраивать доступ:

  • на уровне ролей

  • на уровне конкретных документов

  • на уровне отдельных полей

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

Интеграции и n8n

Frappe поддерживает интеграции с внешними сервисами, а также легко подключается к n8n. Это открывает возможность выстраивать сложные межсистемные процессы.

Через n8n удобно реализовывать гибкую бизнес-логику, особенно на этапах внедрения, когда процессы ещё часто меняются. В таких случаях часть автоматизации можно вынести во внешний оркестратор без изменения кода самой системы.

Автоматизации внутри Frappe

В платформе есть встроенные механизмы автоматических действий: реакции на события документа, изменение полей, отправка уведомлений, создание связанных записей.

Функциональность проще, чем в n8n, но отлично подходит для типовых сценариев, которые должны выполняться прямо внутри системы.

Workspace

Workspace это настраиваемая рабочая страница пользователя. На ней можно размещать:

  • ярлыки к разделам

  • списки документов

  • отчёты

  • виджеты и графики

Это своего рода дашборд и точка входа в ежедневную работу.

Клиентские скрипты

Можно добавлять собственный JavaScript на сторону клиента. Такие скрипты управляют поведением формы, реакциями интерфейса, проверками данных и динамикой полей прямо в браузере.

Серверные скрипты и фоновые задачи

На серверной стороне можно писать функции, которые выполняются при событиях документа: до сохранения, после сохранения, при удалении и т.д.

Также поддерживаются фоновые задачи и выполнение по расписанию. Это позволяет реализовывать сложную бизнес-логику, интеграции и регулярные операции. В некотором смысле это аналог серверных функций или lightweight бэкенд-логики внутри платформы. Скрипты на Python.

Workflow

Визуальный механизм настройки бизнес-процессов и согласований. Позволяет задавать статусы документов, роли участников и правила переходов между этапами.

Report Builder

Инструм��нт для создания отчетов без программирования. Позволяет собирать таблицы, фильтры и группировки на основе данных DocType через интерфейс.

Print Format Builder

Конструктор печатных форм и PDF-документов. Используется для создания счетов, актов, договоров и других документов с настраиваемой версткой.

Website Builder

Инструмент для создания веб-страниц и порталов внутри Frappe. Позволяет публиковать контент, формы и данные системы во внешнем интерфейсе. Похоже на билдер страниц в WordPress. Для простых страниц подойдет. Можно делать коммерческие предложения например или отчеты. 

Alerts and Notifications

Система автоматических уведомлений о событиях. Поддерживает email и внутренние оповещения при изменениях документов, сроках и статусах. Соответственно через процессы или n8n можно расширить уведомления до отправки сообщений в телеграмм с обработкой от ИИ.

Внешний вид 

В отличие от большинства похожих систем, у frappe хороший UI. Все сделанно аккуратно. Есть белая и темная тема.

Оговорки с названиями ERPNext

Важно не путать Frappe Framework и ERPNext. Frappe это универсальный фреймворк для создания бизнес-приложений, который предоставляет модель данных, интерфейс, права доступа, автоматизации и другие базовые механизмы. ERPNext это уже готовое прикладное решение, построенное на Frappe Framework, с реализованными модулями для финансов, продаж, закупок, склада и производства. То есть ERPNext является частным случаем использования платформы, тогда как сам Frappe позволяет разрабатывать системы практически под любые процессы и отрасли.

Cтек

Бекенд сделан на python
фронтенд на vue
MariaDB, Redis
Есть docker compose конечно же. 

Критика frappe 

Как показывает опыт, здесь не очень полная документация. Иногда есть сложные моменты с UX. Не совсем очевидно как сделать некоторые действия. Но с комментов на редите есть хороший комментарий, что frappe это django на стероидах. 

Комментарий с reddit

Итого

Перед нами отличный набор готовых компонентов для создания бизнес приложений. Автогенерация всех необходимых вещей для создания. Frappe может значительно сократить стоимость разработки ERP систем. Интеграция с n8n дает еще больше возможностей для автоматизации процессов и подключения ИИ к ним. Сейчас мы внедряем ее для одного клиента и полет идет хорошо. Мы довольны.