2017 © Pedro Peláez
 

project cnab-layouts-parser

Isso é um fork de glauberportella/cnab-layouts-parser

image

gbgelado/cnab-layouts-parser

Isso é um fork de glauberportella/cnab-layouts-parser

  • Friday, March 16, 2018
  • by gelado
  • Repository
  • 1 Watchers
  • 0 Stars
  • 21 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 6 Forks
  • 0 Open issues
  • 9 Versions
  • 0 % Grown

The README.md

Isso é uma fork de: https://github.com/glauberportella/cnab-layouts-parser, (*1)

CNAB LAYOUTS PARSER

Instalação

Instale via composer:, (*2)

composer require gbgelado/cnab-layouts-parser, (*3)

Exemplos

Arquivo de Remessa

Gerando um arquivo Remessa CNAB240:, (*4)

<?php
require_once __DIR__.'/vendor/autoload.php';

use CnabParser\Parser\Layout;
use CnabParser\Model\Remessa;
use CnabParser\Output\RemessaFile;

$remessaLayout = new Layout(__DIR__.'/config/itau/cnab240/cobranca.yml');
$remessa = new Remessa($remessaLayout);

// header arquivo
$remessa->header->codigo_banco = 341;
$remessa->header->tipo_inscricao = 2;
$remessa->header->inscricao_numero = '12234567000186';
$remessa->header->agencia = 2932;
$remessa->header->conta = 24992;
$remessa->header->dac = 9;
$remessa->header->nome_empresa = 'NOME DA EMPRESA';
$remessa->header->data_geracao = date('dmY');
$remessa->header->hora_geracao = date('His');
$remessa->header->numero_sequencial_arquivo_retorno = 1;

// criar um novo lote de serviço para a remessa
// informando o código sequencial do lote
$lote = $remessa->novoLote(1);

$lote->header->codigo_banco = 341;
$lote->header->lote_servico = $lote->sequencial;
$lote->header->tipo_registro = 1;
$lote->header->tipo_operacao = 'R';
$lote->header->tipo_servico = '01';
$lote->header->zeros_01 = 0;
$lote->header->versao_layout_lote = '030';
$lote->header->brancos_01 = '';
$lote->header->tipo_inscricao = 2;
$lote->header->inscricao_empresa = '12234567000186';
$lote->header->brancos_02 = '0';
$lote->header->zeros_02 = 0;
$lote->header->agencia = 2932;
$lote->header->brancos_03 = '';
$lote->header->zeros_03 = 0;
$lote->header->conta = '24992';
$lote->header->brancos_04 = '';
$lote->header->dac = 9;
$lote->header->nome_empresa = 'NOME DA EMPRESA';
$lote->header->brancos_05 = '';
$lote->header->numero_sequencial_arquivo_retorno = 1;
$lote->header->data_gravacao = date('dmY');
$lote->header->data_credito = date('dmY');
$lote->header->brancos_06 = '';

