Ir para conteúdo
  • Cadastre-se

dev botao

Cálculo do DV do Nosso Número - SICOOB


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

Recommended Posts

Bom dia!

Estamos homologando a remessa do Banco Sicoob, nos deparamos com a falha no cálculo do digito verificador.

O Banco solicitou que o calculo seja feita conforme a documentação em anexo. Estou colocando-a por extenso também, existe algum parâmetro especifico para gerar dessa forma:

 

 

 

Número da Cooperativa        9(4)

Número do Cliente            9(10)

Nosso Número                 9(7)

 

Constante para cálculo       = 3791

 

      Concatenar na seqüência completando com zero à esquerda.

Ex.:

     

      Número da Cooperativa   = 0001

      Número do Cliente       = 1-9

      Nosso Número            = 21

 

      000100000000190000021

 

Alinhar a constante com a seqüência repetindo de traz para frente.

Ex.:

 

      000100000000190000021

      319731973197319731973

 

Multiplicar cada componente da seqüência com o seu correspondente da constante e somar os resultados.

Ex.:

     

      1*7 + 1*3 + 9*1 + 2*7 + 1*3 = 36

 

Calcular o Resto através do Módulo 11.

Ex.:

 

      36/11 = 3

      Resto = 3

 

O resto da divisão deverá ser subtraído de 11 achando assim o DV (Se o Resto for igual a 0 ou 1 então o DV é igual a 0).

Ex.:

 

      11 – 3 = 8

 

Nosso Número + DV = 21-8

 

 

2. Montagem dos dados do código de barras:

 

O Código de Barras para a cobrança contém 44 posições dispostas da seguinte forma:

 

POSIÇÃO

TAMANHO

CONTEÚDO

01 a 03

04

05

06 a 09

10 a 19

20 a 20

21 a 24

25 a 26

27 a 33

34 a 41

42 a 44

3

1

1

4

10

01

04

2

7

8

3

Identificação do Banco

Código de moeda

Dígito verificador do Código de Barras

Fator de Vencimento

Valor Nominal do Documento

Código da carteira

Código da Cooperativa

Modalidade

Código do Cliente

Número do Título

Número da Parcela

 

 

Para o cálculo do dígito, proceder da seguinte forma:

 

Calcular através do módulo 11, com peso de 2 a 9.

Exemplo:

 

Para calcular o dígito, considerar 43 posições, sendo:

Da posição 1 a 4 e da posição 6 a 44.

 
 

¬           ìndice de multiplicação

¬        multiplicaçãommulmultiplica

multiplicação

 

 

 

 

 

237

9

6

00000000172513

1742

75

77

413240464

5978200

3

432

9

 

87654329876543

2987

65

43

298765432

9876543

2

           
 
 
   
 
   


                                               Divisão ® 797 ½  11

 

                                                          027   72

                                                          05

 

                                                                            Subtração ® 11 – 5 = 6

 

·         Primeiro dígito da direita para a esquerda será multiplicado por 2, o segundo por 3 e assim sucessivamente;

 

·         Os resultados das multiplicações devem ser somados;

 

·         Total da soma deverá ser dividido por 11;

 

·         Resto da divisão deverá ser subtraído de 11;

 

Se o resultado da subtração for igual a 0 (zero), 1 (um) ou maior que 9 (nove) deverão assumir o dígito igual a 1 (um);

Se não, o resultado da subtração será o próprio dígito.

 

 

Cálculo do DV do Nosso Número e Montagem dos dados do código de barras.pdf

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

  • Administradores

Boa tarde.

Em 20/09/2016 at 09:04, gilbas disse:

Estamos homologando a remessa do Banco Sicoob, nos deparamos com a falha no cálculo do digito verificador

Qual foi o valor correto indicado pelo banco? Favor fornecer os valores informados ao componente.

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 ano depois...

Boa tarde!

Tive um problema no Sicoob relacionado ao dv do nosso número. O Sicoob parece não verificar se o dv está correto na remessa, logo do jeito que está passa, mas de acordo com o manual, até foi postado o trecho aqui pelo autor do tópico, Se o Resto for igual a 0 ou 1 então o DV é igual a 0, porém no código do a condição verifica apenas se for maior que nove põe zero. Há um comentário no próprio trecho alertando pra colocar 0 quando der 0 ou 1.

function TACBrBancoob.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo ): String;

...

   //(Se o Resto for igual a 0 ou 1 então o DV é igual a 0)
   if (digito > 9) then  
      digito := 0;

...

Eu percebi isso por que tive clientes que o sicoob aceitou o registro da remessa, mas ao pagarem o título o mesmo não constou no retorno, e veio no extrato o nosso número do boleto informando título não localizado. Como eu emito os boletos no sistema usando o gbBoleto ainda, ele gerou com o dv correto, mas o registro foi incorreto para esses casos, logo deu divergência entre eles.

Eu não usava o ACBr ainda, mas com a obrigação de registro dos boletos fiz o programa separadamente só para registro usando ao ACBr, como o cálculo do DV divergiu percebi o problema. Provavelmente quem usa o ACBr para emitir os boletos e registrar não enfrentará problema, pois mesmo não estando correto o dv, me parece que o Sicoob não o valida, então aceita. Mas pra quem emite usando outro componente ou emite na web usando outras fontes pode haver essa divergência.

Link para o comentário
Compartilhar em outros sites

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