Nordlet

← Blog

Nordlet vs Odoo pentru constructorii de platforme

O comparație pentru dezvoltatorii care aleg între un API de contabilitate încorporată și o suită ERP open-source, bazată pe propria documentație a fiecărui produs.

Nordlet Team · · 10 min de citire

Odoo și Nordlet sunt frecvent incluse împreună pe listele scurte ale echipelor de platforme, însă ele nu reprezintă același tip de produs. Odoo este o suită extinsă de aplicații de business care include și contabilitate, putând fi găzduită în regie proprie și modificată. Nordlet este un backend de contabilitate fără ambiții în afara contabilității, conceput pentru a fi apelat din produsul altcuiva.

Alegerea se reduce de obicei la două întrebări: cât din afacerea ta dorești să se afle într-un singur sistem și cine va rula acel sistem. Tot ceea ce urmează despre Odoo provine din propria documentație și din paginile de prețuri ale Odoo, fiind menționate linkuri acolo unde este relevant.

Ce este fiecare produs

Odoo este o suită open-source care acoperă contabilitatea, stocurile, producția, vânzările, CRM-ul, resursele umane, site-urile web și multe altele, fiind disponibilă ca Odoo Online, pe Odoo.sh sau cu auto-găzduire (self-hosted). Punctele sale forte sunt diversitatea, extensibilitatea și opțiunea de a o rula pe propria infrastructură. Comportamentul contabil specific fiecărei țări provine din modulele de localizare, iar comunitatea din jurul său este numeroasă.

Nordlet este un API de contabilitate în cloud. Acesta oferă un registru contabil dublu imutabil (immutable double-entry ledger), facturare, înregistrări de achiziții, fluxuri bancare (bank feeds) și reconciliere, stocuri, active imobilizate, salarizare, raportare și gestionare a taxelor din UE printr-o singură interfață REST - în prezent, peste 400 de endpoint-uri în 29 de module, generate dintr-o singură specificație OpenAPI. Există și o aplicație, iar aceasta rulează pe aceleași endpoint-uri la care au acces apelanții externi.

Întrebarea legată de API, care decide majoritatea evaluărilor

Aici este punctul în care produsele se diferențiază cel mai puternic pentru constructorii de platforme.

API-ul extern al Odoo este la nivel de model. Te autentifici și apoi apelezi metode ORM pe modele de date, cum ar fi account.move pentru note contabile și facturi, res.partner pentru contacte și account.account pentru planul de conturi, prin XML-RPC sau JSON-RPC. Acest lucru este puternic: tot ceea ce poate modela sistemul poate fi accesat. În același timp, responsabilitatea utilizării corecte a modelelor îți revine, iar integrarea ta este cuplată la modelul de date intern al Odoo, mai degrabă decât la un contract de domeniu stabil.

Două aspecte din materialele Odoo schimbă calculul:

  • Documentația Odoo precizează că accesul la API-ul extern este disponibil în planul de prețuri Custom și nu în planurile One App Free sau Standard. Prin urmare, accesul la API este o decizie legată de preț, nu doar una tehnică. Planurile și prețurile actuale pot fi consultate pe pagina de prețuri a Odoo.
  • Odoo a anunțat că endpoint-urile /xmlrpc, /xmlrpc/2 și /jsonrpc sunt programate pentru eliminare - în Odoo 22 și Odoo Online 21.1 - urmând să fie înlocuite de un API JSON-2 mai recent. O integrare scrisă pe baza endpoint-urilor RPC actuale va necesita o migrare în viitor.

API-ul Nordlet este la nivel de domeniu. Operațiunile au forma POST /v1/{module}/{resource}/{action} cu un corp JSON, astfel încât apelezi sales/invoices/issue în loc să manipulezi direct un model de registru contabil, consecințele contabile fiind responsabilitatea API-ului. Cheile de acces conțin niveluri de permisiune (scopes) precum sales:write. Reîncercările sunt protejate de un antet Idempotency-Key: aceeași cheie cu aceeași încărcătură (payload) va reda răspunsul stocat, iar aceeași cheie cu o încărcătură modificată va fi respinsă cu eroarea idempotency_key_reuse în loc să fie acceptată silențios. Evenimentele webhook sunt scrise într-o filă de ieșire (outbox) tranzacțională în cadrul aceleiași tranzacții de BBD ca și modificarea, astfel încât un document anulat să nu emită niciodată un eveniment, iar livrările sunt semnate cu o semnătură HMAC pe care o poți verifica.

Comparație de funcționalități

Celulele marcate cu "neconfirmat public" indică faptul că nu am putut verifica capabilitatea la nivelul de detaliu de care un dezvoltator ar avea nevoie înainte de a lua o decizie. Acestea nu reprezintă o afirmație că funcționalitatea ar lipsi.

