Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
odoo14-addon-l10n-br-account-payment-order
Advanced tools
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:4a2ac0e35685db44c6891ec91396a36a9bfd29867a8c550f707e66a6d282de8c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github :target: https://github.com/OCA/l10n-brazil/tree/14.0/l10n_br_account_payment_order :alt: OCA/l10n-brazil .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/l10n-brazil-14-0/l10n-brazil-14-0-l10n_br_account_payment_order :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=14.0 :alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
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 <https://github.com/OCA/bank-payment/tree/14.0/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 <https://github.com/OCA/bank-payment/tree/14.0/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
.. contents:: :local:
This module depends on:
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.
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.
Verificar a questão do campos many2many que não estão sendo registrados pelo track_visibility e se será incluída a dependendecia https://github.com/OCA/social/tree/12.0/mail_improved_tracking_value ( confirmar o problema na v14 ).
Processo de Alteração de Carteira, falta informações sobre o processo.
Mapear e incluir os códigos dos bancos de cada CNAB 240 / 400, aqui devido a quantidade de possibilidades se trata de um "roadmap" constante onde contamos com PRs de outros Contribuidores que irão implementar um caso que ainda não esteja cadastrado e assim aumentar o banco de conhecimento, apesar do código permitir que o cadastro seja feito na tela nesses casos.
Processo de "Antecipação do Título junto ao Banco" ou "Venda do Título junto a Factoring" ver as alterações feitas na v14 https://www.odoo.com/pt_BR/forum/ajuda-1/v14-change-in-payment-behavior-how-do-the-suspense-and-outstanding-payment-accounts-change-the-journal-entries-posted-177592 .
CNAB de Pagamento, verificar a integração com o PR https://github.com/OCA/l10n-brazil/pull/972 e a possibilidade de multiplos modos de pagamento na mesma Ordem de Pagamento https://github.com/odoo-brazil/l10n-brazil/pull/112
Verificar a possibilidade na v14 de remoção do ondele='restrict' no campo "move_line_id" e o campo "related" "ml_maturity_date" do account.payment.line no modulo dependente https://github.com/OCA/bank-payment/blob/14.0/account_payment_order/models/account_payment_line.py#L39 para permitir o processo de Cancelamento de uma Fatura quando existe uma Ordem de Pagamento já confirmada/gerada/enviada( detalhes l10n_br_account_payment_order/models/account_payment_line.py#L130 )
Funcionalidade de Agrupar Por/Group By não funciona em campos do tipo Many2Many, aparentemente isso foi resolvido na v15(verfificar na migração), isso é usado nos objetos referentes aos Codigos CNAB de Instrução e Retorno.
Confirmar se existem Bancos que usam os mesmos conjuntos de Codigos CNAB de Instrução e Retorno para caso não existir remover o many2many do Banco e deixar apenas o many2one.
Verificar a possibilidade de usar o objeto account.payment no caso CNAB e o modulo https://github.com/OCA/bank-payment/tree/14.0/account_payment_order_return para tratar o LOG de Retorno do CNAB, RFC https://github.com/OCA/l10n-brazil/issues/2272 .
14.0.9.0.0 (2024-09-19)
* [REM] Removendo Campos, Visões e Objetos obsoletos.
14.0.8.0.0 (2024-09-18)
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)
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)
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)
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)
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)
8.0.0.0.0 (2016-01-18)
* [NEW] Primeira versão
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-brazil/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 <https://github.com/OCA/l10n-brazil/issues/new?body=module:%20l10n_br_account_payment_order%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* KMEE
* Akretion
Contributors
~~~~~~~~~~~~
* `KMEE <https://www.kmee.com.br>`_:
* Luis Felipe Mileo <mileo@kmee.com.br>
* Fernando Marcato
* Hendrix Costa <hendrix.costa@kmee.com.br>
* `Akretion <https://www.akretion.com/pt-BR>`_:
* Magno Costa <magno.costa@akretion.com.br>
* `Engenere <https://engenere.one>`_:
* Antônio S. Pereira Neto <neto@engenere.one>
* `Escodoo <https://www.escodoo.com.br>`_:
* Marcel Savegnago <marcel.savegnago@escodoo.com.br>
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.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
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.
.. |maintainer-mbcosta| image:: https://github.com/mbcosta.png?size=40px
:target: https://github.com/mbcosta
:alt: mbcosta
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-mbcosta|
This module is part of the `OCA/l10n-brazil <https://github.com/OCA/l10n-brazil/tree/14.0/l10n_br_account_payment_order>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
FAQs
Brazilian Payment Order
We found that odoo14-addon-l10n-br-account-payment-order demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.