Conciliação bancária via CNAB : Remessa e retorno

O layout do arquivo segue padronização estabelecida pelo CNAB (Centro Nacional de Automação Bancária), órgão técnico da FEBRABAN (Federação Brasileira de Bancos). O gerente do banco responsável pela conta é a pessoa mais adequada para fornecer informações mais precisas a respeito de restrições e instruções sobre o processo. Consulte-o logo na fase de planejamento.



Uma das recentes demandas referentes a implementação de uma instância de plataforma para o Ensino a Distância, à qual tenho atendido em horário comercial, exigiu também, entre outras complementares, uma solução que resolvesse a questão do setor financeiro, mais especificamente o de cobranças dos alunos via boleto bancário com registro.

Após garimpar conceitos e sintetizar noções sobre o assunto com profissionais especialistas da área financeira em comunidades do Google Plus, pude compreender que é necessário construir uma espécie de comunicação entre o sistema da instituição de ensino e o sistema da instituição bancária, quando, em uma data específica do mês, o responsável pelo setor financeiro acessa duas interfaces:

  • O painel da instituição bancária;
  • A interface do sistema de cobrança que implantei;

Conciliação Bancária

A Conciliação Bancária envolve quatro etapas, onde o operador responsável pela cobrança executa procedimentos básicos:

  • Exportação do retono na página web do sistema da instituição bancária;
  • Exportação da remessa em meu sistema próprio de cobrança;
  • Importação do retorno em meu sistema de cobrança;
  • Importação da nova remessa na página web da instituição bancária;

Para regularizar as rotinas de conciliação bancária, entre outras, temos um orgão responsável, a FEBRABAN, que você pode conhecer através do site.

De certa forma, o processo é basicamente o descrito acima. Ciente do objetivo (O QUE FAZER), é necessário responder à pergunta: COMO FAZER?

Devem ser desenvolvidas, basicamente, três funcionalidades, sendo uma para registrar os dados dos boletos no formato padrão, outra para gerar o arquivo de remessa, e a outra para importar o arquivo de retorno (que virá do banco com o status da cobrança). É necessário começar por adequar os dados dos pedidos de acordo com o padrão (layout CNAB de 240 ou 400 posições).

Para gerar a remessa e importar o retorno, a biblioteca do Anderson Danilo dispõe de métodos, mas é necessário criar, no banco de dados, tabelas que se adequem e estejam prontas para armazenar informações de campos especificados no layout CNAB de 240 ou 400 posições adequado ao caso.

Padrão CNAB de 240 ou 400 caractéres?

Varia de banco para banco e depende do tipo de cobrança. A página web de documentação do próprio banco deve especificar o padrão de comunicação utilizado.

Preparação do Banco de Dados

Sabendo qual o layout do banco (CNAB de 240 ou 400 posições) e após fazer o download da biblioteca para conciliação (link do github abaixo), é hora de criar as tabelas e colunas para gerenciar cobranças da remessa e contabilizar os pagamentos recebidos no retorno.

Boletos

A finalidade real do processo é a realização da cobrança: faturar sobre um produto ou um serviço. Para que isso seja possivel, é necessário registrar uma carteira de cobrança, para registrar no banco os números de boletos gerados, e só assim os pagamentos serão identificados. Você pode gerar os boletos por conta propria, e disponibilizar online a seus clientes, ou delegar a tarefa de envio ao banco, que realiza envio das duplicatas via correios. A primeira é certamente mais recomendada devido ao custo mais vantajoso a longo prazo e diminui a dependência da instituição financeira na realização do processo.

Considerando a escolha da primeira opção, a utilização de uma outra biblioteca conhecida como CobreGrátis – BoletoPHP, que renderiza o layout de boleto, incluindo o código de barras, a partir de informações da cobrança que devem ser fornecidas pelo banco de dados.

Gostou do artigo? Conto com seu feedback no espaço de discussão logo abaixo!



Projeto para criar arquivos de remessas e processar arquivos de retorno no formato CNAB, utilizado nos bancos geralmente para boleto bancário.Ver no Github

Último commit para o branch master registrado em 06/12/2016
Baixar .zip

Projeto Código-Aberto de Sistema de Boletos bancários em PHPVer no Github

Último commit para o branch master registrado em 01/12/2016
Baixar .zip
2 Anos de experiência em PHP são base sólida para assimilação de outras linguagens e busca de novos desafios. A criação de Sistemas Web e Websites responsivos são minha especialidade. Busco constantemente o aperfeiçoamento das técnicas utilizadas com foco em boas práticas através do conhecimento adquirido das metodologias. O conhecimento diferenciado da língua norte-americana proporciona segurança para programar na língua e entender manuais técnicos. Já em posse dos conceitos as metas perseguidas têm sido o aprofundamento em JavaScript serverside, ASP.NET e aplicações mobile híbridas.