Ir para conteúdo
  • Cadastre-se

dev botao

Código Mora/Juros não permitido para BB


leotelles
Ver Solução Respondido por Juliana Tamizou,
  • Este tópico foi criado há 2508 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia. Um de nossos clientes que emitem boleto pelo Banco do Brasil está tendo problemas ao tentar imprimir os boletos quando ele não informa valor de juros diários, ou seja, quando o campo ValorMoraJuros recebe zero.

Ao tentar imprimir, o sistema reporta a seguinte mensagem: "Código de Mora/Juros informado não é permitido para este banco!".

Verificando o manual do Banco do Brasil (layout 240), vimos que a posição referente ao código de mora/juros é a 118 do segmento P. Segundo o manual, esta posição aceita os seguintes valores:

1 - Valor por Dia
2 - Taxa Mensal 
3 - Isento

No método GerarRegistroTransacao240 da unit ACBrBancoBrasil temos o seguinte:
IfThen(ValorMoraJuros > 0, '1', '3') + // 118 - Código de juros de mora: Valor por dia

Analisando a linha acima, concluímos que se for informado um valor para os juros, a posição 118 vai receber "1", senão vai receber "3". Ambos (1 e 3) são valores aceitos, de acordo com o manual.

No método TACBrBancoClass.create da unit ACBrBoleto temos o seguinte:
fpCodigosMoraAceitos := '12';

Logo, para todos os bancos, os valores aceitos são: 1 e 2. Como o sistema está tentando passar "3" para esse campo, a mensagem de erro relatada pelo cliente está sendo exibida.

A solução que encontramos foi acrescentar o valor "3" no campo fpCodigosMoraAceitos, mas apenas na implementação que há na unit ACBrBancoBrasil. Dessa maneira.

constructor TACBrBancoBrasil.create(AOwner: TACBrBanco);
begin
   inherited create(AOwner);
   fpDigito := 9;
   fpNome   := 'Banco do Brasil';
   fpNumero := 001;
   fpTamanhoMaximoNossoNum := 0;
   fpTamanhoConta   := 12;
   fpTamanhoAgencia := 4;
   fpTamanhoCarteira:= 2;
   fpCodigosMoraAceitos := '123';
end;

Segue em anexo a unit alterada para análise.

ACBrBancoBrasil.pas

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

  • Administradores
  • Solution

Bom dia.

Alteração disponível no svn, obrigada :) 

Att.

  • 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. Após a solução do problema acima (que identificamos na unit do Banco do Brasil), resolvemos testar se o mesmo problema acontece nos outros bancos que nossos clientes utilizam. Verificamos que os seguintes bancos apresentam o mesmo problema: Bradesco, Caixa Econômica Federal, Itaú e Santander.

Segue em anexo as units alteradas respeitando as particularidades de cada banco, segundo os manuais.

Obs1: não analisamos todos os bancos suportados pelo ACBrBoleto, mas apenas os que os nossos clientes utilizam atualmente. Peço, por gentileza, que as units em anexo sejam analisadas e que alguém se disponha a verificar os demais bancos.

Obs2: verifiquei também o banco Sicoob e o mesmo não apresenta o problema.

ACBrBancoBradesco.pas

ACBrBancoCaixa.pas

ACBrBancoItau.pas

ACBrBancoSantander.pas

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

  • Administradores

Boa tarde.

Não consegui identificar no manual do Bradesco disponível no svn a identificação dos códigos aceitos para o mesmo, por favor indicar as páginas dos manuais onde podemos encontrar 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

Bom dia, Juliana.

Banco: Caixa Econômica Federal
Layout: 240
Página do Manual: 12
Segmento: P
Campo: 27.3P
Descrição: Código do Juros de Mora
Posição: 118 - 118
*C018 (pág. 31)
Código do Juros de Mora
Código adotado pela FEBRABAN para identificação do tipo de pagamento de juros de mora.
1 = Valor por Dia
2 = Taxa Mensal
3 = Isento
4 = Acata cadastramento na CAIXA

Banco: Santander
Layout: 240
Página do Manual: 3
Segmento: P
Posição: 118 - 118
Descrição: Código do juros de mora
Nota 21: CODIGO DE MORA (pág. 21)
1 = Valor por dia - Informar no campo o valor/dia a mora a ser cobrada.
2 = Taxa Mensal - Informar no campo taxa mensal o percentual a ser aplicado sobre valor do titulo que será calculado por
dia de atraso.
3 = Isento
4 = Utilizar comissão permanência do Banco por dia de atraso
5 = Tolerância valor por dia (cobrar juros a partir de)
6 = Tolerância taxa mensal (cobrar juros a partir de)
* Para o código igual 4, o campo “taxa mensal” não deverá conter informação.

