Ir para conteúdo
  • Cadastre-se

dev botao

Boleto caixa economica


GONDIM
  • Este tópico foi criado há 2408 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Pessoal boa tarde,

Estou com o seguinte problema:

Recebi do meu cliente as seguinte informações:

CONTA: CAIXA ECONOMICA FEDERAL AG.1839 C/C.1716-6 (não existe digito da agencia - coloquei zero)
NR.CONVENIO:nt
NR.CARTEIRA:nt
MODALIDADE/VARIAGCO:nt
ESPECIE:DM
MOEDA: R$
VALOR MORA DIARIA:0,05
VALOR MULTA:2,98
NR.CEDENTE:1839.870.00000543-2(coloquei o numero do cedente apenas 870000005432 pois 1839 seria a agencia)
NR.DIGITOS NOSSO NUMERO:16(o componente aceita no máximo 15 ele colocou 16)

Em anexo tem dois boletos um gerado pelo sistema da caixa e o outro gerado pelo componente, verifiquei que a numeração dos boletos são diferentes o da caixa começa com 10490 o do componente começa 10497.

Outro detalhe no campo agencia/ código beneficiário o da caixa gera 1839.870.00000543-2 o do componente gera 1839/870000005432-1 ele cria um digito verificador a mais, quando tento pagar o boleto ele retorna o seguinte mensagem cedente não localizado.

O que estou fazendo errado por favor?

 

CAIXA_BOLETOS_PDF_REMESSA_NRO_2_01-10-2015_15-49-04.pdf

KI SALGADO AGOSTO.pdf

CAIXA_BOLETOS_PDF_REMESSA_NRO_3_05-10-2015_11-33-27.pdf

Editado por GONDIM
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Estimado,

Boa tarde, na verdade a máscara é 

87000000000

e você está colocando

870000005432

