BoletoNet / boleto2net

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

Problemas na geração do arquivo de remessa da Caixa CNAB400 #154

Closed jsossaij closed 3 weeks ago

jsossaij commented 5 years ago

Pessoal,

Estou gerando arquivo de remessa da caixa, e o validador da própria caixa está dando o arquivo remessa gerado como inválido.

Com os erros apontados por ele, entrei no código e vi 3 possíveis problemas:

1) Linha 226 do BancoCaixa.cs reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador_, 0057, 002, 0, "14", '0'); -> Esta linha me parece desnecessária, uma vez que o Nosso Número já tem o "14" após execução do validar dados

2) Acho que nesse ponto 2 posições foram puladas, e os Dias de Protesto estão faltando:

reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador, 0390, 002, 0, "0", '0'); reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador, 0394, 001, 0, "1", '0');

Imagino que o correto seja:

reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador, 0390, 002, 0, "0", '0'); reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador, 0392, 002, 0, boleto.DiasProtesto, '0'); reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador_, 0394, 001, 0, "1", '0');

3) O validador da caixa está reclamando da linha:

reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador_, 0076, 001, 0, "1", '0');

Está pedindo que seja vazio e não '1'

Abs, Jonas

rafd75 commented 5 years ago

@jsossaij , bom dia

Qual é a carteira da caixa que está sendo validada?

Adicione aqui também, por favor, as mensagens de erro que te retornaram... E qual versão do manual está usando? Tenho um contato que presta serviço para a caixa, e vou ver se algo mudou lá...

Aqui, uns 3 ou 4 meses atrás, homologamos a caixa... mas foi no CNAB240... Me passa essas informações e já tentamos corrigir isso.

jsossaij commented 5 years ago

Oi Rodolfo,

Vou ver a carteira aqui a carteira e mensagens pra te mandar.

Nós pegamos o código/DLL atual e validamos usando o validador de remessa que está nesse endereço (CNAB400):

http://www.caixa.gov.br/empresa/pagamentos-recebimentos/recebimentos/nova-cobranca-bancaria/Paginas/default.aspx

Aí com as correções que sugeri acima geramos uma nova DLL, e o validador aprovou a remessa.

Abs, Jonas

rafd75 commented 5 years ago

@jsossaij ... boa tarde.

Fiz o download do validador... vou tentar gerar um remessa teste aqui para ver.

Obs: só tenho cliente CNAB240 da caixa... mas vou tentar montar um arquivo ... (se puder anexar aqui, o arquivo "com problema" - ou seja, gerado pelo Boleto2Net, me ajuda....

oscarpires commented 5 years ago

Bom dia pessoal, Estou fazendo a implementação para a CEF, em um cliente habilitado com CNAB 400. Os ajustes comentados pelo estão sendo necessários sim, para gerar a remessa e passar pelo validador da CEF, pois do trecho 74 a 76 é deve ser de dígitos em branco

precisei ajustar esse trecho reg.Adicionar(TTiposDadoEDI.ediAlphaAliEsquerda_____, 0074, 003, 0, Empty, ' '); //reg.Adicionar(TTiposDadoEDI.ediAlphaAliEsquerda_____, 0075, 001, 0, Empty, ' ');

image

rafd75 commented 5 years ago

@oscarpires - boa tarde.

De fato, no manual diz:

12,1 | Brancos | Campos em branco | 74 | 76 | 3 | - | Alfa | Brancos

Esse layout da caixa, 400 posições, conforme você viu acima, deu problema mesmo (eu só uso em produção a versão 240)...

Quando terminar, faça um Pull Request das alterações, ou me manda o código que eu incluo aqui.