Capabilitate Nordlet Odoo
Forma produsului API de contabilitate, găzduit Suită completă de business; găzduită sau cu auto-găzduire
Interfață principală API REST cu SDK de TypeScript tipizat Aplicație web; API extern la nivel de model
Protocol API JSON peste HTTPS, POST de tip RPC pentru fiecare acțiune XML-RPC și JSON-RPC, cu un API JSON-2 care le înlocuiește
Disponibilitate API În orice plan, pentru toate modulele Planul Custom conform documentației Odoo
Registru în partidă dublă Da, soldul este impus de un trigger de BBD la commit Da, în cadrul modulului de contabilitate
Blocarea perioadelor Da; înregistrările cu dată într-o perioadă blocată sunt respinse cu 409 Date de blocare suportate în modulul de contabilitate
Chei de idempotență Da, semantică documentată care include reluarea și coliziunile Neconfirmat public pentru API-ul extern
Webhook-uri Da, semnate, reîncercate, dintr-un outbox tranzacțional Acțiuni automate și webhook-uri existente; garanțiile de livrare neconfirmate public
Înregistrare de audit (Audit record) Orice modificare cu actor, acțiune, entitate, diferențe (diff); interogabilă Note de chat și jurnale; sfera de acoperire variază în funcție de model
TVA în UE Rate specifice fiecărei țări pentru UE-27, validare VIES, calcul OSS/IOSS cu corecții Module de localizare specifice fiecărei țări; profunzimea variază în funcție de țară
Facturare electronică EN 16931 UBL pentru Peppol BIS 3.0; formate naționale pentru IT, PL, RO Modulele de localizare acoperă mai multe formate naționale
Stocuri, producție Stocuri FIFO, liste de materiale (BOM), asamblare și dezasamblare, fluxuri tehnologice, centre de lucru, ordine de producție cu înregistrare pe operațiune, controale de calitate, mentenanță Extinse, un punct forte de bază
CRM, site web, marketing Doar solicitări (inquiries), grupuri și statusuri pentru parteneri; fără constructor de site-uri sau instrumente de marketing Da, un punct forte de bază
Auto-găzduire (Self-hosting) Nu; suportul BYOC (Bring Your Own Cloud) este listat în planul Custom Da
Disponibilitatea codului sursă Proprietar Nucleu open-source, cu ediții plătite
Multi-companie Companii nelimitate sub un singur cont, acces bazat pe roluri Suport pentru mai multe companii

Modele de prețuri

Cele două produse nu pot fi comparate direct linie cu linie, deoarece taxează pentru aspecte diferite.

Odoo percepe tarife per utilizator pe lună, având un plan gratuit limitat la o singură aplicație și acces la API-ul extern inclus în planul Custom. Pentru o platformă, partea dificilă este că numărul de „utilizatori” reprezintă un indicator slab pentru volum atunci când software-ul tău, și nu personalul tău, generează contabilitatea. Auto-găzduirea elimină costul abonamentului și adaugă costuri de infrastructură și mentenanță.

Nordlet facturează în funcție de numărul de cereri. Planurile publicate sunt de 10 euro pe lună pentru 3.000 de cereri, 50 de euro pentru 30.000 și 300 de euro pentru 200.000, cererile suplimentare fiind taxate per cerere, existând și un plan personalizat la cerere. Fiecare plan include toate modulele și API-ul complet; utilizatorii, companiile și companiile sandbox sunt nelimitate. O cerere reprezintă orice acțiune efectuată prin intermediul API-ului sau al aplicației.

Consecința practică: o platformă de tip marketplace cu patru angajați și 50.000 de acțiuni contabile lunare plătește pentru 50.000 de acțiuni în cadrul unui model bazat pe consum și pentru patru utilizatori într-un model per utilizator - iar cifra per utilizator nu se modifică atunci când volumul se dublează, ceea ce poate avantaja sau dezavantaja în funcție de situație. Calculează propriile cifre.

Unde Odoo este alegerea mai bună

  • Îți dorești contabilitate, stocuri, producție, CRM și un site web într-un singur sistem, cu o singură bază de date.
  • Trebuie să folosești auto-găzduirea din motive legate de rezidența datelor, costuri sau politici interne.
  • Dorești să modifici codul sursă și ai capacitatea internă de a menține acele modificări de-a lungul actualizărilor.
  • Contabilitatea ta reprezintă o activitate de administrație internă a afacerii, și nu o funcționalitate a produsului pe care îl vinți.
  • Te afli într-o țară în care modulul de localizare Odoo este puternic și menținut activ.

Complexitatea și amploarea Odoo sunt reale, și niciun API de contabilitate nu le poate înlocui în totalitate.

