Boleto.Net

<% Boleto.Net %>

Documentação Caixa - SICOB

Link para a documentação do Banco Caixa Ecnômica Federal padrão SICOB

Baixar

;)

Adicionando Instruções somente ao Cedente

Para adicionar instruções somente ao Cedente. Vejamos o código abaixo:

Cedente c = new Cedente("00.000.000/0000-00""Empresa de Atacado""2269""130000946");

IInstrucao instrucao = new Instrucao(33);
 
instrucao.Descricao = "Não esqueça de fazer uma doação ao projeto";
 
c.Instrucoes.Add(instrucao);

 

Resultado:

  

;)

Adicionando informações ao Sacado

As vezes precisamos de informações adicionais ao Sacado. Vejamos o código abaixo:

 

Boleto b = new Boleto(vencimento, 4.0m, "102""000001111111", c);
 
//Informações do Boleto
 
b.Sacado.InformacoesSacado.Add(new InfoSacado("Informações do Sacado 1"));
b.Sacado.InformacoesSacado.Add(new InfoSacado("Informações do Sacado 2"));

 

Resultado:

 

;)

Vários Boletos por página em HTML

Para imprimir vários boletos por página com quebra de página, utilize a dica dos nossos colegas Altevir / Sueth.

var boletoBancario = new BoletoBancario();
 
        boletoBancario.CodigoBanco = 33;
 
        //Configurações do Boleto / Banco
 
        foreach (var boleto in boletos)
        {
            //Preenchimento das informações referente ao Boleto, tais como: valor, vencimento, cedente, etc
 
            boletoBancario.Boleto.Valida();
 
            var panel = new Panel();
            panel.Attributes.Add("runat""server");
            panel.Style.Value = "page-break-after: always";
            panel.Controls.Add(boletoBancario);
            Controls.Add(panel);
        }

;)

Demo VB.Net

Para ajudar um desenvolvedor que estava com problemas no código de barras, fiz essa pequena demo em VB.Net de visualização de um Boleto do banco Santander.

Vale ressaltar que a maioria dos desenvolvedores tem problemas de visualização devido ao modo de execução do Application Pool (Clássico ou Integrado).

 No modo Clássico:

    <system.web>
      <httpHandlers>
        <add verb="*" path="ImagemCodigoBarra.ashx" validate="false" type="BoletoNet.ImagemCodigoBarraHandler"/>
      </httpHandlers>
    </system.web>

 

No modo integrado:

 

  <system.webServer>
    <handlers>
      <add name="ImagemCodigoBarra" verb="*" path="ImagemCodigoBarra.ashx" type="BoletoNet.ImagemCodigoBarraHandler"/>
      </handlers>
  </system.webServer>

DemoVBBoletoNet.rar (1,52 mb)

Documentação Sicoob

Pessoal,

abaixo segue algumas documentações do Sicoob.

Manual_Cedentes_Sistema_Proprio.doc (2,50 mb)

4_13_Layouts_bloquetos.xls (666,50 kb)

;)

Documentação Banco Banestes

Hoje eu implementei o boleto para o Banco Banestes. Minha maior dificuldade foi entender a documentação. Não consigo entender como algo tão simples, possa ser tão complicado. 

As documentações (layouts) são muito ruins, você é obrigado a ler 10 páginas pra entender 2 ou 3 linhas. E detalhe, nunca se encontra todas as informações em uma só documento.

Caso outros desenvolvedores venham implementar outras carteiras do Banestes, segue abaixo algumas documentações que encontrei pesquisando:

 layout_cobrança_cnab400.pdf (443,96 kb)

Banestes - Cobrança.doc (255,00 kb)

layout_cobranca_cnab240.pdf (655,41 kb)

Espero ter ajudado!

;)

Conhecendo o boleto de cobrança

É comum que nossos clientes solicitem a possibilidade de emissão de boletos de cobrança diretamente no sistema em que usam, este trabalho é relativamente simples para o programador quando se utiliza componentes para isto.
Observando as mensagens do fórum o número de dúvidas sobre boletos de cobrança é muito maior do que como se utilizar o componente, no caso o RLBoleto, dúvidas do tipo "o que é nosso número" são bem comuns e é muito importante que o programador conheça os detalhes de um boleto de cobrança para poder adicionar a ferramenta de emissão em seu sistema.
Vou apresentar neste artigo os principais campos e seus comportamentos tanto no banco quanto em seus sistemas.

