Ir para conteúdo
  • Cadastre-se

dev botao

Daycoval - CNAB 400 - Registro de Transação


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

Recommended Posts

Boa tarde,

Na função GerarRegistroTransacao400, é informado nas posições 2 e 3 o Tipo de Inscrição da Empresa. Porém no código está da seguinte forma (linha 507):

TipoSacado + // 2 a 3 - Tipo de inscrição da empresa: 01 = CPF; 02 = CNPJ

Porém esta mesma varável é utilizada na linha 532:

TipoSacado +                                                 // 219 a 220 - Tipo de inscrição do sacado: 01 – CPF; 02 – CGC

Na primeira menção não deveria ir o Tipo de Inscrição do Cedente?

Algo do tipo:

    case ACBrBoleto.Cedente.TipoInscricao of
      pFisica  : TipoCedente := '01';
      pJuridica: TipoCedente := '02';
    end;

    ...

    TipoCedente +                                                // 2 a 3 - Tipo de inscrição da empresa: 01 = CPF; 02 = CNPJ

 

 

Outra coisa, no layout informa que o tamanho máximo do nosso número é 8 caracteres, porém na linha 280 está configurado:

fpTamanhoMaximoNossoNum := 10;

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

É um pouco estranho pois não tivemos relatos de necessidade de correção desses casos, para ficar mais claro a necessidade...quais problemas vc teve com a implementação atual?

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

Bom dia.

Com relação ao problema com o sacado ocorreu que ao enviar uma remessa onde o tipo de inscrição da empresa era CNPJ, como nas duas posições estão sendo preenchidas com o a mesma variável, quando o sacado era CPF, mudava também o tipo de inscrição do sacador. Sendo que o tipo do inscrição do sacador deve permanecer a mesma em todos os registros.

Em relação ao tamanho máximo do nosso número foi apenas uma observação. Estava analisando o arquivo para verificar o motivo da inconsistência acima e vi essa propriedade. Não tive problemas a respeito. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Criamos em nosso backlog a TK-2006 para analise do caso.

At.

  • Curtir 1
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,

Somente mais uma observação em relação ao tamanho do nosso número estar com 10 caracteres. Hoje estava processando o primeiro retorno do banco e vi que no layout de retorno o nosso número possui 10 caracteres (apesar de que na remessa são apenas 8).

Desta forma, não é necessário fazer nenhuma alteração em relação a isto.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

referente ao TipoSacado existe uma função que irá abastecer essa variável

unknown.png

depois é utilizado a variável na geração do registro 400

unknown.png

 

ao meu ver está tudo coerente

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

Boa tarde.

O problema não está na utilização deste na posição 219 a 220, mas sim na posição 2 a 3 do mesmo registro. Visto que o Sacado e o Sacador podem ter tipos de inscrição diferentes.

Por isso que acredito que na posição referente ao cedente (2 e 3) deveria ser utilizada outra variável, e ela seria calculada de forma semelhante ao código utilizado para o Sacado.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores
Em 25/10/2021 at 14:53, Filipe Martins disse:

Boa tarde.

O problema não está na utilização deste na posição 219 a 220, mas sim na posição 2 a 3 do mesmo registro. Visto que o Sacado e o Sacador podem ter tipos de inscrição diferentes.

Por isso que acredito que na posição referente ao cedente (2 e 3) deveria ser utilizada outra variável, e ela seria calculada de forma semelhante ao código utilizado para o Sacado.

Boa noite,

Verifique e valide junto ao banco se as remessas estão corretas agora por favor;

 

Obrigado

ACBrBancoDaycoval.pas

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

Bom dia, 

Obrigado pelo retorno.

 

Ainda não recebi retorno do banco, mas creio que ainda não está totalmente correto. Se eu estiver enganado por favor me diga.

 

No bloco abaixo (linha 475):

    case ACBrBoleto.Cedente.ResponEmissao of
      tbBancoEmite : CPFCNPJ := Sacado.CNPJCPF;
    else
      CPFCNPJ := ACBrBoleto.Cedente.CNPJCPF;
    end;

    // Definindo o tipo de inscrição do cedente.
    case Length(OnlyNumber(ACBrBoleto.Cedente.CNPJCPF)) of
      11 :
        begin
          if ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite then
            TipoCedente := '03'  //CPF Sacado
          else
            TipoCedente := '01'; // CPF Cedente
        end;
      14:
        begin
          if ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite then
            TipoCedente := '04' // CNPJ Sacado
          else
            TipoCedente := '02'; // CNPJ Cedente
        end;
    else
      TipoCedente := '02';
    end;