Unde se potrivește Nordlet

  • Software-ul tău, și nu personalul tău, creează evenimentele contabile.
  • Ai nevoie de registre pentru numeroase companii sub un singur cont, fără a plăti un abonament separat pentru fiecare entitate.
  • Ai nevoie de invariante impuse pe care platforma ta să se poată baza: înregistrări echilibrate, numerotare fără lacune, perioade blocate, istoric imutabil, scrieri idempotente.
  • Dorești să te integrezi pe baza unui contract de domeniu stabil, în loc să depinzi de un model de date intern.
  • Obligațiile tale privind TVA-ul în UE se întind pe mai multe țări și preferi să nu întreții singur această logică.

Limitările, spuse pe sleiau: Nordlet se află în faza de acces timpuriu (early access) și colaborează cu parteneri de design pentru implementare; este găzduit și nu oferă opțiune de auto-găzduire în mod nativ; înregistrările partenerilor conțin solicitări, grupuri și statusuri în loc unui pipeline de vânzări și nu există un constructor de site-uri web sau funcționalități de marketing; salarizarea este disponibilă exclusiv pentru Lituania; iar pachetele pentru declarații fiscale locale sunt livrate în prezent pentru trei țări - Lituania (FR0600), Germania (UStVA) și Polonia (JPK_V7M) - calculul OSS și IOSS fiind realizat, dar fără a fi depus în numele tău.

Ce am valida înainte de a lua o decizie

  1. Confirmă planul Odoo de care ai nevoie în realitate. Dacă accesul la API-ul extern necesită planul Custom, calculează prețul acelui plan în funcție de numărul tău de utilizatori, nu pe baza planului de intrare.
  2. Interesează-te cu privire la calendarul de migrare RPC pentru orice integrare Odoo pe care intenționezi să o menții după eliminarea anunțată a endpoint-urilor actuale.
  3. Testează reîncercările pe ambele platforme. Trimite aceeași cerere de două ori și numără înregistrările rezultate.
  4. Testează blocarea. Închide o perioadă, apoi încearcă să înregistrezi tranzacții în interiorul ei.
  5. Verifică țările tale specifice. Pentru Odoo, care este modulul de localizare și cât de activ este întreținut; pentru Nordlet, ce tip de rapoarte de TVA există în prezent pentru acele țări.
  6. Calculează costul total pe o perioadă de trei ani, incluzând găzduirea și efortul de actualizare în cazul auto-găzduirii, respectiv creșterea volumului de cereri în cazul taxării pe consum.

FAQ

Este Odoo gratuit?

Odoo publică un plan gratuit limitat la o singură aplicație, iar ediția comunitară (community edition) este open-source. Pentru o integrare de platformă, costurile relevante sunt de obicei cele de găzduire, actualizări, mentenanță a localizării și planul plătit necesar pentru accesul la API-ul extern, și nu licența în sine.

Poate fi Odoo utilizat ca un backend de contabilitate încorporat pentru un marketplace?

Poate fi integrat, iar unele echipe fac exact acest lucru. Aspectele de care trebuie să ții cont sunt că API-ul extern funcționează la nivelul modelului de date, că accesul la API este legat de un anumit nivel de preț, că endpoint-urile RPC actuale sunt programate pentru a fi înlocuite și că îți asumi responsabilitatea pentru utilizarea corectă a modelelor contabile. Validează aceste aspecte în raport cu propriile cerințe, în loc să faci presupuneri.

Face Nordlet tot ceea ce face Odoo?

Nu. Nordlet se ocupă de contabilitate și operațiuni adiacente - facturare, registru contabil, bănci, stocuri, active, producție, salarizare, raportare, taxe în UE. Partea de producție acoperă liste de materiale, fluxuri tehnologice, centre de lucru, ordine de producție cu înregistrare pe operațiune, controale de calitate și mentenanța echipamentelor, fără planificarea cererii și a capacității pe care o oferă Odoo. Înregistrările partenerilor conțin solicitări, grupuri și statusuri în loc de un pipeline de vânzări, și nu există un constructor de site-uri web sau instrumente de marketing.

Care este mai bun pentru TVA-ul din UE?

Depinde de țară. Nordlet oferă rate de TVA per țară pentru UE-27, validare VIES, calculul deconturilor OSS și IOSS cu corecții pentru perioadele anterioare, registre i.SAF și EN 16931 UBL, Lituania fiind pachetul de țară cel mai aprofundat. Acoperirea Odoo provine din module de localizare a căror profunzime și mentenanță variază în funcție de țară, așa că răspunsul onest pentru orice țară anume este să verifici modulul dedicat acelei țări.

Pot să găzduiesc Nordlet pe propria infrastructură?

Nu în cadrul planurilor standard. Planul Custom include mențiunea privind suportul pentru propria infrastructură (bring-your-own-cloud), aceasta fiind discuția pe care trebuie să o porți dacă auto-găzduirea este o cerință obligatorie.

Lectură suplimentară