Local de Pagamento
O local de pagamento não tem uma importância direta no boleto de cobrança, é uma mensagem a título de informação e no ato do recebimento pode ser ignorada dependendo da pessoa que está fazendo o recebimento na instituição financeira (banco, lotérica, etc).
Normalmente o local de pagamento contem a mensagem "Pagável em qualquer banco até o vencimento" porém esta mensagem pode variar dependendo do banco que se está trabalhando, por exemplo a Caixa Econômica apenas efetua a homologação se a mensagem for "Pagável preferencialmente nas agências da Caixa ou Lotéricas".

Vencimento
Indica a data de vencimento do boleto.

Valor do Documento
Indica o valor do boleto.

Cedente
O Cedente nada mais é do que o nome do titular da conta onde o boleto esta sendo emitido, em muitos casos pode-se utilizar um nome diferente do titilar da conta, porém é sempre bom consultar o banco.

Agência / Código Cedente
Também conhecido como "Código de Cobrança" ou "Convênio", talvez este campo seja o mais importante de um boleto de cobrança, como o próprio nome já diz é a identificação do cliente junto ao banco. Para que se possa iniciar a emissão de boletos de cobrança é o banco que deve nos informar este código.
Não se pode confundir Código do Cedente com Número da Conta Corrente, são coisas totalmente diferentes, alguns bancos utilizam o código do cedente como sendo o número da conta, porém isto não é regra.
Nem é preciso dizer que um código de cedente incorreto vai fazer com que o crédito não seja efetuado na conta do cliente.

Nosso Número
Mais um campo importantíssimo do boleto de cobrança, o nosso numero é a identificação do boleto no banco e é aconselhável que ele não se repita para um mesmo cedente, embora alguns bancos permitam que isso aconteça.
Cada banco tem suas particularidades em relação ao nosso número, estas particularidades podem variar inclusive para carteiras diferentes de um mesmo banco. As particularidades mais comuns são sobre o tamanho do número que pode variar bastante de banco para banco.
Exemplo de particularidades são:
Banco do Brasil: O nosso número é precedido do código do convênio;
Itaú: O nosso número é precedido do código da carteira
Caixa Econômica: o nosso número é precedido do número 90,91,92, etc dependendo da carteira.
Tirando as particularidades de cada banco o nosso número deve ser um número seqüencial e tome cuidado com as particularidades da composição do nosso número, pois dependendo do banco se estiverem fora do padrão o crédito pode não ser efetuado na conta do cliente.

Número do Documento
O número do documento existe apenas para fins de informação e o banco não faz nenhum controle sobre ele, é comum que seja utilizado para informar o número de uma nota fiscal de venda, mas pode ser utilizado para qualquer fim obedecendo apenas o número máximo de caracteres estipulado pelo banco.

Espécie do Documento
Normalmente se vê neste campo a informação "DM" que quer dizer duplicata mercantil, mas existem inúmeros tipos de espécie, neste caso é aconselhável discutir com o cliente e até mesmo com o banco qual a espécie de documento será utilizada, a identificação incorreta da espécie do documento não vai impedir que o boleto seja pago e nem que o credito seja efetuado na conta do cliente, mas pode ocasionar na impossibilidade de se protestar o boleto caso venha a ser necessário.

Carteira
A carteira é a modalidade de cobrança que o cliente opera, é um número que caracteriza o tipo de cobrança que o cliente está trabalhando, exemplos de carteiras são "Cobrança Simples" e "Cobrança Registrada".
Cada banco tem seus próprios códigos de carteira e a utilização de um código de carteira incorreto pode fazer com que o crédito não seja efetuado na conta do cliente.

Sacado
O sacado é a pessoa para o qual o boleto está sendo emitido, podemos resumir dizendo que o sacado é o cliente do Cedente, ou aquele para o qual uma determina mercadoria foi vendida e o pagamento desta será efetuado por meio de boleto de cobrança.