Em relação aos bancos Bradesco e Itaú (ambos layout 400), eu também não consegui encontrar nos manuais a informação sobre os valores que são aceitos para esse campo referente ao código de mora/juros, mas, nos testes que realizamos aqui, ocorreu o erro que eu apontei nessa postagem, ou seja, quando o valor de juros está zerado é exibida a mensagem de erro: "Código de Mora/Juros informado não é permitido para este banco!". Acrescentei o valor '3' no campo fpCodigosMoraAceitos (que antes só recebia os valores '1' e '2') e deu certo. Portanto, concluímos que o valor '3' é aceito por estes bancos e que o valor '3' representa o caso "Isento", ou seja, quando o valor de juros está zerado. Como não consegui encontrar as informações nos manuais, apenas acrescentei o '3' mesmo.

Obs: segue em anexo a unit da Caixa atualizada, com as alterações feitas segundo o manual. De acordo com o manual do svn, os valores aceitos são: 1, 2, 3 e 4. Como eu analisei um manual desatualizado, acabei passando apenas os valores 1, 2 e 3 para o campo fpCodigosMoraAceitos. Peço desculpas por este equívoco.

ACBrBancoCaixa.pas

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Em relação aos bancos Itau e Bradesco, observei que em nenhum registro o Código de Mora é uitlizado, por este motivo não entendi a necessidade desta mudança.

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. A mudança é necessária nos casos onde o usuário não informa valor de juros. Se o campo referente ao valor do juros estiver zerado, ao tentar imprimir boletos ou gerar arquivos de remessa, o sistema reporta o seguinte erro: "Código de Mora/Juros informado não é permitido para este banco!". Isso acontece em ambos os bancos (Itaú e Bradesco).

Diante desse erro, acrescentei o valor '3' (que "teoricamente" seria isento de juros) nas units do Itaú e Bradesco. Após essa mudança, o erro deixou de ocorrer.

Eu confesso que não consegui compreender porque o erro ocorre, sendo que, como você disse, Juliana, o Código de Mora não é utilizado nesses dois bancos. Mas o fato é que uma mensagem de erro é exibida caso o valor de juros seja zero e o campo fpCodigosMoraAceitos não contenha o valor '3'.

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...

Caros, 

Recebi o seguinte retorno do Banco do Brasil:

Citar

Conforme solicitado, para juros é necessário informar:

Posição 118 - '2' (taxa mensal), que conforme informado será 0,33% ao dia X 30 dias = Taxa mensal de aproximadamente 10% ao mês.
Posições 119 a 126: Informar data vencimento título.
Posições 127 a 141: '000000000001000' (que corresponde a uma taxa mensal de 10%).

Houve um erro na hora de informar, e era para ser 0,033. Porém o retorno deles ainda é válido. ou seja, teoricamente eu deveria informar 2 se quiser uma taxa diária de 0,033 (ou 1% ao mês). Dados do Convênio:   

------------------------ Detalhamento do Convenio ----------------------------
Agencia       :       0999 9                                      
Beneficiario  :      99999 0         
Cart/Variacao :     17/019 SIMPLES COM REGISTRO                               
Tipo Convenio :          4 Cliente: Numera, emite e expede                    
Situacao      :          1 Normal com retorno                                 
Nr.Convenio   :    9999999               Nr.Conv.Lider   : 99999999            
Tipo Ret.Lider:          6 CNAB240 - Ger.Financ./Mainf-Mainf   

Verificando o ACBrBancoBrasil.pas só verifica se valor de juro informado for maior que 0, vai atribuir 1 para campo 118, caso contrário atribui 3.

Existe alguma forma de atender as especificações do banco? 

Pois o valor vai ser percentual, já que o valor do título é variável, e assim não tem como cobrar um valor fixo.

 

Link para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
Em 2016-12-8 at 14:29, Marcos Aurélio Vieira disse:

Caros, 

Recebi o seguinte retorno do Banco do Brasil:

Houve um erro na hora de informar, e era para ser 0,033. Porém o retorno deles ainda é válido. ou seja, teoricamente eu deveria informar 2 se quiser uma taxa diária de 0,033 (ou 1% ao mês). Dados do Convênio:   

------------------------ Detalhamento do Convenio ----------------------------
Agencia       :       0999 9                                      
Beneficiario  :      99999 0         
Cart/Variacao :     17/019 SIMPLES COM REGISTRO                               
Tipo Convenio :          4 Cliente: Numera, emite e expede                    
Situacao      :          1 Normal com retorno                                 
Nr.Convenio   :    9999999               Nr.Conv.Lider   : 99999999            
Tipo Ret.Lider:          6 CNAB240 - Ger.Financ./Mainf-Mainf   

Verificando o ACBrBancoBrasil.pas só verifica se valor de juro informado for maior que 0, vai atribuir 1 para campo 118, caso contrário atribui 3.

Existe alguma forma de atender as especificações do banco? 

Pois o valor vai ser percentual, já que o valor do título é variável, e assim não tem como cobrar um valor fixo.

 

Acredito que o banco quis dizer é que vc deve informar nas posições 127 a 141 o valor da taxa por dia, embora esteja informando "2" na posição 118.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2508 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.

The popup will be closed in 10 segundos...