ERPNext-разработка, Frappe и безопасная кастомизация

ERPNext-разработчик: доработка, интеграции и автоматизация

Дорабатываем действующую ERPNext: DocType, бизнес-процессы, отчёты, API, custom apps и фоновые задачи. Сначала проверяем, можно ли решить задачу настройкой; изменения тестируем на staging и не изменяем ядро без необходимости.

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

ERPNext-программист для уже работающей системы

подключаемся к существующим инсталляциям
сначала проверяем стандартные настройки
тестируем изменения на staging
не изменяем ядро без необходимости

Когда ERPNext действительно нужно дорабатывать

Код имеет смысл не потому, что хочется написать еще одну функцию, а потому что процесс уже понятен и стандартной логики ERPNext недостаточно.

стандартных настроек, пользовательских полей (custom fields) и процессов согласования (workflow) уже недостаточно;
процесс нельзя нормально описать только ролями и статусами;
нужны сложные правила цен, скидок, резервов, согласований или уведомлений;
ERPNext нужно связать с сайтом, B2B-порталом, CRM, 1C/BAS, Bitrix24, телефонией, почтой, платежами, доставкой или BI;
нужны специальные отчёты (custom reports), панели показателей (dashboards), печатные формы (Print Formats) или управленческая аналитика;
есть повторяемая ручная работа, которую можно безопасно автоматизировать;
нужно подготовить существующую кастомизацию к обновлению ERPNext/Frappe.

Когда код не нужен

Не каждую проблему в ERPNext нужно решать разработкой. Мы не начинаем с кода, если задачу можно решить настройкой. Это дешевле, безопаснее и проще поддерживать.

правильно настроить роли и права;
изменить процесс согласования (workflow) или статусы документов;
добавить пользовательские поля (custom fields) без серверной логики;
настроить печатную форму (Print Format) или отчёт;
очистить данные и справочники;
изменить процесс, а не систему.

Подключение к существующей ERPNext

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

Поддержка и аудит ERPNext
аудит существующих custom apps и скриптов;
поиск последствий изменений ядра;
стабилизация интеграций и фоновых задач;
подготовка доработок к обновлению ERPNext;
совместная работа с внутренней технической командой.

Не уверены, что именно нужно дорабатывать?

Перед разработкой можно начать с короткого аудита: посмотреть текущие скрипты, пользовательские поля (custom fields), процессы согласования (workflow), отчёты, права, интеграции и реальные обходные пути пользователей. После этого становится понятно, где нужен код, где достаточно настройки, а где проблема вообще не в ERPNext.

Как мы дорабатываем ERPNext безопасно

не изменяем ядро ERPNext (core) без крайней необходимости;
выносим логику в custom app, скрипты или понятный слой интеграции;
учитываем обновления ERPNext и Frappe;
документируем, где находится кастомная логика;
проверяем роли, права и влияние на документы;
тестируем изменения на тестовом контуре (staging) перед запуском в рабочей системе (production);
думаем о том, кто будет поддерживать систему через год.

Как начинается работа над доработкой ERPNext

До оценки кода нужно зафиксировать процесс, текущее ограничение и критерий готовности. Это снижает риск лишней разработки.

  1. Вы описываете процесс, проблему и ожидаемый результат.

  2. Мы проверяем, можно ли закрыть задачу стандартными средствами ERPNext.

  3. Анализируем существующие скрипты, custom apps, интеграции и ограничения версии.

  4. Формируем вариант решения, границы работ и оценку.

  5. Реализуем и принимаем изменение на тестовом контуре (staging).

  6. Передаем документацию и рекомендации по поддержке и обновлениям.

Как мы выбираем способ реализации

ЗадачаСпособ реализации
Роли, статусы и согласованияСтандартная настройка ERPNext и процесс согласования (workflow)
Небольшая логика внутри документаОграниченный Client Script или Server Script
Поддерживаемый бизнес-модульCustom Frappe app
Обмен с внешней системойAPI-интеграция с обработкой ошибок
Нестабильные существующие кастомизацииАудит и поэтапный рефакторинг

С какими задачами помогает ERPNext-разработчик

Кастомные документы / DocType

Создание новых сущностей, полей, связей, статусов и правил работы с документами.

Client Script и Server Script

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

Custom App на Frappe

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

Отчеты и dashboards