Instruções
Campo livre e destinado a passar informações sobre o boleto de cobrança, em geral é utilizado para informar quanto de juros e multa deverá ser cobrado após o vencimento, ou ainda mensagens do tipo "Não receber após o vencimento".
As instituições que fazem o recebimento do boleto levam este campo a sério, tenha sempre atenção ao montar a instrução para não ter dores de cabeça no futuro.
Fique atento a particularidade de cada banco, alguns exigem que o valor de juros seja sempre exibido em reais enquanto que outros pedem para que sempre seja informado até quando o título pode ser recebido, uma lida rápida no manual de cobrança do banco tira qualquer dúvida.

Linha Digitável  e Código de Barras
A linha digitável é o código de barras é a representação do boleto em forma de código, sua composição basicamente é composta pelo número do banco, código do cedente, nosso número, vencimento e valor do boleto.
Detalhes da linha digitável e do código de barras é assunto para outro artigo.

Fonte: http://www.prosige.com.br/portal/index.php?option=com_content&view=article&id=49:conhecendo-o-boleto-de-cobranca&catid=29:rlboleto&Itemid=27

Como implementar um Banco/Carteira no Boleto.Net?

Pessoal,

muitas pessoas me perguntam como colaborar para o Boleto.Net. Não é nenhum bicho de sete cabeças, porém, para aqueles que nunca tiveram contato com uma documentação "layout" de um banco é necessário entender alguns detalhes.

Vou listar abaixo alguns passos que o desenvolvedor deve saber antes de meter a mão no código:

1º - Entrar em contato com o gerente da corrente da empresa que vai emitir os boletos, e fazer algumas perguntinhas ao gerente, tais como;

  • Qual o número do banco? 
  • Qual carteira vai ser utilizada para emitir?
  • Como ela funciona?
  • Quais são suas características?
  • Tem código de cedente?
  • Tem alguma particularidade com seguradora?
  • Tem número do contrato?
  • Onde posso baixar a documentação ou layout?
  • Quais são as instruções que preciso informar?

2º - Com posse das informações acima, baixe a documentação e leia tudo, é o mais importante. Até pra você saber em que buraco você está se metendo. É um documento simples e de fácil leitura;

3º - Verificar no Boleto.Net já foi implementado a carteira;

4º - Se não, pegue um Banco com exemplo, eu particularmente gosto de usar o Itau (Banco_Itau.cs);

5º - Depois de implementado, enviar para o banco para homologar;

6º - Após homologado, enviar o código fonte para stiven@outlook.com para eu poder atualizar o projeto;

Simples assim..

;)

Percentual IOS - Banco Santander

Pessoal,

essa semana eu apanhei pra descobrir um problema que estava ocorrendo no digito verificador "DV" do código de barra para o Banco Santander carteira 101 e 102. O interessante é que ambas carteiras já tinham sido homologadas, mas o DV estava incorreto. Mas como assim?

Depois de algumas horas, após ler a documentação (layout) e muito debugar o código fonte, percebi que existia uma variável chamada IOS e que era importante para o calculo do DV, estava diferente. O exemplo abaixo mostra essa diferença:

Enviado pelo Boleto.Net - 03394567700001052509378045700000025208420101
Esperado pelo Banco     - 03398567700001052509378045700000025208428101

O número em negrito "preto" refere-se ao DV do código de barra, porem, para efetuar seu calculo é necessário a variável IOS que está em negrito "vermelho". Mas o que é o IOS? Como eu vou saber que devo informar esse campo? Como eu sei meu percentual do IOS? 

Dificil né? Mas vamos lá.

Mas o que é o IOS?
Conforme a documentação do Santander o IOS é:

IOS – Seguradoras (Se 7% informar 7. Limitado a 9%)
Demais clientes usar 0 (zero)

 Mas e daí, não explicou nada.

Como eu vou saber que devo informar esse campo? Como eu sei meu percentual do IOS? 
A minha sugestão é entrar em contato com o gerente do banco e solicitar se sua conta é de Seguradora e qual o percentual. Acredito que seja a única forma de descobrir, pois ninguem é advinhão. E a documentação não diz nada.

 Depois de posse desses respostas, foi criada uma propriedade chamada PercentualIOS que por padrão vem com 0 "zero". Basta informa-la qual o seu percentual.

Exemplo:

boleto.PercentualIOS = 8;
boletoBancario.Boleto.Valida();

 

Só isso! 

;)