[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
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.
# 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
Cadastro nas Configurações CNAB
Caso onde existe apenas duas possibilidades
cc @rvalyi @renatonlima @marcelsavegnago @mileo @kaynnan
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:
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
Cadastro nas Configurações CNAB
Caso onde existe apenas duas possibilidades
cc @rvalyi @renatonlima @marcelsavegnago @mileo @kaynnan