Gerador de Boleto Bancário Grátis

Este insteressante PHP desenvolvido por L. Maniezo permite gerar boletos do Banco do Brasil. Com algum trabalho é possível adaptar para outros bancos. O script pode ser a base de um sistema de geração de boletos. Quem possui algum conhecimento em PHP saberá alimentar este script com dados de uma base mysql com grande facilidade.

Baixe o arquivo: http://www.phpgratis.com.br/download/boleto.rar
ou aqui: http://www.maniezo.com.br/site/boleto/boleto.rar

Descompacte e grave os arquivos dessa classe em um diretório de sua escolha, só precisaremos configurar um arquivo que é o boleto.php. É só abrir e configurar seus dados conforme código abaixo (Este código é uma copia do arquivo boleto.php já existe la é só configurá-lo):

PHP:
  1. <p class="comando">&lt;?
  2. <span class="observacao">/*
  3. Dados do boleto - Obrigatórios
  4. */</span>
  5. $data_venc = date("d/m/Y", time() + (5 * 86400));
  6. $data = date("d/m/Y");
  7.  
  8. <p class="comando">$dadosboleto["data_vencimento"] = "$data_venc";<span class="observacao"> // Data de Vencimento</span>   $dadosboleto["data_documento"] = $data;<span class="observacao"> // Data de emissão do Boleto</span>
  9. $dadosboleto["data_processamento"] = ""; <span class="observacao">// Data de proc. (opcional)</span>
  10. $dadosboleto["valor_boleto"] = "1,00";<span class="observacao"> // Valor do Boleto, com vírgula, sempre com duas casas depois da virgula</span>
  11.  
  12. <p class="comando"><span class="observacao">//opcionais</span>
  13. $dadosboleto["quantidade"] = "10";
  14. $dadosboleto["valor_unitario"] = "10";
  15. $dadosboleto["aceite"] = "N";
  16. $dadosboleto["uso_banco"] = "";
  17. $dadosboleto["especie"] = "R$";
  18. $dadosboleto["especie_doc"] = "DM";
  19.  
  20. <p class="comando"><span class="observacao">//dados da sua conta e convênio</span>
  21. $dadosboleto["agencia"] = "9999"; // Num da agencia, sem digito
  22. $dadosboleto["conta"] = "9999"; // Num da conta, sem digito
  23. //convenio e contrato podem ser vistos no gerenciador financeiro do BB
  24. $dadosboleto["convenio"] = "999999"; // Num do convênio
  25. $dadosboleto["contrato"] = "999999"; // Num do seu contrato
  26.  
  27. <p class="observacao">/*
  28. FORMATAÇÃO DO NOSSO NÚMERO
  29. */
  30. <p class="comando">$dadosboleto["formatacao_nosso_numero"] = "1";</p>
  31.  
  32. <p class="observacao">/*
  33. #################################################
  34. Sei que isso funciona pra carteira 18....pras outras, deixe opção 1
  35. <p class="observacao">1 = Formatação gerada: Num do convenio + 5 digitos informados por você + digito verificador
  36. (neste caso, informe de 1 a 5 digitos somente)
  37. <p class="observacao">2 = para 17 digitos informados por você ( de 1 a 99999999999999999)</p>
  38. <p class="observacao">Se você não entendeu, deixe a opção            1 e informe até 5 digitos no nosso número</p>
  39. <p class="observacao">Nosso número:
  40. de 1 a 99999 para opção de 12 dígitos
  41. de 1 a 99999999999999999 para opção de 17 dígitos
  42. #################################################
  43. */
  44.  
  45. <p class="comando">$dadosboleto["nosso_numero"] = "95866";
  46. $dadosboleto["numero_documento"] = "95866"; // Num do pedido ou nosso numero
  47. $dadosboleto["carteira"] = "18"; // Código da Carteira 18 - 17 ou 11
  48. $dadosboleto["variacao_carteira"] = "-019"; // Variação da Carteira, com traço (opcional)
  49.  
  50. <p class="comando"><span class="observacao">/*
  51. SEUS DADOS
  52. */</span>
  53. $dadosboleto["cpf_cnpj"] = "000.000.000-00";
  54. $dadosboleto["endereco"] = "Rua souza dias";
  55. $dadosboleto["cidade"] = "São Paulo - SP";
  56. $dadosboleto["cedente"] = "Maniezo webdeveloper";
  57.  
  58. <p class="comando"><span class="observacao">/*
  59. DADOS DO SEU CLIENTE
  60. */</span>
  61. $dadosboleto["sacado"] = "Fulano da silva";
  62. $dadosboleto["endereco1"] = "Rua souza";
  63. $dadosboleto["endereco2"] = "São Paulo - SP - CEP: 000000-000";
  64.  
  65. <p class="comando"><span class="observacao">/*
  66. INSTRUÇÕES PARA O CLIENTE
  67. */</span>
  68. $dadosboleto["instrucoes"] = "Mensalidade referente a consultoria PHP bla bla - Projeto&lt;br&gt;Taxa bancária - R$ 2,00";
  69. $dadosboleto["instrucoes1"] = "Maniezo webdeveloper - Soluções em web - http://www.maniezo.com.br";
  70. $dadosboleto["instrucoes2"] = "- Sr. Caixa, cobrar multa de 2% após o vencimento";
  71. $dadosboleto["instrucoes3"] = "- Receber até 10 dias após o vencimento";
  72. $dadosboleto["instrucoes4"] = "- Em caso de dúvidas entre em contato conosco: webmaster@maniezo.com.br";
  73.  
  74. <span class="observacao">//SÓ MEXA DEPOIS DISSO SE VOCÊ FOR EXPERIENTE EM PHP</span>
  75. include("include/funcoesbb.php");
  76. include("include/layoutbbhtml_$banco.php");

