Você está na página 1de 16

BOLETO BANCRIO

O bloqueto de cobrana (ou boleto bancrio, ou boleto de cobrana, ou


bloqueto bancrio) representa um ttulo de cobrana pagvel em qualquer
agncia bancria do territrio nacional, auto-atendimento, homebanking, casas
lotricas, supermercados conveniados, etc, durante o perodo no qual o ttulo
de cobrana ainda n!o venceu, ou se"a, at a data de vencimento# $ps a data
de vencimento, o bloqueto somente poder ser pago em agncia do %anco que
o emitiu# $ cobrana atravs de boleto bancrio necessita de trs elementos&
%anco, 'acado e (edente#
Banco
)nstitui!o *inanceira que, atravs de contrato prprio *irmado com o
cedente, *ica responsvel pela cobrana# O %anco receber o pagamento do
re*erido documento de cobrana pago pelo sacado, e creditar a import+ncia
paga na conta corrente do cedente#
Sacado
,uem e*etua o pagamento do bloqueto#
Cedente
,uem emite a cobrana ou se"a, aquele que ir receber a quantia
cobrada# Observao& -ara emitir cobrana atravs de bloquetos bancrios
necessrio que o cedente possua conta corrente em alguma institui!o
*inanceira e que tal conta se"a devidamente habilitada para cobrana atravs
de bloqueto#
Partes do Boleto
.m conson+ncia com o manual da /.%0$%$1 - /edera!o %rasileira
das $ssocia2es de %ancos - o bloqueto deve conter duas partes& 0ecibo do
'acado e /icha de (ompensa!o#
Recibo do Sacado
O 0ecibo do 'acado *ica em poder do sacado para que ele possa, sempre
que necessrio, comprovar o pagamento do seu documento de cobrana# O
la3out e os dados a serem apresentados neste recibo ser!o de*inidos pelo
cedente, salvo quando o mesmo *or pr-estabelecido pelo %anco# $pesar de o
cedente poder utili4ar o la3out que dese"ar, os seguintes campos s!o
obrigatrios no 0ecibo do 'acado&
1ome do (edente5
$gncia6(digo do (edente5
7alor do 8tulo5
7encimento5
1osso 19mero5
1ome do 'acado#
8ais in*orma2es devem ser as mesmas constantes na *icha de compensa!o#
Ficha de Compensao
$ *icha de compensa!o aquela parte do bloqueto que *ica em poder do
banco quando o bloqueto pago, para que se"a encaminhada para a
compensa!o bancria# $ *icha de compensa!o deve conter as seguintes
dimens2es&
$ltura - mnima de :;mm e m<ima de =>?mm5
@argura - recomendada a largura mnima de A=>mm (papel tipo $B),
disponibili4ando espao su*iciente para autentica!o# $ largura m<ima
permitida de A=Cmm (papel carta)#
$ *icha de compensa!o sempre padroni4ada e deve obedecer as regras de
cada %anco, cu"as dimens2es s!o D D6BE a B A6?E, e<ibindo o cdigo de barras e
a linha digitvel que in*ormam os dados para a identi*ica!o automtica da
conta para crdito a ser utili4ada na compensa!o bancria#
=#-arte 'uperior- da esquerda pra direita
nome do banco, podendo conter seu logotipo5
n9mero-cdigo e dgito veri*icador (dv) de compensa!o do banco
cedente, em negrito# $ impress!o deve ser com caracter de ;mm e
traos6*ios de =,Amm5
representa!o numrica do conte9do do cdigo de barras, com
dimens2es de D,;mm a Bmm, e traos ou *ios de >,Dmm, distribuda
em ; (cinco) campos, separados por espao equivalente a um
caracter# $ disposi!o das in*orma2es est em ordem di*erente em
rela!o ao cdigo de barras e com *ormata!o prpria#
A# ,uadro de )mpress!o - deve conter diversos campos, tendo como
campos de preenchimento obrigatrio&
@ocal de pagamento5
Fata de vencimento5
(edente (nome)5
$gncia6(digo do cedente5
Fata do processamento5
1osso n9mero5
7alor do documento5
'acado (nome e endereo completo)#
D#(digo de barras e autentica!o mec+nica (parte in*erior G da
esquerda para a direita)
campo destinado ao cdigo de barras5
campo destinado H autentica!o mec+nica# Feve constar a
e<press!o I$utentica!o Jec+nica6/icha de (ompensa!oK, com
dimens!o m<ima de Amm e traos de >,Dmm#
!escre"endo as partes do Boleto Banc#rio $
Banco do Brasil %%&'( %%&()*+,-.. -)/%%*0/+,-( (0/-.*/(-++- & )/%-%%%%&/%%%%
- 8emos aqui o nome ou o logotipo do banco e o n9mero de identi*ica!o do
banco na c+mera de compensa!o interbancria ( cada banco possui um
n9mero que o identi*ica& %%&' Banco do Brasil +,& ' Banco Ita1 , )+0'
Bradesco , etc###)
- O n9mero que voc v do lado direito a linha di2it#"el 5 ela utili4ada para
identi*icar o boleto e deve ser digitada quando o cdigo de barras n!o pode ser
lido ou quando voc vai *a4er o pagamento do boleto na internet#$ @inha
digitvel tem o seguinte la3out&
BBB3C*CCCCd CCCCC*CCCCCd CCCCC*CCCCCd ! 44444444444444
onde&
B - n9mero do banco
3 - Joeda (sempre : - real)
4 - valor
C - campo livre - depende do banco
! - Figito veri*icador do cdigo de barras
d - digito veri*icados da linha digitveis
$ssim para o Banco do Brasil a composi!o da linha di2it#"el deve seguir o
seguinte composi!o&
Linha di2it#"el$ Composio dos campos$
a) PRI3EIRO CA3PO - composto pelo cdigo do %anco (posi2es = a D do
cdigo de barras), cdigo da moeda (posi!o B do cdigo de barras), as cinco
primeiras posi2es do campo livre (posi2es A> a AB do cdigo de barras) e
dgito veri*icador deste campo5
Obs& editar com ponto, con*orme e<emplo - >>=:A#DB;CC
b) SE56N!O CA3PO - composto pelas posi2es C (se<ta) H =; (dcima
quinta) do campo livre (posi2es A; a DB do cdigo de barras) e dgito
veri*icador deste campo5
Obs& editar com ponto, con*orme e<emplo - ;A?>>#L?DB;:
c) TERCEIRO CA3PO - composto pelas posi2es =C (dcima se<ta) H A;
(vigsima quinta) do campo livre (posi2es D; a BB do cdigo de barras) e
dgito veri*icador deste campo5
Obs& editar com ponto, con*orme e<emplo - :L?;C#?:;DD;
d) 76ARTO CA3PO - Fgito 7eri*icador geral do (digo de %arras (posi!o ;
do cdigo de barras)5
e) 76INTO CA3PO - composto pelo *ator de vencimento (posi2es C a : do
cdigo de barras) e pelo valor nominal do documento (posi2es => a =: do
cdigo de barras), com a indica!o de 4eros entre eles at compor as =B
posi2es do campo e sem edi!o (sem ponto ou vrgula)# ,uando se tratar de
bloqueto sem discrimina!o de valor no cdigo de barras a representa!o deve
ser com 4eros5
*) editar os trs primeiros campos com um ponto5
g) entre cada campo dever haver espao equivalente a >= caracter5
h) a disposi!o dos dados na linha digitvel n!o se apresenta na mesma ordem
encontrada no cdigo de barras5
i) os dgitos veri*icadores re*erentes aos -0)J.)0O, '.MN1FO e 8.0(.)0O
campo n!o s!o representados no cdigo de barras#
@ocal de
-agamento&
Pa2#"el em 89al89er a2:ncia banc#ria at; o
"encimento
7encimento
)/<%-<)%%&
(edente6'acador
=C3SOFT CONS6LTORIA LT!A
$gncia6(digo (edente
%%%-0',<%&&)00.-')
' $ seguir temos o local de -agamento , geralmente at o vencimento, o
boleto pode ser pago em qualquer banco#
- 8emos tambm a data de vencimento (quando o boleto vence) , o nome do
(edente ($ empresa para quem estamos pagando o boleto) o n9mero da
$gncia %ancria (>>;L-B) e o cdigo atribudo ao (edente pelo banco#
Fata do
documento
)/<%,<)%%&
1o# do documento
%%%%%%+&
.spcie
doc#
RC
$ceite
N
Fata
-rocessamento
)/<%,<)%%&
1osso 19mero
%%&%%%%+%+,--
Nso do %anco

