Nordlet

← Blog

Nordlet kontra Odoo dla twórców platform

Porównanie dla deweloperów wybierających między interfejsem API dedykowanym do wbudowanej księgowości a pakietem ERP o otwartym kodzie źródłowym, oparte na oficjalnej dokumentacji obu produktów.

Nordlet Team · · 9 min. czytania

Odoo i Nordlet są często zestawiane obok siebie przez zespoły tworzące platformy, jednak nie są to produkty tego samego rodzaju. Odoo to szeroki pakiet aplikacji biznesowych z modułem księgowym, który można samodzielnie hostować i modyfikować. Nordlet to zaplecze księgowo-finansowe bez ambicji wykraczających poza księgowość, zaprojektowane z myślą o wywoływaniu z poziomu zewnętrznego produktu.

Wybór zazwyczaj sprowadza się do dwóch pytań: jak dużą część biznesu chcesz zamknąć w jednym systemie oraz kto będzie tym systemem zarządzał. Wszystkie poniższe informacje na temat Odoo pochodzą z oficjalnej dokumentacji oraz cenników tego systemu i zostały ujęte w odpowiednich odnośnikach.

Czym są oba produkty

Odoo to pakiet o otwartym kodzie źródłowym obejmujący księgowość, gospodarkę magazynową, produkcję, sprzedaż, CRM, zasoby ludzkie, strony internetowe i inne obszary, dostępny jako usługa Odoo Online, na platformie Odoo.sh lub w wersji instalowanej we własnym zakresie (self-hosted). Jego mocnymi stronami są wszechstronność, rozszerzalność oraz możliwość samodzielnego uruchomienia. Specyfika księgowości dla poszczególnych krajów wynika z modułów lokalizacyjnych, a społeczność wokół projektu jest bardzo liczna.

Nordlet to chmurowe API księgowe. Zapewnia niezmienną księgę rachunkową opartą na podwójnym zapisie (double-entry ledger), fakturowanie, ewidencję zakupów, integrację z wyciągami bankowymi i ich uzgadnianie (reconciliation), gospodarkę magazynową, środki trwałe, płace, sprawozdawczość oraz obsługę podatków w UE za pośrednictwem jednego interfejsu REST – obecnie ponad 400 punktów końcowych w 29 modułach, generowanych z jednej specyfikacji OpenAPI. System posiada również aplikację użytkownika, która działa w oparciu o te same punkty końcowe, z których korzystają zewnętrzni klienci.

Kwestia API, która rozstrzyga większość analiz

W tym miejscu drogi obu produktów rozchodzą się najbardziej drastycznie z perspektywy twórców platform.

Zewnętrzne API Odoo działa na poziomie modeli. Uwierzytelniasz się, a następnie wywołujesz metody ORM dla modeli danych, takich jak account.move dla wpisów w dzienniku i faktur, res.partner dla kontrahentów czy account.account dla planu kont, korzystając z protokołu XML-RPC lub JSON-RPC. To potężne rozwiązanie: możesz sięgnąć po wszystko, co system potrafi zamodelować. Oznacza to jednak również, że odpowiedzialność za poprawne wykorzystanie modeli spoczywa na Tobie, a Twoja integracja jest ściśle powiązana z wewnętrznym modelem danych Odoo, a nie ze stabilnym kontraktem domenowym.

Dwa fakty zaczerpnięte z materiałów Odoo zmieniają tę kalkulację:

  • Dokumentacja Odoo wskazuje, że dostęp do zewnętrznego API jest oferowany w planie cenowym Custom, a nie w planach One App Free lub Standard. Dostęp do API jest zatem decyzją biznesowo-cennikową, a nie wyłącznie techniczną. Aktualne plany i ceny można znaleźć na stronie cennika Odoo.
  • Odoo ogłosiło, że punkty końcowe /xmlrpc, /xmlrpc/2 oraz /jsonrpc są przewidziane do usunięcia – począwszy od wersji Odoo 22 i Odoo Online 21.1 – a ich następcą ma być nowsze API JSON-2. Integracja napisana dla obecnych punktów końcowych RPC będzie w przyszłości wymagała migracji.