Após configurado é so criar um link para o seu arquivo boleto.php de acordo com banco desejado levando na variável banco o nome do banco desejado.

Exemplos:

www.maniezo.com.br/site/boleto/boleto.php?banco=bradesco
www.maniezo.com.br/site/boleto/boleto.php?banco=itau
www.maniezo.com.br/site/boleto/boleto.php?banco=brasil
www.maniezo.com.br/site/boleto/boleto.php?banco=santander
www.maniezo.com.br/site/boleto/boleto.php?banco=unibanco
www.maniezo.com.br/site/boleto/boleto.php?banco=bbv

28 Responses to “Gerador de Boleto Bancário Grátis”

  1. Perfeito o sistema de boleto, um dos melhores que vi até hoje. Só o do Banco do Brasil que quebra na impressão no Firefox. Esse é um problema geral de alguns sistemas de boleto, no Ie 6 funciona e no FF a impressão quebra em 2 páginas.

  2. Ótimo sistema, só fazendo uma observação, se o register global estiver desligado é necessário colocar a linha:
    $banco = $_GET['banco']
    após a linha 76 ()

  3. Bom Dia!

    Este sistema requer o cadastro da pessoa no banco, com número da carteira e etc ??

    Obrigada.

  4. Danilo Alexandrino on May 28th, 2007 at 5:38 pm

    Meu caro,
    Você está de parabéns!!! Já vinha procurando por um código de boleto e encontrei vários mas nenhum igual ao seu! Muito obrigado por poder compartilhar é excelente o seu código!!!
    Muito sucesso pra você sempre!!!

  5. Não sei se ja passou por aqui, mas existe um projeto de boleto em PHP open source.
    http://www.boletophp.com.br/
    Tem vários bancos disponíveis. e não quebra no FF ;])

  6. Gostei do site

  7. Parabens, estou procurando um scripts que gera boleto para o BRB,

  8. como faz o codigo de baras referente ao valor.

  9. Ótimo, Excelente! Vc pode ter salvo o meu emprego!

  10. Marcelo Cajaíba on January 19th, 2008 at 10:48 am

    Legal mas está faltando as funções dos outros bancos né so tem do BB (banco do brasil) estou correto ?

  11. Marcelo Cajaíba on January 19th, 2008 at 11:33 am

    OUtra coisa cada boleto num tem um metodo diferente de ser gerado pois nesse ele usa o mesmo metodo para todos os layouts de boleto !

  12. tenho que ter um programa especifico pra configurar o boleto?

  13. Gostaria de saber como eu faço para o n$dadosboleto["numero_documento"] ser inserido e crescente no boleto, um numero diferente do outro.
    obrigado

  14. Poxa, meus parabéns pelo sistema. Foi o melhor sistema de geração de boletos que eu já vi. Com poucos minutos já consegui configurar para minhas necessidades!

    Respondendo a alguns comentários:

    * esse sistema aqui tem algumas funções baseadas no PHPBoleto, sendo muito superior.
    * pelo que eu entendi ele vem com o layout de vários bancos mas só gera a linha digitável correta para o BB (posso estar enganado, mas pelo menos o do BB funciona!)
    * essa historia de quebrar ou não no FireFox é por causa do texto, logo e etc que tem na parte superior do boleto. É só editar o layoutbbhtml_brasil.php (no caso do BB) e diminuir ou retirar aquele texto antes do boleto propriamente dito.

    Parabéns, foi um trabalho MUITO BOM!

  15. essas funçoes, so preciso criar a tabela com os campos no mysql.
    qual o nome da tabela e os campos.

  16. OTIMO, mas gostaria saber como devo fazer, após o cliente comprar um produto eu gero o boleto, mas devo estar registrado em cada banco? para ter permissao de gerar boleto? não entendo muito poderian-me ajudar?
    ou somente preciso gerar o boleto para o cliente? tenho que estar habilitado no banco?

  17. Olá, não entendo muito de PHP, e preciso muito de um gerador, pelo que vi nos comentários, esse funciona mesmo, mas como não sei como configurar, gostaria de receber algumas informações de como configurar.
    Abraços

  18. Olá.
    Gostaria de informações sobre como posso fazer boletos bancários com numeros diferentes… pois tenho que emitir para varias pessoas com o mesmo valor.
    Obrigado e excelente trabalho o de vocês!!
    Parabens!

  19. Anderson Alves Gomes on June 20th, 2008 at 9:04 am

    Olá.
    Gostei mt do seu sistema, mt simples de usar, eu queria saber agora como fazer para gerar os boletos com numeros diferente?

    E como devo proceder para gerar mais de 1 boleto de uma só vez?

    No sistema q estou usando o gerado de boleto, ele irá gerar todos os boletos para os clientes de 1 só vez, então gostaria de saber o pode ser alterado para obter esse resulado.

    Mt obrigado e parabéns pelo trabalho.

  20. Olá, preciso muito de um gerador, pelo que vi nos comentários, esse funciona mesmo, mas como não sei como configurar, gostaria de receber algumas informações de como configurar.

  21. Amigo.
    Não entendi o seguinte:

    “Após configurado é so criar um link para o seu arquivo boleto.php de acordo com banco desejado levando na variável banco o nome do banco desejado.”

    Pode me explicar como se faz?

    Obrigado!

  22. Cara! De mais!
    Perfeito! Tud que eu precisava!

  23. Fernanda Borges on July 16th, 2008 at 10:40 am

    Oi! Tudo bem?
    Seguinte: o que vc quis dizer com “alimentar este script com dados de uma base mysql com grande facilidade”? Importar os dados?
    Porque tenho uma leva de mais de 3000 registros para gerar boletos, tem como eu fazer uma importação ao invés de digitar um a um?
    Obrigada!

  24. Não consegui fazer nada .nem sei por onde começar,este arquivo chega prá mim em uma versão,que não abre com o winrar nem o winzip….por favor gostaria de usar ,,me ajude..

  25. Felipe Duardo on August 5th, 2008 at 9:23 am

    entao…

    minha dúvida é a seguinte..
    esse codigo funciona corretamente para carteira 11?
    no projeto boletophp eles desenvolveram so pra carteira 18…

  26. Oi, preciso de ajuda… não sei como configurar e se servirá pros meus fins…
    Quero coloca-lo no meu sie e as pessoas que fazem doações a utilizalos, Utilizo os Bancos Itaú e Caixa Economica.
    É necessario ter o serviço pelo banco ou só gerar o boleto e pronto ?
    Poderia me ajudar a configurar detalhadamente é que não entendo nada ?
    Paga alguma taxa ao banco ao gerar o Boleto e quanto ?
    Obrigado..
    abraço

  27. Ola,
    Esse é um ótimo sistema.
    Basta mandar as varieveis dos dados por um fomulario $_POST
    para facilitar a edição dos dados ou mesmo criar um MYSQL,
    que no caso, podemos gravar para saber a quantidade de boletos gerados, valores gerados, etc. Alem de colocar o número do documento em sequência no boleto.
    Quanto a parte de registro no banco, pode ser com carta registrada ou normal, codigo 06.

    Carta registrada: É necessario cadastro no banco.
    O Banco faz o protesto do SACADO responsável pelo pagamento do boleto, caso o mesmo não seja pago.

    Carta NÃO REGISTRADA: O banco nem mesmo ficará sabendo do boleto gerado.

    Não é necessário cadastro no Banco??

    Espero ter ajudado :-)

  28. Olá…ótimo sistema, mas deixa ver se eu entendi:

    1 - eu crio um form que envia os dados para o gerador do boleto;
    2 - o código formata e gera um codigo de barras, e o boleto possui as informações para o pagamento, cujo o valor será depositado na minha conta;
    3 - eu não preciso nem dizer nada ao banco, pois o que importa é o valor descrito e o numero da conta;
    4 - esses dados podem ser armazendados no BD, para consultas futuras e geração de 2º via.

    bom..se for isso eu entendi.
    ou preciso fazer alguma coisa a mais?

    Obrigado!!!!

Comente este artigo