Provável que o 2 sendo dígito deva sair fora. Veja um boleto de testes com o ACBr (ainda em trunk).
 
    ACBrBoleto.Banco.TipoCobranca := cobCaixaSicob;
    ACBrBoleto.Banco.Numero          := 104;
    ACBrBoleto.Banco.Digito          := 0;
    ACBrBoleto.Banco.Nome            := 'Caixa Economica Federal';
    ACBrBoleto.Banco.TamanhoMaximoNossoNum := 15;
    ACBrBoleto.Cedente.Agencia          := '1839';
    ACBrBoleto.Cedente.AgenciaDigito    := '2'; // agencia tem dígito também
    ACBrBoleto.Cedente.CaracTitulo := tcSimples;
    ACBrBoleto.Cedente.CodigoCedente    := '87000000543';
    ACBrBoleto.Cedente.CNPJCPF          := '83.722.828/0001-80'; //gerado da internet

    ACBrBoleto.Cedente.Conta            := <conta>;
    ACBrBoleto.Cedente.ContaDigito      := <digito>;

    ACBrBoleto.Cedente.Convenio         := '';
    ACBrBoleto.Cedente.Modalidade       := '';
    ACBrBoleto.Cedente.Nome             := 'ANDRADE CONTROLE DE PRAGAS LTDA';
    ACBrBoleto.Cedente.Logradouro       := 'ENDERECO DO ANDRADE,000';
    ACBrBoleto.Cedente.Complemento      := '';
    ACBrBoleto.Cedente.Bairro           := 'DT INDUSTRIAL';
    ACBrBoleto.Cedente.CEP              := '11111111';
    ACBrBoleto.Cedente.Cidade           := 'CIDADE DO ANDREADE';
    ACBrBoleto.Cedente.NumeroRes        := '';
    ACBrBoleto.Cedente.Telefone         := '11 99999 9999'
    ACBrBoleto.Cedente.UF               := 'SP';

    ACBrBoleto.Cedente.ResponEmissao    := tbCliEmite;
    ACBrBoleto.Cedente.TipoInscricao    := pJuridica;

    ACBrBoleto.Cedente.TipoCarteira     := tctSimples;
    ACBrBoleto.DataArquivo              := Date;
    ACBrBoleto.NomeArqRemessa           := FormatDateTime('DDMMYYYYHHMMSS',Now)+'.TXT';
    ACBrBoleto.DirArqRemessa            := <dir>;
    ACBrBoleto.DirArqRetorno            := <dir>;
    ACBrBoleto.ImprimirMensagemPadrao   := False;
    ACBrBoleto.LayoutRemessa            := <layout>;
    ACBrBoleto.LeCedenteRetorno         := False;

    ................ 
    // montando boleto
    nNossoNum := 2106; // var real
    iVencto := 0; // var integer

    ACBrBoleto.ListadeBoletos.Clear;  // var TACBrTitulo
    AStringList := TStringList.Create; // var TStrings

    for i := 1 to 1 do
    begin
        TituloACBr := ACBrBoleto.CriarTituloNaLista;
        AStringList.Clear;

        // dias de protestos e carteira de envio
        TituloACBr.TipoDiasProtesto := diCorridos;
        TituloACBr.CarteiraEnvio    := tceCedente;

        with TituloACBr do
        begin
            Sacado.Avalista       := '';
            Sacado.NomeSacado     := 'Fulano de Tal ' + IntToStr(i);
            Sacado.CNPJCPF        := '111.111.111-1' + IntToStr(i);
            Sacado.Pessoa     := pFisica;
            Sacado.Logradouro     := 'Rua do Sacado ' + IntToStr(i);
            Sacado.Numero         := IntToStr(i) + ' 123';
            Sacado.Complemento    := IntToStr(i) + ' complemento';
            Sacado.Bairro         := 'Bairro do Sacado ' + IntToStr(i);
            Sacado.Cidade         := 'Cidade do Sacado' + IntToStr(i);
            Sacado.UF             := 'SP';
            Sacado.CEP            := '01001-001';
            Sacado.Email          := '[email protected]';
            Sacado.Fone           := '11 1111 1111';

            Vencimento            := StrToDate('30/09/2015');
            DataDocumento         := StrToDate('22/09/2015');
            DataProcessamento     := StrToDate('22/09/2015');
            NumeroDocumento       := IntToStr(i);
            EspecieDoc            := 'DM';
            NossoNumero           := FormatFloat('820000000000000',nNossoNum);
            Carteira              := 'SR';
            LocalPagamento        := 'CASAS LOTERICAS, AG.CAIXA E REDE BANCARIA';
            Aceite := atNao;

            ValorDocumento        := 200;

            ValorDesconto         := 0;
            DataDesconto          := 0;

            ValorAbatimento       := 0;
            DataAbatimento        := 0;

            ValorDescontoAntDia   := 0;

            if <vljuros>  >  0 then
                PercentualMulta   := <vljuros>;

            CodigoMora            := '1';
            ValorMoraJuros        := 0;
            DataMoraJuros         := 0;

            if <vlmora>  >  0 then
            begin
               nValorMora:=(200*(<vlmora>/30))/100;
               if(nValorMora >= 0.01) then
               begin
                   ValorMoraJuros := nValorMora;
                   DataMoraJuros  := Vencimento+1;
               end;
            end;

            DataProtesto      := 0;

            // mensagens padrão
            if DataProtesto <> 0 then
            begin
               if TipoDiasProtesto = diCorridos then
                  AStringList.Add(ACBrStr('Protestar em ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dias corridos após o vencimento'))
               else
                  AStringList.Add(ACBrStr('Protestar no ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dia útil após o vencimento'));
            end;

            if ValorMoraJuros <> 0 then
            begin
               if DataMoraJuros <> 0 then
                  AStringList.Add(ACBrStr('Cobrar Juros de '                        +
                                  ifthen(CodigoMora = '2', FloatToStr(ValorMoraJuros) + '%',
                                         FormatCurr('R$ #,##0.00',ValorMoraJuros))         +
                                   ' por dia de atraso para pagamento a partir de ' +
                                   FormatDateTime('dd/mm/yyyy',ifthen(Vencimento = DataMoraJuros,
                                                                      IncDay(DataMoraJuros,1),DataMoraJuros))))
               else
                  AStringList.Add(ACBrStr('Cobrar Juros de '                +
                                          ifthen(CodigoMora = '2', FloatToStr(ValorMoraJuros) + '%',
                                                 FormatCurr('R$ #,##0.00',ValorMoraJuros))         +
                                   ' por dia de atraso'));
            end;

            if PercentualMulta <> 0 then
               AStringList.Add(ACBrStr('Cobrar Multa de ' +
                               FormatCurr('R$ #,##0.00',ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento) +
                               ' após o vencimento.'));

            Mensagem.Text         := AStringList.Text + <msgcob1> + #13+#10 + <msgcob2>;
            OcorrenciaOriginal.Tipo:= toRemessaRegistrar;
            Instrucao1            := '';
            Instrucao2            := ''
            Parcela               := i;
        end;
        nNossoNum := nNossoNum + 1;
        iVencto := iVencto + 30;
    end;
    ACBrBoleto.Imprimir;

