Andre Bellafronte

ERP gratuito no Brasil não é grátis: o que a licença não paga

Quem procura “ERP gratuito” encontra sempre a mesma lista: Akaunting, Dolibarr, ERPNext, Odoo e alguns nomes que já morreram. O que nenhuma dessas listas responde é a pergunta que decide o projeto: quanto custa manter o sistema rodando e emitindo nota fiscal depois que a instalação termina.

Este texto substitui os listicles anuais que este blog publicou em 2017, 2018 e 2021, que repetiam quase a mesma coisa com um ano diferente no título. As versões antigas continuam linkando para cá.

O que a palavra gratuito cobre de verdade

A licença é uma linha de custo entre quatro. Em um ERP rodando na sua própria infraestrutura, ela costuma ser a única que é zero. As outras três não são: o servidor, a camada fiscal e quem mantém as duas funcionando.

A conta completa, portanto, não se faz na página de download. Ela se faz no dia em que a SEFAZ muda uma regra e o sistema precisa acompanhar.

Nenhum ERP aberto emite nota fiscal sozinho

Esse é o dado que separa a decisão real da propaganda, e ele está na documentação de cada projeto.

No Odoo, o core da edição Community traz o plano de contas e os impostos brasileiros, mas não os documentos fiscais. A documentação oficial da localização brasileira encaminha a emissão de NF-e e NFS-e para o AvaTax, da Avalara, com cobrança por ação, e essa integração é da edição Enterprise. Quem emite pela via livre usa a localização comunitária OCA/l10n-brazil, que transmite direto ao webservice da SEFAZ com certificado A1, sem custo por documento. A própria OCA avisa no README que a branch mais recente é de transição técnica e recomenda usar a anterior.

No ERPNext, o diretório de localizações regionais tem Austrália, Itália, África do Sul, Turquia, Emirados Árabes e Estados Unidos. O Brasil não está lá. O esforço oficial de localização brasileira parou quando o patrocinador do projeto saiu, e a discussão segue aberta e sem entrega.

No Dolibarr, a wiki oficial de faturamento eletrônico lista países e não tem seção Brasil. O antigo projeto de localização brasileira está fora do ar.

A conclusão prática: a emissão de nota é um projeto dentro do projeto. Ela pode ser gratuita em um caso, paga em outro e inexistente no terceiro. Nenhuma lista de “ERP gratuito” diz em qual dos três você está.

As duas datas que mudaram o jogo em 2026

O ano de 2026 colocou prazo nessa conversa, e são dois marcos diferentes, com públicos diferentes.

O primeiro é de 3 de agosto. Desde essa data, os documentos fiscais eletrônicos devem ser emitidos com os campos de IBS e CBS por quem está no regime normal, conforme o cronograma do Ato Conjunto RFB/CGIBS nº 4, de 30 de julho de 2026. No dia seguinte à publicação, veio a parte que quase ninguém leu até o fim: o Ato Técnico Conjunto RFB/CGIBS nº 1, de 31 de julho, deixou a regra que rejeitaria o documento sem esses campos em “implementação futura”. Na prática, a SEFAZ autoriza a nota sem os campos, mas a obrigação legal de informá-los continua valendo. Ausência de rejeição não é dispensa.

O segundo é de 1º de novembro. A Resolução CGSN nº 191, de 4 de agosto de 2026, tornou obrigatório o uso da NFS-e de padrão nacional, emitida pelo Emissor Nacional, para microempresas e empresas de pequeno porte do Simples Nacional que prestam serviços sujeitos à nota de serviço. A emissão pode ser feita pelo emissor web ou por integração via API, o que é o ponto que interessa a quem tem sistema próprio: é preciso que o software converse com o ambiente nacional. Ela revogou a resolução anterior, que previa setembro. As regras de CBS e IBS para o Simples só passam a produzir efeitos em 1º de janeiro de 2027.

Para quem escolhe um ERP agora, isso muda o critério de avaliação. A pergunta correta não é qual é o sistema mais completo, e sim qual deles tem a camada fiscal com commit recente. Data do último commit, não número da versão.

O que sobrou na lista, com a ressalva de cada um

Odoo Community