(arteira
&/
.spcie
Joeda
R>
,uantidade

(<) 7alor

(O) 7alor do Focumento
&/%?%%
- 8emos aqui a data do documento (data de gera!o) o n9mero do documento ,
a espcie de documento ( podemos ter& FJ-Fuplicata Jercantil F'-Fuplicata
de 'ervios 0(-0ecibo 1--1ota -romissria , etc##)
- O (ampo $ceite , indicando se o comprador PaceitouP o ttulo , o indicativo da
carteira ( cada banco usa de modo di*erente este campo& 1o %% temos carteira
==-cobrana simples =L-cobrana direta com registro =?-cobrana sem registro
) a espcie da moeda ( geralmente 0Q ) a quantidade e o 7alor do documento#
- O 1osso 19mero o n9mero que identi*ica o ttulo perante o banco ,
geralmente possui =L posi2es e composto pelo n9mero do convnio ( seis
posi2es )
Instr9@es ATeBto de responsabilidade do cedenteC
$ps vencimento , multa de =>R
Jora dia 0Q >,BD
-rotestar aps o ;o dia 9til aps o vencimento
(-)
Fescontos6$batimento
(-) Outras Fedu2es
(S) Jora6Julta
(S) Outros $crscimos
(O) 7alor (obrado
- Fepois temos uma rea reservada para que o cedente coloque instru2es
relativas ao boleto# Meralmente in*orma2es sobre multa , desconto , protesto ,
etc###
- Os valores para Fescontos6$batimentos e Outras Fedu2es 5 Jora6Julta e
Outros $crscimos e o *inalmente o 7alor a ser cobrado do sacado#
'acado&$rnaldo @iso
0ua dos $ndradas B>=
'!o -aulo - '- Ficha de Compensao
- $gora temos o endereo do sacado e a identi*ica!o da via , no caso , /icha
de (ompensa!o#
- -or 9ltimo temos o cdigo de barras e o espao reservado para autentica!o
mec+nica#
%+* CDdi2o de Barras
a) o (digo de %arras utili4ado do tipo )-A; - (A de ;) intercalado5
b) (A de ;) intercalado signi*ica que ; (cinco) barras de*inem >= (um) caracter,
sendo que duas delas s!o barras largas5
c) intercalado signi*ica que os espaos entre as barras tambm tm signi*icado,
de maneira anloga Hs barras5
d) deve ser observada a dist+ncia de =A mm desde a margem in*erior da /icha
de (ompensa!o at o centro do (digo de %arras5
e) comprimento total igual a =>D (cento e trs) mm e altura total igual a =D
(tre4e) mm5
*) dei<ar espao livre (4ona de silncio) de ;mm entre a margem esquerda do
papel at o incio do (digo de %arras5
g) o cdigo de barras composto por dois campos& campo obrigatrio e campo
livre5
h) o conte9do do campo obrigatrio determinado pelo %anco (entral do %rasil
e comum a todos os bancos5
i) o conte9do do ((ampo @ivre) espec*ico para o %anco do %rasil5
O LaEo9t do CDdi2o de Barras$
A partir de %&*%(*)%%%? o leia9te do cDdi2o de barras passa a ser$
1# -O')TU.' -)(8N0. N'$M. (O18.VFO
%& %%& a %%+ (<%%+< !isplaE %%&
%) %%, a %%, (<%%&< !isplaE ( ARealC
aC %+ %%- a %%- (<%%&< !isplaE !4 AFC
bC %, %%. a %%( (<%%,< !isplaE
Fator de
4encimento
%- %&% a %&( (<%%/<"(( !isplaE 4alor
%. %)% a %,, (<%)-< !isplaE CA3PO LI4RE
Obs& a) o dgito veri*icador da ;
a
(quinta) posi!o calculado atravs de mdulo
== espec*ico

b) o *ator de vencimento calculado atravs de metodologia descrita no
manual
C#lc9lo do Gator de "encimento$
3etodolo2ia de c#lc9lo para o Gator de "encimento
-odem ser adotadas duas *rmulas para o clculo&
a) data base de >L#=>#=::L, calculando o n9mero de dias entre essa data e a
do vencimento (data de vencimento menos data base igual a *ator)&
7.1()J.18O - >B->L-A>>>
F$8$ %$'. - >L-=>-=::L
/$8O0 F. 7.1()J.18O =>>=
b) tabela de correla!o data W *ator, iniciando pelo *ator =>>>, que corresponde
H data de vencimento >D#>L#A>>>, e assim sucessivamente&
FATOR 4ENCI3ENTO
&%%% %+<%0<)%%%
&%%) %-<%0<)%%%
&..0 %&<%-<)%%)
,0-/ &0<&%<)%&%
(((( )&<%)<)%)-
.<emplo&
((((0*00)&+ << +%-+%*&-%%/) << &/(0-*%%%%%+ << + << &%%&%%%%%+-%%%
&o campo << )o campo << +o campo << d" << Fator "enc<"alor
Obs& quando a primeira posi!o do campo 66valor66 (*ator de vencimento mais
valor) *or 4ero, signi*icar que esse ttulo n!o conter o *ator de vencimento no
cdigo de barras6linha digitvel, tratando-se portanto as =B (cator4e) posi2es
como valor#
Calc9lo do !H2ito 4eriGicador do CDdi2o de Barras A89inta posioC
- -ega-se as BD posi2es (BB menos a quinta)#
- Jultiplica-se cada posi!o, a partir da 9ltima para a primeira, por A,D,B,;,C,L,?
e : sucessivamente#
- 'oma-se os resultados#
- Jultiplica-se por =>#
- Fivide-se por ==# 'e o resto *or => ou >, o digito =# 'e n!o, o resto o
digito#
OBS& os dgitos veri*icadores dos campos agncia, cdigo do cedente e
nosso-n9mero, calculados com base no mdulo == , s!o impressos nos
bloquetos e n!o devem estar representados no cdigo de barras e linha
digitvel#
3ontando o cDdi2o de barras e a linha !i2it#"el
7amos agora mostrar como montar o cdigo de barras e a linha digitvel# -ara
comear teremos que usar *un2es para calcular o digito veri*icador ( F7 ) da
agncia , do cdigo do cedente , do nosso-n9mero e da linha digitvel#
F9no para calc9lar o !4 da a2:ncia ? cDdi2o do cedente e do nosso'
n1mero*
3I!6LO && PARA CLC6LO !E !J5ITO 4ERIFICA!OR !E A5KNCIA?
CI!I5O !E CE!ENTE E NOSSO'NL3ERO
a) O mdulo == utili4ado para montagem dos campos nosso n9mero, cdigo
do cedente e pre*i<o da agncia, que ser!o impressos no *ichamento de
cobrana5
b) (ada algarismo que comp2e o nosso n9mero multiplicado pelo respectivo
multiplicador (peso)# Os multiplicadores (pesos) variam de : a A, da direita para
a esquerda5
c) O primeiro dgito da direita para a esquerda dever ser multiplicado por :, o
segundo por ? e assim sucessivamente5
d) Os resultados das multiplica2es s!o somados& >> S LA S D;#### S ? S >
(igual) =L:# O total da soma divido por on4e, con*orme segue& =L:6== resto
igual a D#
- se o resto *or menor que => (de4) o F7 ser igual ao resto5
- se o resto *or igual a => (de4) o F7 ser igual a W5
- se o resto *or igual a > (4ero) o F7 ser igual a >5
- no e<emplo acima o dgito veri*icador ser igual a D#
O cdigo 7isual %asic para a *un!o para calcular esses F7 - 3Dd9lo && -
pode ser o seguinte&
F9nction Calc9loM!4&&AstrN9mero As Strin2C As Strin2
Pdeclara as variveis
Fim int(ontador $s )nteger
Fim int1umero $s )nteger
Fim int8otal1umero $s )nteger
Fim intJultiplicador $s )nteger
Fim int0esto $s )nteger
P se nao *or um valor numerico sai da *un!o
)* 1ot )s1umeric(str1umero) 8hen
(alculoXF7== O EE
.<it /unction
.nd )*
Pinicia o multiplicador
intJultiplicador O :
Ppega cada caracter do numero a partir da direita
/or intcontador O @en(str1umero) 8o = 'tep -=
Pe<trai o caracter e multiplica prlo multiplicador
intnumero O 7al(Jid(str1umero, intcontador, =)) Y intJultiplicador
Psoma o resultado para totali4a!o
int8otal1umero O int8otal1umero S intnumero
Pse o multiplicador *or maior que A decrementa-o caso contrario
atribuir valor padrao original
intJultiplicador O ))*(intJultiplicador Z A, intJultiplicador - =, :)
1e<t
Pcalcula o resto da divisao do total por ==
int0esto O int8otal1umero Jod ==
Pveri*ica as e<ce2es ( > -Z F7O> => -Z F7OW (para o %%) e
retorna o F7
'elect (ase int0esto
(ase >
(alculoXF7== O E>E
(ase =>
(alculoXF7== O EWE
(ase .lse
(alculoXF7== O str(int0esto)
.nd 'elect
End F9nction
F9no para c#lc9lo do dH2ito "eriGicador da linha di2it#"el*
a) o mdulo => dever ser utili4ado para calcular o F7 dos >D (trs) primeiros
campos da linha digitvel5
b) os multiplicadores comeam com o n9mero A (dois), sempre pela direita,
alternando-se = e A5
c) multiplicar cada algarismo que comp2e o n9mero pelo seu respectivo peso
(multiplicador)5
d) caso o resultado da multiplica!o se"a maior que : (nove) dever!o ser
somados os algarismos do produto, at redu4i-lo a um 9nico algarismo5
e) *a4er o somatrio dos resultados obtidos& no e<emplo a soma igual a A;5
*) subtrair o total apurado no item anterior, da de4ena imediatamente superior
ao total apurado& D> - A; igual a ;5
g) o resultado obtido ser o dgito veri*icador do n9mero# F7 igual a ;5
h) se o resultado da subtra!o *or igual a => (de4), o dgito veri*icador ser
igual a > (4ero)#
O cdigo 7isual %asic para a *un!o para calcular esses F7 - 3Dd9lo &% -
pode ser o seguinte&
/unction (alculoXF7=>(str1umero $s 'tring) $s 'tring
Pdeclara $s variveis
Fim int(ontador $s )nteger
Fim int1umero $s )nteger
Fim int8otal1umero $s )nteger
Fim intJultiplicador $s )nteger
Fim int0esto $s )nteger
P se nao *or um valor numerico sai da *un!o
)* 1ot )s1umeric(str1umero) 8hen
(alculoXF7=> O EE
.<it /unction
.nd )*
Pinicia o multiplicador
intJultiplicador O A
Ppega cada caracter do numero a partir da direita
/or int(ontador O @en(str1umero) 8o = 'tep -=
Pe<trai o caracter e multiplica pelo multiplicador
int1umero O 7al(Jid(str1umero, int(ontador, =)) Y intJultiplicador
P se o resultado *or maior que nove soma os algarismos do
resultado
)* int1umero Z : 8hen
int1umero O 7al(@e*t(int1umero, =)) S 7al(0ight(int1umero, =))
.nd )*
Psoma o resultado para totali4a!o
int8otal1umero O int8otal1umero S int1umero
Pse o multiplicador *or igual a A atribuir valor = se *or = atribui A
intJultiplicador O ))*(intJultiplicador O A, =, A)
1e<t
Fim Fe4ena'uperior $s )nteger
)* int8otal1umero [ => 8hen
Fe4ena'uperior O =>
.lse
Fe4ena'uperior O => Y (7al(@e*t(('tr(int8otal1umero), =)) S =)
.nd )*
int0esto O Fe4ena'uperior - int8otal1umero
Pveri*ica as e<ce2es ( > -Z F7O> )
'elect (ase int0esto
(ase >
(alculoXF7=> O E>E
(ase .lse
(alculoXF7=> O 'tr(int0esto)
.nd 'elect
.nd /unction
O CDdi2o de Barras
)remos montar o cdigo de barras para uma carteira =? (sem registro) com
nosso n9mero de =L posi2es com *ator de vencimento# .squemati4ando
teremos&
=AD#B#;#CL?:>=ADB;CL?:#>=ADB;#CL?:>=ADB;CL?:>=A#DB
%anco m dv *ator valor no#convenio nosso n9mero - =L
posi2es tipo
>>=#:#B#=>>>>>>>;BA>C?#>A>?CD#BL=D:=A>=>>>>ACL?#A=
8emos que calcular o F7 do cdigo de barras para isto usamos o seguinte
algoritmo&
a) o cdigo de barras possui BB (quarenta e quatro) posi2es, incluindo o F#7#5
b) para calcular o F#7# considerar BD posi2es do (digo de %arras, sendo& da
posi!o = a B e da posi!o C a BB5
c) multiplicar cada algarismo que comp2e o n9mero pelo seu respectivo
multiplicador (peso), iniciando-se pela BB posi!o e saltando a ; posi!o5
d) os multiplicadores (pesos) variam de A a :5
e) o primeiro dgito da direita para a esquerda dever ser multiplicado por A, o
segundo por D e assim sucessivamente5
*) os resultados das multiplica2es devem ser somados#
g) o total da soma dever ser dividido por ==
h) o resto da divis!o dever ser subtrado de ==
i) especi*icamente para o F#7# do (digo de %arras, considerar&
) - se o resultado da subtra!o *or&
- igual a =>####################F#7# igual a =5
- igual a ==####################F#7# igual a =5
- di*erente de => e ==##########F#7# ser o prprio dgito#
))- o resultado deste clculo dever ser includo na ;
a
posi!o do (digo de
%arras#
$8.1T\O - 1!o ser admitido o dgito > (4ero) na quinta posi!o, pois
indicaria que o cdigo de barras n!o possui dgito veri*icador5
") nas posi2es BD a BB do cdigo de barras dever ser in*ormado, sempre, o
tipo de servio )&*
$ *un!o que iremos usar para montar o cdigo de barras dada a seguir&
Pri"ate F9nction 3ontaMCodBarrasABanco As Strin2? 3oeda As
Strin2? "alor As Sin2le? "encimento As !ate? Li"re As Strin2C
Fim codigoXsequencia $s 'tring
Fim database $s Fate
Fim *ator $s )nteger
Fim intFac $s )nteger
Pdatabase para calculo do *ator
database O (Fate(EL6=>6=::LE)
*ator O FateFi**(EdE, database, /ormat(vencimento, Edd6mm63333E))
valor O )nt(valor Y =>>)
@ivre O /ormat(@ivre, E>>>>>>>>>>>>>>>>>>>>>>>>>E)
P sequencia sem o F7
codigoXsequencia O %anco ] Joeda ] *ator ] /ormat(valor,
E>>>>>>>>>>E) ] @ivre
P calculo do F7
intFac O calculaXF7X(od%arras(codigoXsequencia)
P monta a sequencia para o codigo de barras com o F7
JontaX(od%arras O @e*t(codigoXsequencia, B) ] intFac ]
0ight(codigoXsequencia, D:)
End F9nction
$ *un!o que calcula o digito veri*icador do cdigo de barras dada abai<o&
Pri"ate F9nction calc9laM!4MCodBarrasAse89encia As Strin2C As
Inte2er
Fim int(ontador, int1umero, int8otal1umero $s )nteger
Fim intJultiplicador, int0esto, intresultado $s )nteger
Fim caracter $s 'tring
intJultiplicador O A
/or int(ontador O = 8o BD
caracter O Jid(0ight(sequencia, int(ontador), =, =)
)* intJultiplicador Z : 8hen
intJultiplicador O A
int1umero O >
.nd )*
int1umero O caracter Y intJultiplicador
int8otal1umero O int8otal1umero S int1umero
intJultiplicador O intJultiplicador S =
1e<t
int0esto O int8otal1umero Jod ==
intresultado O == - int0esto
)* intresultado O => Or intresultado O == 8hen
calculaXF7X(od%arras O =
.lse
calculaXF7X(od%arras O intresultado
.nd )*
End F9nction
ReGer:ncias Biblio2r#Gicas
http$<<NNN*bradesco*com*br<br<pO<conte9do<solMrec<pdG<man9altecnico*pdG

Você também pode gostar