Script Reports, Query Reports, управленческие отчеты, сверки и аналитика.

Печатные формы / Print Formats

Коммерческие предложения, инвойсы, акты, накладные, delivery notes и документы под реальный процесс.

API и интеграции

Сайты, ecommerce, CRM, 1C/BAS, Bitrix24, телефония, почта, платежи, доставка, BI и внутренние системы.

Фоновые задачи / background jobs

Импорты, синхронизации, уведомления, пересчеты, очереди и обработка ошибок.

Аудит существующей кастомизации

Проверка scripts, custom apps, hooks, reports, прав и рисков перед обновлением или развитием системы.

Что вы получаете

Результат разработки должен быть понятен не только программисту, но и команде, которая будет жить с этой системой после запуска.

понятное описание задачи до разработки;
оценку, можно ли решить без кода;
технический план доработки;
реализацию в ERPNext/Frappe;
тестирование на тестовом контуре / staging;
документацию по изменению;
рекомендации по поддержке и будущим обновлениям.

Стоимость и сроки

Точный срок и финальная смета появляются после проверки процесса, версии ERPNext, доступов и существующих доработок. До этого даём вариант реализации, ограничения и предварительный диапазон работ без фиктивной фиксированной цены.

ФорматЧто получает клиентКак появляется оценка
Первичный технический разборВарианты реализации, ограничения и предварительная оценка.После описания процесса, версии и просмотра доступных материалов.
Точечная доработкаКонкретный workflow, отчёт, печатная форма или автоматизация.После фиксации критерия готовности и проверки связанных документов.
Проектный блокИнтеграция, custom app, сложная логика или набор связанных изменений.После аудита зависимостей, доступов, данных и границ релиза.
Как формируется стоимость ERPNext

Что прислать для первичной оценки

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

ERPNext-разработчик или Frappe-разработчик?

Если задача относится к бизнес-логике ERPNext, начинаем с процесса и стандартных возможностей системы. Frappe нужен как технический слой для custom app, DocType, hooks, API и серверной логики.

Когда нужен Frappe-разработчик

Опишите задачу в ERPNext

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

Что нужно изменить?
Или написать в Telegram

Вопросы

Когда нужен ERPNext-разработчик?

ERPNext-разработчик нужен, когда стандартной настройки, ролей, workflow и пользовательских полей / custom fields уже недостаточно: появляются сложные правила документов, интеграции, кастомные отчеты / custom reports, Frappe apps, фоновые задачи или логика, которую нужно поддерживать после запуска.

ERPNext программист и Frappe разработчик - это одно и то же?

Не совсем. ERPNext программист дорабатывает бизнес-логику ERPNext, а Frappe разработчик работает с платформой глубже: custom app, DocType, hooks, API, background jobs, reports и порталы. В реальном проекте эти компетенции часто пересекаются.

Можно ли решить задачу без кода?

Часто да. Если достаточно ролей, прав, workflow, пользовательских полей / custom fields, печатных форм / Print Formats, отчетов, очистки данных или изменения процесса, мы не начинаем с разработки. Это дешевле, безопаснее и проще поддерживать.

Вы патчите core ERPNext?

Мы избегаем правок ядра / core patches без крайней необходимости. Обычно логику лучше выносить в custom app, scripts или интеграционный слой, чтобы ERPNext и Frappe оставались обновляемыми.

Можно ли подготовить существующие доработки к обновлению ERPNext?

Да. Мы можем проверить scripts, custom apps, hooks, reports, права, integrations и риски перед обновлением, затем предложить план стабилизации.

Какие интеграции ERPNext можно сделать?

Сайт, B2B-портал, ecommerce, CRM, Bitrix24, 1C/BAS, телефония, email, платежи, доставка, BI, внутренние API, scheduled imports, webhooks и обработка ошибок.

Сколько стоит доработка ERPNext?

Стоимость зависит от того, можно ли решить задачу настройкой, нужен ли script, custom app, интеграция или аудит существующей кастомизации. Обычно мы сначала уточняем процесс и технический риск, а потом предлагаем минимальный практический следующий шаг.

Опишите задачу по ERPNext

Форма, отчет, workflow, интеграция, печатная форма, API, обновление или старая кастомизация. Мы поможем понять, нужен ли код, можно ли решить задачу настройкой и как сделать изменение поддерживаемым.