PHPackages                             melolucas/cnab\_yaml - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. melolucas/cnab\_yaml

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

melolucas/cnab\_yaml
====================

Especificação do formato Cnab240 e Cnab400 traduzida para Yaml

1.3.4(7y ago)08411

Since Feb 16Pushed 4y agoCompare

[ Source](https://github.com/melolucas/cnab_yaml)[ Packagist](https://packagist.org/packages/melolucas/cnab_yaml)[ RSS](/packages/melolucas-cnab-yaml/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (18)Used By (1)

cnab\_yaml
==========

[](#cnab_yaml)

O Objetivo deste projeto é fornecer arquivos Yaml com a estrutura dos arquivos Cnab240 e Cnab400, atualmente temos os Cnab240 da Caixa e o Cnab400 da Caixa e do Itaú

Como posso contribuir
---------------------

[](#como-posso-contribuir)

Você pode contribuir lendo a documentação do seu banco e criando um arquivo yaml com base nela

E para que isso serve?
----------------------

[](#e-para-que-isso-serve)

Esse projeto é usado para ser base para outros projeto, como por exempo o CnabPHP, cnab\_python e muitos outros que poderão ser criados a partir deste projeto

O que eu preciso saber
----------------------

[](#o-que-eu-preciso-saber)

- Utilizamos nomes simples para o campo, por exemplo para "Código do banco" utilize o "codigo\_banco" (com underline e sem o "do")
- Para definir o tipo do campo utilizamos uma Picture

O que é uma Picture
-------------------

[](#o-que-é-uma-picture)

Essa Picture foi baseada na documentação do itaú, disponível em [http://download.itau.com.br/bankline/layout\_cobranca\_400bytes\_cnab\_itau\_mensagem.pdf](http://download.itau.com.br/bankline/layout_cobranca_400bytes_cnab_itau_mensagem.pdf)

Cada registro é formado por campos que são apresentados em dois formatos:

- Alfanumérico (picture X): alinhados à esquerda com brancos à direita. Preferencialmente, todos os caracteres devem ser maiúsculos. Aconselhase a não utilização de caracteres especiais (ex.: “Ç”, “?”,, etc) e acentuação gráfica (ex.: “Á”, “É”, “Ê”, etc) e os campos não utiliza dos deverão ser preenchidos com brancos.
- Numérico (picture 9): alinhado à direita com zeros à esquerda e os campos não utilizados deverão ser preenchidos com zeros. - Vírgula assumida (picture V): indica a posição da vírgula dentro de um campo numérico. E xemplo: num campo com picture “9(5)V9(2)”, o número “876,54” será representado por “0087654”

Exemplo de Arquivo
------------------

[](#exemplo-de-arquivo)

```
generic:
  # Registro Header de Lote

  # Baseado na documentação da Caixa
  # Disponível em: http://downloads.caixa.gov.br/_arquivos/cobrcaixasicob/manuaissicob/CNAB_240_SICOB.pdf (Acesso em  23/04/2014)

  codigo_banco:
    # Código fornecido pelo Banco Central para identificação do Banco que está recebendo ou enviando o
    # arquivo, com o qual se firmou o contrato de prestação de serviços.
    # CAIXA ECONÔMICA FEDERAL = ‘104’
    pos: [1, 3]
    picture: '9(3)' # isso significa: campo númerico, 3 digitos, preenchido com 0 a direita

  lote_servico:
    # Lote de Serviço
    # Número seqüencial para identificar cada lote de serviço.
    # Preencher com '0001' para o primeiro lote do arquivo. Para os demais: número do lote anterior
    # acrescido de 1. Deve ser o mesmo número dentro do lote. O número não poderá ser repetido dentro
    # do arquivo.
    # Se registro for Header do Arquivo = '0000'
    # Se registro for Trailer do Arquivo = '9999'
    pos: [4, 7]
    picture: '9(4)'

104:
  # Os seguintes campos são exclusivos da Caixa econômica federal (Código do Banco: 104)
  data_exemplo:
    pos: [8, 15]
    picture: '9(8)'
    date_format: '%d%m%Y' # mesmo padrão usado por linguagens como python e ruby

  valor_exemplo:
    pos: [16, 25]
    picture: '9(8)V9(2)' # isso significa 8 posições para a numero inteiro, mais 2 posições para as casas decimais

341:
  # Os seguintes campos são exclusivos do Itaú (Código do Banco 341)

  data_exemplo:
    pos: [8, 13]
    picture: '9(6)'
    date_format: '%d%m%y'

  outro_campo:
    pos: [14, 15]
    picture: 'X(2)' # Isso significa campo de texto com 2 caracteres (preenchido com espaço a direita)
    default: 'T' # Valor padrão do campo
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~78 days

Recently: every ~212 days

Total

17

Last Release

2842d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3f0aac75d58acdbfe96ea11e43bedaf2a4b8f34ea7077430f959d28b6a8e12e8?d=identicon)[melolucas](/maintainers/melolucas)

---

Top Contributors

[![andersondanilo](https://avatars.githubusercontent.com/u/5572326?v=4)](https://github.com/andersondanilo "andersondanilo (33 commits)")[![fabioginzel](https://avatars.githubusercontent.com/u/7377511?v=4)](https://github.com/fabioginzel "fabioginzel (14 commits)")[![wemersonjanuario](https://avatars.githubusercontent.com/u/38724?v=4)](https://github.com/wemersonjanuario "wemersonjanuario (11 commits)")[![renanpalmeira](https://avatars.githubusercontent.com/u/6018798?v=4)](https://github.com/renanpalmeira "renanpalmeira (11 commits)")[![programadormarin](https://avatars.githubusercontent.com/u/684809?v=4)](https://github.com/programadormarin "programadormarin (7 commits)")[![mrprompt](https://avatars.githubusercontent.com/u/166088?v=4)](https://github.com/mrprompt "mrprompt (4 commits)")[![FrankBruno](https://avatars.githubusercontent.com/u/4559864?v=4)](https://github.com/FrankBruno "FrankBruno (3 commits)")[![jefersondaniel](https://avatars.githubusercontent.com/u/3521637?v=4)](https://github.com/jefersondaniel "jefersondaniel (2 commits)")[![murilosandiego](https://avatars.githubusercontent.com/u/11686438?v=4)](https://github.com/murilosandiego "murilosandiego (1 commits)")[![gilglecio](https://avatars.githubusercontent.com/u/3136504?v=4)](https://github.com/gilglecio "gilglecio (1 commits)")[![danieljoppi](https://avatars.githubusercontent.com/u/5957410?v=4)](https://github.com/danieljoppi "danieljoppi (1 commits)")

---

Tags

yamlboletoremessaretornocnab240cnab400edicnab

### Embed Badge

![Health badge](/badges/melolucas-cnab-yaml/health.svg)

```
[![Health](https://phpackages.com/badges/melolucas-cnab-yaml/health.svg)](https://phpackages.com/packages/melolucas-cnab-yaml)
```

###  Alternatives

[andersondanilo/cnab_yaml

Especificação do formato Cnab240 e Cnab400 traduzida para Yaml

72280.6k6](/packages/andersondanilo-cnab-yaml)[openboleto/opencnabphp

Biblioteca multibanco para geração e leitura de arquivos Cnab de remessa e retorno

2097.3k](/packages/openboleto-opencnabphp)[fagoc/cnab-php

Lot of stuffs to help with 'remessa', 'retorno' e 'boleto'

2110.0k](/packages/fagoc-cnab-php)[andersondanilo/cnab_php

Projeto para criar arquivos de remessas e processar arquivos de retorno no formato CNAB

334260.6k2](/packages/andersondanilo-cnab-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
