Nordlet

← Blog

Nordlet vs Odoo per costruttori di piattaforme

Un confronto per gli sviluppatori che devono decidere tra un'API di contabilità embedded e una suite ERP open source, basato sulla documentazione ufficiale di ciascun prodotto.

Nordlet Team · · 10 min di lettura

Odoo e Nordlet vengono spesso valutati insieme dai team di prodotto, ma non sono lo stesso tipo di soluzione. Odoo è una suite di applicazioni aziendali completa con un modulo di contabilità integrato, che puoi ospitare in autonomia (self-host) e modificare. Nordlet è un backend di contabilità senza ambizioni che vanno oltre la contabilità stessa, progettato per essere richiamato dal prodotto di terzi.

La scelta si riduce solitamente a due domande: quanta parte della tua attività desideri racchiudere in un unico sistema e chi si occuperà di gestirlo. Tutti i dettagli su Odoo riportati di seguito provengono dalla documentazione ufficiale e dalle pagine dei prezzi di Odoo, collegate ove opportuno.

Cosa sono i due prodotti

Odoo è una suite open source che comprende contabilità, gestione magazzino, produzione, vendite, CRM, risorse umane, siti web e altro ancora, disponibile come Odoo Online, su Odoo.sh o in modalità self-hosted. I suoi punti di forza sono l'ampiezza delle funzioni, l'estensibilità e la possibilità di eseguirlo autonomamente. La gestione contabile specifica per paese è affidata a moduli di localizzazione e la community di riferimento è molto ampia.

Nordlet è un'API di contabilità cloud. Fornisce un mastro a partita doppia (double-entry ledger) immutabile, fatturazione, registri acquisti, flussi bancari e riconciliazione, inventario, cespiti (fixed assets), libri paga (payroll), reportistica e gestione fiscale UE tramite un'unica interfaccia REST: attualmente oltre 400 endpoint suddivisi in 29 moduli, generati a partire da una singola specifica OpenAPI. Dispone di un'applicazione e gira sugli stessi endpoint a cui accedono i client esterni.

La questione delle API, che decide la maggior parte delle valutazioni

È qui che i prodotti divergono in modo più netto per i costruttori di piattaforme.

L'API esterna di Odoo opera a livello di modello. Esegui l'autenticazione e successivamente richiami i metodi ORM su modelli di dati come account.move per le registrazioni di prima nota e le fatture, res.partner per i contatti e account.account per il piano dei conti, tramite XML-RPC o JSON-RPC. Questo approccio è potente: tutto ciò che il sistema è in grado di modellare, può essere raggiunto. Significa anche che la responsabilità di utilizzare correttamente i modelli spetta a te, e la tua integrazione risulta accoppiata al modello di dati interno di Odoo piuttosto che a un contratto di dominio stabile.

Due fatti tratti dal materiale ufficiale di Odoo modificano i calcoli:

  • La documentazione di Odoo specifica che l'accesso alle API esterne è disponibile nel piano tariffario Custom e non nei piani One App Free o Standard. L'accesso alle API rappresenta quindi una decisione commerciale, oltre che tecnica. I piani e i prezzi attuali sono consultabili sulla pagina dei prezzi di Odoo.
  • Odoo ha annunciato che gli endpoint /xmlrpc, /xmlrpc/2 e /jsonrpc sono destinati alla rimozione - a partire da Odoo 22 e Odoo Online 21.1 - e verranno sostituiti da una nuova API JSON-2. Un'integrazione scritta basandosi sugli attuali endpoint RPC richiederà inevitabilmente una migrazione futura.

L'API di Nordlet opera a livello di dominio. Le operazioni seguono lo schema POST /v1/{module}/{resource}/{action} con un corpo JSON, perciò invochi sales/invoices/issue anziché manipolare direttamente un modello di prima nota, e le conseguenze contabili sono gestite direttamente dall'API. Le chiavi dispongono di permessi specifici (scope) come sales:write. I tentativi di nuovo invio (retry) sono protetti da un header Idempotency-Key: la stessa chiave inviata con lo stesso payload restituisce la risposta memorizzata, mentre la stessa chiave con un payload modificato viene rifiutata con l'errore idempotency_key_reuse anziché essere accettata silenziosamente. Gli eventi webhook vengono scritti in una tabella di transazione (outbox) all'interno della stessa transazione di database della modifica, di conseguenza un documento annullato non emette mai alcun evento, e le consegne sono firmate tramite una firma HMAC verificabile.

Confronto delle funzionalità

Le celle contrassegnate con "non confermato pubblicamente" indicano che non ci è stato possibile verificare la funzionalità al livello di dettaglio richiesto a uno sviluppatore prima di prendere un impegno. Non si tratta di un'affermazione circa la loro assenza.