API Nordleta działa na poziomie domenowym. Operacje mają postać POST /v1/{module}/{resource}/{action} z ciałem żądania w formacie JSON, dzięki czemu wywołujesz np. sales/invoices/issue zamiast bezpośrednio manipulować modelem dziennika, a za skutki księgowe odpowiada samo API. Klucze dostępu posiadają uprawnienia (scopes), takie jak sales:write. Ponowienia żądań (retries) są chronione nagłówkiem Idempotency-Key: to samo zapytanie z tym samym ładunkiem zwraca zapisaną odpowiedź, natomiast to samo zapytanie ze zmienionym ładunkiem zostaje odrzucone z błędem idempotency_key_reuse zamiast zostać cicho zaakceptowane. Zdarzenia webhook są zapisywane w transakcyjnej tabeli wyjściowej (transactional outbox) w ramach tej samej transakcji bazodanowej co zmiana, co oznacza, że wycofany dokument nigdy nie wyemituje zdarzenia, a doręczenia są zabezpieczone sygnaturą HMAC do weryfikacji.

Porównanie funkcji

Komórki oznaczone jako „brak potwierdzenia publicznego” oznaczają, że nie mogliśmy zweryfikować danej możliwości w stopniu, jakiego deweloper potrzebuje przed podjęciem decyzji. Nie są to twierdzenia, że dana funkcja nie istnieje.

Możliwość Nordlet Odoo
Forma produktu Hostowane API księgowe Pełny pakiet biznesowy; wersja hostowana lub instalowana we własnym zakresie
Główny interfejs API REST ze statycznie typowanym pakietem SDK dla TypeScript Aplikacja webowa; zewnętrzny API na poziomie modeli
Protokół API JSON over HTTPS, POST w stylu RPC dla każdej akcji XML-RPC oraz JSON-RPC, z planowanym zastąpieniem przez API JSON-2
Dostępność API W każdym planie, wszystkie moduły Plan Custom zgodnie z dokumentacją Odoo
Księga podwójnego zapisu Tak, bilansowanie wymuszane przez wyzwalacz bazodanowy w momencie zatwierdzenia Tak, wewnątrz modułu księgowego
Blokowanie okresów Tak; wpisy opatrzone datą z zablokowanego okresu są odrzucane z kodem 409 Obsługa dat blokady w module księgowym
Klucze idempotencji Tak, udokumentowana semantyka obejmująca odtwarzanie odpowiedzi i wykrywanie kolizji Brak publicznego potwierdzenia dla zewnętrznego API
Webhooki Tak, podpisane kryptograficznie, ponawiane, oparte na transakcyjnej tabeli wyjściowej Działają akcje automatyczne i webhooki; brak publicznych gwarancji doręczenia
Rejestr audytu (Audit record) Każda zmiana zawiera informację o aktorze, akcji, encji i różnicach (diff); dane podlegają zapytaniom Notatki w module społecznościowym (Chatter) i dzienniku; zakres zależy od modelu
VAT w UE Stawki krajowe dla UE-27, walidacja VIES, obliczanie OSS/IOSS wraz z korektami Moduły lokalizacyjne dla poszczególnych krajów; stopień zaawansowania zależy od państwa
E-fakturowanie EN 16931 UBL dla Peppol BIS 3.0; formaty krajowe dla IT, PL, RO Moduły lokalizacyjne obejmują wybrane formaty krajowe
Gospodarka magazynowa, produkcja Zapasy FIFO, listy materiałowe (BOM), montaż i demontaż, marszruty, gniazda produkcyjne, zlecenia produkcyjne z rejestracją operacji, kontrole jakości, utrzymanie ruchu Rozbudowane, stanowi główną zaletę systemu
CRM, strony www, marketing Zapytania od partnerów, grupy i statusy; brak kreatora stron www i narzędzi marketingowych Tak, stanowi główną zaletę systemu
Hosting we własnym zakresie (Self-hosting) Nie; obsługa własnej chmury (BYOC) dostępna w planie Custom Tak
Dostępność kodu źródłowego Własnościowy (Proprietary) Rdzeń o otwartym kodzie źródłowym, wersje płatne
Obsługa wielu spółek (Multi-company) Nieograniczona liczba spółek w ramach jednego konta, dostęp oparty na rolach Obsługa wielu spółek

