Po wdrożeniu Odoo w ponad 50 firmach zauważyliśmy schemat, który nas zaniepokoił. Spędzaliśmy miesiące, konfigurując system, migrując dane, szkoląc użytkowników i wdrażając całość. Sześć miesięcy później prezes - osoba, która zatwierdziła projekt - nadal prosiła swojego asystenta o wyciągnięcie liczb z Odoo. Nigdy nie logował się samodzielnie. Nie dlatego, że system był zły, ale dlatego, że otwieranie przeglądarki, nawigowanie do właściwego menu, ustawianie filtrów i czytanie pulpitu to zbyt wiele tarcia, gdy po prostu chce się znać przychód z zeszłego miesiąca.
To nie jest problem specyficzny dla Odoo. Dzieje się to z SAP-em, z Microsoft Dynamics, z każdym ERP. Ludzie, którzy najbardziej potrzebują danych - kadra kierownicza, założyciele, menedżerowie w terenie - to ci, którzy najrzadziej siedzą przed aplikacją desktopową i klikają przez menu. Chcą odpowiedzi, a nie interfejsów.
Zaczęliśmy od prostego prototypu pod koniec 2025 roku. Bot Telegrama, który mógł łączyć się z instancją Odoo i odpowiadać na pytania w języku naturalnym. Pierwsza wersja używała podstawowego dopasowywania słów kluczowych - jeśli wpisałeś „revenue”, wyciągała sumę z account.move. Było to prymitywne, ale reakcja naszych klientów była natychmiastowa. Prezes firmy produkcyjnej powiedział nam, że w pierwszym tygodniu z botem sprawdzał swoje liczby częściej niż w całym poprzednim kwartale za pomocą pulpitu Odoo.
Prawdziwy przełom nastąpił, gdy zintegrowaliśmy Claude jako rdzeń AI. Zamiast sztywnego dopasowywania słów kluczowych użytkownicy mogli zadawać pytania naturalnie: „Ile sztuk SKU-4521 wysłaliśmy w zeszłym tygodniu?” lub „Który handlowiec miał najwyższą marżę w Q1?”. AI analizuje intencję, mapuje ją na zapytania do modeli Odoo, pobiera dane przez XML-RPC i formatuje odpowiedź czytelną dla człowieka. Radzi sobie z pytaniami uzupełniającymi wraz z kontekstem, więc możesz zapytać „A co z Q2?” i wie, że nadal mówisz o marżach handlowców.
Wybór Telegrama jako interfejsu był świadomy. Rozważaliśmy budowę dedykowanej aplikacji mobilnej, pulpitu webowego, integracji ze Slackiem. Jednak nasi klienci pochodzą głównie z Bliskiego Wschodu i regionu WNP, gdzie Telegram jest domyślnym narzędziem komunikacji biznesowej. Ludzie mają go otwartego przez cały dzień. Zero instalacji aplikacji, zero tarcia onboardingu. Dodajesz bota, uwierzytelniasz się raz i zaczynasz zadawać pytania.
Architektura techniczna przeszła przez trzy iteracje. Wersja pierwsza była monolitem - bot, AI i integracja z Odoo w jednym procesie Node.js. Działała na demo, ale była niemożliwa do skalowania. Wersja druga została podzielona na mikrousługi, ale wprowadziła zbyt dużo złożoności dla naszego małego zespołu. Wersja trzecia - którą uruchamiamy produkcyjnie - to pragmatyczny monorepo z Grammy.js dla bota Telegrama, Fastify dla warstwy API i Prisma dla naszej własnej bazy danych. Nie mikrousługi, nie monolit, po prostu rozsądna separacja w jednej jednostce wdrożeniowej.
Jedną rzeczą, która nas zaskoczyła, jest to, jak dużo pracy wymaga wykrywanie schematu. Każda instancja Odoo jest inna. Klienci dodają niestandardowe pola, instalują różne moduły, używają różnych konwencji nazewniczych. Nasz bot musi rozumieć, że klient A nazywa swoje pole produktu „x_brand”, a klient B „product_brand_id”. Zbudowaliśmy automatyczny system profilowania schematu, który odczytuje metadane Odoo klienta przy pierwszym połączeniu i mapuje jego specyficzne nazwy pól na nasze standardowe szablony zapytań.
Cennik to była kolejna lekcja. Początkowo planowaliśmy prosty model opłat za użytkownika, ale klienci korporacyjni chcieli przewidywalnych kosztów, podczas gdy małe firmy potrzebowały niskiego progu wejścia. Skończyliśmy z czterema poziomami: 14-dniowy bezpłatny okres próbny do testowania (1 użytkownik, 20 zapytań, wszystkie podstawowe raporty), Starter za 39 USD/miesiąc dla małych zespołów (3 użytkowników, 150 zapytań miesięcznie, wszystkie 43 raporty, 4 zaplanowane raporty), Pro za 149 USD/miesiąc dla rozwijających się firm (10 użytkowników, 500 zapytań miesięcznie, wszystkie raporty plus MRP, 15 zaplanowanych raportów, pamięć konwersacji, priorytetowe wsparcie) oraz Enterprise z indywidualnym cennikiem dla większych organizacji (nieograniczona liczba użytkowników, narzędzia korporacyjne, wdrożenie on-premise lub przez VPN, niestandardowe narzędzia definiowane w YAML, SLA 99,9%, dedykowany opiekun klienta). Kluczowym spostrzeżeniem było to, że wolumen zapytań, a nie liczba użytkowników, stanowi właściwą oś cenową dla produktu AI, w którym każde zapytanie wiąże się z realnym kosztem obliczeniowym.
Najtrudniejszy problem inżynieryjny nie dotyczył AI ani integracji z Odoo - była nim prawidłowa obsługa praw dostępu Odoo. Gdy użytkownik pyta „Pokaż mi wszystkie pensje pracowników”, bot musi respektować te same prawa dostępu, które Odoo wymusiłoby, gdyby ten użytkownik zalogował się bezpośrednio. Rozwiązujemy to, uruchamiając zapytania przez konto serwisowe ze starannie ograniczonymi uprawnieniami, ale oznacza to, że niektóre zapytania zwracają komunikat „Nie masz dostępu do tych danych” - co jest prawidłowym zachowaniem, a nie błędem.
Nauczyliśmy się też, że halucynacje AI to realne ryzyko w kontekście danych biznesowych. Jeśli bot z pewnością stwierdzi, że przychód w Q1 wyniósł 2,3 mln USD, gdy w rzeczywistości było to 2,1 mln USD, to gorzej niż brak odpowiedzi. Łagodzimy to, nigdy nie pozwalając AI generować liczb - formatuje i wyjaśnia jedynie dane pochodzące bezpośrednio z zapytań Odoo. AI pisze narrację, ale każda liczba w odpowiedzi pochodzi z faktycznego rekordu bazy danych.
Sześć miesięcy po starcie mamy klientów z produkcji, edukacji, handlu detalicznego i usług profesjonalnych używających bota codziennie. Przeciętny klient wysyła 15-20 zapytań dziennie, głównie z urządzeń mobilnych poza godzinami biurowymi - dokładnie do takiego użycia zaprojektowaliśmy produkt. Najpopularniejsze zapytania to podsumowania finansowe, stany magazynowe i status pipeline'u sprzedaży.
Co dalej: budujemy system proaktywnych alertów. Zamiast czekać, aż użytkownicy zadadzą pytanie, bot będzie monitorował kluczowe wskaźniki i powiadamiał ich, gdy coś wymaga uwagi - stan magazynu poniżej progu, przeterminowane faktury powyżej określonej kwoty, zagrożone cele sprzedażowe. Celem nie jest tylko odpowiadanie na pytania, ale zapewnienie, by właściwe pytania w ogóle zostały zadane.