PHPackages                             trilote/cnab\_php - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. trilote/cnab\_php

ActiveLibrary[File &amp; Storage](/categories/file-storage)

trilote/cnab\_php
=================

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

1.4.30(2mo ago)05.9k↓25%PHPPHP &gt;=5.3.0

Since Jun 8Pushed 2mo agoCompare

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

READMEChangelog (2)Dependencies (10)Versions (52)Used By (0)

CnabPHP
=======

[](#cnabphp)

[![Build Status](https://camo.githubusercontent.com/38918f63416569959c06b11fb76ea69fa7f4b314e83fc9e3c324b12d930d9848/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f616e646572736f6e64616e696c6f2f436e61625048502e706e673f6272616e63683d6d6173746572)](http://travis-ci.org/andersondanilo/CnabPHP)[![Latest Stable Version](https://camo.githubusercontent.com/fbdad030f7b3e9071d5d156b57571fef02278513da1ed5585fef47246b5a1b21/68747470733a2f2f706f7365722e707567782e6f72672f616e646572736f6e64616e696c6f2f636e61625f7068702f762f737461626c652e737667)](https://packagist.org/packages/andersondanilo/cnab_php)[![Latest Unstable Version](https://camo.githubusercontent.com/9f7de7941d0e3c9648fe399625a049fbafb8c82f00084fcbe2a6afef38a6e1c4/68747470733a2f2f706f7365722e707567782e6f72672f616e646572736f6e64616e696c6f2f636e61625f7068702f762f756e737461626c652e737667)](https://packagist.org/packages/andersondanilo/cnab_php)[![Code Climate](https://camo.githubusercontent.com/9385bba737d5a290cef0f30c333363ade06597bd46fdd6073bcc160392901da5/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f616e646572736f6e64616e696c6f2f436e61625048502f6261646765732f6770612e737667)](https://codeclimate.com/github/andersondanilo/CnabPHP)[![Test Coverage](https://camo.githubusercontent.com/29b94f25787d299b7a8d884560fb8b06fe40c61392171c9206ce17c8e24efd9b/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f616e646572736f6e64616e696c6f2f436e61625048502f6261646765732f636f7665726167652e737667)](https://codeclimate.com/github/andersondanilo/CnabPHP/coverage)

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

Funcionalidades
---------------

[](#funcionalidades)

- Leitura e geração de arquivos de retorno e remessa nos formatos CNAB 240 e 400

BancoVersão da RemessaVersão do RetornoBanco do Brasil240Bradesco240Caixa240240 e 400Itaú400 (Falta testar)400Santander240Instalação
----------

[](#instalação)

### Composer

[](#composer)

Se você já conhece o **Composer**, adicione a dependência abaixo à diretiva *"require"* no seu **composer.json**:

```
"andersondanilo/cnab_php": "1.3.*"

```

Como Usar
---------

[](#como-usar)

### Lendo um arquivo de Retorno

[](#lendo-um-arquivo-de-retorno)

```
$cnabFactory = new Cnab\Factory();
$arquivo = $cnabFactory->createRetorno('AQUI VAI O CAMINHO DO ARQUIVO DE RETORNO, EX: RET1010.RET');
$detalhes = $arquivo->listDetalhes();
foreach($detalhes as $detalhe) {
    if($detalhe->getValorRecebido() > 0) {
        $nossoNumero   = $detalhe->getNossoNumero();
        $valorRecebido = $detalhe->getValorRecebido();
        $dataPagamento = $detalhe->getDataOcorrencia();
        $carteira      = $detalhe->getCarteira();
        // você já tem as informações, pode dar baixa no boleto aqui
    }
}
```

### Criando um arquivo de remessa

[](#criando-um-arquivo-de-remessa)

```
$codigo_banco = Cnab\Banco::CEF;
$arquivo = new Cnab\Remessa\Cnab400\Arquivo($codigo_banco);
$arquivo->configure(array(
	'data_geracao'  => new DateTime(),
	'data_gravacao' => new DateTime(),
	'nome_fantasia' => 'Nome Fantasia da sua empresa',
	'razao_social'  => 'Razão social da sua empresa',
	'cnpj'          => 'CPNJ da sua empresa',
	'banco'         => $codigo_banco, //código do banco
	'logradouro'    => 'Logradouro da Sua empresa',
	'numero'        => 'Número do endereço',
	'bairro'        => 'Bairro da sua empresa',
    'cidade'        => 'Cidade da sua empresa',
    'uf'            => 'Sigla da cidade, ex SP',
    'cep'           => 'CEP do endereço da sua cidade',
    'agencia'       => 'Agencia da conta',
    'conta'         => 'Número da conta',
    'operacao'      => 'Operação',
    'codigo_cedente'     => 'Código do Cedente',
    'codigo_cedente_dac' => 'Digito verificador do código do cedente',
));

// você pode adicionar vários boletos em uma remessa
$arquivo->insertDetalhe(array(
	'codigo_ocorrencia' => 1, // 1 = Entrada de título, futuramente poderemos ter uma constante
	'nosso_numero'      => 'Nosso número do boleto',
	'numero_documento'  => 'Seu Número / Número do Documento',
	'carteira'          => 'Carteira do Boleto',
	'especie'           => Cnab\Especie::CEF_OUTROS, // Você pode consultar as especies Cnab\Especie::CEF_OUTROS, futuramente poderemos ter uma tabela na documentação
	'valor'             => 100.39, // Valor do boleto
	'instrucao1'        => 2, // 1 = Protestar com (Prazo) dias, 2 = Devolver após (Prazo) dias, futuramente poderemos ter uma constante
	'instrucao2'        => 0, // preenchido com zeros
	'sacado_nome'       => 'Nome do cliente', // O Sacado é o cliente, preste atenção nos campos abaixo
	'sacado_tipo'       => 'cpf', //campo fixo, escreva 'cpf' (sim as letras cpf) se for pessoa fisica, cnpj se for pessoa juridica
	'sacado_cpf'        => 'CPF do Cliente',
	'sacado_logradouro' => 'Logradouro do cliente',
	'sacado_bairro'     => 'Bairro do cliente',
	'sacado_cep'        => 'CEP do cliente (somente numeros, sem hífen)',
	'sacado_cidade'     => 'Cidade do cliente',
	'sacado_uf'         => 'Sigla do estado do cliente',
	'data_vencimento'   => new DateTime('Data de vencimento do Boleto, ex: 2014-06-08'),
	'data_cadastro'     => new DateTime('Data de criação do Boleto, ex: 2014-06-01'),
	'juros_de_um_dia'     => 0.10, // Valor do juros de 1 dia'
	'data_desconto'       => new DateTime('Data limite para desconto, ex: 2014-06-01'),
	'valor_desconto'      => 10.0, // Valor do desconto
	'prazo'               => 10, // prazo de dias para o cliente pagar após o vencimento
	'taxa_de_permanencia' => '0', //00 = Acata Comissão por Dia (recomendável), 51 Acata Condições de Cadastramento na CAIXA
	'mensagem'            => 'Descrição do boleto',
	'data_multa'          => new DateTime('Data da multa, ex: 2014-06-09'), // data da multa
	'valor_multa'         => 10.0, // valor da multa
));

// para salvar
$arquivo->save('meunomedearquivo');
```

Como Contribuir
---------------

[](#como-contribuir)

Você pode contribuir com testes (unitários ou manuais), ou adaptando o formato para outro banco através do projeto cnab\_yaml ([https://github.com/andersondanilo/cnab\_yaml](https://github.com/andersondanilo/cnab_yaml)) (que é utilidado pelo cnab\_php). [Leia a wiki](https://github.com/andersondanilo/CnabPHP/wiki)

Licença
-------

[](#licença)

Este projeto esta sobre a licença MIT

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance86

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity71

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 ~89 days

Recently: every ~0 days

Total

49

Last Release

67d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/04b82410a9ca12f3766c4ee2e3e85cbf43a6a2ed8306ee03285e867a078068ae?d=identicon)[trilote](/maintainers/trilote)

---

Top Contributors

[![andersondanilo](https://avatars.githubusercontent.com/u/5572326?v=4)](https://github.com/andersondanilo "andersondanilo (34 commits)")[![jefersondaniel](https://avatars.githubusercontent.com/u/3521637?v=4)](https://github.com/jefersondaniel "jefersondaniel (24 commits)")[![gilglecio](https://avatars.githubusercontent.com/u/3136504?v=4)](https://github.com/gilglecio "gilglecio (21 commits)")[![mrprompt](https://avatars.githubusercontent.com/u/166088?v=4)](https://github.com/mrprompt "mrprompt (1 commits)")[![sandrobocon](https://avatars.githubusercontent.com/u/8063255?v=4)](https://github.com/sandrobocon "sandrobocon (1 commits)")

---

Tags

boletoremessaretorno

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/trilote-cnab-php/health.svg)

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

###  Alternatives

[andersondanilo/cnab_php

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

334260.6k2](/packages/andersondanilo-cnab-php)[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)

PHPackages © 2026

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