Modele cenowe

Produkty te nie są porównywalne wprost, ponieważ opłaty pobierane są za zupełnie inne elementy.

Odoo rozlicza się w modelu za użytkownika miesięcznie, oferując darmowy plan ograniczony do jednej aplikacji oraz dostęp do zewnętrznego API w planie Custom. W przypadku platformy problem polega na tym, że liczba „użytkowników” jest kiepskim wskaźnikiem obciążenia w sytuacji, gdy to oprogramowanie – a nie pracownicy – generuje wpisy księgowe. Samodzielne hostowanie eliminuje koszty subskrypcji, ale generuje koszty infrastruktury i utrzymania.

Nordlet rozlicza się w modelu za liczbę żądań. Opublikowane plany wynoszą 10 euro miesięcznie za 3 000 żądań, 50 euro za 30 000 oraz 300 euro za 200 000, przy czym dodatkowe zapytania są rozliczani za każde wywołanie, a plan niestandardowy (custom) dostępny jest na życzenie. Każdy plan obejmuje wszystkie moduły oraz pełny dostęp do API; liczba użytkowników, firm oraz firm w środowisku testowym (sandbox) jest nieograniczona. Żądaniem jest każda akcja wykonana za pośrednictwem API lub aplikacji.

Konsekwencja w praktyce: giełda lub marketplace z czterema pracownikami i 50 000 miesięcznych operacji księgowych płaci za 50 000 operacji w modelu rozliczania za zużycie, natomiast w modelu za użytkownika płaci za czterech pracowników – przy czym ta druga opłata nie zmienia się, gdy wolumen operacji rośnie dwukrotnie. Warto przeliczyć własne liczby.

Gdzie Odoo jest lepszym wyborem

  • Chcesz mieć księgowość, magazyn, produkcję, CRM i stronę internetową w jednym systemie opartym na jednej bazie danych.
  • Musisz samodzielnie hostować system ze względów bezpieczeństwa danych, kosztów lub wewnętrznych polityk.
  • Chcesz modyfikować kod źródłowy i masz wewnętrzne zasoby do utrzymywania tych modyfikacji podczas aktualizacji systemowych.
  • Twoja księgowość to wewnętrzna administracja biznesowa, a nie funkcja sprzedawanego przez Ciebie produktu.
  • Działasz w kraju, dla którego moduł lokalizacyjny Odoo jest rozbudowany i aktywnie utrzymywany.

Wszechstronność Odoo jest niezaprzeczalna i żadne API księgowe jej nie zastąpi.

Gdzie sprawdza się Nordlet

  • To Twoje oprogramowanie, a nie pracownicy, generuje zdarzenia księgowe.
  • Potrzebujesz ksiąg dla wielu spółek w ramach jednego konta bez konieczności opłacania subskrypcji od każdej encji.
  • Wymagasz niezmienników systemowych, na których może polegać Twoja platforma: zbilansowanych zapisów, ciągłości numeracji, zablokowanych okresów, niezmiennej historii i idempotencyjnych zapisów.
  • Chcesz integrować się ze stabilnym kontraktem domenowym zamiast z wewnętrznym modelem danych.
  • Twoje obowiązki w zakresie unijnego VAT-u obejmują wiele krajów i wolisz nie utrzymywać tej logiki samodzielnie.

Ograniczenia wyrażone wprost: Nordlet znajduje się w fazie wczesnego dostępu (early access) i współpracuje z partnerami projektowymi; jest rozwiązaniem hostowanym, a nie instalowanym lokalnie; kartoteki partnerów zawierają zapytania, grupy i statusy zamiast leja sprzedaży, brak tu kreatora stron internetowych i narzędzi marketingowych; płace obsługują wyłącznie rynek litewski; a deklaracje podatkowe dla rynku krajowego są obecnie dostarczane dla trzech państw – Litwy (FR0600), Niemiec (UStVA) i Polski (JPK_V7M) – przy czym deklaracje OSS i IOSS są obliczane, ale nie są wysyłane w Twoim imieniu.

