Boletos e CNAB de cobrança
O módulo implementa o CNAB, a geração do Boleto, do Arquivo de Remessa e importa o Arquivo de Retorno usando a Biblioteca BRCobranca através do Micro-Serviço Boleto_CNAB_API.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Generates Brazilian bank payment slips (boletos) and CNAB remittance files for receivable invoices through an external BRCobrança service, and imports bank return files to reconcile customer payments automatically.
This module connects Odoo to an external BRCobrança service to handle Brazilian bank collection documents. It works on customer invoices and payment orders.
- On a confirmed invoice, a button generates the boleto PDF, which is stored as an attachment on the invoice. The PDF is requested from the external service using the invoice's payment mode, bank account, wallet, our number, due date and payer data.
- Payment orders produce the remittance file (CNAB 240 or 400) sent to the bank. The file is also built by the external service, with bank-specific details for Banco do Brasil, Santander, Caixa, Ailos, Unicred, Sicredi, Bradesco and others. If the bank or CNAB type is not supported, an error message is shown.
- A new menu "Import Batch File" under the CNAB menu lets users upload a bank return file. The import creates a CNAB return log with its events and totals (received, fees, interest, discount, rebate), attaches the original file, and creates the related journal entries.
- On the bank journal, users choose the import type (CNAB 400 or CNAB 240) and can enable "Automatic Reconcile payment returns". When enabled, imported return entries are posted and reconciled against the matching open receivable line, which is then marked as settled.
- A "CNAB Returned Reference" field on journal items links a return line back to the original receivable.
- The BRCobrança option is added as a CNAB processor in the CNAB configuration, and the service address must be configured in Odoo settings or system parameters.
Menus it adds
Models and fields (6)
- account.move · extends an existing model
- account.journal · extends an existing modelimport_type, return_auto_reconcile (Automatic Reconcile payment returns)
- account.move.line · extends an existing modelcnab_returned_ref (CNAB Returned Reference)
- account.payment.line · extends an existing model
- account.payment.order · extends an existing model
- credit.statement.import · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/l10n-brazil.
terminal Installation and usage
OCA documentation · Odoo 18.0Installation
Source · Odoo 18.0O modulo depende do:
- l10n_br_account_payment_order
- account_move_base_import
Configuration
Source · Odoo 18.0Para configurar esse módulo é preciso:
Rodar a biblioteca BRCobranca como um micro-serviço Boleto_CNAB_API.
Informar a variável de ambiente BRCOBRANCA_API_URL, existem três opções:
- No arquivo de configuração do Docker Compose File na seção enviroment, por exemplo https://github.com/akretion/docky-odoo-brasil/blob/12.0/docker-compose.yml#L3 , incluir: BRCOBRANCA_API_URL=http://boleto_cnab_api:9292
- No arquivo de Configuração do Odoo, incluir: brcobranca_api_url=http://boleto_cnab_api:9292
- No Odoo crie um Parâmetro de Sistema como: brcobranca_api_url=http://boleto_cnab_api:9292
Verifique se os Códigos do CNAB do Banco que será usado existem em:
Faturamento > Configurações > Administração > Códigos CNAB
Caso seja preciso criar por favor considere fazer um PR nesse módulo acrescentando os Códigos em l10n_br_account_payment_order/data/cnab_codes/banco_X_cnab_Y_Z.xml dessa forma nas próximas implementações já não será preciso cadastrar, isso ajuda na construção de um banco de conhecimento, salvando tanto horas de implementação por não ser necessário rever ou refazer o que foi feito como poder usar o que outros fizeram, isso também é importante porque permite testar e avaliar as diferenças entre cada caso tornando a implementação mais robusta, você pode ver os casos que já existem hoje no módulo l10n_br_account_payment_order.
Crie uma Configuração CNAB, é onde serão armazenadas as informações específicas de cada caso como a Carteira, Convênio, Código do Benificiário, Códigos de Instrução e Retorno do Movimento, etc, em:
Faturamento > Configuração > Administração > Configurações CNAB
Verifique se a Conta Bancária referente ao CNAB já foi cadastrada em:
Configurações > Usuários e Empresas > Empresas
Clique no Contato associado, e na aba Faturamento veja se a Contas Bancária referente ao CNAB já existe e se as informações estão corretas, se não existir veja de criar informando os dados Número da Conta, Agencia, etc.
Ao cadastrar a Conta Bancária deve ser criado automaticamente um Diário Contábil, ou se já havia sido cadastrada o Diário já deve existir, verifique em:
Faturamento > Configurações > Financeiro > Diários
Confirme se as informações estão corretas, campo Tipo deve estar como Banco, na aba Lançamentos do Diário em Número da Conta Bancária deve estar preenchido com a Conta Bancária do CNAB e na aba Configuração de Pagamentos os Metódos que serão usados, 240 ou 400, devem estar marcados.
Na aba Informações Referentes a Importação informe as configurações de Retorno do CNAB nos campos Tipo de Importação, Conta de Recebimento/Pagamento, Criação de Contra-Partida e se deve ser feita a reconciliação automática ao importar o arquivo em Reconciliar Automaticamente o Retorno de Pagamento.
Crie um Modo de Pagamento ou use um existente em:
Faturamento > Configuração > Administração > Modos de Pagamento
Informe o Diário Contábil referente ao Banco e a Configuração CNAB que deverá ser utilizada, no campo Diário de Banco Fixo informar o Diário Contábil da Conta Bancária e se for o caso, e é recomendado, marcar a opção Adicionar automaticamente ao validar a fatura para não ser preciso fazer manualmente.
Caso o CNAB e Banco escolhidos possua um campo específico que seja preciso implementar considere fazer um PR no módulo l10n_br_account_payment_order aqui https://github.com/OCA/l10n-brazil/blob/16.0/l10n_br_account_payment_order/models/l10n_br_cnab_boleto_fields.py#L307 .
Configure as permissões de acesso dos usuários, as opções são CNAB Usuário e Gerente.
Usage
Source · Odoo 18.0Ao criar e Confirmar uma Fatura que tem um Modo de Pagamento que tenha uma Configuração CNAB definida deverá aparecer o botão de Imprimir Boleto, caso esteja marcado no Modo de Pagamento a opção de Adicionar automaticamente ao validar a fatura será criada ou adicionada em uma Ordem de Pagamento as linhas de pagamentos do CNAB, se a opção não estiver marcada será preciso fazer isso manualmente podendo ser feito tanto na Fatura quanto na Ordem de Pagamento.
Ao Confirmar essa Ordem de Pagamento será possível gerar o Arquivo de Remessa CNAB a ser enviado ao Banco, é importante confirmar o envio do arquivo alterando o status da ordem para Arquivo Enviado, essa informação é usada para validar se existe uma instrução CNAB pendente antes de se poder criar outra.
Alterações de CNAB como Alteração da Data de Vencimento, Protesto, Conceder Abatimento e etc podem ser feitas na própria Fatura em:
Faturamento > Clientes > Faturas
Na aba Recebimentos na última coluna existe o botão Atualizar Informação CNAB ao clicar em uma linha essa opção também aparece, ao fazer uma alteração é criada ou adicionada em uma Ordem de Pagamento a Instrução de Movimento CNAB selecionada.
A importação do Arquivo CNAB de Retorno pode ser feita em:
Faturamento > Financeiro > CNAB > Importar Arquivo de Lote
ou no próprio Diário em:
Faturamento > Configurações > Financeiro > Diários
Na aba Informações Referentes a Importação no botão Arquivo de lote de importação.
Toda importação de arquivo de retorno cria um LOG que pode ser consultado em:
Faturamento > Financeiro > CNAB > Registro de Retorno de CNAB
Caso o Código de Retorno CNAB recebido seja um dos Códigos de Liquidação do Retorno do Movimento, definidos na Configuração CNAB usada no Modo de Pagamento, será criada uma Entrada de Diário com os valores, quando existirem de Desconto, Juros/Mora, Tarifa Bancária, Abatimento e o Valor Recebido a ser reconciliado com a linha da Fatura referente, os lançamentos são separados de acordo com as Contas Contabéis definidas na Configuração CNAB, a linha para reconciliar a Fatura precisam ser iguais por isso o valor é:
valor_recebido_calculado = valor_recebido + valor_desconto + valor_abatimento - valor_juros_mora
Quando marcada a opção de Reconciliação Automática a Entrada de Diário será movida para o status Lançado automaticamente ao importar o arquivo, se essa opção não estiver marcada isso deverá ser feito manualmente.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.