Wielu menedżerów uważa, że rozwój systemu ERP polega na dopisywaniu kolejnych funkcji. W praktyce najlepsze wdrożenia to te, w których potrafimy odchudzić system. Im więcej autorskiego kodu, tym droższe przyszłe migracje, trudniejsze utrzymanie i większe ryzyko, że nowa osoba w zespole popełni kosztowny błąd.

Oto historia z mojej praktyki, która idealnie pokazuje, jak pozorne „łatki” w kodzie paraliżują pracę magazynu i generują ukryty dług technologiczny.


Objaw: Podwójna praca i znikające koszyki

Zgłosił się do mnie klient z problemem przy wysyłkach zagranicznych do USA. Choć korzystał ze standardowej integracji z przewoźnikiem w Odoo Enterprise, cały proces był usiany ręcznymi i uciążliwymi procedurami:

  1. Po stronie klienta (e-Commerce): Podczas składania zamówienia adres był weryfikowany w tle, po czym kupujący musiał z listy wybrać „poprawną, zwalidowaną” wersję. Błąd w skrypcie sprawiał jednak, że koszyk potrafił się nagle zresetować, zmuszając klienta do ponownego wybierania produktów.
  2. Po stronie pracownika (Magazyn): Na karcie kontrahenta (res.partner) dodano wielki przycisk „Waliduj adres”. Magazynier przed wysłaniem paczki musiał ręcznie kliknąć przycisk, który wysyłał zapytanie do zewnętrznego serwisu.

Z punktu widzenia zarządzania procesami to prosta droga do katastrofy:

Ręczna praca w ERP to proszenie się o błąd. Nowy pracownik nie domyśli się, że musi kliknąć ukryty przycisk. Doświadczony pracownik w pośpiechu lub przed końcem zmiany po prostu o nim zapomni. Efekt? Paczka wysłana pod błędny adres na drugi koniec świata.


Śledztwo: Leczenie objawów zamiast przyczyny

Pierwotne zlecenie od klienta brzmiało prosto: „Przycisk do walidacji przestał działać, trzeba go naprawić".

Szybka weryfikacja wykazała, że zewnętrzny serwis używany przez przycisk wyłączył stare API (zostało wycofane). Mógłbym po prostu przepisać kod na nową wersję REST i wystawić fakturę. Coś mi jednak nie pasowało — przecież fabryczny moduł przewoźnika w Odoo sam w sobie posiada wbudowaną walidację adresów. Po co więc ktoś dokleił ręczny przycisk i dodatkowy check w koszyku?

Zacząłem przeglądać autorskie moduły rozszerzające logikę wydań z magazynu (stock.picking). I wtedy znalazłem źródło problemu.

Rozwiązanie zagadki ukryte w kodzie:


Rozwiązanie: Mniej kodu = Sprawniejszy biznes

Zamiast pisać kolejne linie kodu i podłączać nowy serwis walidacyjny, wykonałem dokładną refaktoryzację:

  1. Naprawiłem obsługę błędów w module magazynowym (stock.picking), przywracając natywną komunikację z API przewoźnika.
  2. Usunąłem sztuczne walidatory z formularza klienta i koszyka e-Commerce.
  3. Usunąłem zbędny przycisk i integrację z zewnętrznym serwisem.

Efekty dla zarządu i zespołu:


Lekcja dla kadry zarządzającej

Gdy Twój zespół zgłasza, że „trzeba coś dorobić w systemie", upewnij się, czy nie próbuje w ten sposób obudować architektonicznego długu technologicznego. Rzetelny inżynier nie szuka okazji do napisania setek nowych linii kodu — szuka sposobu na to, by proces działał jak najprościej, przy minimalnej ilości zmiennych.


Twój system Odoo wymaga uporządkowania?

Często drobny błąd w kodzie generuje godziny niepotrzebnej, ręcznej pracy w biurze i magazynie.

Umów konsultację. Przeprowadzimy audyt Twoich procesów w Odoo i wskażemy, jak uprościć system oraz obniżyć koszty jego utrzymania.

Umów spotkanie