Skip to content

Conversation

mbcosta
Copy link
Contributor

@mbcosta mbcosta commented Sep 2, 2025

Change CNAB Fee Code from Char to Object.

Alterando o Código de Multa de Char para Objeto/l10n_br_cnab.code, esse PR é semelhante a outros PRs já feitos:

O objetivo é que com essa alteração o Usuário vai passar a ver apenas o Conjunto de Códigos de Multa referente a cada Banco/CNAB com a mesma Nomenclatura usada pela Documentação do Banco, abaixo as possibilidades de Códigos de acordo com as Documentações do Bancos/CNAB que existem hoje no modulo:

        # Banco               | Possíveis Códigos de Multa            |
        #                     | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
        # --------------------|---|---|---|---|---|---|---|---|---|---|
        # Ailos  240          |   | X | X |   |   |   |   |   |   |   |
        # Bradesco 400        | X | X |   |   |   |   |   |   |   |   |
        # Bradesco 240        |   | X | X |   |   |   |   |   |   |   |
        # CEF  240            | X | X | X |   |   |   |   |   |   |   |
        # Brasil 400          |   | X | X |   |   |   |   |   |   | X |
        # Brasil 240          |   | X | X |   |   |   |   |   |   |   |
        # Santander 400       | X |   |   |   | X |   |   |   |   |   |
        # Santander 240       |   | X | X |   |   |   |   |   |   |   |
        # Sicred 240          |   |   | X |   |   |   |   |   |   |   |
        # Unicred 240/400     |   | X | X | X |   |   |   |   |   |   |
        # Itaú  240/400       | X | X | X |   |   |   |   |   |   |   |

Nesse caso estou criando um arquivo febraban_240_boleto_fee_code.xml com os casos que são 240 que tem a mesma Nomenclatura e Quantidade de Códigos com o mesmo objetivo, por enquanto AILOS, Bradesco, Brasil e Santander, os Códigos são 1 - Valor Fixo e 2 - Percentual, existem casos semelhantes mas não iguais por isso foram criados arquivos específicos, por exemplo o SICRED tem apenas o 2 - Percentual o CEF tem o 0 - Sem Multa.

Algumas divergências entre os Códigos:

  • Existem casos em que existe um Código especifico para Isento ou Sem Multa outros não, em alguns casos é o "0" zero porém para o Banco do Brasil 400 é o 9 - Dispensar Cobrança de Multa o UNICRED 240/400 usa 3 - Isento

  • O Itaú 240/400 tem nomenclaturas diferentes dos outros casos:
    0 - NÃO REGISTRA A MULTA
    1 - VALOR EM REAIS (FIXO)
    2 - VALOR EM PERCENTUAL COM DUAS CASAS DECIMAIS CONFORME ESTRUTURA DO CAMPO

  • O Santander 400 usa os Códigos 0 - Sem Multa e 4 - Percentual

OBS.: Na documentação do BRCobranca não aparece uma nomenclatura clara, caso alguém acredite ter algo melhor posso ver de alterar

image image

Na criação do Arquivo de Remessa foi feita uma alteração para quando a informação da Multa deve ser incluída hoje verifica se tem o boleto_fee_percent https://github.com/OCA/l10n-brazil/blob/16.0/l10n_br_account_payment_brcobranca/models/account_payment_line.py#L137 agora vai verificar se tem o Código de Multa e depois se tem o Percentual de Multa, isso está sendo feito porque como foi visto nesse PR podem existir os casos de Isento ou Sem Multa e nesses casos o campo boleto_fee_percent pode estar vazio.

O script de migração é bem parecido com o que foi feito para o caso Código de Protesto https://github.com/OCA/l10n-brazil/blob/16.0/l10n_br_account_payment_order/migrations/16.0.6.0.0/post-migration.py adaptado para o Código de Multa, então caso algum Código não seja encontrado será criado um Código Não Identificado.

Segue um exemplo de como ficou:

image image

cc @OCA/local-brazil-maintainers

@OCA-git-bot
Copy link
Contributor

Hi @rvalyi,
some modules you are maintaining are being modified, check this out!

@rvalyi
Copy link
Member

rvalyi commented Sep 3, 2025

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

What a great day to merge this nice PR. Let's do it!
Prepared branch 16.0-ocabot-merge-pr-4026-by-rvalyi-bump-nobump, awaiting test results.

@OCA-git-bot OCA-git-bot merged commit e188820 into OCA:16.0 Sep 3, 2025
7 checks passed
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at 7552f56. Thanks a lot for contributing to OCA. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants