Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

luanscps/odoobr

Open more actions menu

Repository files navigation

🇧🇷 Odoo BR v18 - Localização Brasileira Completa

Odoo 18.0 Docker PostgreSQL Python License

Odoo 18 Community Edition totalmente configurado com localização brasileira oficial (OCA) para emissão de NF-e, NFC-e, NFS-e, CT-e, MDF-e e gestão fiscal completa.

🚀 Deploy rápido via Docker Compose com todos os módulos brasileiros pré-configurados.


📋 Índice


✨ Características

📦 Completo e Pronto para Produção

  • ✅ Odoo 18.0 Community Edition (última versão)
  • ✅ PostgreSQL 16 com healthcheck configurado
  • ✅ Localização brasileira oficial OCA (l10n-brazil)
  • ✅ Módulos de RH brasileiros (dependentes, férias, etc)
  • ✅ Módulos de pagamentos e contas a pagar/receber
  • ✅ Suporte completo a certificado digital A1/A3
  • ✅ Bibliotecas erpbrasil pré-instaladas

🔐 Segurança e Confiabilidade

  • 🔒 Senhas configuráveis via variáveis de ambiente
  • 🔒 Volumes persistentes para dados e PostgreSQL
  • 🔒 Healthcheck automático dos containers
  • 🔒 Logs estruturados e rotativos

🚀 Fácil Deploy

  • 📦 Deploy com um único comando (docker-compose up -d)
  • 📦 Configuração via arquivo .env
  • 📦 Scripts de backup e restore incluídos
  • 📦 Documentação completa de troubleshooting

🇧🇷 Fiscalização Brasileira

  • 📄 NF-e (Nota Fiscal Eletrônica)
  • 📄 NFC-e (Nota Fiscal ao Consumidor Eletrônica)
  • 📄 NFS-e (Nota Fiscal de Serviço Eletrônica)
  • 🚚 CT-e (Conhecimento de Transporte Eletrônico)
  • 🚚 MDF-e (Manifesto Eletrônico de Documentos Fiscais)
  • 📊 SPED Fiscal, Contábil, Contribuições
  • 📊 eSocial
  • 💰 Cálculo automático de impostos (ICMS, IPI, PIS, COFINS, ISS)

📋 Pré-requisitos

Software Necessário

  • Docker (≥ 20.10)
  • Docker Compose (≥ 2.0)
  • Git
  • 4GB RAM mínimo (8GB recomendado)
  • 10GB espaço em disco livre

Verificar Instalação

# Verificar Docker
docker --version
# Saída esperada: Docker version 20.10.x ou superior

# Verificar Docker Compose
docker-compose --version
# Saída esperada: Docker Compose version 2.x.x ou superior

# Verificar Git
git --version
# Saída esperada: git version 2.x.x ou superior

Instalar Docker (se necessário)

Ubuntu/Debian:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker

Outras distribuições: Documentação oficial do Docker


🚀 Instalação Rápida

# 1. Clone o repositório
git clone https://github.com/luanscps/odoobr.git
cd odoobr

# 2. Criar arquivo .env
cp .env.example .env

# 3. Criar estrutura de diretórios
mkdir -p addons postgres/pgdata logs certificates

# 4. Clonar repositórios OCA
cd addons
git clone --depth 1 --branch 18.0 https://github.com/OCA/l10n-brazil.git
git clone --depth 1 --branch 18.0 https://github.com/OCA/hr.git OCA-hr
git clone --depth 1 --branch 18.0 https://github.com/OCA/product-attribute.git
git clone --depth 1 --branch 18.0 https://github.com/OCA/account-payment.git
git clone --depth 1 --branch 18.0 https://github.com/OCA/bank-payment.git
cd ..

# 5. Subir containers
docker-compose up -d

# 6. Acompanhar logs
docker-compose logs -f odoo

Pronto! Acesse: http://localhost:8069 ou http://SEU_IP:8069


📖 Instalação Detalhada

Passo 1: Clone o Repositório

# Clone em um diretório de sua escolha
cd /opt  # ou /DATA/AppData, ou qualquer outro
git clone https://github.com/luanscps/odoobr.git
cd odoobr

Passo 2: Configure as Variáveis de Ambiente

# Copie o arquivo de exemplo
cp .env.example .env

# Edite e configure suas senhas
nano .env

Variáveis importantes no .env:

# PostgreSQL
POSTGRES_DB=odoo
POSTGRES_USER=odoo
POSTGRES_PASSWORD=SuaSenhaSegura123!  # ALTERE!

