CMC7 - A Banda Magnética do Cheque
Cadastrando um Cheque
Se possui ou pretende desenvolver um programa que cadastra cheques, então este software deverá fazer a verificação dos dígitos. Esta verificação é uma das muitas providências a serem tomadas para evitar possíveis falsificações.
A validação é importante para encontrar erros de digitação, pois o cheque deve ser digitado através da Linha2 também conhecida por CMC7. A Linha2 possui 34 caracteres magnéticos formados por 7 barras, alguns também chamam de Banda magnética do cheque. Nesta banda estão os dados mais importantes da linha superior - Linha1 (compe, banco, agência, conta, cheque).
Mesmo usando um leitor de cheques o programa deve fazer esta verificação, pois alguns Leitores fazem somente a captura.
A Linha2 segue um padrão definido pelo Banco Central, e esta pode ser validada pelos 3 dígitos verificadores. O mesmo é realizado na Linha1 que também possui 3 dígitos verificadores(C1,C2 e C3).
O que pode acontecer é uma diferença entre o número da conta da Linha1 com conta da Linha2.
Na Linha1 o número da conta pode ter até 10 caracteres, contando com dígito de controle da conta. Este dígito não segue um padrão, muitos bancos calculam pelo MODULO11 outros pelo MODULO10, o Banco do Brasil utiliza o MODULO11, porém coloca um caractere alfa "X" quando o DV for 10, que na Linha2 será zero(0).
A maioria dos bancos estão adotando o campo Razão da conta e este campo não esta na linha1.
Exemplo o Bradesco coloca 3 números na frente do número da conta na Linha1 e um prefixo 775 + conta na linha2.
O Banco do Brasil coloca 2 números na frente da conta da Linha2, na Linha1 nenhum prefixo é colocado.
Na Linha2 o número da conta sempre tem 10 caracteres, o DV sempre é calculado da mesma forma.
Então o único campo que ter diferenças entre as duas linhas é o número da conta.
Conclusão:
O grande problema é quando o programador permite a digitação das duas linhas, pois pode ocorrer duplicidade de cheque no cadastro.
Um cheque com Linha1 diferente da Linha2, caso o usuário inclua o cheque pela Linha1 e depois o mesmo pela Linha2, o programa aceitará os dois cheques, então que fazer ?
O desenvolvedor poderia permitir somente a digitação pela Linha2, pois poderia usar também um leitor de cheques.
-
A opção para utilização da Linha1 seria transformar em Linha2 após a digitação, e então verificar o cadastro de cheques.
Nesta opção, o desenvolvedor teria que conhecer algumas regras específicas de bancos, exemplo colocar o prefixo "775" nas contas do Bradesco.
O componente TCMC7 faz a verificação dos dígitos do CMC7 (Linha2) e também da Linha1 que são os campos C1, C2 e C3.
Significado de cada campo no CMC7
Faça download dos programas exemplos abaixo:
Delphi7 Visual Basic Exemplo em ASP Exemplo em PHP
Veja como comprar o arquivo fonte
Artigo sobre campo Razão do Cheque