Licença LGPL-3.0, série 20 publicada em setembro de 2026, mais de 54 mil estrelas no repositório e longe de estar parado. Tem português do Brasil e o módulo l10n_br no core, além de documentação traduzida. É o único dos três com um caminho fiscal comunitário ativo. Ressalvas: exige montar imagem própria com o repositório da OCA e manter o fork alinhado a cada versão, e parte da camada fiscal disponível hoje está na branch em transição.

Dolibarr

Licença GPL-3.0, versão 24.0.1 de setembro de 2026, com português do Brasil no núcleo e a pegada mais leve da lista: cerca de 150 MB de arquivos em disco e limite de memória do PHP na casa dos 128 MB. É o que roda em servidor modesto e cobra ERP e CRM na mesma instalação. Ressalva: não tem caminho fiscal brasileiro mantido. Serve para quem não emite nota ou aceita emitir fora do sistema.

ERPNext

Licença GPL-3.0, versão 16.37.0 de setembro de 2026, o mais completo em escopo e o mais ativo em código. Ressalva dupla: é multi-container, com exigência de memória bem acima dos outros dois, e não tem localização brasileira mantida. Para quem emite nota, não fecha.

Se o seu caso não emite nota: CRM

Quando não há obrigação fiscal, a lista de CRM aberto fica bem melhor. O EspoCRM tem versão 10.0.9 de setembro de 2026, licença AGPL-3.0, imagem Docker oficial e português do Brasil no próprio núcleo. O Frappe CRM publica versões quase semanais e é o único dos avaliados com integração oficial à API de WhatsApp Business da Meta, além de captar leads de Facebook e Instagram.

Fora da lista, com o motivo

Alguns nomes que aparecem em toda comparação ficam de fora por razão concreta. O Akaunting não é software livre: a Business Source License 1.1 limita o uso a dois usuários, uma empresa e mil notas, e o produto é financeiro, não um ERP. O YetiForce teve o repositório arquivado. O Vtiger só distribui a versão 8.4.0 em ZIP, com espelho público de código parado desde 2012. Tryton e Axelor não têm português do Brasil. O metasfresh não publica release marcada desde 2023.

A bancada: o que o teste mostrou

Nenhuma documentação oficial dos três projetos publica requisito de memória. O número, então, teve de sair de medição, num ambiente descartável, montado e destruído só para este texto.

O desenho do teste foi direto. Os aplicativos subiram em contêineres com limite de memória declarado no próprio arquivo de composição (256 MB para o Dolibarr e duas instâncias do Odoo 20, uma com 1 GB e outra com 384 MB), cada um com banco próprio, MariaDB e PostgreSQL ao lado. Para medir o consumo real, cada contêiner lê o próprio cgroup a cada 20 segundos e devolve a leitura na sua verificação de saúde:

test: ["CMD-SHELL", "printf 'mem=%s max=%s peak=%s\n' \
  \"$(cat /sys/fs/cgroup/memory.current)\" \
  \"$(cat /sys/fs/cgroup/memory.max)\" \
  \"$(cat /sys/fs/cgroup/memory.peak)\""]

Nada aqui exige executar comandos dentro do contêiner nem acesso ao Docker: a verificação de saúde guarda as últimas amostras junto do estado do contêiner, e o valor de limite aparece na mesma linha, que é o que separa consumo de pico. Medir por dentro também evita o erro mais comum dessas comparações, que é atribuir ao sistema a memória do sistema operacional da máquina inteira.

Em paralelo, um contêiner separado faz uma requisição HTTP de verdade em cada aplicação a cada 20 segundos. É ele que responde a pergunta que a memória sozinha não responde: o sistema atende, ou só está de pé?

while true; do
  printf '%s doli=%s odoo=%s enxuto=%s\n' "$(date -u +%FT%TZ)" \
    "$(wget -q -O /dev/null -T 15 http://dolibarr/index.php && echo ok || echo falhou)" \
    "$(wget -q -O /dev/null -T 20 http://odoo:8069/web/login && echo ok || echo falhou)" \
    "$(wget -q -O /dev/null -T 20 http://odoo_enxuto:8069/web/login && echo ok || echo falhou)"
  sleep 20
done

A cada cinco ciclos, o mesmo contêiner dispara vinte requisições seguidas na instância de teto mais apertado e registra quantos segundos levou. Rajada é o cenário que separa quem atende de quem só liga.

O que a medição mostrou