Co warto zweryfikować przed podjęciem decyzji

  1. Potwierdź, którego planu Odoo faktycznie potrzebujesz. Jeśli dostęp do zewnętrznego API wymaga planu Custom, oszacuj jego koszt dla liczby Twoich użytkowników, a nie dla planu początkowego.
  2. Zapytaj o harmonogram migracji RPC dla każdej integracji z Odoo, którą planujesz utrzymać po zapowiedzianym usunięciu obecnych punktów końcowych.
  3. Przetestuj powtarzanie żądań (retries) w obu systemach. Wyślij to samo żądanie dwa razy i policz wynikowe wpisy.
  4. Przetestuj blokadę okresu. Zamknij okres, a następnie spróbuj zaksięgować w nim dokument.
  5. Sprawdź obsługę swoich konkretnych krajów. W przypadku Odoo – który moduł lokalizacyjny i jak aktywnie jest utrzymywany; w przypadku Nordleta – jakie raporty VAT dla tych krajów są obecnie dostępne.
  6. Przelicz całkowity koszt w horyzoncie trzech lat, uwzględniając koszty hostingu i wysiłek związany z aktualizacjami w przypadku samodzielnego utrzymania oraz wzrost wolumenu zapytań w modelu licznikowym.

FAQ

Czy Odoo jest darmowe?

Odoo udostępnia darmowy plan ograniczony do jednej aplikacji, a wersja społecznościowa (community edition) ma otwarty kod źródłowy. W przypadku integracji na poziomie platformy istotnymi kosztami są zazwyczaj hosting, aktualizacje, utrzymanie lokalizacji oraz płatny plan wymagany do uzyskania dostępu do zewnętrznego API, a nie sama licencja.

Czy Odoo może służyć jako wbudowane zaplecze księgowe dla marketplace'u?

Można je zintegrować w ten sposób i niektóre zespoły dokładnie tak robią. Należy jednak wziąć pod uwagę, że zewnętrzne API działa na poziomie modeli danych, dostęp do API jest powiązany z konkretnym planem cenowym, obecne punkty końcowe RPC mają zostać zastąpione nowymi, a Ty przejmujesz odpowiedzialność za poprawne korzystanie z modeli księgowych. Zweryfikuj te aspekty pod kątem własnych wymagań zamiast przyjmować je z góry.

Czy Nordlet potrafi to samo co Odoo?

Nie. Nordlet to księgowość i obszary pokrewne – fakturowanie, księga główna, bankowość, magazyn, środki trwałe, produkcja, płace, sprawozdawczość i podatki UE. Moduł produkcyjny obejmuje listy materiałowe, marszruty, gniazda robocze, zlecenia produkcyjne z rejestracją operacji, kontrole jakości oraz utrzymanie sprzętu, lecz nie posiada funkcji planowania zapotrzebowania i zdolności produkcyjnych (MRP), które oferuje Odoo. Kartoteki partnerów obsługują zapytania, grupy i statusy zamiast pełnego leja sprzedaży, a w systemie nie ma kreatora stron ani narzędzi marketingowych.

Które rozwiązanie jest lepsze pod kątem unijnego VAT-u?

To zależy od kraju. Nordlet dostarcza stawki VAT dla UE-27, walidację VIES, obliczanie deklaracji OSS i IOSS wraz z korektami okresów poprzednich, rejestry i.SAF oraz format EN 16931 UBL, przy czym najgłębiej rozwinięty jest pakiet dla Litwy. Pokrycie w Odoo wynika z modułów lokalizacyjnych, których stopień zaawansowania i zakres utrzymania różnią się w zależności od państwa, dlatego uczciwą odpowiedzią dla każdego konkretnego kraju jest sprawdzenie stanu dedykowanego mu modułu.

Czy mogę samodzielnie hostować Nordleta?

Nie w ramach standardowych planów. Plan Custom uwzględnia obsługę wdrożeń we własnej chmurze klienta (BYOC), co stanowi punkt wyjścia do rozmowy, jeśli self-hosting jest twardym wymaganiem.

Dalsza lektura