# Odoo
ODOO_ADMIN_PASSWD=MasterPasswordSeguro456!  # ALTERE!
ODOO_DB_HOST=odoo-pg
ODOO_DB_PORT=5432
ODOO_DB_USER=odoo
ODOO_DB_PASSWORD=SuaSenhaSegura123!  # MESMA DO POSTGRES

# Porta do Odoo
ODOO_PORT=8069

# Ambiente fiscal (homologacao ou prod)
BRASIL_AMBIENTE=homologacao

Passo 3: Crie a Estrutura de Diretórios

# Criar diretórios necessários
mkdir -p addons
mkdir -p postgres/pgdata
mkdir -p postgres/backup
mkdir -p logs
mkdir -p certificates
mkdir -p filestore

# Ajustar permissões (importante!)
chmod -R 775 addons postgres logs certificates filestore

Passo 4: Clone os Repositórios OCA

Os módulos brasileiros oficiais vêm da Odoo Community Association (OCA).

cd addons

# 1. Localização Brasileira (OBRIGATÓRIO)
# Contém todos os módulos fiscais (NF-e, CT-e, SPED, etc)
git clone --depth 1 --branch 18.0 https://github.com/OCA/l10n-brazil.git

# 2. Recursos Humanos (RECOMENDADO)
# Dependentes, férias, gestão de pessoal
git clone --depth 1 --branch 18.0 https://github.com/OCA/hr.git OCA-hr

# 3. Atributos de Produto (OBRIGATÓRIO)
# Contém uom_alias - dependência do l10n_br_fiscal
git clone --depth 1 --branch 18.0 https://github.com/OCA/product-attribute.git

# 4. Gestão de Pagamentos (RECOMENDADO)
# Contas a pagar/receber, lista de vencimentos
git clone --depth 1 --branch 18.0 https://github.com/OCA/account-payment.git

# 5. Pagamentos Bancários (OPCIONAL)
# Boletos, CNAB, integração bancária
git clone --depth 1 --branch 18.0 https://github.com/OCA/bank-payment.git

cd ..

⚠️ Importante: Se você encontrar o erro country_enforce_cities, siga as instruções na seção Troubleshooting ou consulte TROUBLESHOOTING.md.

Passo 5: Build e Inicialize os Containers

# Build das imagens (primeira vez)
docker-compose build

# Subir containers em background
docker-compose up -d

# Verificar status
docker-compose ps

# Acompanhar logs
docker-compose logs -f

Saída esperada:

NAME                IMAGE              STATUS         PORTS
odoobr-odoo         odoobr-odoo        Up 2 minutes   0.0.0.0:8069->8069/tcp
odoobr-postgres     postgres:16        Up 2 minutes   5432/tcp
odoobr-adminer      adminer:latest     Up 2 minutes   0.0.0.0:9999->8080/tcp

Passo 6: Criar o Banco de Dados

Acesse http://localhost:8069 (ou http://SEU_IP:8069)

  1. Você verá a tela "Manage Databases"
  2. Clique em "Create Database"
  3. Preencha:
    • Master Password: (valor de ODOO_ADMIN_PASSWD no .env)
    • Database Name: odoobr_prod (ou outro nome)
    • Email: seu-email@exemplo.com
    • Password: senha de admin do Odoo
    • Language: Portuguese (BR) / Português (BR)
    • Country: Brazil / Brasil
    • Demo data:DESMARCAR (importante!)
  4. Clique em "Create"
  5. Aguarde 2-3 minutos (instalação dos módulos base)

Pronto! Você será redirecionado para o dashboard do Odoo.


⚙️ Configuração

Configurações Iniciais do Sistema

  1. Acesse: Menu → Configurações (Settings)
  2. Ative o modo desenvolvedor:
    • Vá em Configurações → Ativar modo desenvolvedor
    • Ou adicione ?debug=1 na URL

Instalar Módulos Brasileiros

Ordem de Instalação Recomendada

  1. Apps → Atualizar Lista de Apps (para detectar os módulos OCA)
  2. Remova o filtro "Apps" na busca para ver todos os módulos

Instale nesta ordem:

① uom_alias              (product-attribute - OBRIGATÓRIO PRIMEIRO!)
② l10n_br_base           (Base da localização brasileira)
③ l10n_br_fiscal         (Motor fiscal - NF-e, impostos, etc)
④ l10n_br_account        (Contabilidade brasileira)
⑤ l10n_br_sale           (Vendas com fiscalização)
⑥ l10n_br_purchase       (Compras com fiscalização)
⑦ l10n_br_stock          (Estoque com fiscalização)
⑧ l10n_br_nfe            (Nota Fiscal Eletrônica - NF-e)
⑨ l10n_br_nfce           (NFC-e - cupom fiscal eletrônico)
⑩ l10n_br_cte            (Conhecimento de Transporte Eletrônico)
⑪ account_payment_partner (Gestão de pagamentos)
⑫ account_due_list        (Lista de contas a pagar/receber)