$detalhe = $lote->novoDetalhe();
// segmento p
$detalhe->segmento_p->lote_servico = $lote->sequencial;
$detalhe->segmento_p->nummero_sequencial_registro_lote = 1;
$detalhe->segmento_p->codigo_ocorrencia = '01';
$detalhe->segmento_p->agencia = 2932;
$detalhe->segmento_p->conta = 24992;
$detalhe->segmento_p->dac = 9;
$detalhe->segmento_p->carteira = 109;
$detalhe->segmento_p->nosso_numero = 12345678;
$detalhe->segmento_p->dac_nosso_numero = 3;
$detalhe->segmento_p->numero_documento = 1;
$detalhe->segmento_p->vencimento = '10052016';
$detalhe->segmento_p->valor_titulo = 1000;
$detalhe->segmento_p->agencia_cobradora = 0;
$detalhe->segmento_p->dac_agencia_cobradora = 0;
$detalhe->segmento_p->especie = '05';
$detalhe->segmento_p->aceite = 'N';
$detalhe->segmento_p->data_emissao = date('dmY');
$detalhe->segmento_p->data_juros_mora = '11052016';
$detalhe->segmento_p->juros_1_dia = 0;
$detalhe->segmento_p->data_1o_desconto = '00000000';
$detalhe->segmento_p->valor_1o_desconto = 0;
$detalhe->segmento_p->valor_iof = 38;
$detalhe->segmento_p->valor_abatimento = 0;
$detalhe->segmento_p->identificacao_titulo_empresa = '';
$detalhe->segmento_p->codigo_negativacao_protesto = 0;
$detalhe->segmento_p->prazo_negativacao_protesto = 0;
$detalhe->segmento_p->codigo_baixa = 0;
$detalhe->segmento_p->prazo_baixa = 0;
// segmento q
$detalhe->segmento_q->lote_servico = $lote->sequencial;
$detalhe->segmento_q->nummero_sequencial_registro_lote = 2;
$detalhe->segmento_q->codigo_ocorrencia = '01';
$detalhe->segmento_q->tipo_inscricao = 2;
$detalhe->segmento_q->inscricao_numero = '12345678999';
$detalhe->segmento_q->nome_pagador = 'NOME PAGADOR';
$detalhe->segmento_q->logradouro = 'RUA PAGADOR';
$detalhe->segmento_q->bairro = 'BAIRRO';
$detalhe->segmento_q->cep = 31814;
$detalhe->segmento_q->sufixo_cep = 500;
$detalhe->segmento_q->cidade = 'CIDADE';
$detalhe->segmento_q->uf = 'MG';
$detalhe->segmento_q->tipo_inscricao_sacador = 2;
$detalhe->segmento_q->inscricao_sacador = '12234567000186';
$detalhe->segmento_q->nome_sacador = 'NOME DA EMPRESA';
// segmento r opcional nao adicionado
unset($detalhe->segmento_r);
// segmento y opcional nao adicionado
unset($detalhe->segmento_y);
// insere o detalhe no lote da remessa
$lote->inserirDetalhe($detalhe);

// trailer lote
$lote->trailer->lote_servico = $lote->sequencial;
$lote->trailer->quantidade_registros_lote = 4; // quantidade de Registros do Lote correspondente à soma da quantidade dos registros tipo 1 (header_lote), 3(detalhes) e 5(trailer_lote)
$lote->trailer->quantidade_cobranca_simples = 1;
$lote->trailer->valor_total_cobranca_simples = 10000;
$lote->trailer->quantidade_cobranca_vinculada = 0;
$lote->trailer->valor_total_cobranca_vinculada = 0;
$lote->trailer->aviso_bancario = '00000000';
// inserir lote na remessa
$remessa->inserirLote($lote);

// trailer arquivo
$remessa->trailer->total_lotes = 1; // quantidade de Lotes do arquivo correspondente à soma da quantidade dos registros tipo 1 (header_lote).
$remessa->trailer->total_registros = 6; //total da quantidade de Registros no arquivo correspondente à soma da quantidade dos registros tipo 0(header_arquivo), 1(header_lote), 3(detalhes), 5(trailer_lote) e 9(trailer_arquivo).

// gera arquivo
$remessaFile = new RemessaFile($remessa);
$remessaFile->generate(__DIR__.'/tests/out/itaucobranca240.rem');

Retorno

Processando um arquivo de retorno transformando-o em modelo para uso em seu sistema., (*5)

<?php
require_once __DIR__.'/vendor/autoload.php';

use CnabParser\Parser\Layout;
use CnabParser\Model\Retorno;
use CnabParser\Input\RetornoFile;

$layout = new Layout(__DIR__.'/config/itau/cnab240/cobranca.yml');
$retornoFile = new RetornoFile($layout, __DIR__.'/data/cobranca-itau-cnab240.ret');

// Gera o objeto instancia de CnabParser\Model\Retorno com os dados do arquivo de retorno processado
$retorno = $retornoFile->generate();

// ... utilize o $retorno em seu sistema para verificações, etc. ...

The Versions

16/03 2018

dev-master

9999999-dev

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gabriel Gelado

16/03 2018

0.1.8

0.1.8.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Development Requires

by Gabriel Gelado

22/02 2018

0.1.7

0.1.7.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Development Requires

by Gabriel Gelado

22/02 2018

0.1.6

0.1.6.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Development Requires

by Gabriel Gelado

22/02 2018

0.1.5

0.1.5.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gabriel Gelado

22/02 2018

0.1.4

0.1.4.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Development Requires

by Gabriel Gelado

31/01 2018

0.1.2

0.1.2.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gabriel Gelado

31/01 2018

0.1.1

0.1.1.0

Isso é um fork de glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gabriel Gelado

14/12 2017

v0.1

0.1.0.0

Its a fork from glauberportella/cnab-layouts-parser

  Sources   Download

MIT

The Requires

 

The Development Requires

by Gabriel Gelado