Funzionalità Nordlet Odoo
Forma del prodotto API di contabilità, gestita (hosted) Suite aziendale completa; ospitata o self-hosted
Interfaccia principale API REST con SDK TypeScript tipizzato Applicazione web; API esterna a livello di modello
Protocollo API JSON su HTTPS, POST in stile RPC per ogni azione XML-RPC e JSON-RPC, con transizione a un'API JSON-2
Disponibilità delle API Tutti i piani, tutti i moduli Piano Custom, secondo la documentazione di Odoo
Mastro a partita doppia Sì, bilanciamento imposto da un trigger di database al momento del commit Sì, all'interno del modulo contabilità
Chiusura dei periodi (Period locking) Sì; le registrazioni datate in un periodo chiuso vengono rifiutate con 409 Date di blocco supportate nel modulo contabilità
Chiavi di idempotenza Sì, con semantica documentata inclusi riproduzione e collisione Non confermato pubblicamente per l'API esterna
Webhook Sì, firmati, con tentativi ripetuti (retry), da una outbox transazionale Azioni automatizzate e webhook presenti; garanzie di consegna non confermate pubblicamente
Registro di audit Ogni modifica traccia attore, azione, entità, differenze (diff); interrogabile Note di registro (log notes) e chatter; il livello di dettaglio varia in base al modello
IVA UE Aliquote per paese per i 27 paesi UE, convalida VIES, calcolo OSS/IOSS con rettifiche Moduli di localizzazione specifici per paese; la profondità varia in base alla giurisdizione
Fatturazione elettronica EN 16931 UBL per Peppol BIS 3.0; formati nazionali per IT, PL, RO I moduli di localizzazione coprono diversi formati nazionali
Magazzino, produzione Giacenze FIFO, distinte base (BOM), assemblaggio e disassemblaggio, cicli di lavorazione, centri di lavoro, ordini di produzione con registrazione per singola operazione, controlli qualità, manutenzione Estesa, uno dei punti di forza principali
CRM, sito web, marketing Solo richieste (inquiries), gruppi e stati dei partner; nessun website builder o strumento di marketing Sì, un punto di forza principale
Self-hosting No; il supporto BYOC è indicato nel piano Custom Sì
Disponibilità del codice sorgente Proprietario Core open source, con edizioni a pagamento
Multi-azienda (Multi-company) Aziende illimitate sotto un unico account, accesso basato sui ruoli Supporto multi-azienda presente

Modelli di prezzo

I due modelli non sono confrontabili voce per voce, poiché applicano tariffe basate su metriche differenti.

Odoo addebita un costo per utente al mese, con un piano gratuito limitato a una singola applicazione e accesso API esterne disponibile solo sul piano Custom. Per una piattaforma, l'aspetto critico risiede nel fatto che il numero di "utenti" costituisce una metrica inadeguata per stimare il carico quando a generare la contabilità è il software, e non il personale. La modalità self-hosted elimina il costo dell'abbonamento ma aggiunge costi di infrastruttura e manutenzione.

Nordlet addebita i costi in base al numero di richieste. I piani pubblicati prevedono 10 euro al mese per 3.000 richieste, 50 euro per 30.000 e 300 euro per 200.000, con le richieste aggiuntive fatturate a consumo e un piano personalizzato su richiesta. Ogni piano include tutti i moduli e l'API completa; utenti, aziende e aziende in sandbox sono illimitati. Per richiesta si intende qualsiasi azione eseguita tramite l'API o l'applicazione.

La conseguenza pratica: un marketplace con quattro dipendenti e 50.000 azioni contabili mensili paga per 50.000 azioni con un modello a consumo, mentre paga per quattro utenti con un modello basato sugli utenti; quest'ultimo valore, tuttavia, non varia se il volume raddoppia, il che taglia la posta in entrambi i sensi. Fai le tue proiezioni numeriche.

Dove Odoo rappresenta la scelta migliore

  • Desideri gestire contabilità, magazzino, produzione, CRM e un sito web all'interno di un unico sistema con un solo database.
  • Hai l'esigenza di ospitare il software in autonomia, per motivi di residenza dei dati, costi o policy aziendali.
  • Vuoi modificare il codice sorgente e disponi delle competenze interne per gestire tali personalizzazioni nel corso degli aggiornamenti.
  • La tua contabilità è un'attività amministrativa interna piuttosto che una funzionalità del prodotto che vendi.
  • Ti trovi in un paese in cui il modulo di localizzazione di Odoo è solido e attivamente mantenuto.

L'ampiezza di Odoo è reale e nessuna API di contabilità può sostituirla integralmente.