Ainda está sendo utilizado os dados do Sacado (quem irá pagar o boleto), linha 476, e não do Sacador (quem irá receber).

O layout diz:

Código de Inscrição: Identificação do tipo de inscrição da empresa (Posição 002 e 003)

Valores:
01-CPF do cedente
02-CNPJ do cedente
03-CPF do Sacador
04-CNPJ Sacador

e Número de Inscrição: Número de inscrição da empresa (CNPJ/CPF) ou do Sacador (Posição 004 a 017).

 

Não sei o que eles consideram a diferença de CPF/CNPJ do Cedente e CPF/CNPJ do Sacador (para mim Cedente e o Sacador são a mesma pessoa), mas ainda sim não são a mesma pessoa do Sacado.

Para mim, o correto seria:

    CPFCNPJ := ACBrBoleto.Cedente.CNPJCPF;

    // Definindo o tipo de inscrição do cedente.
    case Length(OnlyNumber(ACBrBoleto.Cedente.CNPJCPF)) of
      11 : TipoCedente := '01'; // CPF Cedente
      14 : TipoCedente := '02'; // CNPJ Cedente
    else
      TipoCedente := '02';
    end;

 

At.

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

  • Consultores
1 hora atrás, Filipe Martins disse:

Bom dia, 

Obrigado pelo retorno.

 

Ainda não recebi retorno do banco, mas creio que ainda não está totalmente correto. Se eu estiver enganado por favor me diga.

 

No bloco abaixo (linha 475):

    case ACBrBoleto.Cedente.ResponEmissao of
      tbBancoEmite : CPFCNPJ := Sacado.CNPJCPF;
    else
      CPFCNPJ := ACBrBoleto.Cedente.CNPJCPF;
    end;

    // Definindo o tipo de inscrição do cedente.
    case Length(OnlyNumber(ACBrBoleto.Cedente.CNPJCPF)) of
      11 :
        begin
          if ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite then
            TipoCedente := '03'  //CPF Sacado
          else
            TipoCedente := '01'; // CPF Cedente
        end;
      14:
        begin
          if ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite then
            TipoCedente := '04' // CNPJ Sacado
          else
            TipoCedente := '02'; // CNPJ Cedente
        end;
    else
      TipoCedente := '02';
    end;

Ainda está sendo utilizado os dados do Sacado (quem irá pagar o boleto), linha 476, e não do Sacador (quem irá receber).

O layout diz:

Código de Inscrição: Identificação do tipo de inscrição da empresa (Posição 002 e 003)

Valores:
01-CPF do cedente
02-CNPJ do cedente
03-CPF do Sacador
04-CNPJ Sacador

e Número de Inscrição: Número de inscrição da empresa (CNPJ/CPF) ou do Sacador (Posição 004 a 017).

 

Não sei o que eles consideram a diferença de CPF/CNPJ do Cedente e CPF/CNPJ do Sacador (para mim Cedente e o Sacador são a mesma pessoa), mas ainda sim não são a mesma pessoa do Sacado.

Para mim, o correto seria:

    CPFCNPJ := ACBrBoleto.Cedente.CNPJCPF;

    // Definindo o tipo de inscrição do cedente.
    case Length(OnlyNumber(ACBrBoleto.Cedente.CNPJCPF)) of
      11 : TipoCedente := '01'; // CPF Cedente
      14 : TipoCedente := '02'; // CNPJ Cedente
    else
      TipoCedente := '02';
    end;

 

At.

Boa tarde,

consegue tirar essa dúvida junto ao banco?

No caso que te enviei, se a responsabilidade pela emissão for por conta do banco, utilizar valor 03 ou 04, conforme a anotação do manual.

image.png

image.png

 

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

Estou tentando contato, porém até o momento não consegui contato com o suporte técnico, apenas redirecionamentos sem resultado. Assim que conseguir algum retorno eu respondo aqui.

Eu entendi a questão do 03 e 04, mas eles não seriam referentes ao Sacador (Beneficiário)? No código está se referindo o Sacado (Pagador), ou neste caso Sacador e Sacado são a mesma pessoa?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Consultores

Tópico fechado por falta de retorno do usuário

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 844 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.