Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C CnabPHP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Almando Guimaraes
  • CnabPHP
  • Wiki
  • Home

Home · Changes

Page history
Initial Home page authored Feb 16, 2015 by Jeferson Daniel's avatar Jeferson Daniel
Hide whitespace changes
Inline Side-by-side
Home.md 0 → 100644
View page @ cda6c794
### Introdução
Bem vindo. Esta wiki vai mostrar como contribuir com o projeto e introduzir os conceitos necessários para se trabalhar com retornos e remessas. Vale lembrar que esse projeto depende do projeto cnab_yaml, um projeto que guarda as informações de posições dos arquivos CNAB em Yaml.
### O que são retornos e remessas CNAB?
O CNAB é o formato padrão regulado pela Febraban para troca de informações de boleto. Esses arquivos geralmente iniciam com um header que descreve informações da empresa emitindo/recebendo como Número da Conta, Agencia, Data de Processamento no Banco. Esse header também pode ter informações que variam de banco para banco, como código de convênio no Banco do Brasil. Já os arquivos de detalhe contém informações do boleto como nosso número, valor e informações do pagador.
### Quero contribuir com o Banco X, e agora?
Agora você precisa saber qual a versão do CNAB usada pelo banco (240 ou 400) e baixar a documentação com as particularidades do seu banco. Como o CNAB é um formato padronizado poucos campos mudam de banco para banco. Com essas informações você pode começar a conferir se o projeto cnab_yaml está de acordo com seu banco, pois alguns bancos usam campos com tamanhos diferentes ou usam novos campos.
### Como alterar o CNAB Yaml?
Os arquivos Yaml são separados em pastas de acordo com a versão e com o número do banco. Para cada versão existem arquivos na basta "generic" que são usados como base para todos os bancos. Desta forma, os arquivos das pastas com o código do banco são usados apenas para definir as particularidades de cada banco. O ideal é começar olhando se os arquivos yaml da pasta generic são compatíveis com seu banco e os campos que não forem compatíveis podem ser colocados na pasta do seu banco em um arquivo yaml com o mesmo nome. Exemplo:
cnab240
generic
retorno
detalhe_segmento_t.yml
detalhe_segmento_u.yml
header_arquivo.yml
header_lote.yml
001
header_arquivo.yml
Os arquivos yaml acima seguem um formato como o seguinte, que define as posições iniciais e finais de cada campo, junto com uma picture que define que o campo é numérico e aceita nove posições.
```yaml
codigo_convenio:
pos: [33, 41]
picture: '9(9)'
```
Você pode conferir detalhes sobre a edição dos arquivos Yaml olhando o projeto [andersondanilo/cnab_yaml](https://github.com/andersondanilo/cnab_yaml)
### Como testar?
Os testes unitários são feitos com PHPUnit e costumam usar um arquivo de retorno como exemplo. Você pode procurar um arquivo de retorno do seu banco no google e realizar um teste unitário que confirme que os campos estão sendo identificados corretamente. Já para as remessas, é necessário gerar um arquivo de exemplo e enviar para a homologação do seu banco.
Dica: Digitando "Retorno banco do brasil filetype:ret" é possível encontrar vários arquivos de retorno de exemplo.
\ No newline at end of file
Clone repository
  • Criando um arquivo de remessa
  • Home
  • Picture