⚠️ IMPORTANTE: Sempre instale uom_alias ANTES de qualquer módulo fiscal brasileiro! Caso contrário, você terá erros de dependência.

Configurar Empresa

  1. Menu → Configurações → Empresas → Empresas
  2. Configure sua empresa:
    • Nome da Empresa
    • CNPJ (formato: 00.000.000/0000-00)
    • Inscrição Estadual (IE)
    • Inscrição Municipal (IM) (se aplicável)
    • Regime Tributário:
      • Simples Nacional
      • Lucro Presumido
      • Lucro Real
    • Endereço Completo:
      • CEP, Rua, Número, Bairro
      • Cidade, Estado
    • Telefone e E-mail

Configurar Certificado Digital

Para emitir NF-e, você precisa de um certificado digital A1 ou A3.

Certificado A1 (.pfx):

  1. Copie o arquivo .pfx para o diretório certificates/:

    cp seu-certificado.pfx /caminho/para/odoobr/certificates/
  2. No Odoo:

    • Menu → Configurações → Técnico → Certificados
    • Clique em "Criar"
    • Upload do arquivo .pfx
    • Digite a senha do certificado
    • Ambiente: Homologação (para testes) ou Produção
    • Salvar

Documentação completa: Ver INSTALL_NFE.md


📦 Módulos Brasileiros Disponíveis

Módulos Fiscais (l10n-brazil)

Módulo Descrição
l10n_br_base Base da localização brasileira (CNPJ, IE, CEP, etc)
l10n_br_fiscal Motor fiscal brasileiro (impostos, operações fiscais)
l10n_br_account Contabilidade adaptada ao Brasil
l10n_br_sale Vendas com fiscalização
l10n_br_purchase Compras com fiscalização
l10n_br_stock Estoque com controle fiscal
l10n_br_nfe Nota Fiscal Eletrônica (NF-e)
l10n_br_nfce Nota Fiscal ao Consumidor Eletrônica (NFC-e)
l10n_br_nfse Nota Fiscal de Serviço Eletrônica (NFS-e)
l10n_br_cte Conhecimento de Transporte Eletrônico (CT-e)
l10n_br_mdfe Manifesto Eletrônico de Documentos Fiscais (MDF-e)
l10n_br_sped SPED Fiscal, Contábil, Contribuições
l10n_br_account_payment_order Ordem de pagamento brasileira
l10n_br_cnab Geração de arquivos CNAB (boletos bancários)

Módulos de RH (OCA-hr)

Módulo Descrição
hr_employee_relative Cadastro de dependentes/familiares
hr_holidays_public Feriados nacionais brasileiros
hr_expense_sequence Sequência de despesas

Módulos de Pagamentos

Módulo Descrição
account_payment_partner Gestão avançada de pagamentos
account_due_list Lista de contas a pagar/receber por vencimento
account_payment_term_partner Condições de pagamento por parceiro

📄 Emissão de NF-e

Para emitir NF-e, siga o guia completo: INSTALL_NFE.md

Resumo rápido:

  1. ✅ Instalar módulos: uom_aliasl10n_br_fiscall10n_br_nfe
  2. ✅ Configurar empresa (CNPJ, IE, endereço completo)
  3. ✅ Upload certificado digital A1/A3
  4. ✅ Configurar operações fiscais (CFOP, CST)
  5. ✅ Cadastrar produtos com NCM e impostos
  6. ✅ Testar emissão em ambiente de homologação
  7. ✅ Após aprovação, mudar para produção

Documentação oficial SEFAZ: Portal NF-e


📁 Estrutura do Projeto