Qualquer coisa nos avise,

Ate mais,

 

boleto teste.pdf

Editado por aocampioni

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

Boa tarde!

olha eu de novo te incomodando...

eu estou tentando apenas com conta, digito da conta, agencia, digito da agencia, não gera o número correto no campo [Agência / Código do Beneficiário] 

em anexo, e aproveitando onde vai o campo operação, que exista na conta da caixa?

vou anexar um boleto, para melhorar a minha explicação 

233552_ 110_03_2016.pdf

Desculpe, eu mesmo responder, é que achei a minha fonte de ignorância, eu tinha que testar se o campo está vazio,

    if Vcodigo_cedente <> '' then begin
      ACBrBoleto1.Cedente.CodigoCedente := Vcodigo_cedente;
    end;
    if Vcodigo_transmissao <> '' then begin
      ACBrBoleto1.Cedente.CodigoTransmissao := Vcodigo_transmissao;
    end;

assim não invoca o código cedente e código transmissão e a montagem do nosso campo  [Agência / Código do Beneficiário]  ficou correta.

mesmo assim obrigado

não deu

;(

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Estimado,

Boa noite. O código do cedente não poderá nunca ir em branco. Ele é essencial para o banco saber pra quem irá entrar o dinheiro da baixa do título em questão. Por isso, seu software deve se recusar a continuar emitir o boleto se o código do cedente estiver vazio.

Código de transmissão é um código (que até hoje) que só vejo o santander utilizar. Ele é essencial para o santander, por isso não poderá estar vazio quando o banco escolhido for o 33.

As configurações acima, são básicas para um emissor da caixa (padrão sicob-caixa) emitir seus boletos sem registro. Faça os testes de emissão, qualquer coisa poste aí.

 

Até mais,

 

Alexandre

CONSULT ATECH Software.

  • Curtir 1

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Administradores

Boa tarde.

Você informou esta propriedade no componente? Se sim, como estão ficando as posições referentes a esta informação?

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...

boa Tarde, 

como faço para informar o Código de Movimento Remessa = 31 para os boletos da caixa econômica federal??

existe alguma tag especifica?? o sistema gera sempre 01-Entrada de titulo, no manual da caixa diz que quando a o boleto eh sem protesto automatico informar 31 neste campo.

Aguardo retorno.

Desde ja muito obrigado.

Desculpa pessoal... nada a ver.. tem que informar 31 no codigo de movimento remessa quando for cancelamento automatico do protesto, codigo 9 no item codigo para protesto.  

Desconsiderem a mensagem.

Obrigado.

Link para o comentário
Compartilhar em outros sites

por favor.. alguém poderia me ajudar..

Boletos da caixa economica federal, geração arquivo remessa:

Como faço para gerar Protesto = N e dias para protesto = 30??

porque preciso disto: só achei a tag dataprotesto, se preenche esta data o componente acbr gera protesto = S e calcula o n. de dias para protesto

se não preenche a data o componente gera protesto = N e 00 (zero zero) em dias para protesto. Dai o sistema da caixa acusa erro porque o n. de dias tem que ser maior igual a 02 e menor igual a 90.

Aguardo retorno.

Desde já muito obrigado.

 

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Estou com um problema no codigo do cedente caixa SIGCB.

Codigo Cedente = 766529
Agencia = 0782
Codigo Cedente gerado teria que ser 0782/766529-D
Esta gerando 0782/000766529-D e esta incluindo OS 3 ZEROS NA LINHA DIGITAVEL E NO CODIGO DE BARRAS, invalidando o cedente.

Alguem pode me ajudar?

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

O IndiceBanco é usado quando é feita integração com o ACBrMonitorPlus, se você usa o componente deve setar o banco no TipoCobranca.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...

Pessoal, boa tarde,

Gerei o arquivo de remessa da caixa e enviei para teste me retornaram o seguinte erro abaixo.

Segue análise:
 

Segmento P

36.3P Código p/ Protesto Código para Protesto 221 221 1 - Num C026
Conteudo Atual:3
Obs:Favor escolher entre protesto ou devolução.
38.3P Código p/ Baixa/Devolução Código para Baixa/Devolução 224 224 1
Conteudo Atual:2

Boleto

Agência / Código Beneficiário
Conteudo Atual:0161/6575226-4
Conteudo Esperado:0161/657522-6 (este erro já consegui resolver)

mandei uma mensagem para o suporte e me responderam:

"deve  escolher o prazo do boleto para expirar, ou seja o prazo de validade deste boleto

Protesto vai a cartório automaticamente e devolução o boleto apenas expira e perde a validade.

mas precisa escolher o prazo que é de 5 a 90 dias"

Agora eu não sei como casar estes campos solicitados.

vou mandar os arquivos em anexo da remessa e do boletos.

Se alguém pode me ajudar.

 

CAIXA_REMESSA_NRO_6_10-07-2017_14-11-09.TXT

CAIXA_BOLETOS_PDF_REMESSA_NRO_6_10-07-2017_14-03-14.pdf

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Tente utilizar a propriedade DataBaixa para informar quando o titulo deverá ser baixado.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Boa tarde

Isso mesmo, colocando a dataBaixa com o valor maior que a data de vencimento, o arquivo remessa gerado, no campo 224 - 224, irá gerar com 1 --> O boleto será baixado sem protesto, apenas perdendo a validade.

Caso o boleto deva ir para protesto, não informar essa dataBaixa e informar a dataProtesto + prazo de protesto, conforme manual:

Número de Dias para Protesto Número de dias decorrentes após a data de vencimento para inicialização do processo de cobrança via protesto. Pode ser de 02 a 90 dias, sendo:

 
De 02 a 05 = dias úteis  Acima de 05 = dias corridos
 
Caso informado menor que ‘02’, será considerado ‘02’

Acima de 05 = dias corridos

Caso informado menor que ‘02’, será considerado ‘02’.

Caso informado maior que ‘90’, será considerado ‘90’.

BP Rossetti Serviços de Informática

[email protected]

www.bprossetti.com.br

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
Em 10/07/2017 at 15:23, GONDIM disse:

Pessoal, boa tarde,

Gerei o arquivo de remessa da caixa e enviei para teste me retornaram o seguinte erro abaixo.

Segue análise:
 

Segmento P

36.3P Código p/ Protesto Código para Protesto 221 221 1 - Num C026
Conteudo Atual:3
Obs:Favor escolher entre protesto ou devolução.
38.3P Código p/ Baixa/Devolução Código para Baixa/Devolução 224 224 1
Conteudo Atual:2

Boleto

Agência / Código Beneficiário
Conteudo Atual:0161/6575226-4
Conteudo Esperado:0161/657522-6 (este erro já consegui resolver)

mandei uma mensagem para o suporte e me responderam:

"deve  escolher o prazo do boleto para expirar, ou seja o prazo de validade deste boleto

Protesto vai a cartório automaticamente e devolução o boleto apenas expira e perde a validade.

mas precisa escolher o prazo que é de 5 a 90 dias"

Agora eu não sei como casar estes campos solicitados.

vou mandar os arquivos em anexo da remessa e do boletos.

Se alguém pode me ajudar.

 

CAIXA_REMESSA_NRO_6_10-07-2017_14-11-09.TXT

CAIXA_BOLETOS_PDF_REMESSA_NRO_6_10-07-2017_14-03-14.pdf

Como você resolveu seu caso? Você esta usando o boletoNet ? Se sim, onde você alterou? Obrigado

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Bom dia,  vou te mandar meu código, já deu certo. O erro é porque você tem que preencher ou a data do protesto ou a data da baixa da uma olhada abaixo. Espero ter ajudado.

Citar

Quer postar código favor anexar senão o post fica ruim pra ser lido

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2408 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.