Кастомні документи / DocType
Створення нових сутностей, полів, зв'язків, статусів і правил роботи з документами.
ERPNext-розробка, Frappe і безпечна кастомізація
Допомагаємо доробляти ERPNext і Frappe там, де стандартної логіки вже недостатньо: кастомні документи / DocType, workflow, звіти, друковані форми / Print Formats, API, інтеграції, фонові задачі та автоматизація. Спочатку розбираємо процес, потім пишемо код.
Наше завдання - не просто дописати функцію, а зробити так, щоб ERPNext відображав реальну роботу команди і залишався підтримуваним після запуску.
Код має сенс не тому, що хочеться написати ще одну функцію, а тому що процес уже зрозумілий і стандартної логіки ERPNext недостатньо.
Не кожну проблему в ERPNext потрібно вирішувати розробкою. Ми не починаємо з коду, якщо задачу можна вирішити налаштуванням. Це дешевше, безпечніше і простіше підтримувати.
Перед розробкою можна почати з короткого аудиту: подивитися поточні scripts, користувацькі поля / custom fields, workflow, звіти, права, інтеграції і реальні обхідні шляхи користувачів. Після цього стає зрозуміло, де потрібен код, де достатньо налаштування, а де проблема взагалі не в ERPNext.
Створення нових сутностей, полів, зв'язків, статусів і правил роботи з документами.
Автоматизація поведінки форм, перевірок, розрахунків, повідомлень і дій користувачів.
Окремі застосунки для логіки, яку не можна зручно і безпечно тримати в налаштуваннях.
Script Reports, Query Reports, управлінські звіти, звірки і аналітика.
Комерційні пропозиції, інвойси, акти, накладні, delivery notes і документи під реальний процес.
Сайти, ecommerce, CRM, 1C/BAS, Bitrix24, телефонія, пошта, платежі, доставка, BI і внутрішні системи.
Імпорти, синхронізації, повідомлення, перерахунки, черги і обробка помилок.
Перевірка scripts, custom apps, hooks, reports, прав і ризиків перед оновленням або розвитком системи.
Результат розробки має бути зрозумілий не тільки програмісту, а й команді, яка житиме з цією системою після запуску.
Приклади процесів і архітектурних підходів, які можна використати як орієнтир для ERPNext-проєкту.
Портальна логіка, клієнтські ціни, документи і API навколо ERPNext як джерела правди.
Обмін товарами, залишками, замовленнями, оплатами, доставками і помилками між сайтом і ERP.
Розрахунок reorder-рекомендацій і управлінський список дій поверх даних ERPNext.
Нагадування, contacts, statements, задачі і контроль комунікацій у фінансовому процесі.
ERPNext-розробник потрібен, коли стандартного налаштування, ролей, workflow і користувацьких полів / custom fields уже недостатньо: з'являються складні правила документів, інтеграції, кастомні звіти / custom reports, Frappe apps, фонові задачі або логіка, яку потрібно підтримувати після запуску.
Не зовсім. ERPNext-програміст доробляє бізнес-логіку ERPNext, а Frappe-розробник працює з платформою глибше: custom app, DocType, hooks, API, background jobs, reports і портали. У реальному проєкті ці компетенції часто перетинаються.
Часто так. Якщо достатньо ролей, прав, workflow, користувацьких полів / custom fields, друкованих форм / Print Formats, звітів, очищення даних або зміни процесу, ми не починаємо з розробки. Це дешевше, безпечніше і простіше підтримувати.
Ми уникаємо правок ядра / core patches без крайньої необхідності. Зазвичай логіку краще винести в custom app, scripts або інтеграційний шар, щоб ERPNext і Frappe залишалися оновлюваними.
Так. Ми можемо перевірити scripts, custom apps, hooks, reports, права, integrations і ризики перед оновленням, а потім запропонувати план стабілізації.
Сайт, B2B-портал, ecommerce, CRM, Bitrix24, 1C/BAS, телефонія, email, платежі, доставка, BI, внутрішні API, scheduled imports, webhooks і обробка помилок.
Вартість залежить від того, чи можна вирішити задачу налаштуванням, чи потрібен script, custom app, інтеграція або аудит існуючої кастомізації. Зазвичай ми спочатку уточнюємо процес і технічний ризик, а потім пропонуємо мінімальний практичний наступний крок.
Форма, звіт, workflow, інтеграція, друкована форма, API, оновлення або стара кастомізація. Ми допоможемо зрозуміти, чи потрібен код, чи можна вирішити задачу налаштуванням і як зробити зміну підтримуваною.