odoobr/
├── .env.example              # Arquivo de exemplo de variáveis de ambiente
├── .gitignore                # Arquivos ignorados pelo Git
├── docker-compose.yml        # Configuração Docker Compose
├── Dockerfile                # Imagem customizada do Odoo
├── odoo.conf                 # Configuração do Odoo
├── requirements.txt          # Dependências Python (erpbrasil, etc)
├── healthcheck.sh            # Script de healthcheck do container
├── README.md                 # Este arquivo
├── INSTALL_NFE.md            # Guia de configuração de NF-e
├── TROUBLESHOOTING.md        # Soluções para problemas comuns
│
├── addons/                   # Módulos OCA (não versionados)
│   ├── l10n-brazil/          # Localização brasileira
│   ├── OCA-hr/               # Módulos de RH
│   ├── product-attribute/    # Atributos de produto (uom_alias)
│   ├── account-payment/      # Gestão de pagamentos
│   └── bank-payment/         # Pagamentos bancários
│
├── certificates/             # Certificados digitais A1/A3 (.pfx)
├── postgres/                 # Dados do PostgreSQL
│   ├── pgdata/               # Database files
│   └── backup/               # Backups SQL
│
├── logs/                     # Logs do Odoo
├── filestore/                # Arquivos anexados no Odoo
│
├── config/                   # Configurações adicionais
└── scripts/                  # Scripts utilitários
    ├── backup.sh             # Script de backup
    └── restore.sh            # Script de restore

📌 Nota: Os diretórios addons/, postgres/, logs/, certificates/ e filestore/ não são versionados no Git (estão no .gitignore).


💾 Backup e Restore

Backup Manual

# Backup PostgreSQL (todos os bancos)
docker-compose exec -T odoo-pg pg_dumpall -U odoo > backup_$(date +%Y%m%d).sql

# Backup de arquivos/certificados
tar czf backup_files_$(date +%Y%m%d).tar.gz certificates/ filestore/ config/

Backup Automatizado

# Criar script de backup
./scripts/backup.sh

Ver documentação completa de backup/restore em TROUBLESHOOTING.md.

Restore

# Parar containers
docker-compose down

# Restore PostgreSQL
cat backup_20260130.sql | docker-compose exec -T odoo-pg psql -U odoo -d postgres

# Restore arquivos
tar xzf backup_files_20260130.tar.gz

# Iniciar containers
docker-compose up -d

🔧 Troubleshooting

Problemas Comuns

❌ Erro: country_enforce_cities

Causa: Bug nos módulos l10n_br_base e l10n_br_fiscal (aguardando merge da PR #4344).

Solução:

cd addons/l10n-brazil
git remote add ednilson https://github.com/EdnilsonMonteiro/l10n-brazil.git
git fetch ednilson fix-tax-framework-domain
git checkout -b fix-tax-framework-domain ednilson/fix-tax-framework-domain
cd ../..
docker-compose restart odoo

Documentação completa: TROUBLESHOOTING.md

❌ Módulos brasileiros não aparecem

Causa: Repositórios OCA não clonados ou caminho incorreto no odoo.conf.

Solução:

  1. Verifique se os repositórios foram clonados em addons/
  2. No Odoo: Apps → Atualizar Lista de Apps
  3. Remova o filtro "Apps" na busca

❌ Erro ao instalar módulos: "module not found"

Causa: Dependências faltando (geralmente uom_alias).

Solução:

  1. Instale uom_alias primeiro (do repositório product-attribute)
  2. Depois instale os módulos fiscais

❌ Container não inicia: "directory not writable"

Causa: Permissões incorretas nos volumes.

Solução:

sudo chown -R 101:101 postgres/pgdata
sudo chmod -R 775 addons logs certificates

Logs e Diagnóstico

# Ver logs do Odoo em tempo real
docker-compose logs -f odoo

# Ver logs do PostgreSQL
docker-compose logs odoo-pg

# Entrar no container Odoo
docker-compose exec odoo bash

# Verificar módulos instalados
docker-compose exec odoo odoo --version

Documentação completa: TROUBLESHOOTING.md


📚 Documentação Adicional

Documento Descrição
INSTALL_NFE.md Guia completo para configuração e emissão de NF-e
TROUBLESHOOTING.md Soluções para problemas comuns
.env.example Todas as variáveis de ambiente configuráveis

🤝 Suporte e Comunidade

Links Úteis

Comunidade OCA

Contribuir

Contribuições são bem-vindas!

  1. Fork este repositório
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adicionar MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

Para contribuir com os módulos brasileiros: Contribua diretamente no repositório OCA.


📄 Licença

Este projeto é distribuído sob a licença AGPL-3.0.

Copyright (C) 2026 - Luan Silva

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

Desenvolvido com ❤️ para a comunidade Odoo Brasil
Baseado no trabalho da Odoo Community Association (OCA)

⭐ Star este repositório🐛 Reportar Bug💬 Discussões

About

Odoo 18.0 localização brasileira com NFe - Instalação via Docker com Portainer e macvlan-dhcp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.