BoletoNet / boleto2net

Nova versão do Boleto.Net
Apache License 2.0
162 stars 139 forks source link

Issue #303 - Subindo correções no Sicredi, BB e Caixa #304

Closed MatheusJordao closed 3 years ago

carloscds commented 3 years ago

@MatheusJordao Poderia explicar estas alterações ? Principalmente a parte do convenio ?

MatheusJordao commented 3 years ago

@MatheusJordao Poderia explicar estas alterações ? Principalmente a parte do convenio ? Claro Carlos,

-----------------Banco do Brasil

Como implementei os cedentes com 4 e 6 dígitos na Issue #292 tive que modificar esse condição: https://github.com/BoletoNet/boleto2net/blob/a3864ec97363fbe1a897cb08c9c4c68c7392cab8/Boleto2.Net/Banco/BancoBrasil.cs#L31-L32

Além disso, mudei o NossoNumero para o NossoNumeroFormatado por conta desses cedentes:

https://github.com/BoletoNet/boleto2net/blob/a3864ec97363fbe1a897cb08c9c4c68c7392cab8/Boleto2.Net/Banco/BancoBrasil.cs#L553

Obs: No cedente de 7 dígitos o NossoNumeroFormato é igual ao NossoNumero então o que já funcionava não será afetado.

-----------------Sicredi

No Sicredi acredito que já está explicado na Issue #303, qualquer dúvida pode me perguntar.

-----------------Caixa

A quantidade de números do código de cedente da Caixa mudou conforme link abaixo, as outras mudanças foram feitas porque estava desatualizado conforme expliquei na #303 :

https://www.caixa.gov.br/Downloads/cobranca-caixa/ESP_COD_BARRAS_SIGCB_COBRANCA_CAIXA.pdf

"Visando a expansão da capacidade de armazenamento para novos clientes, o Código do Cedente/Beneficiário agora possui 7 dígitos."

rafd75 commented 3 years ago

@MatheusJordao boa tarde...

Quanto a CAIXA - No manual que vc mandou, página 24, diz:

NOTA 3 –CÓDIGO DO BENEFICIÁRIO (posições 20 a 26) É composto por 7 posições, devendo ser obedecidas as seguintes regras de preenchimento: ▪ Para beneficiário com código entre as faixas 000001 e 999999, utilizar as posições 20 a 25 e calcular o DV do Código do Beneficiário, a ser informado na posição 26, através do Modulo 11, conforme Anexo VI. ▪ Para beneficiário com código a partir da faixa 1100000, utilizar as posições 20 a 26, sem necessidade de cálculo do DV do Código do Beneficiário. ATENÇÃO: Para cálculo do DV do Código do Beneficiário entre as faixas 000001 e 999999, admite 0 (zero), diferentemente do DV Geral do Código de Barras.

Mas no código que gera o Campo Livre, está montando com o número do cedente + DV do número do cedente:

https://github.com/BoletoNet/boleto2net/blob/a3864ec97363fbe1a897cb08c9c4c68c7392cab8/Boleto2.Net/Banco/Carteiras/BancoCaixa/BancoCaixaCarteiraSIG14.cs#L44

Olhei por cima... mas provavelmente o DV do cedente deve estar sempre zero, já que está funcionando hoje... mas nessa nova lógica, nao vai dar problema? Colocar 7 dígitos, e manter o ZERO do DV já existente?

Esses ajustes já estão em produção em cliente? Foram homologados? ... No caso da caixa, você já tinha cliente com 6 dígitos?

OBS: Banco do Brasil - Até onde me lembro (já foi questionado aqui), não sei se somente tirar a trava de 7 dígitos resolve, não tenho certeza, mas acho que vai pelo mesmo caminho da caixa... com 4 ou 6 dígitos vai deslocar o conteúdo do campo livre, etc... (obs: não parei para analisar a fundo, estou apenas levantando uma possibilidade).

MatheusJordao commented 3 years ago

@MatheusJordao boa tarde...

Quanto a CAIXA - No manual que vc mandou, página 24, diz:

NOTA 3 –CÓDIGO DO BENEFICIÁRIO (posições 20 a 26) É composto por 7 posições, devendo ser obedecidas as seguintes regras de preenchimento: ▪ Para beneficiário com código entre as faixas 000001 e 999999, utilizar as posições 20 a 25 e calcular o DV do Código do Beneficiário, a ser informado na posição 26, através do Modulo 11, conforme Anexo VI. ▪ Para beneficiário com código a partir da faixa 1100000, utilizar as posições 20 a 26, sem necessidade de cálculo do DV do Código do Beneficiário. ATENÇÃO: Para cálculo do DV do Código do Beneficiário entre as faixas 000001 e 999999, admite 0 (zero), diferentemente do DV Geral do Código de Barras.

Mas no código que gera o Campo Livre, está montando com o número do cedente + DV do número do cedente:

https://github.com/BoletoNet/boleto2net/blob/a3864ec97363fbe1a897cb08c9c4c68c7392cab8/Boleto2.Net/Banco/Carteiras/BancoCaixa/BancoCaixaCarteiraSIG14.cs#L44

Olhei por cima... mas provavelmente o DV do cedente deve estar sempre zero, já que está funcionando hoje... mas nessa nova lógica, nao vai dar problema? Colocar 7 dígitos, e manter o ZERO do DV já existente?

Esses ajustes já estão em produção em cliente? Foram homologados? ... No caso da caixa, você já tinha cliente com 6 dígitos?

OBS: Banco do Brasil - Até onde me lembro (já foi questionado aqui), não sei se somente tirar a trava de 7 dígitos resolve, não tenho certeza, mas acho que vai pelo mesmo caminho da caixa... com 4 ou 6 dígitos vai deslocar o conteúdo do campo livre, etc... (obs: não parei para analisar a fundo, estou apenas levantando uma possibilidade).

Esse ajuste da Caixa está em produção há alguns meses com clientes que possuem 6 e 7 dígitos, por isso acredito que não dará problema.

Sobre o Banco do Brasil também está em produção há alguns meses tanto com 4 quanto 7 dígitos, até agora nenhum problema relatado.

MatheusJordao commented 3 years ago

Vou fechar essa pull request e abrir uma para cada assunto