Dove si colloca Nordlet

  • Il tuo software, anziché il personale, genera gli eventi contabili.
  • Hai bisogno di registri contabili per molte aziende sotto un unico account senza dover pagare un abbonamento per ogni entità.
  • Richiedi invarianti rigorose su cui la tua piattaforma possa fare affidamento: registrazioni bilanciate, numerazioni senza salti, periodi bloccati, storico immutabile, scritture idempotenti.
  • Vuoi integrarti con un contratto di dominio stabile anziché con un modello di dati interno.
  • I tuoi obblighi relativi all'IVA UE si estendono su più paesi e preferisci non mantenere quella logica in autonomia.

I limiti, espressi chiaramente: Nordlet si trova in fase di accesso anticipato (early access) e accoglie design partner; è un servizio ospitato (hosted) e non self-hosted; i record dei partner gestiscono richieste, gruppi e stati anziché una pipeline di vendite; non sono presenti un costruttore di siti web né funzionalità di marketing; i libri paga (payroll) sono limitati alla sola Lituania; e i pacchetti di dichiarazioni fiscali nazionali sono attualmente disponibili per tre paesi - Lituania (FR0600), Germania (UStVA) e Polonia (JPK_V7M) - mentre i calcoli OSS e IOSS vengono eseguiti ma non inviati per vostro conto.

Aspetti da verificare prima di prendere una decisione

  1. Conferma il piano Odoo di cui hai realmente bisogno. Se l'accesso alle API esterne richiede il piano Custom, calcola il prezzo di quel piano in base al numero dei tuoi utenti, non a quello del piano d'ingresso.
  2. Informati sulla tempistica di migrazione delle API RPC per qualsiasi integrazione Odoo che prevedi di mantenere attiva oltre la data di rimozione annunciata per gli endpoint attuali.
  3. Testa i tentativi ripetuti (retry) su entrambe le soluzioni. Invia la stessa richiesta due volte e conta le registrazioni risultanti.
  4. Verifica il blocco dei periodi. Chiudi un periodo contabile e prova a inserire una registrazione al suo interno.
  5. Controlla la situazione specifica per i tuoi paesi. Per Odoo, verifica quale modulo di localizzazione è disponibile e quanto viene attivamente mantenuto; per Nordlet, controlla quali output IVA esistono attualmente per quei paesi.
  6. Modella il costo totale su un orizzonte di tre anni, includendo i costi di hosting e lo sforzo di aggiornamento nel caso del self-hosted, oppure la crescita del volume di richieste nel caso del modello a consumo.

FAQ

Odoo è gratuito?

Odoo offre un piano gratuito limitato a una singola applicazione, e la versione community è open source. Per l'integrazione di una piattaforma, i costi rilevanti sono solitamente l'hosting, gli aggiornamenti, la manutenzione della localizzazione e il piano a pagamento richiesto per l'accesso alle API esterne, piuttosto che la licenza in sé.

È possibile utilizzare Odoo come backend di contabilità embedded per un marketplace?

È possibile integrarlo, e alcuni team adottano esattamente questo approccio. Le considerazioni da fare sono che l'API esterna opera a livello di modello di dati, che l'accesso alle API è vincolato a uno specifico livello di prezzo, che gli attuali endpoint RPC sono programmati per essere sostituiti e che la responsabilità del corretto utilizzo dei modelli contabili spetta a te. Verifica questi punti in base ai tuoi requisiti specifici anziché darli per scontati.

Nordlet offre tutte le funzionalità di Odoo?

No. Nordlet si occupa di contabilità e operazioni correlate: fatturazione, mastro, banche, inventario, cespiti, produzione, libri paga, reportistica, fiscalità UE. La produzione copre distinte base, cicli di lavorazione, centri di lavoro, ordini di produzione con registrazione per singola operazione, controlli qualità e manutenzione delle attrezzature, senza tuttavia offrire le funzioni di pianificazione della domanda e della capacità (demand and capacity planning) messe a disposizione da Odoo. I record dei partner gestiscono richieste, gruppi e stati anziché una pipeline di vendite, e non sono presenti un website builder né strumenti di marketing.

Quale soluzione è migliore per la gestione dell'IVA UE?

Dipende dal paese. Nordlet include aliquote IVA UE per paese, convalida VIES, calcolo delle dichiarazioni OSS e IOSS con relative rettifiche per periodi precedenti, registri i.SAF e standard EN 16931 UBL, con la Lituania come pacchetto paese più approfondito. La copertura di Odoo deriva da moduli di localizzazione la cui profondità e manutenzione variano da paese a paese, per cui la risposta onesta per qualsiasi giurisdizione specifica consiste nel verificare il relativo modulo del paese d'interesse.

Posso installare Nordlet in modalità self-hosted?

Non con i piani standard. Il piano Custom prevede il supporto per l'utilizzo della propria infrastruttura cloud (bring-your-own-cloud), che rappresenta l'opzione da valutare qualora il self-hosting sia un requisito imprescindibile.

Ulteriori letture