Somando aplicação e banco, o par do Odoo com PostgreSQL fica em torno de 160 MB de pico e o do Dolibarr com MariaDB, em torno de 170 MB. É menos do que quase toda estimativa publicada, e cabe no menor plano de VPS que existe. Sob rajada, vinte requisições seguidas na tela de login da instância de 384 MB foram atendidas em dois segundos ou menos, sem morte por memória. Nenhum dos cinco contêineres reiniciou durante a medição.

Duas armadilhas que apareceram antes do primeiro número

Em contêiner, o Odoo sobe escutando apenas em 127.0.0.1: qualquer outro serviço recebe conexão recusada com a aplicação de pé, até que se passe --http-interface=0.0.0.0. E o script de entrada da imagem oficial não cria as tabelas do banco. Sem pedir a instalação do módulo base, o serviço fica no ar respondendo erro de tabela indefinida, sem nenhuma tela para medir. São duas linhas de configuração, e são exatamente o tipo de coisa que não aparece em nenhuma comparação de funcionalidades.

O que esse número não diz

Esta parte é a que costuma faltar nas comparações, então vale a ressalva exata. Os valores acima são de instalação recém-feita, sem dados de demonstração, sem módulos de terceiros, sem usuários simultâneos e sem a camada fiscal brasileira. Cada um desses itens empurra o consumo para cima, e a única forma de saber quanto no seu caso é medir com o seu volume.

O que a medição derruba é a estimativa de que um ERP aberto precise de máquina grande para começar. Ele não precisa: a instalação limpa cabe em 256 MB no caso do Dolibarr e em 384 MB no caso do Odoo. O que ele precisa é de alguém acompanhando a camada fiscal, e esse requisito não aparece em nenhum plano de VPS, porque não é memória.

A conta que importa

São três linhas além da licença.

A primeira é o servidor. O piso real de memória é o que define o menor plano de VPS que serve, e esse número não está na documentação oficial de nenhum dos projetos. Ele sai de medição, como a seção acima.

A segunda é o certificado digital. A emissão exige certificado A1 vinculado ao CNPJ, com validade de um ano. As tabelas publicadas pelas certificadoras ficam na faixa de R$ 150 a R$ 300 por ano, variando por autoridade e por campanha. É o único custo previsível da lista.

A terceira é a manutenção da camada fiscal. Quem acompanha as notas técnicas, adapta o módulo e testa a transmissão não é o projeto, é você ou quem você contrata. Uma nota técnica publicada em julho entrou em produção em agosto. Esse ritmo não para quando a instalação termina.

Quando o gratuito ganha e quando ele perde

O ERP aberto ganha quando existe capacidade técnica própria, o volume de documentos é baixo, o uso é interno e a operação não depende de emitir nota dentro do sistema. Aí o custo zero da licença é real e o resto é tempo, que é um custo que quem tem equipe já paga.

Ele perde quando a empresa emite nota em volume sem equipe técnica dedicada, porque o custo de estar fora de conformidade em uma virada de regra é maior que a assinatura que foi evitada. Perde também quando o sistema é escolhido pela lista e não pelo caminho fiscal: é o cenário em que o projeto chega até a emissão e para.

Existe um meio termo que a maioria das pequenas empresas brasileiras usa e que raramente aparece nas comparações: manter o financeiro leve e emitir a nota pelo emissor nacional ou por um gateway fiscal pago por documento. Quando o volume justificar, migra. A migração é mais barata que a implantação errada.

O que verificar antes de instalar

  1. A sua operação precisa emitir NF-e ou NFS-e hoje? Se sim, o sistema só entra se tiver caminho fiscal mantido.
    2. Qual é a data do último commit do módulo fiscal que você pretende usar? Não a versão: a data.
    3. Quanto de memória o conjunto todo consome com o seu volume, não com a instalação vazia?
    4. Quantas horas de trabalho técnico a instalação e a manutenção vão custar no primeiro ano?
    5. Como você sai desse sistema se ele parar de ser atualizado? Exportação e backup precisam existir antes de você precisar deles.

A licença é a única linha da conta que é zero. Ela é zero porque ninguém é obrigado a manter o que você recebeu de graça, e é exatamente essa obrigação que falta no orçamento de quem compra pela lista.

Sair da versão mobile