Nordlet vs Odoo for Platform Builders
Srovnání pro vývojáře, kteří se rozhodují mezi integrovaným účetním API a open-source ERP sytémem, založené na oficiální dokumentaci obou produktů.
Odoo a Nordlet se v užším výběru týmů budujících platformy objevují často, nejedná se však o stejný typ produktu. Odoo je široká podniková aplikační suita se zabudovaným účetnictvím, kterou si můžete sami hostovat a upravovat. Nordlet je účetní backend bez ambicí přesahujících účetnictví, navržený pro volání z cizího produktu.
Volba se obvykle odvíjí od dvou otázek: kolik toho chcete mít v jednom systému a kdo ho bude provozovat. Veškeré níže uvedené informace o Odoo pocházejí z vlastní dokumentace a ceníků Odoo, v případě potřeby jsou opatřeny odkazy.
Čím jednotlivé produkty jsou
Odoo je open-source suita zahrnující účetnictví, skladové hospodářství, výrobu, prodej, CRM, lidské zdroje, weby a další moduly. Je dostupná jako Odoo Online, na platformě Odoo.sh nebo pro vlastní hostování. Jejím přínosem je šíře záběru, rozšiřitelnost a možnost provozu ve vlastní réžii. Účetní specifika pro jednotlivé země zajišťují lokalizační moduly a kolem systému existuje rozsáhlá komunita.
Nordlet je cloudové účetní API. Poskytuje neměnné podvojné účetnictví (immutable double-entry ledger), fakturaci, evidenci nákupů, bankovní výpisy a párování plateb, sklad, dlouhodobý majetek, mzdy, výkaznictví a zpracování daní v EU prostřednictvím jediného REST rozhraní – aktuálně více než 400 koncových bodů (endpoints) ve 29 modulech, generovaných z jediné OpenAPI specifikace. Součástí je i aplikace, která běží na stejných koncových bodech, jaké využívají externí volající.
Otázka API, která rozhoduje o většině vyhodnocení
V této oblasti se oba produkty pro tvůrce platforem rozcházejí nejvýrazněji.
Externí API Odoo je na modelové úrovni. Provedete autentizaci a následně voláte metody ORM nad datovými moduly, jako je account.move pro účetní zápisy a faktury, res.partner pro kontakty a account.account pro účtovou osnovu, a to přes XML-RPC nebo JSON-RPC. Je to mocné: dosáhnete na vše, co systém dokáže namodelovat. Zároveň to však znamená, že odpovědnost za správné použití modelů leží na vás a vaše integrace je provázaná s interním datovým modelem Odoo namísto stabilního doménového kontraktu.
Výpočet mění dvě skutečnosti vycházející přímo z materiálů Odoo:
- Dokumentace Odoo uvádí, že přístup k externímu API je k dispozici v cenovém plánu Custom, nikoli v tarifech One App Free nebo Standard. Přístup k API je tedy rozhodnutím cenovým, nejen technickým. Aktuální plány a ceny najdete na stránce s ceníkem Odoo.
- Odoo oznámilo, že koncové body
/xmlrpc,/xmlrpc/2a/jsonrpcbudou odstraněny – v Odoo 22 a Odoo Online 21.1 – a jako náhrada poslouží novější JSON-2 API. Integrace napsaná proti stávajícím RPC koncovým bodům bude v budoucnu vyžadovat migraci.
API Nordletu je na doménové úrovni. Operace mají podobu POST /v1/{module}/{resource}/{action} s tělem ve formátu JSON, takže voláte například sales/invoices/issue namísto přímé manipulace s modelem deníku (journal). Účetní dopady má na starosti samotné API. Klíče nesou oprávnění (scopes) jako například sales:write. Opakované pokusy (retries) jsou chráněny hlavičkou Idempotency-Key: stejný klíč se stejným payloadem vrátí uloženou odpověď, zatímco stejný klíč se změněným payloadem je odmítnut s chybou idempotency_key_reuse, místo aby byl tiše akceptován. Události pro webhooks jsou zapisovány do transakční schránky (outbox) v rámci stejné databázové transakce jako samotná změna, takže zrušený dokument nikdy nevygeneruje událost. Doručování je podepsáno HMAC podpisem, který si můžete ověřit.
Srovnání funkcí
Buněk označených jako „neověřeno veřejně“ jsme se v době hodnocení nemohli ujistit v takové hloubce, jakou vývojář potřebuje před učiněním závazku. Nejedná se o tvrzení, že funkce chybí.
| Schopnost | Nordlet | Odoo |
|---|---|---|
| Podoba produktu | Účetní API, hostované | Kompletní podniková suita; hostovaná nebo ve vlastní réžii |
| Primární rozhraní | REST API se silně typovaným TypeScript SDK | Webová aplikace; externí API na modelové úrovni |
| Protokol API | JSON nad HTTPS, styl RPC v podobě POST pro každou akci | XML-RPC a JSON-RPC, s přechodem na JSON-2 API |
| Dostupnost API | V každém plánu, všechny moduly | Plán Custom dle dokumentace Odoo |
| Podvojné účetnictví | Ano, rovnováha vynucena databázovým triggerem při potvrzení | Ano, v rámci účetního modulu |
| Uzamykání období | Ano; zaúčtování do uzamčeného období jsou odmítnuta s kódem 409 |
Data uzávěrky jsou v účetním modulu podporována |
| Idempotentní klíče | Ano, zdokumentovaná sémantika včetně opakování a kolizí | Pro externí API veřejně neověřeno |
| Webhooks | Ano, podepsané, opakované, z transakčního outboxu | Automatické akce a webhooks existují; záruky doručení veřejně neověřeny |
| Auditní záznam | Každá změna s aktérem, akcí, entitou, diffem; s možností dotazování | Chatr a poznámky v logu; rozsah se liší podle modelu |
| DPH v EU | Sazby pro každou z 27 zemí EU, VIES ověření, výpočet OSS/IOSS s opravami | Lokalizační moduly pro jednotlivé země; hloubka se liší podle státu |
| Elektronická fakturace | EN 16931 UBL pro Peppol BIS 3.0; národní formáty pro IT, PL, RO | Lokalizační moduly pokrývají několik národních formátů |
| Sklad, výroba | FIFO zásoby, kusovníky, montáž a demontáž, postupy, pracovní centra, výrobní příkazy s evidencí po operacích, kontroly kvality, údržba | Rozsáhlé, silná stránka systému |
| CRM, web, marketing | Pouze poptávky partnerů, skupiny a stavy; bez tvorby webu a marketingových nástrojů | Ano, silná stránka systému |
| Vlastní hostování (self-hosting) | Ne; podpora BYOC uvedena u tarifu Custom | Ano |
| Dostupnost zdrojového kódu | Proprietární | Open-source jádro, placené edice |
| Multi-company | Neomezeně společností pod jedním účtem, řízení přístupu na základě rolí | Podpora více společností (multi-company) |
Cenové modely
Oba systémy nelze porovnávat položku po položce, protože zpoplatňují odlišné věci.
Odoo účtuje poplatek za uživatele a měsíc, přičemž bezplatný tarif je omezen na jedinou aplikaci a přístup k externímu API nabízí až tarif Custom. Pro platformu je nepříjemné, že „uživatelé“ jsou špatným ukazatelem vytížení ve chvíli, kdy účetnictví generuje váš software, nikoliv vaši zaměstnanci. Vlastní hostování odbourává náklady na předplatné, ale přidává náklady na infrastrukturu a údržbu.
Nordlet účtuje poplatky podle počtu požadavků. Zveřejněné plány činí 10 EUR měsíčně za 3 000 požadavků, 50 EUR za 30 000 a 300 EUR za 200 000. Další požadavky jsou účtovány za jeden kus, přičemž na vyžádání je k dispozici vlastní tarif Custom. Každý plán zahrnuje všechny moduly a kompletní API; počet uživatelů, společností a sandboxových společností je neomezený. Požadavkem se rozumí jakákoli akce provedená prostřednictvím API nebo aplikace.
Praktický důsledek: tržiště se čtyřmi zaměstnanci a 50 000 měsíčními účetními operacemi platí v metrickém modelu za 50 000 operací, zatímco v modelu odvíjejícím se od počtu uživatelů platí za čtyři uživatele – přičemž hodnota za uživatele se ani při zdvojnásobení objemu nezmění, což má obě stránky. Propočítejte si vlastní čísla.
Kdy je lepší volbou Odoo
- Chcete mít účetnictví, sklad, výrobu, CRM a web v jediném systému s jednou databází.
- Potřebujete systém sami hostovat kvůli rezidenci dat, nákladům nebo vnitřním směrnicím.
- Chcete upravovat zdrojový kód a disponujete interní kapacitou tyto úpravy udržovat při každém upgrade.
- Vaše účetnictví představuje interní podnikovou administrativu a nikoliv funkci produktu, který prodáváte.
- Nacházíte se v zemi, kde je lokalizační modul Odoo silný a aktivně udržovaný.
Šíře záběru Odoo je reálná a žádné účetní API ji nenahradí.
Kde se uplatní Nordlet
- Účetní události vytváří váš software, nikoli vaši zaměstnanci.
- Potřebujete vést účetnictví pro mnoho společností pod jedním účtem bez nutnosti platit předplatné za každou entitu zvlášť.
- Vyžadujete vynucená neměnná pravidla, na něž se vaše platforma může spolehnout: vyrovnané položky, číslování bez mezer, uzamčená období, neměnnou historii, idempotentní zápisy.
- Chcete se integrovat proti stabilnímu doménovému kontraktu namísto interního datového modelu.
- Vaše povinnosti ohledně DPH v EU se rozprostírají do několika zemí a nechcete tuto logiku udržovat sami.
Omezení řečená na rovinu: Nordlet je v režimu předběžného přístupu (early access) a onboardingových designových partnerů; je spíše hostovaný než self-hosted; záznamy partnerů obsahují poptávky, skupiny a stavy namísto prodejního potrubí (sales pipeline); chybí nástroj na tvorbu webu a marketingové funkce; mzdy jsou dostupné pouze pro Litvu; a domácí daňová přiznání jsou k dnešnímu dni připravena pro tři země – Litvu (FR0600), Německo (UStVA) a Polsko (JPK_V7M) – přičemž OSS a IOSS se počítají, ale nepodávají se vaším jménem.
Co bychom ověřili před rozhodnutím
- Ověřte si, jaký plán Odoo skutečně potřebujete. Pokud přístup k externímu API vyžaduje tarif Custom, oceňte tento tarif podle počtu vašich uživatelů, nikoliv podle vstupního tarifu.
- Zeptejte se na časový harmonogram migrace RPC pro každou integraci Odoo, kterou hodláte udržet po ohlášeném odstranění stávajících koncových bodů.
- Otestujte opakované požadavky u obou řešení. Odešlete stejný požadavek dvakrát a spočítejte výsledné záznamy.
- Otestujte zámek období. Uzavřete období a zkuste do něj zaúčtovat doklad.
- Prověřte své konkrétní země. V případě Odoo zkontrolujte, který lokalizační modul je k dispozici a jak aktivně je udržován; v případě Nordletu ověřte, jaké výstupy DPH pro dané země v současnosti existují.
- Propočítejte celkové náklady na tříletém horizontu, včetně hostování a nákladů na upgrade v případě vlastního hostování, případně růstu objemu požadavků u metrického modelu.
FAQ
Je Odoo zdarma?
Odoo zveřejňuje bezplatný tarif omezený na jedinou aplikaci a komunitní edice je open-source. Pro integraci do platformy představují relevantní náklady obvykle hostování, upgrady, údržba lokalizace a placený tarif vyžadovaný pro přístup k externímu API, nikoliv samotná licence.
Lze Odoo používat jako integrovaný účetní backend pro tržiště (marketplace)?
Ano, lze se s ním integrovat a některé týmy to takto dělají. Je však nutné vzít v úvahu, že externí API funguje na úrovni datových modelů, přístup k API je vázán na konkrétní cenový plán, stávající koncové body RPC mají být nahrazeny a odpovědnost za správné použití účetních modelů nesete vy sami. Ověřte si tyto body proti vlastním požadavkům, než se unáhlíte.
Zvládne Nordlet všechno, co Odoo?
Ne. Nordlet se zaměřuje na účetnictví a související operace – fakturaci, hlavní knihu, banku, sklad, majetek, výrobu, mzdy, výkaznictví a daně v EU. Výroba pokrývá kusovníky, postupy, pracovní centra, výrobní příkazy s evidencí po operacích, kontroly kvality a údržbu zařízení, avšak bez plánování poptávky a kapacity, které Odoo nabízí. Záznamy partnerů obsahují poptávky, skupiny a stavy namísto prodejního potrubí, a systém neobsahuje nástroj na tvorbu webu ani marketingové nástroje.
Který systém je lepší pro DPH v EU?
Záleží na konkrétní zemi. Nordlet poskytuje sazby DPH pro jednotlivé země EU, ověření VIES, výpočet přiznání OSS a IOSS včetně oprav předchozích období, výkazy i.SAF a EN 16931 UBL, přičemž nejhlubší podporu má pro Litvu. Pokrytí v Odoo vychází z lokalizačních modulů, jejichž hloubka a údržba se stát od státu liší, takže upřímnou odpovědí pro jakoukoli konkrétní zemi je ověřit si stav příslušného modulu.
Mohu si Nordlet hostovat sám (self-host)?
V rámci standardních tarifů nikoliv. Tarif Custom uvádí podporu pro přenesení vlastního cloudu (bring-your-own-cloud), což je předmět diskuze v případě, že je vlastní hostování nutností.