Skip to main content

Brazilian Payment Order

Project description

Beta License: AGPL-3 OCA/l10n-brazil Translate me on Weblate Try me on Runboat

O módulo implementa a parte comum da infra-estrutura necessária para o uso do CNAB implementando:

  • Códigos CNAB - códigos de Instrução, Retorno, Carteira e Desconto.

  • Configuração CNAB - onde serão salvas as informações específicas de cada caso como Convênio, Código do Beneficiário, Modalidade, Percentual de Multa, códigos de Instrução do Movimento de Liquidação de Alteração de Vencimento e etc.

  • Modo de Pagamento - localiza o módulo account_payment_mode para associar o Diário Contábil referente a Conta Bancária do CNAB e informar a Configuração do CNAB que será usada, assim ao informar o Modo de Pagamento em um Pedido de Venda, Compras ou Faturamento o programa identifica como sendo um caso CNAB.

  • Ordem de Pagamento - localiza o módulo account_payment_order que usa a Ordem de Pagamento, débito ou crédito, para registrar as Instruções de Movimento e onde será criado o Arquivo CNAB Remessa.

  • Registro do LOG de Eventos - ao importar um arquivo de retorno CNAB.

  • Grupos e Permissões de acesso - CNAB Usuário e Gerente.

A implementação foi pensada para permitir que seja possível usar diferentes Bibliotecas para Gerar os Boletos, Arquivo CNAB de Remessa e tratar o Arquivo de Retorno do CNAB por isso é preciso instalar um segundo módulo que vai ter essa função, portanto a ideia é que nesse módulo deverá estar tudo que for comum para a implementação mas o CNAB não irá funcionar sem esse segundo módulo.

IMPORTANTE: Apesar de muitas Documentações do CNAB acabarem dizendo que usam o “Padrão FEBRABAN” na realidade e ao longo dos anos foi visto que existem muitas divergências entre os casos incluindo diferentes Códigos para a mesma função ou mesmo Termos e nomenclaturas que apesar de semelhantes podem acabar confundindo o usuário, por isso essa falta de padrão foi considerada na implementação e na arquitetura do módulo e também precisa ser considerada em manutenções, melhorias ou no uso de outras Bibliotecas, é preciso separar o que é realmente comum do que pode variar entre os Bancos e CNAB, nesse sentido foram incluídos nos Dados de Demonstração mais de um caso para ficar claro aos desenvolvedores essas particularidades e evitar uma arquitetura que desconsidere esse aspecto.

Table of contents

Installation

This module depends on:

  • l10n_br_base

  • account_payment_order

  • account_due_list

  • account_cancel

Configuration

Verifique se os Códigos CNAB do Banco e da versão 240 ou 400 que serão usados principalmente os de Instrução e de Retorno do Movimento do CNAB existem ou se será necessário criar em:

Faturamento > Configuração > 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 assim em próximas implementações já não será preciso cadastra-los ajudando também na construção desse banco de conhecimento, hoje o que temos são:

Banco

CNAB

Instrução

Retorno

AILOS

240

X

X

Bradesco

240/400

X

X

Brasil

400

X

X

CEF

240

X

X

Itaú

240/400

X

X

Santander

240/400

X

X

Sicred

240

X

X

Unicred

240/400

X

X

Crie uma Configuração CNAB, é onde será armazenada 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 do 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 Contas Bancárias se não existir veja de criar informando os dados Número da Conta, Agencia, etc.

Ao cadastrar uma 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

Verifique 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 e na aba Configuração de Pagamentos os Metódos que serã usados, 240 ou 400, devem estar marcados.

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.

A partir disso sempre que for informado o Modo de Pagamento tanto em um Pedido de Vendas ou na Fatura o programa passa a identificar como um caso CNAB, em casos onde um cliente vai sempre usar o mesmo Modo de Pagamento também é possível deixar isso como padrão no Cadastro de Cliente assim a informação é carregada automaticamente ao informar esse Cliente em um novo Pedido de Venda ou Fatura.

