Ir para conteúdo
  • Cadastre-se

dev botao

Hsbc - Cnab 400


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

Recommended Posts

Alguém com o arquivo do HSBC - cobrança simples no padrão cnab400? para mim  já verifiquei erro no campo conta corrente (desacordo com a nota explicativa 1) e no campo nosso numero que está saindo maior do que o especificado.

 

Nota explativa:  composto pelo código da agência onde o Cliente mantém conta corrente, e pelo respectivo número da conta utilizada para a Cobrança.

Exemplo: Agência 4321; Conta 56789-00

Campo Conta Corrente então será: 43215678900
Editado por milago
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa noite.

 

Seu arquivo remessa foi rejeitado pelo banco?

 

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

Como esta em desacordo com o manual que me enviaram para desenvolvimento nem enviei para homologação. Até observei que o Header e o Trailler estão com 400 posições. Mas o detalhe está com apenas 393. Exclui toda pasta boleto e baixei novamente antes de fazer novo teste.

Se puderem disponibilizar o layout que foi utilizado para desenvolvimento do componente, pois o enviado pelo hsbc não bate com o do arquivo gerado.

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

  • Administradores

Boa tarde.

 

Os manuais utilizados no desenvolvimento do componente também estão no svn.

 

svn.code.sf.net/p/acbr/code/tools/Bancos.

 

 

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

As informações que passei no primeiro post constam também na versão que está ali, embora ela esteja desatualizada: Nosso numero com 11 posições e Conta corrente sendo a junção da agencia e conta conforme nota explicativa 1 do manual.

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

  • Administradores

Boa noite.

 

A versão desatualizada é a que está no svn? Neste caso, favor anexar aqui o novo manual.

 

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

Este é o arquivo atualizado em maio de 2014.

Algumas alterações que fiz e que adequaram o layout:

 

1 - Existem diversas clausulas if que testam a carteira como '1' mas o componente formata para '001' então mudei p não acontecer isso.

2 - Na cobrança simples é o banco que preenche o nosso numero devendo ficar tudo zerado (pag 25, nota explicativa 3)

3 - Aqui está um problema um pouco maior. Todas as instruções de descontos estão sendo preenchidas com as mesmas informações (desconto 1, 2 e 3).

 

Estou enviando para validação com estas alterações

HSBC cob400_jan.pdf

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

  • Administradores

Boa noite.

 

Quando tiver o retorno do banco, por favor nos retorne.

 

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

  • 1 mês depois ...

Ola todos!

Estou tentando homologar a remessa para o HSBC com CNAB-400, mas a implementação em

 

TACBrBancoHSBC.GerarRegistroTransacao400():

 
 wLinha:= '1'                                                           + // ID Registro
                  '02'                                                          + //Código de Inscrição
                  padR(OnlyNumber(Cedente.CNPJCPF),14,'0')                      + //Número de inscrição do Cliente (CPF/CNPJ)
                  '0'                                                           + // Zero
                  padR(OnlyNumber(Cedente.Agencia), 4, '0')                     + // Agencia cedente
                 '55'                                                           + // Sub-Conta
                  padR(OnlyNumber(Cedente.Conta)+Cedente.ContaDigito, 11, '0')  +
                  padL('',2,' ')                                                + // uso banco
                  padL( SeuNumero,25,' ')                                       + // Numero de Controle do Participante
 

parece não estar de acordo com o manual: LAYOUT TÉCNICO - VOLUME III - Ver. Ago/2013, as posições:

1- 004 até 013 tam: 010 Numérico. Código fornecido pela agência beneficiário na contratação Brancos Complemento do tamanho do registro
2- 014 até 037 tam: 024 Espaços Zeros Complemento do tamanho do registro
3- 038 até 040 tam: 003 Numérico igual a “000”
Editado por APO
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

 

 

Ola todos!

Estou tentando homologar a remessa para o HSBC com CNAB-400, mas a implementação em

 

TACBrBancoHSBC.GerarRegistroTransacao400():

 
 wLinha:= '1'                                                           + // ID Registro
                  '02'                                                          + //Código de Inscrição
                  padR(OnlyNumber(Cedente.CNPJCPF),14,'0')                      + //Número de inscrição do Cliente (CPF/CNPJ)
                  '0'                                                           + // Zero
                  padR(OnlyNumber(Cedente.Agencia), 4, '0')                     + // Agencia cedente
                 '55'                                                           + // Sub-Conta
                  padR(OnlyNumber(Cedente.Conta)+Cedente.ContaDigito, 11, '0')  +
                  padL('',2,' ')                                                + // uso banco
                  padL( SeuNumero,25,' ')                                       + // Numero de Controle do Participante
 

