whatsapp
        

Cálculo do Nosso Número no boleto BANCOOB / SICOOB PHP (Corrigido)
Solução definitiva para quem está com problemas em gerar o NossoNumero para o boleto do Bancoob / Sicoob. Inicialmente utilizamos como base o script do projeto BoletoPHP


Quinta, 09 de março de 2017

Inicialmente utilizamos como base o script do projeto BoletoPHP (neste site tem vários códigos prontos de geração de boletos em PHP para vários bancos), porém, provável que o Bancoob / Sicoob mudou algo nos seus parâmetros e o código não funciona mais. Já enviamos a correção ao projeto do BoletoPHP mas parece que não foi postado.

Segue abaixo a fórmula correta para o cálculo:

 

if(!function_exists(formata_numdoc))
{
function formata_numdoc($num,$tamanho)
{
while(strlen($num)<$tamanho)
{
$num="0".$num;
}
return $num;
}
}

$NossoNumero = formata_numdoc(12345,7); // At� 7 d�gitos, n�mero sequencial iniciado em 1 (Ex.: 1, 2...)
$qtde_nosso_numero = strlen($NossoNumero);
$sequencia = formata_numdoc($agencia,4).formata_numdoc(str_replace("-","",$num_contrato_con),10).formata_numdoc($NossoNumero,7);
$cont=0;
for($num=0;$num<=strlen($sequencia);$num++)
{
$cont++;
if($cont == 1)
{
$constante = 3;
}
if($cont == 2)
{
$constante = 1;
}
if($cont == 3)
{
$constante = 9;
}
if($cont == 4)
{
$constante = 7;
$cont = 0;
}
$calculoDv = $calculoDv + (substr($sequencia,$num,1) * $constante);
}

$Resto = $calculoDv % 11;
if($Resto == 0 || $Resto == 1)
{
$Dv = 0;
}
else
{
$Dv = 11 - $Resto;
}

$dadosboleto["nosso_numero"] = $NossoNumero . $Dv;
 

Depois que você fizer os ajustes em seu código, poderá testar se seu boleto está sendo gerado corretamente usando a planilha do Sicoob / Bancoob.

Em anexo logo abaixo tem download do código completo do boleto e a planilha de testes para download.

 

Clique para ampliar
Informe seus dados bancários, número de conta, agência, etc.
 

 

Clique para ampliar
Logo após, no canto superior esquerdo da planilha (07. Pré-homologação de Boletos), informe os dados gerados pelo seu boleto e a planilha lhe dará o resultado se está correto ou não.
 

Arquivos remessa p/ bancos

E se você procura geração de arquivo remessa para bancos, acesse este site: RemessaPHP

Grande abraço.

Samuel de L. Hantschel
Samuca Webdesign

PS: Obrigado ao Murillo Vasconcelos H. B. Castro pela colaboração na correção do dígito verificador =) 

Agradeço também ao Moises Coffani pela contribuição com a carteira registrada (em anexo neste artigo).


Comente






Conteúdo relacionado




Inicial   •   Sobre nós   •   ★ E-book Gratuito   •   ★ Curso Completo PHP   •   Artigos   •   Vídeos   •   Contato
        

© Copyright 2024 - Webdesigner 10k - CNPJ: 21.996.737/0001-86
by SAMUCA