OCA / l10n-brazil

Localização brasileira oficial do Odoo.
https://odoo-community.org/psc-teams/brazil-66
GNU Affero General Public License v3.0
236 stars 244 forks source link

[14.0][FIX+IMP] l10n_br_account_payment_order, l10n_br_account_payment_brcobranca: Código de Desconto no caso UNICRED 400 e possibilidade de informar códigos além do 0 e 1 #3360

Open mbcosta opened 5 days ago

mbcosta commented 5 days ago

Inform Discount Code for case UNICRED 400 and allow use other Codes besides 0 and 1.

Volta informar o "Código de Desconto" no caso UNICRED 400 e passa a permitir informar outros códigos além do 0 e 1, esse PR depende do https://github.com/OCA/l10n-brazil/pull/3243 os commits foram incluídos aqui para poder validar o PR, depois do merge será feito o rebase e esses commits deverão sair, mesmo assim já é possível revisar o PR olhando os dois últimos commits.

FIX

A alteração no PR https://github.com/OCA/l10n-brazil/pull/3121 acabou incluindo uma regressão o caso UNICRED 400 deixou de preencher o Código de Desconto 1 quando havia valor, infelizmente hoje não existe uma forma de testar, porque o valor é preenchido apenas no momento da criação do Arquivo Remessa, estou considerando incluir esses e outros campos de Códigos no account.payment.line para poder validar isso e assim evitar regressões como essa.

IMP

Como comentei no PR https://github.com/OCA/l10n-brazil/pull/3121 apesar das Documentações de cada Banco dizer que "Seguem o Padrão FEBRABAN" a realidade:

            # Banco     | Cod Banco | Possíveis Códigos de Desconto |
            #           |           | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
            # ----------|-----------|---|---|---|---|---|---|---|---|
            # Ailos     |    085    | X | X |   |   |   |   |   |   |
            # Bradesco  |    237    |   | X | X | X | X | X | X | X |
            # CEF       |    104    | X | X | X |   |   |   |   |   |
            # Santander |    033    | X | X | X | X |   |   |   |   |
            # Sicred    |    748    |   | X | X | X |   |   |   | X |
            # Unicred   |    136    | X | X |   |   |   |   |   |   |

No caso do "Código de Desconto" antes não existia um CHAR para informar o código apenas verificava se o campo dicount_value tinha Valor e se sim preenchia 1, mas isso não permitia usar os outros "Código de Desconto", exemplo:

Bradesco 240 2 - Percentual Até a Data Informada 3- Valor por Antecipação Dia Corrido 4 - Valor por Antecipação Dia Útil

Com esse PR isso passa a ser possível.

O script de migração vai buscar preencher o "Código de Desconto" em cada "Configuração CNAB" existente dependendo do valor do campo boleto_discount_perc se for maior que Zero deverá preencher com o "Código 1", mas apenas se o script encontrar o Código, hoje apenas os casos dos Bancos na tabela acima tem essa informação ( caso o Banco que você está vendo não esteja aqui considere fazer um PR incluindo esse e os outros Dados).

Para evitar erros inicialmente caso o Valor de Desconto discount_value tenha valor mas não tem o "Código de Desconto" vai preencher com o "padrão" 1 mas no futuro podemos considerar em remover isso é obrigar o cadastro com um Warning ou validando na Configuração do CNAB.

Segue imagens:

Cadastro nos Códigos CNAB

image

Cadastro nas Configurações CNAB

image

image

Caso onde existe apenas duas possibilidades

image

cc @rvalyi @renatonlima @marcelsavegnago @mileo @kaynnan

OCA-git-bot commented 5 days ago

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