parece não estar de acordo com o manual: LAYOUT TÉCNICO - VOLUME III - Ver. Ago/2013, as posições:

1- 004 até 013 tam: 010 Numérico. Código fornecido pela agência beneficiário na contratação Brancos Complemento do tamanho do registro
2- 014 até 037 tam: 024 Espaços Zeros Complemento do tamanho do registro
3- 038 até 040 tam: 003 Numérico igual a “000”

 

 

AS orientações citadas por você são referentes a cobrança Sem Registro, a implementação atual está contemplando somente a Cobrança Registrada. Você sabe dizer como podemos diferenciar a cobrança registrada da cobrança sem registro? Pela carteira ou algo semelhante?

 

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

  • 4 semanas depois ...

Bom dia pessoal,

O meu fonte modificado usando a carteira 'CSB' Cobranca Registrada está funcionando.

Eles estão usando uma parte de prefixo que é fornecida ao cliente do banco.

 

 

Estou corrigindo agora para usar a carteira CNR

 

 

Segue fonte da modificação doCSB:


function TACBrBancoHSBC.MontarCodigoBarras ( const ACBrTitulo: TACBrTitulo) : String;
var
  Parte1, Parte2, CodigoBarras :String;
  ACarteira, ANossoNumero, DigitoCodBarras: String;
  tx1, tx2, tx3, tx4, tx5, tx6:string;


begin
   if (ACBrTitulo.Carteira = 'CSB') then ACarteira := '1'
   else if (ACBrTitulo.Carteira = 'CNR')then ACarteira := '2'
   else if (ACBrTitulo.Carteira <> '1') and  (ACBrTitulo.Carteira <> '2') then
      raise Exception.Create( ACBrStr('Carteira Inválida.'+sLineBreak+'Utilize "CSB", "CNR", "1" ou "2"') ) ;

   ANossoNumero := MontarCampoNossoNumero(ACBrTitulo);   // precisa passar nosso numero + digito

   with ACBrTitulo do
   begin
     // Luiz Baião - 2013.10.22

      Parte1 := IntToStr( ACBrBoleto.Banco.Numero ) + '9';

      {'CSB' Cobranca Registrada}
      if aCarteira = '1' then  begin
         tx1 :=  CalcularFatorVencimento(Vencimento);
         tx2 :=  IntToStrZero(Round(ValorDocumento * 100), 10);
         //tx3 :=  RightStr(padR(ANossoNumero, 13, '0'),11);
                                            //71870000035  Número original
//         tx3 :=  '5'+copy(ANossoNumero,1,4)+   // 57187     Prefixo
         tx3 :=  copy(ANossoNumero,1,5)+   // 57187     Prefixo
                 copy(ANossoNumero,6,7);   // 000035   NossoNúmero

         tx4 :=  padR(OnlyNumber(ACBrBoleto.Cedente.Agencia), 4, '0');
         tx5 :=  padR(OnlyNumber( inttostr(strtoint(ACBrBoleto.Cedente.Conta))), 5, '0');
        // tx6 :=  padR(ACBrBoleto.Cedente.ContaDigito,2,'0');
         tx6 := padR(ACBrBoleto.Cedente.ContaDigito,2,'0')+'001';
         Parte2 :=  tx1 + tx2 +  tx3 + tx4 + tx5 + tx6;
        {
         // Original ACBR
         Parte2 := CalcularFatorVencimento(Vencimento) +
                   IntToStrZero(Round(ValorDocumento * 100), 10) +
                   RightStr(padR(ANossoNumero, 13, '0'),11) +       // precisa passar nosso numero + digito
                   padR(OnlyNumber(ACBrBoleto.Cedente.Agencia), 4, '0') +
                   padR(OnlyNumber(ACBrBoleto.Cedente.Conta), 7, '0')+
                   padR(ACBrBoleto.Cedente.ContaDigito,2,'0');
          }
      end else begin   {'CNR' Cobranca Nao Registrada}

         Parte2 := CalcularFatorVencimento(Vencimento) +
                   IntToStrZero(Round(ValorDocumento * 100), 10) +
//                   padR(trim(ACBrBoleto.Cedente.CodigoCedente), 7, '0') +
                   padR(trim(ACBrBoleto.Cedente.CodigoCedente), 7, '0') + '0'+ 
                   padR(RightStr(NossoNumero, 13), 13, '0') +
                   DataToJuliano(Vencimento);
       end;

//      Parte2 := Parte2 + ACarteira;

      CodigoBarras    := Parte1 + Parte2;
      DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras);
  end;

  Result := Parte1 + DigitoCodBarras + Parte2;
end;
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde,

 

Favor anexar em seu post a unit alterada para análise.

 

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

  • 1 mês depois ...
  • Este tópico foi criado há 3179 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.