BoletoNet / boletonet

Boleto.Net is a library developed for use in Brazil, given it has been programmed with Brazilian retail legislation and business rules for bank registered billing integration.
Apache License 2.0
478 stars 382 forks source link

cnab 400 - Itau - Nosso Número não aparece na remessa #357

Open CesarMaia19 opened 7 years ago

CesarMaia19 commented 7 years ago

Na parte do Nosso número do boleto tenho: ... Boleto b = new Boleto(vencimento, valor, "109", NossoNumero.ToString(), c, new EspecieDocumento(341, "1")); b.NumeroDocumento = leitor["Bol_Codigo"].ToString(); ...

O "nosso número" não é gerado no arquivo de remessa, aparece isto: 01REMESSA01COBRANCA 920700172249 ONIX PART. E EMP. IMOBILIARIOS341BANCO ITAU SA 151216 000001 10207525303000177920700172249 0000 109/00010000000000000109 I010019022 01011700000000001003410000001N151216000000000000000000101170000000000000000000000000000000000000000100011455586072TESTE BANCO RUA TESTE, 123 CENTRO 92010150CANOAS RSTESTE BANCO 01011700 000002 9 000003

NOSSO NÚMERO: 109/00010000000000000109

Alguma luz?

JimmyWesley commented 7 years ago

Cara o nosso numero do Itaú só tem 8 posições, fiz uma remessa aqui e coloquei um parâmetro na configuração da conta para falar quantas posições vai usar e na hora de criar o nosso numero eu coloquei a chamada da variavel. Assim ele funciona. já homologuei a remassa CNAB400 no Itaú.

var nossoNumero = string.Format("{0,30}", Cobranca.id.ToString("D" + Cobranca.Conta.nPosicoesCarteira.ToString())).Trim();

Abraços,

CesarMaia19 commented 7 years ago

Jimmy, não caiu a ficha...

No teu código: var nossoNumero = string.Format("{0,30}", Cobranca.id.ToString("D" + Cobranca.Conta.nPosicoesCarteira.ToString())).Trim();

Cobranca.id seria o que? Cobranca.Conta.nPosicoesCarteira seria o que?

Sou meio leigo na "coisa"... o nosso número no boleto sai direitinho, no arquivo de remessa que não. Gero ele assim:

Boleto b = new Boleto(vencimento, valor, "109", NossoNumero.ToString(), c, new EspecieDocumento(341, "1"));

Se puder me dar uma força...

JimmyWesley commented 7 years ago
  var nossoNumero = string.Format("{0,30}", "123".ToString("D" + "8")).Trim();
  //nossoNumero -> "00000123"

            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, (decimal)("50,00"), "109", nossoNumero, c, new EspecieDocumento(341, "1")); 
            b.NumeroDocumento = nossoNumero;  <-- Essa linha que falta no seu          
CesarMaia19 commented 7 years ago

Cara, arrumei conforme vc falou... mas segue inválido.

01REMESSA01COBRANCA 920700172249 ONIX PART. E EMP. IMOBILIARIOS341BANCO ITAU SA 201216 000001 10207525303000177920700172249 0000 109/00010000000000000109 I0100018706 ...

Essa parte não é validada pelo banco: 109/00010000000000000109

Aqui deveria constar o "nosso número"...

marcus2vinicius commented 7 years ago

@CesarMaia19 qual o valor do nossoNumero que vc esta setando?