Nordlet vs Odoo for Platform Builders
Uma comparação para programadores que decidem entre uma API de contabilidade integrada e um pacote ERP de código aberto, com base na documentação própria de cada produto.
O Odoo e o Nordlet são frequentemente selecionados em conjunto por equipas de plataformas, mas não são o mesmo tipo de produto. O Odoo é um conjunto amplo de aplicações empresariais com contabilidade integrada, que pode alojar por conta própria e modificar. O Nordlet é um backend de contabilidade sem ambições além da contabilidade, desenhado para ser chamado a partir do produto de terceiros.
A escolha resume-se habitualmente a duas questões: quanto do seu negócio quer num único sistema e quem o vai gerir. Tudo o que se segue sobre o Odoo provém da documentação e das páginas de preços do próprio Odoo, referenciadas onde relevante.
O que é cada produto
Odoo é um pacote de código aberto que abrange contabilidade, inventário, fabrico, vendas, CRM, recursos humanos, websites e muito mais, disponível como Odoo Online, em Odoo.sh ou autoalojado. Os seus pontos fortes são a amplitude, a extensibilidade e a opção de o executar por conta própria. O comportamento contabilístico específico de cada país provém de módulos de localização e a comunidade em redor é vasta.
Nordlet é uma API de contabilidade na cloud. Fornece um livro razão (ledger) de dupla entrada imutável, faturação, registos de compras, movimentos bancários e reconciliação, inventário, ativos fixos, processamento salarial (payroll), relatórios e gestão de IVA da UE através de uma única interface REST - atualmente mais de 400 endpoints em 29 módulos, gerados a partir de uma única especificação OpenAPI. Existe uma aplicação e esta é executada nos mesmos endpoints que os chamadores externos utilizam.
A questão da API, que decide a maioria das avaliações
É aqui que os produtos divergem de forma mais acentuada para os criadores de plataformas.
A API externa do Odoo funciona ao nível do modelo. Autentica-se e, em seguida, chama métodos ORM em modelos de dados como account.move para lançamentos de diário e faturas, res.partner para contactos e account.account para o plano de contas, através de XML-RPC ou JSON-RPC. Isto é poderoso: tudo o que o sistema consegue modelar, pode ser alcançado. Significa também que a responsabilidade de utilizar os modelos corretamente recai sobre si, e a sua integração fica acoplada ao modelo de dados interno do Odoo em vez de a um contrato de domínio estável.
Dois factos do próprio material do Odoo alteram os cálculos:
- A documentação do Odoo indica que o acesso à API externa está disponível no escalão de preços Custom e não nos planos One App Free ou Standard. O acesso à API é, portanto, uma decisão de preço, e não apenas técnica. Os planos e preços atuais encontram-se na página de preços do Odoo.
- O Odoo anunciou que os endpoints
/xmlrpc,/xmlrpc/2e/jsonrpctêm remoção agendada - no Odoo 22 e Odoo Online 21.1 -, sendo substituídos por uma nova API JSON-2. Uma integração escrita com base nos endpoints RPC atuais terá de passar por uma migração no futuro.
A API do Nordlet funciona ao nível do domínio. As operações seguem o formato POST /v1/{module}/{resource}/{action} com um corpo JSON, pelo que chama sales/invoices/issue em vez de manipular diretamente um modelo de diário, sendo as consequências contabilísticas da responsabilidade da API. As chaves possuem âmbitos (scopes) como sales:write. As tentativas de repetição (retries) são protegidas por um cabeçalho Idempotency-Key: a mesma chave com a mesma carga útil devolve a resposta guardada, e a mesma chave com uma carga útil alterada é rejeitada com idempotency_key_reuse em vez de ser aceite silenciosamente. Os eventos de webhook são escritos numa tabela de saída transacional (transactional outbox) na mesma transação de base de dados que a alteração, pelo que um documento revertido nunca emite um evento, e as entregas são assinadas com uma assinatura HMAC que pode verificar.
Comparação de funcionalidades
As células marcadas como "não confirmado publicamente" indicam que não nos foi possível verificar a capacidade ao nível que um programador necessitaria antes de assumir um compromisso. Não constituem uma afirmação de que a funcionalidade está ausente.
| Funcionalidade | Nordlet | Odoo |
|---|---|---|
| Formato do produto | API de contabilidade, alojada | Pacote empresarial completo; alojado ou autoalojado |
| Interface principal | API REST com SDK TypeScript tipada | Aplicação web; API externa ao nível do modelo |
| Protocolo da API | JSON sobre HTTPS, POST ao estilo RPC por ação | XML-RPC e JSON-RPC, com a API JSON-2 a substituir ambos |
| Disponibilidade da API | Todos os planos, todos os módulos | Plano Custom, de acordo com a documentação do Odoo |
| Livro razão de dupla entrada | Sim, saldo garantido por um trigger de base de dados no momento da consolidação | Sim, dentro do módulo de contabilidade |
| Bloqueio de períodos | Sim; os lançamentos datados dentro de um período bloqueado são rejeitados com 409 |
Datas de fecho suportadas no módulo de contabilidade |
| Chaves de idempotência | Sim, semântica documentada incluindo repetição e colisão | Não confirmado publicamente para a API externa |
| Webhooks | Sim, assinados, repetidos, a partir de uma tabela de saída transacional | Existem ações automatizadas e webhooks; garantias de entrega não confirmadas publicamente |
| Registo de auditoria (Audit trail) | Cada mutação com ator, ação, entidade, diff; consultável | Notas de chat e registo (chatter); o âmbito varia consoante o modelo |
| IVA da UE | Taxas por país para a UE-27, validação VIES, cálculo OSS/IOSS com correções | Módulos de localização por país; a profundidade varia consoante o país |
| Faturação eletrónica | EN 16931 UBL para Peppol BIS 3.0; formatos nacionais para IT, PL, RO | Os módulos de localização cobrem vários formatos nacionais |
| Inventario, fabrico | Stock FIFO, listas de materiais, montagem e desmontagem, roteiros, centros de trabalho, ordens de produção com registo por operação, controlos de qualidade, manutenção | Extenso, um dos pontos fortes centrais |
| CRM, website, marketing | Apenas consultas de parceiros, grupos e estados; sem construtor de websites ou ferramentas de marketing | Sim, um ponto forte central |
| Autoalojamento (Self-hosting) | Não; suporte BYOC listado no escalão Custom | Sim |
| Disponibilidade do código-fonte | Proprietário | Núcleo de código aberto, com edições pagas |
| Multiempresa | Empresas ilimitadas sob uma conta, acesso baseado em funções | Suporte multiempresa |
Modelos de preços
Não são diretamente comparáveis linha a linha, uma vez que cobram por conceitos diferentes.
Odoo cobra por utilizador por mês, com um escalão gratuito limitado a uma única aplicação e acesso à API externa no escalão Custom. Para uma plataforma, o aspeto menos prático é que "utilizadores" constitui uma métrica inadequada para medir a carga quando o seu software, e não o seu pessoal, gera a contabilidade. O autoalojamento remove o custo da subscrição e adiciona custos de infraestrutura e manutenção.
Nordlet cobra por pedido (request). Os planos publicados são de 10 € por mês com 3.000 pedidos, 50 € com 30.000 e 300 € com 200.000, sendo os pedidos adicionais faturados por pedido e um escalão personalizado sob consulta. Todos os planos incluem todos os módulos e a API completa; os utilizadores, empresas e empresas em ambiente de testes (sandbox) são ilimitados. Um pedido corresponde a qualquer ação realizada através da API ou da aplicação.
A consequência prática: um marketplace com quatro colaboradores e 50.000 ações contabilísticas mensais paga por 50.000 ações num modelo baseado no volume e por quatro utilizadores num modelo por utilizador - e o valor por utilizador não se altera quando o volume duplica, o que corta para ambos os lados. Simule os seus próprios números.
Onde o Odoo é a melhor escolha
- Pretende contabilidade, inventário, fabrico, CRM e um website num único sistema com uma única base de dados.
- Precisa de alojar por conta própria, por razões de residência de dados, custos ou políticas internas.
- Quer modificar o código-fonte e possui capacidade interna para manter essas modificações ao longo das atualizações.
- A sua contabilidade consiste em administração empresarial interna em vez de ser uma funcionalidade do produto que vende.
- Encontra-se num país onde o módulo de localização do Odoo é robusto e ativamente mantido.
A amplitude do Odoo é real e nenhuma API de contabilidade a substitui.
Onde o Nordlet se enquadra
- O seu software, e não o seu pessoal, cria os eventos contabilísticos.
- Precisa de livros razão para muitas empresas sob uma única conta, sem pagar uma subscrição por entidade.
- Necessita de invariantes garantidas nas quais a sua plataforma possa confiar: lançamentos equilibrados, numeração sem lacunas, períodos bloqueados, histórico imutável, escritas idempotentes.
- Quer integrar-se com base num contrato de domínio estável em vez de um modelo de dados interno.
- As suas obrigações de IVA na UE abrangem vários países e prefere não manter essa lógica por conta própria.
Os limites, ditos com clareza: o Nordlet encontra-se em acesso antecipado e a integrar parceiros de conceção; é alojado em vez de autoalojado; os registos de parceiros contêm consultas, grupos e estados em vez de um pipeline de vendas, não existindo construtor de websites nem funcionalidades de marketing; o processamento salarial restringe-se atualmente à Lituânia; e os pacotes de declarações fiscais domésticas são disponibilizados para três países atualmente - Lituânia (FR0600), Alemanha (UStVA) e Polónia (JPK_V7M) -, com o OSS e o IOSS calculados mas não submetidos em seu nome.
O que validar antes de tomar uma decisão
- Confirme o plano do Odoo de que realmente necessita. Se o acesso à API externa exigir o escalão Custom, calcule o preço desse escalão com base no seu número de utilizadores, e não no escalão de entrada.
- Questione sobre o calendário de migração RPC para qualquer integração do Odoo que planeie manter após a remoção anunciada dos endpoints atuais.
- Teste as repetições em ambos. Envie o mesmo pedido duas vezes e conte as entradas resultantes.
- Teste o bloqueio. Feche um período e tente efetuar um lançamento no mesmo.
- Verifique os seus países específicos. No caso do Odoo, qual o módulo de localização e o nível de manutenção ativa; no caso do Nordlet, quais as saídas de IVA existentes para esses países atualmente.
- Simule o custo total ao longo de três anos, incluindo os custos de alojamento e o esforço de atualização se optar pelo autoalojamento, e o crescimento do volume de pedidos se optar pela faturação por volume.
FAQ
O Odoo é gratuito?
O Odoo disponibiliza um escalão gratuito limitado a uma única aplicação, e a edição comunitária é de código aberto. Para a integração numa plataforma, os custos relevantes consistem habitualmente no alojamento, atualizações, manutenção da localização e o escalão pago necessário para o acesso à API externa, em detrimento da licença em si.
O Odoo pode ser utilizado como um backend de contabilidade integrado para um marketplace?
Pode ser integrado, e algumas equipas fazem exatamente isso. As considerações a ter em conta são que a API externa funciona ao nível do modelo de dados, que o acesso à API está associado a um escalão de preços específico, que os endpoints RPC atuais têm substituição agendada e que assume a responsabilidade pela utilização correta dos modelos de contabilidade. Valide estes pontos face aos seus próprios requisitos em vez de assumir um cenário por predefinição.
O Nordlet faz tudo o que o Odoo faz?
Não. O Nordlet foca-se na contabilidade e operações adjacentes - faturação, livro razão, banca, inventário, ativos, produção, processamento salarial, relatórios e impostos da UE. A vertente de fabrico abrange listas de materiais, roteiros, centros de trabalho, ordens de produção com registo por operação, controlos de qualidade e manutenção de equipamento, sem o planeamento de procura e capacidade disponibilizado pelo Odoo. Os registos de parceiros contêm consultas, grupos e estados em vez de um pipeline de vendas, e não existe construtor de websites nem ferramentas de marketing.
Qual é a melhor opção para o IVA da UE?
Depende do país. O Nordlet disponibiliza taxas de IVA da UE por país, validação VIES, cálculo de declarações OSS e IOSS com correções de períodos anteriores, registos i.SAF e EN 16931 UBL, sendo a Lituânia o pacote de país mais aprofundado. A cobertura do Odoo provém de módulos de localização cuja profundidade e manutenção variam consoante o país, pelo que a resposta honesta para qualquer país específico passa por verificar o módulo desse mesmo país.
Posso alojar o Nordlet por conta própria?
Não nos planos standard. O escalão Custom inclui suporte para trazer a sua própria cloud (bring-your-own-cloud), sendo essa a conversa a manter caso o autoalojamento seja um requisito.