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

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

Виконуємо доопрацювання й автоматизацію обліку в уже впровадженій ERPNext: DocType, бізнес-процеси, звіти, API, custom apps та фонові завдання. Спочатку перевіряємо, чи можна розв’язати завдання налаштуванням; зміни тестуємо на staging і не змінюємо ядро без потреби.

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

Програміст ERPNext для вже впровадженої системи

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

Коли ERPNext справді потрібно доопрацьовувати

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

стандартних налаштувань, користувацьких полів (custom fields) і процесів погодження (workflow) уже недостатньо;
процес не можна нормально описати тільки ролями й статусами;
потрібні складні правила цін, знижок, резервів, погоджень або повідомлень;
ERPNext потрібно пов'язати із сайтом, B2B-порталом, CRM, BAS/1С, 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, BAS/1C, Bitrix24, телефонія, пошта, платежі, доставка, BI і внутрішні системи.

Фонові завдання / background jobs

Імпорти, синхронізації, повідомлення, перерахунки, черги і обробка помилок.

Аудит наявної кастомізації

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

Що ви отримуєте

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

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

Вартість і строки

Точний строк і фінальний кошторис з'являються після перевірки процесу, версії ERPNext, доступів і наявних доопрацювань. До цього надаємо варіант реалізації, обмеження та попередній діапазон робіт без штучної фіксованої ціни.

ФорматЩо отримує клієнтЯк з'являється оцінка
Первинний технічний розбірВаріанти реалізації, обмеження та попередня оцінка.Після опису процесу, версії та перегляду доступних матеріалів.
Точкове доопрацюванняКонкретний workflow, звіт, друкована форма або автоматизація.Після фіксації критерію готовності й перевірки пов'язаних документів.
Проєктний блокІнтеграція, custom app, складна логіка або набір пов'язаних змін.Після аудиту залежностей, доступів, даних і меж релізу.
Як формується вартість ERPNext

Що надіслати для первинної оцінки

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

Коли потрібна розробка на Frappe Framework

Якщо завдання стосується бізнес-логіки ERPNext, починаємо з процесу й стандартних можливостей системи. Розробка на Frappe Framework потрібна для підтримуваного custom app, нових DocType, hooks, API та серверної логіки.

Розробка custom app на Frappe

Опишіть завдання в ERPNext

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

Що потрібно змінити?
Або написати в Telegram

Питання

Коли потрібен ERPNext-розробник?

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

Програміст ERPNext і Frappe-розробник - це одне й те саме?

Не зовсім. Програміст 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 можна зробити?

Інтеграція ERPNext з BAS/1С, сайтом, B2B-порталом, ecommerce, CRM, Bitrix24, телефонією, email, платежами, доставкою, BI та внутрішніми API може працювати через REST API, webhooks, scheduled imports або окремий інтеграційний шар з обробкою помилок.

Скільки коштує доопрацювання ERPNext?

Вартість залежить від того, чи можна вирішити завдання налаштуванням, чи потрібен script, custom app, інтеграція або аудит наявної кастомізації. Зазвичай ми спочатку уточнюємо процес і технічний ризик, а потім пропонуємо мінімальний практичний наступний крок.

Опишіть завдання щодо ERPNext

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