Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

zboleto

Gerador de boletos bancários.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

##INTRODUÇÃO

O projeto ZBoleto é um ótimo gerador de boletos bancários escrito para compilar em Free Pascal.

##RECURSOS

  • Módulos - Cada banco possui regras e funções específicas, e estas foram implementadas em módulos ZBoleto, tornando o código desacoplado e de fácil usabilidade.
  • Analisadores - O analisador é responsável por determinar o tipo do boleto gerado, permitindo a geração de boleto em HTML, PDF, DOC, ODT etc.
  • Código independente da LCL - Apesar do projeto compilar no Lazarus, isto não o torna dependente do mesmo, assim sendo, é possível usar o ZBoleto em aplicativos web, console e serviços.
  • Suporte a vários bancos - É possível gerar boletos para os seguintes bancos: Banco do Brasil, Bradesco, Caixa Econômica Federal, HSBC, Itaú, Banco Real, Santander e SICREDI.

##LICENÇA

O código fonte do ZBoleto é distribuído sob licença GNU Lesser General Public License. Veja a licença do projeto para detalhes de copyright/licença.

##REQUISITOS DO SISTEMA

O ZBoleto requer Free Pascal 2.6.2 ou superior. Se você prefere a interface Lazarus, escolha a versão 1.0.8 ou superior.

##PRIMEIROS PASSOS

Para criar um boleto com ZBoleto é muito simples. Veja no exemplo abaixo como seria a geração do boleto para o banco Bradesco:

pascal
program ex_bradesco;

{$mode objfpc}{$H+}

uses
  ZBoleto, ZBoletoAnalisadorHtml, ZBoletoModelo_Bradesco, Classes, SysUtils;

var
  Boleto: TZBoleto;
  Conteudo: TMemoryStream;
  DiasPrazoPagamento: Byte;
  ValorCobrado, TaxaBoleto: Currency;
  DataVenc, ValorBoleto, Html: string;
begin
  Boleto := TZBoleto.Create(nil);
  Conteudo := TMemoryStream.Create;
  try
    ZBoletoAnalisadorHtml.DirModelos := '../../modelos/html';
    Boleto.Campos.Add('dir_img', '../../imagens/');

    // DADOS DO BOLETO PARA O SEU CLIENTE
    DiasPrazoPagamento := 5;
    TaxaBoleto := 2.95;
    DataVenc := FormatDateTime('dd/mm/yyyy', Date + DiasPrazoPagamento); // Prazo de X dias OU informe data: '13/04/2006';
    ValorCobrado := 2950; // Valor - REGRA: Sem pontos na milhar e tanto faz com "." ou "," ou com 1 ou 2 ou sem casa decimal
    ValorBoleto := FormatFloat('0.00', ValorCobrado + TaxaBoleto);

    Boleto.Campos.Add('nosso_numero', '75896452'); // Nosso numero sem o DV - REGRA: Máximo de 11 caracteres!
    Boleto.Campos.Add('numero_documento', Boleto.Campos['nosso_numero'].AsString); // Num do pedido ou do documento = Nosso numero
    Boleto.Campos.Add('data_vencimento', DataVenc); // Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA
    Boleto.Campos.Add('data_documento', FormatDateTime('dd/mm/yyyy', Date)); // Data de emissão do Boleto
    Boleto.Campos.Add('data_processamento', FormatDateTime('dd/mm/yyyy', Date)); // Data de processamento do boleto (opcional)
    Boleto.Campos.Add('valor_boleto', ValorBoleto); // Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula

    // DADOS DO SEU CLIENTE
    Boleto.Campos.Add('sacado', 'Nome do seu Cliente');
    Boleto.Campos.Add('endereco1', 'Endereço do seu Cliente');
    Boleto.Campos.Add('endereco2', 'Cidade - Estado -  CEP: 00000-000');

    // INFORMACOES PARA O CLIENTE
    Boleto.Campos.Add('demonstrativo1', 'Pagamento de Compra na Loja Nonononono');
    Boleto.Campos.Add('demonstrativo2', 'Mensalidade referente a nonon nonooon nononon<br>Taxa bancária - R$ ' + FormatFloat('0.00', TaxaBoleto));
    Boleto.Campos.Add('demonstrativo3', 'ZBoleto - https://github.com/silvioprog/zboleto');

    // INSTRUÇÕES PARA O CAIXA
    Boleto.Campos.Add('instrucoes1', '- Sr. Caixa, cobrar multa de 2% após o vencimento');
    Boleto.Campos.Add('instrucoes2', '- Receber até 10 dias após o vencimento');
    Boleto.Campos.Add('instrucoes3', '- Em caso de dúvidas entre em contato conosco: xxxx@xxxx.com.br');
    Boleto.Campos.Add('instrucoes4', '&nbsp; Emitido pelo sistema ZBoletoPhp - github.com/silvioprog/zboleto');

    // DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE
    Boleto.Campos.Add('quantidade', '001');
    Boleto.Campos.Add('valor_unitario', ValorBoleto);
    Boleto.Campos.Add('aceite', '');
    Boleto.Campos.Add('especie', 'R$');
    Boleto.Campos.Add('especie_doc', 'DS');

    // ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- //

    // DADOS DA SUA CONTA - Bradesco
    Boleto.Campos.Add('agencia', '1172'); // Num da agencia, sem digito
    Boleto.Campos.Add('agencia_dv', '0'); // Digito do Num da agencia
    Boleto.Campos.Add('conta', '0403005'); // Num da conta, sem digito
    Boleto.Campos.Add('conta_dv', '2'); // Digito do Num da conta

    // DADOS PERSONALIZADOS - Bradesco
    Boleto.Campos.Add('conta_cedente', '0403005'); // ContaCedente do Cliente, sem digito (Somente Números)
    Boleto.Campos.Add('conta_cedente_dv', '2'); // Digito da ContaCedente do Cliente
    Boleto.Campos.Add('carteira', '06'); // Código da Carteira: pode ser 06 ou 03

    // SEUS DADOS
    Boleto.Campos.Add('identificacao', 'ZBoleto - Gerador de boletos bancários');
    Boleto.Campos.Add('cpf_cnpj', '');
    Boleto.Campos.Add('endereco', 'Coloque o endereço da sua empresa aqui');
    Boleto.Campos.Add('cidade_uf', 'Cidade / Estado');
    Boleto.Campos.Add('cedente', 'Coloque a Razão Social da sua empresa aqui');

    Html := Boleto.Executa('bradesco', 'html');
    Conteudo.Write(Html[1], Length(Html));
    Conteudo.SaveToFile('boleto_bradesco.html');
  finally
    Conteudo.Free;
    Boleto.Free;
  end;
end.

##EXEMPLOS

Se você deseja ver o ZBoleto em ação, então aprecie alguns demos online aqui.

##SUPORTE, BUGS, CONTATO

Por favor, use a página de issues. Sua contribuição será apreciada.

BAIXAR

Você pode baixar uma cópia atual aqui. Alternativamente, você também pode seguir repositório GIT do projeto. O endereço é:

git://github.com/silvioprog/zboleto.git

##CONTRIBUIDORES

ZBoleto não seria possível sem a importante ajuda de contribuidores. Veja os nomes deles aqui.

##DOADORES

Faça uma doação para o projeto, é extremamente fácil, gratuito, rápido e seguro!

Veja o nome de todos os doadores aqui.