Два тижні тому я зробив одному клієнту AI-агента в Telegram із набором предефінованих операцій. Працювало добре. Минулої п’ятниці я переписав його на звичайного кнопкового бота — оптимізація бюджету. У неділю я зрозумів, що це була помилка. У понеділок я підключив агента до MCP-сервера ERPJS — і отримав те, чого не очікував побачити.
Цей пост — про конкретний діалог, який стався після цього підключення. Реальний клієнт, реальні дані, реальні питання. І несподіваний поворот, який я не програмував.
Контекст: малий бізнес із 1000+ рахунків
Клієнт — малий B2B-дистриб’ютор. На ERPJS вже давно. Усі продажі — у системі: 1000+ рахунків-фактур за 2025 рік, кілька валют, FIFO-собівартість по кожній позиції.
Раніше у власника був типовий вибір: або годинами клацати в інтерфейсі ERP, або просити мене зробити кастомний звіт. Тепер він просто пише в Telegram, як написав би колезі.
Раунд 1: запит власника
Власник: Який день тижня найприбутковіший?
Агент: Маю достатньо даних — 1000 рахунків з 2025 року. Підсумовую виручку (fBaseSum4 в EUR) по днях тижня…
🏆 Найприбутковіший день — Понеділок (~13 413 EUR за 2025 рік)
Четвер і Вівторок — близько (~12 156 і ~11 847 EUR відповідно).
⚠️ Субота майже не працює (~1 067 EUR), Неділя — поодинокі рахунки.
💡 Дані за 2025 рік, 1000 підтверджених рахунків.
Зверніть увагу на формат відповіді. Агент сам:
- Зрозумів, що “найприбутковіший” треба міряти в одній валюті — і обрав EUR як базову
- Згрупував по днях тижня (підказка: dayofweek — це не поле в системі, агент розрахував)
- Виявив аномалію (Субота майже не працює) і прокоментував
- Чесно вказав обмеження (тільки 2025 рік, тільки підтверджені рахунки)
Жодного програмування цього запиту не було. У системі немає звіту “прибуток по днях тижня” — і не буде. Агент розібрався сам.
Раунд 2: уточнення
Власник: Це виручка чи прибуток?
Агент: Це виручка (сума рахунків-фактур, fSum4 = Total по рахунку).
Прибуток (валовий) — це виручка мінус собівартість. Для цього потрібен звіт по GP (Gross Profit). Подивитись?
Це найважливіша мить діалогу. Агент признав обмеження свого попереднього висновку, не вдаючи, ніби відповів на повне питання. Це різниця між AI-помічником і AI-аналітиком: помічник дає відповідь, аналітик розрізняє коли відповідь не повна.
Раунд 3: користувач навчає агента
Власник: У тебе рах/ф оновлюють склад? Якщо так, то там (в рах/ф) є собівартість по FIFO.
Агент: Є що треба! В матриці є:
fFIFO— собівартість FIFO на одиницюfFIFORowVal— собівартість FIFO по рядкуfRowGP— валовий прибуток по рядкуТобто дані для розрахунку прибутку є. Хочеш, щоб я порахував GP по днях тижня?
Власник пояснив архітектуру системи в одному реченні. Агент за секунду знайшов відповідні поля в схемі і запропонував наступний крок. Це спільна робота, а не “я задаю питання — ти даєш відповідь”. Агент засвоїв нове знання й одразу його застосував.
Деталі про FIFO та фінансовий облік — у нашому пості про фінансовий облік.
Раунд 4: фінальна відповідь з аномалією
Власник: Так, у тебе і GP є по кожній позиції і по рах/ф в цілому. За квітень 2026 порахуй.
Агент: Відмінно — звіт повернув детальні дані. Підсумовую виручку (fBaseSum4) та GP (debet) по днях тижня…
День Виручка EUR GP EUR Маржа % Понеділок ~2 200 ~510 ~23% Вівторок ~1 100 ~240 ~22% Середа ~1 900 ~490 ~26% Четвер ~1 700 ~390 ~23% П’ятниця ~1 500 ~360 ~24% Неділя ~8 900 ~1 650 ~19% 🏆 Найприбутковіший день квітня 2026 — Неділя (~1 650 EUR GP)
⚠️ Але це майже повністю один рахунок від 06/04 — плотер на 6 678 EUR (маржа лише 17%). Без нього лідирує Понеділок (~510 EUR GP, маржа ~23%).
💡 Середа має найкращу маржинальність (~26%) — дрібні роздрібні продажі без великих знижок.
Це той момент, коли я зрозумів, що сталось. Агент:
- Знайшов аномалію в даних — один рахунок викривив усю статистику
- Перерахував без аномалії — і дав другий, більш чесний висновок
- Витягнув додатковий інсайт — про маржинальність по днях, якого власник не питав
- Без плутанини змінив таймфрейм — раунд 1 був за весь 2025 рік (~13 К EUR/Понеділок), а тут квітень 2026 (~2 К EUR/Понеділок). Агент розуміє “за квітень 2026” як новий контекст, а не “продовжуй з тими ж даними”.
Власник запитав “найприбутковіший день”, а отримав аналітичну розвідку: ось номінальна відповідь, ось звідки вона, ось чому вона не зовсім правда, і ось що ще цікавого ми побачили.
Чому це не “ChatGPT з API”
Багато хто чув про “AI-помічників”, які підключають GPT через API і дають відповіді на питання. Це не те. Різниця в трьох речах:
1. Агент визнає обмеження. Класичний “GPT з API” видає першу можливу відповідь. Наш агент сам сказав: “це виручка, не прибуток. Хочеш порахувати прибуток?”. Це не натренована поведінка — це наслідок того, що в нього є доступ до структури системи, а не до текстового опису.
2. Агент приймає нові знання. Власник пояснив про FIFO в матриці. Агент не “забув” це через 2 хвилини — він знайшов відповідні поля в схемі і використав. Це не магія, а архітектура: MCP дає агенту доступ до схем реєстрів, тому пояснення на природній мові миттєво стає виконуваним планом.
3. Агент знаходить те, що ви не питали. Аномалія, маржинальність, тренди — нічого з цього не було в питанні. Агент сам зрозумів, що “Неділя 8900 EUR” виглядає підозріло, перевірив, знайшов один великий рахунок, і дав другу версію відповіді. Це поведінка аналітика, який звітує не “що ви хотіли почути”, а “що насправді в даних”.
Як це працює: MCP в одному параграфі
MCP (Model Context Protocol) — стандарт, через який AI-агенти отримують доступ до зовнішніх систем. Замість того, щоб ми заздалегідь програмували набір “tools” типу “перевірити залишок” або “посчитати продажі” — ми виставляємо агенту прямий доступ до системи через MCP-сервер. Агент сам обирає, що потрібно для відповіді на запит. Без додаткового програмування під кожне нове питання.
Чесна частина: це прототип
Я зробив цей MCP-сервер за один weekend. Він field-tested на одному клієнті. Це не reference architecture, це маніфест намірів.
Що ще треба:
- Write-операції через MCP — зараз тільки читання (отримання даних). Створення рахунків, проводок, переміщень — на черзі.
- Multi-tenant ізоляція — зараз працює, але потребує тестування на більшій кількості клієнтів.
- Audit trail — всі MCP-виклики логуються, але формат потребує консолідації.
Я виношу цей кейс публічно, щоб не чекати “ідеального продукту”. Якщо у вас є ERPJS і хочете спробувати свого агента — пишіть.
Що це означає для клієнтів ERPJS
ERPJS і так — система з відкритим кодом бізнес-логіки для малого бізнесу. Тепер до неї додається відкритий MCP-сервер. Це означає:
- Ваш агент — за вашим вибором. Claude, GPT, Gemini, кастомний — будь-який, що підтримує MCP.
- Ваш канал спілкування — за вашим вибором. Telegram, WhatsApp, Slack, веб-чат, голосовий бот.
- Ваш сценарій — за вашим вибором. Аналітика, операційна робота, моніторинг, звіти — все через той самий MCP-доступ.
Ви не lock-in ні в одного вендора AI-моделей, ні в одну форму інтерфейсу. ERPJS постачає дані й операції, ви постачаєте мову.
Часті запитання
Чи це працює тільки з ERPJS, чи з будь-якою ERP?
MCP-сервер написаний саме під ERPJS — він знає схему реєстрів, формати документів, зв’язки між модулями. Для іншої ERP потрібен власний MCP-сервер, написаний під її архітектуру. Тобто це інструмент для клієнтів ERPJS, а не universal solution.
Скільки коштує впровадження AI-агента?
Сам MCP-сервер ERPJS — open source, безкоштовно. Витрати — це тільки токени AI-моделі, які ви обираєте (Claude, GPT, інші). Для типового МСБ із кількома десятками запитів на день це 5-30 USD на місяць.
Чи бачить агент усі дані компанії?
Ні. Агент бачить тільки те, що бачить користувач, від імені якого він підключений. У ERPJS повноцінна система прав доступу, MCP їх повністю використовує. Кожний MCP-виклик логується від конкретного користувача — є аудит-trail.
Чи може агент щось зламати в моїй системі?
Зараз MCP-сервер працює тільки на читання. Створення/редагування документів — окремий модуль, який зараз у розробці й буде з додатковими підтвердженнями. Тобто агент може дати неправильну відповідь, але не може випадково створити рахунок-фактуру або змінити дані.
Скільки часу треба на впровадження?
Якщо ви вже клієнт ERPJS — підключення MCP до вашого агента (наприклад, до Telegram-бота або Claude Desktop) займає 30 хвилин. Це не “проєкт впровадження”, це “включити функцію”.
Що, якщо в моєму бізнесі специфічні запити, яких агент не зрозуміє?
Це і є сила MCP-підходу. Вам не треба програмувати конкретні запити заздалегідь. Якщо агент не розуміє — він спочатку розвідує структуру системи, потім робить. Чим більше унікальних запитів ви даєте — тим краще агент розбирається у вашому бізнесі.
Хочете свого AI-агента, що працює з вашою ERPJS-системою?
Якщо ви вже клієнт ERPJS — пишіть, підключимо MCP до вашого агента за 30 хвилин.
Якщо тільки розглядаєте ERPJS — спробуйте безкоштовний тариф, MCP буде доступний з коробки.