Verifique as permissões de acesso dos usuários que vão utilizar o CNAB, existe o Usuário e o Gerente CNAB.

IMPORTANTE: Como o CNAB envolve dinheiro e o caixa da empresa a segurança e a rastreablidade são fundamentais e como as configurações especificas de cada CNAB estão na Configuração CNAB/l10n_br_cnab.config foi incluído nele o objeto mail.thread que registra alterações feitas em campos importantes, porém campos many2many não estão sendo registrados pelo track_visibility (ver detalhes aqui l10n_br_account_payment_order/models/l10n_br_cnab_config.py#L75), e um campo específico e importante que armazena os Códigos de Retorno do CNAB que devem gerar Baixa/Liquidação é desse tipo, portanto as alterações referentes a esse campo não estão sendo registradas. No repositorio https://github.com/OCA/social/tree/14.0 da OCA existe um modulo para corrigir isso o https://github.com/OCA/social/tree/14.0/mail_improved_tracking_value , por isso considere e é RECOMENDADO incluir esse modulo na implementação para corrigir esse problema. A inclusão da dependencia desse modulo aqui está pendente de aprovação.

Usage

Ao criar uma Fatura Documento Fiscal/account.move que tem um Modo de Pagamento com uma Configuração CNAB definida e se o campo auto_create_payment_order estiver marcado as linhas referentes as Parcelas serão criadas automaticamente em uma nova Ordem de Pagamento, débito ou crédito, ou adicionadas em uma já existente que esteja no estado Rascunho, também é possível incluir manualmente, a geração do Boleto, Arquivo de Envio e o tratamento do Arquivo de Retorno dependem da instalação de um segundo módulo onde é definida a biblioteca a ser utilizada.

Known issues / Roadmap

Changelog

14.0.9.0.0 (2024-09-19)

  • [REM] Removendo Campos, Visões e Objetos obsoletos.

14.0.8.0.0 (2024-09-18)

  • [IMP] Possibilidade de informar Códigos de Desconto além do 0 e 1.

14.0.7.0.0 (2024-09-13)

  • [REF] Separando as Configurações do CNAB do Modo de Pagamento.

14.0.6.0.0 (2024-09-10)

  • [REF] Unindo os Códigos CNAB em um mesmo objeto.

14.0.1.0.0 (2022-04-29)

  • [MIG] Migração para a versão 14.0.

13.0.1.0.0 (2022-01-28)

  • [MIG] Migração para a versão 13.0.

12.0.3.0.0 (2021-05-13)

  • [MIG] Migração para a versão 12.0.

  • Incluído a possibilidade de parametrizar o CNAB 240 e 400, devido a falta de padrão cada Banco e CNAB podem ter e usar codigos diferentes.

  • Incluído os metodos para fazer alterações em CNAB já enviados.

  • Incluído dados de demo e testes.

  • Separado o objeto que fazia o Retorno do arquivo e registrava as informações para ter um objeto especifico que registra o Log e assim os modulos que implementam a biblioteca escolhida podem ter um metodo/objeto especifico para essa função.

12.0.1.0.0 (2019-06-06)

  • [MIG] Inicio da Migração para a versão 12.0.

10.0.2.0.0 (2018-05-17)

  • [REF] Modulo unido com o l10n_br_account_payment_mode e renomeado para l10n_br_account_payment_order.

10.0.1.0.0 (2018-08-29)

  • [MIG] Migração para a versão 10.

8.0.1.0.1 (2017-07-14)

  • [NEW] Refatoração e melhorias para suportar a geração de boletos através do br-cobranca (ruby)

8.0.1.0.0 (2017-07-14)

  • [NEW] Melhorias para suportar a geração de pagamento da folha de pagamento;

8.0.0.0.0 (2016-01-18)

  • [NEW] Primeira versão

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • KMEE

  • Akretion

Contributors

Other credits

The development of this module has been financially supported by:

  • KMEE INFORMATICA LTDA - www.kmee.com.br

  • AKRETION LTDA - www.akretion.com

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

mbcosta

This module is part of the OCA/l10n-brazil project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page