diff --git a/README.md b/README.md index 096682f..4544fa1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Isso é uma fork de: https://github.com/glauberportella/cnab-layouts-parser Instale via composer: -`composer require jrodella/cnab-layouts-parser` +`composer require leonardyrj/cnab-layouts-parser` # Exemplos diff --git a/composer.json b/composer.json index de5de2d..1b96164 100644 --- a/composer.json +++ b/composer.json @@ -1,12 +1,12 @@ { - "name": "ipagdevs/cnab-layouts-parser", - "description": "Isso é uma fork de: glauberportella/cnab-layouts-parser", + "name": "leonardyrj/cnab-layouts-parser", + "description": "Isso é uma fork de: ipagdevs/cnab-layouts-parser", "type": "project", "license": "MIT", "authors": [ { - "name": "João Hernandes", - "email": "joao@ipag.com.br" + "name": "Leonardy Cardoso", + "email": "leonardyrj@gmail.com" } ], "autoload": { @@ -15,6 +15,6 @@ } }, "require": { - "symfony/yaml": "^5" + "symfony/yaml": "^7" } } diff --git a/config/febraban/cnab240/pagamentos.yml b/config/febraban/cnab240/pagamentos.yml index 0acc076..0db706f 100644 --- a/config/febraban/cnab240/pagamentos.yml +++ b/config/febraban/cnab240/pagamentos.yml @@ -25,7 +25,7 @@ servico: 'pagamentos' -versao: '09.1' +versao: '10.9' layout: 'cnab240' @@ -33,7 +33,7 @@ remessa: header_arquivo: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' # # Campo: lote_servico @@ -43,7 +43,7 @@ remessa: # Se registro for Trailer do Arquivo preencher com '9999' # lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' default: '0000' # Campo: tipo_registro @@ -57,11 +57,11 @@ remessa: # '5' = Trailer de Lote # '9' = Trailer de Arquivo tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '0' exclusivo_febraban_01: - pos: [9,17] + pos: [ 9,17 ] picture: 'X(9)' default: '' # @@ -78,37 +78,37 @@ remessa: # - Para o Produto/Serviço Cobrança considerar como obrigatório, a partir de 01.06.2015, somente o CPF (código 1) ou o CNPJ (código 2). Os demais códigos não deverão ser utilizados. # tipo_inscricao_empresa: - pos: [18,18] + pos: [ 18,18 ] picture: '9(1)' numero_inscricao_empresa: - pos: [19,32] + pos: [ 19,32 ] picture: '9(14)' codigo_convenio_banco: - pos: [33,52] + pos: [ 33,52 ] picture: 'X(20)' agencia_mantenedora_conta: - pos: [53,57] + pos: [ 53,57 ] picture: '9(5)' digito_verificador_agencia: - pos: [58,58] + pos: [ 58,58 ] picture: 'X(1)' numero_conta_corrente: - pos: [59,70] + pos: [ 59,70 ] picture: '9(12)' digito_verificador_conta: - pos: [71,71] + pos: [ 71,71 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [72,72] + pos: [ 72,72 ] picture: 'X(1)' nome_empresa: - pos: [73,102] + pos: [ 73,102 ] picture: 'X(30)' nome_banco: - pos: [103,132] + pos: [ 103,132 ] picture: 'X(30)' exclusivo_febraban_02: - pos: [133,142] + pos: [ 133,142 ] picture: 'X(10)' default: '' # Campo: codigo_remessa_retorno @@ -119,7 +119,7 @@ remessa: # '2' = Retorno (Banco -> Cliente) # codigo_remessa_retorno: - pos: [143,143] + pos: [ 143,143 ] picture: '9(1)' # # Campo: data_geracao_arquivo @@ -130,7 +130,7 @@ remessa: # AAAA = ano # data_geracao_arquivo: - pos: [144,151] + pos: [ 144,151 ] picture: '9(8)' # # Campo: hora_geracao_arquivo @@ -141,7 +141,7 @@ remessa: # SS = segundo # hora_geracao_arquivo: - pos: [152,157] + pos: [ 152,157 ] picture: '9(6)' # # Campo: numero_sequencial_arquivo @@ -150,7 +150,7 @@ remessa: # Evoluir um número seqüencial a cada header de arquivo. # numero_sequencial_arquivo: - pos: [158,163] + pos: [ 158,163 ] picture: '9(6)' # # Campo: versao_layout_arquivo @@ -160,9 +160,9 @@ remessa: # Release = 1 dígito # versao_layout_arquivo: - pos: [164,166] + pos: [ 164,166 ] picture: '9(3)' - default: '091' + default: '109' # # Campo: densidade_gravacao_arquivo # Densidade de gravação (BPI), do arquivo encaminhado. @@ -171,62 +171,64 @@ remessa: # 6250 BPI # densidade_gravacao_arquivo: - pos: [167,171] + pos: [ 167,171 ] picture: '9(5)' + default: '0' reservado_banco_01: - pos: [172,191] + pos: [ 172,191 ] picture: 'X(20)' reservado_empresa_01: - pos: [192,211] + pos: [ 192,211 ] picture: 'X(20)' exclusivo_febraban_03: - pos: [212,240] + pos: [ 212,240 ] picture: 'X(29)' default: '' trailer_arquivo: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' default: '9999' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '9' exclusivo_febraban_01: - pos: [9,17] + pos: [ 9,17 ] picture: 'X(9)' default: '' quantidade_lotes_arquivo: - pos: [18,23] + pos: [ 18,23 ] picture: '9(6)' quantidade_registros_arquivo: - pos: [24,29] + pos: [ 24,29 ] picture: '9(6)' quantidade_contas_conciliacao_lotes: - pos: [30,35] + pos: [ 30,35 ] + default: '0' picture: '9(6)' exclusivo_febraban_02: - pos: [36,240] + pos: [ 36,240 ] picture: 'X(205)' default: '' header_lote: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '1' tipo_operacao: - pos: [9,9] + pos: [ 9,9 ] picture: 'X(1)' default: 'C' # @@ -267,7 +269,7 @@ remessa: # '98' = Pagamentos Diversos # tipo_servico: - pos: [10,11] + pos: [ 10,11 ] picture: '9(2)' # # Campo: forma_lancamento @@ -308,66 +310,66 @@ remessa: # (3) Para a forma de lançamento ‘11’ – Pagamento de Contas e Tributos com código de barras, caso o tributo FGTS a ser pago, pertencer aos convênios 0181 - Caixa – Arrecadação do FGTS – Recolhimento Recursal (418) ou Filantrópico (604) e 0182 – Caixa _ Arrecadação do FGTS – Recolhimento Parcelamento sem Multa (327,337 e 345) é obrigatório preencher as Informações Complementares de Tributo no segmento W. Este campo não será utilizado pela Cobrança. # forma_lancamento: - pos: [12,13] + pos: [ 12,13 ] picture: '9(2)' versao_layout_lote: - pos: [14,16] + pos: [ 14,16 ] picture: '9(3)' - default: '045' + default: '046' exclusivo_febraban_01: - pos: [17,17] + pos: [ 17,17 ] picture: 'X(1)' default: '' tipo_inscricao_empresa: - pos: [18,18] + pos: [ 18,18 ] picture: '9(1)' numero_inscricao_empresa: - pos: [19,32] + pos: [ 19,32 ] picture: '9(14)' codigo_convenio_banco: - pos: [33,52] + pos: [ 33,52 ] picture: 'X(20)' agencia_mantenedora_conta: - pos: [53,57] + pos: [ 53,57 ] picture: '9(5)' digito_verificador_agencia: - pos: [58,58] + pos: [ 58,58 ] picture: 'X(1)' numero_conta_corrente: - pos: [59,70] + pos: [ 59,70 ] picture: '9(12)' digito_verificador_conta: - pos: [71,71] + pos: [ 71,71 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [72,72] + pos: [ 72,72 ] picture: 'X(1)' nome_empresa: - pos: [73,102] + pos: [ 73,102 ] picture: 'X(30)' mensagem: - pos: [103,142] + pos: [ 103,142 ] picture: 'X(40)' logradouro: - pos: [143,172] + pos: [ 143,172 ] picture: 'X(30)' numero: - pos: [173,177] + pos: [ 173,177 ] picture: '9(5)' complemento: - pos: [178,192] + pos: [ 178,192 ] picture: 'X(15)' cidade: - pos: [193,212] + pos: [ 193,212 ] picture: 'X(20)' cep: - pos: [213,217] + pos: [ 213,217 ] picture: '9(5)' complemento_cep: - pos: [218,220] + pos: [ 218,220 ] picture: 'X(3)' estado: - pos: [221,222] + pos: [ 221,222 ] picture: 'X(2)' # # Campo: indicativo_forma_pagamento_servico @@ -377,10 +379,10 @@ remessa: # 03 – Débito Cartão de Crédito # indicativo_forma_pagamento_servico: - pos: [223,224] + pos: [ 223,224 ] picture: '9(2)' exclusivo_febraban_02: - pos: [225,230] + pos: [ 225,230 ] picture: 'X(6)' default: '' # @@ -518,12 +520,12 @@ remessa: # ‘ZC’ = Confirmação de Antecipação de Valor # ‘ZD’ = Antecipação parcial de valor codigos_ocorrencias_retorno: - pos: [231,240] + pos: [ 231,240 ] picture: 'X(10)' trailer_lote: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' # # Campo: lote_servico @@ -533,7 +535,7 @@ remessa: # Se registro for Trailer do Arquivo preencher com '9999' # lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' # Campo: tipo_registro # Código adotado pela FEBRABAN para identificar o tipo de registro. @@ -546,11 +548,11 @@ remessa: # '5' = Trailer de Lote # '9' = Trailer de Arquivo tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '5' exclusivo_febraban_01: - pos: [9,17] + pos: [ 9,17 ] picture: 'X(9)' default: '' # @@ -560,47 +562,49 @@ remessa: # produtos (exemplo: Extrato para Gestão de Caixa). # quantidade_registros_lote: - pos: [18,23] + pos: [ 18,23 ] picture: '9(6)' # # Campo: somatoria_valores # Valor obtido pela somatória dos valores de crédito dos registros de detalhe (Registro = '3' / Código de Segmento = 'A'). # somatoria_valores: - pos: [24,41] + pos: [ 24,41 ] picture: '9(16)V9(2)' # # Campo: somatoria_quantidade_moedas # Valor obtido pela somatória das quantidades de moeda dos registros de detalhe (Registro = '3' / Código de Segmento = {'A' / 'J'}). # somatoria_quantidade_moedas: - pos: [42,59] + pos: [ 42,59 ] picture: '9(13)V9(5)' # # Campo: numero_aviso_debito # Número atribuído pelo Banco para identificar um Débito efetuado na Conta Corrente a partir do(s) pagamento(s) efetivado(s), visando facilitar a Conciliação Bancária. # numero_aviso_debito: - pos: [60,65] + pos: [ 60,65 ] + default: '0' picture: '9(6)' exclusivo_febraban_02: - pos: [66,230] + pos: [ 66,230 ] picture: 'X(165)' default: '' codigos_ocorrencias_retorno: - pos: [231,240] + pos: [ 231,240 ] + default: '' picture: 'X(10)' detalhes: segmento_a: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '3' # @@ -610,10 +614,10 @@ remessa: # Deve ser inicializado sempre em '1', em cada novo lote. # numero_sequencial_registro_lote: - pos: [9,13] + pos: [ 9,13 ] picture: '9(5)' codigo_segmento_registro_detalhe: - pos: [14,14] + pos: [ 14,14 ] picture: 'X(1)' default: 'A' # @@ -630,7 +634,7 @@ remessa: # '9' = Indica EXCLUSÃO # tipo_movimento: - pos: [15,15] + pos: [ 15,15 ] picture: '9(1)' # # Campo: codigo_instrucao_movimento @@ -641,7 +645,7 @@ remessa: # '10' = Alteração do Pagamento Liberado para Bloqueado (Bloqueio) # codigo_instrucao_movimento: - pos: [16,17] + pos: [ 16,17 ] picture: '9(2)' # # Campo: codigo_camara_centralizadora @@ -656,38 +660,38 @@ remessa: # conforme descrito na Nota P015. # codigo_camara_centralizadora: - pos: [18,20] + pos: [ 18,20 ] picture: '9(3)' codigo_banco_favorecido: - pos: [21,23] + pos: [ 21,23 ] picture: '9(3)' agencia_mantenedora_conta_favorecido: - pos: [24,28] + pos: [ 24,28 ] picture: '9(5)' digito_verificador_agencia: - pos: [29,29] + pos: [ 29,29 ] picture: 'X(1)' numero_conta_corrente: - pos: [30,41] + pos: [ 30,41 ] picture: '9(12)' digito_verificador_conta: - pos: [42,42] + pos: [ 42,42 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [43,43] + pos: [ 43,43 ] picture: 'X(1)' nome_favorecido: - pos: [44,73] + pos: [ 44,73 ] picture: 'X(30)' # # Campo: numero_documento_atribuido_empresa # Número atribuído pela Empresa (Pagador) para identificar o documento de Pagamento (Nota Fiscal, Nota Promissória, etc.). # numero_documento_atribuido_empresa: - pos: [74,93] + pos: [ 74,93 ] picture: 'X(20)' data_pagamento: - pos: [94,101] + pos: [ 94,101 ] picture: '9(8)' # # Campo: tipo_moeda @@ -713,29 +717,33 @@ remessa: # 'XEU' = Unidade Monetária Européia # tipo_moeda: - pos: [102,104] + pos: [ 102,104 ] picture: 'X(3)' + default: 'BRL' quantidade_moeda: - pos: [105,119] + pos: [ 105,119 ] + default: '0' picture: '9(10)V9(5)' valor_pagamento: - pos: [120,134] + pos: [ 120,134 ] picture: '9(13)V9(2)' # # Campo: numero_documento_atribuido_banco # Número atribuído pelo Banco para identificar o lançamento, que será utilizado nas manutenções do mesmo. # numero_documento_atribuido_banco: - pos: [135,154] + pos: [ 135,154 ] picture: 'X(20)' data_real_efetivacao_pagamento: - pos: [155,162] + pos: [ 155,162 ] + default: '0' picture: '9(8)' valor_real_efetivacao_pagamento: - pos: [163,177] + pos: [ 163,177 ] picture: '9(13)V9(2)' + default: '0' outras_informacoes: - pos: [178,217] + pos: [ 178,217 ] picture: 'X(40)' # # Campo: complemento_tipo_servico @@ -760,7 +768,7 @@ remessa: # ‘19’ = Pagamento de prebenda (Remuneração a padres e sacerdotes) # complemento_tipo_servico: - pos: [218,219] + pos: [ 218,219 ] picture: 'X(2)' # # Campo: codigo_finalidade_ted @@ -770,46 +778,47 @@ remessa: # Dicionários de Domínios para o SPB. # codigo_finalidade_ted: - pos: [220,224] + pos: [ 220,224 ] picture: 'X(5)' # # Campo: complemento_finalidade_pagamento # Código adotado para complemento da finalidade pagamento. A forma de utilização deverá ser acordada entre banco e cliente. # complemento_finalidade_pagamento: - pos: [225,226] + pos: [ 225,226 ] picture: 'X(2)' exclusivo_febraban_01: - pos: [227,229] + pos: [ 227,229 ] picture: 'X(3)' default: '' aviso_favorecido: - pos: [230,230] + pos: [ 230,230 ] picture: '9(1)' + default: '0' codigos_ocorrencias_retorno: - pos: [231,240] + pos: [ 231,240 ] picture: 'X(10)' segmento_b: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '3' numero_sequencial_registro_lote: - pos: [9,13] + pos: [ 9,13 ] picture: '9(5)' codigo_segmento_registro_detalhe: - pos: [14,14] + pos: [ 14,14 ] picture: 'X(1)' default: 'B' exclusivo_febraban_01: - pos: [15,17] + pos: [ 15,17 ] picture: 'X(3)' default: '' # @@ -828,52 +837,56 @@ remessa: # deverão ser utilizados. # tipo_inscricao_favorecido: - pos: [18,18] + pos: [ 18,18 ] picture: '9(1)' numero_inscricao_favorecido: - pos: [19,32] + pos: [ 19,32 ] picture: '9(14)' logradouro: - pos: [33,62] + pos: [ 33,62 ] picture: 'X(30)' numero: - pos: [63,67] + pos: [ 63,67 ] picture: '9(5)' complemento: - pos: [68,82] + pos: [ 68,82 ] picture: 'X(15)' bairro: - pos: [83,97] + pos: [ 83,97 ] picture: 'X(15)' cidade: - pos: [98,117] + pos: [ 98,117 ] picture: 'X(20)' cep: - pos: [118,122] + pos: [ 118,122 ] picture: '9(5)' complemento_cep: - pos: [123,125] + pos: [ 123,125 ] picture: 'X(3)' estado: - pos: [126,127] + pos: [ 126,127 ] picture: 'X(2)' data_vencimento_nominal: - pos: [128,135] + pos: [ 128,135 ] picture: '9(8)' valor_documento_nominal: - pos: [136,150] + pos: [ 136,150 ] picture: '9(13)V9(2)' valor_abatimento: - pos: [151,165] + pos: [ 151,165 ] + default: '0' picture: '9(13)V9(2)' valor_desconto: - pos: [166,180] + default: '0' + pos: [ 166,180 ] picture: '9(13)V9(2)' valor_mora: - pos: [181,195] + default: '0' + pos: [ 181,195 ] picture: '9(13)V9(2)' valor_multa: - pos: [196,210] + default: '0' + pos: [ 196,210 ] picture: '9(13)V9(2)' # # Campo: codigo_documento_favorecido @@ -881,484 +894,488 @@ remessa: # O conteúdo deste campo não sofrerá nenhum tratamento por parte do Banco. # codigo_documento_favorecido: - pos: [211,225] + pos: [ 211,225 ] picture: 'X(15)' aviso_favorecido: - pos: [226,226] + pos: [ 226,226 ] + default: '0' picture: '9(1)' exclusivo_siape_01: - pos: [227,232] + default: '0' + pos: [ 227,232 ] picture: '9(6)' codigo_ispb: - pos: [233,240] + pos: [ 233,240 ] + default: '0' picture: '9(8)' # opcional remessa/retorno segmento_c: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '3' numero_sequencial_registro_lote: - pos: [9,13] + pos: [ 9,13 ] picture: '9(5)' codigo_segmento_registro_detalhe: - pos: [14,14] + pos: [ 14,14 ] picture: 'X(1)' default: 'C' exclusivo_febraban_01: - pos: [15,17] + pos: [ 15,17 ] picture: 'X(3)' default: '' valor_ir: - pos: [18,32] + pos: [ 18,32 ] picture: '9(13)V9(2)' valor_iss: - pos: [33,47] + pos: [ 33,47 ] picture: '9(13)V9(2)' valor_iof: - pos: [48,62] + pos: [ 48,62 ] picture: '9(13)V9(2)' valor_outras_deducoes: - pos: [63,77] + pos: [ 63,77 ] picture: '9(13)V9(2)' valor_outros_acrescimos: - pos: [78,92] + pos: [ 78,92 ] picture: '9(13)V9(2)' agencia_favorecido: - pos: [93,97] + pos: [ 93,97 ] picture: '9(5)' digito_verificador_agencia: - pos: [98,98] + pos: [ 98,98 ] picture: 'X(1)' numero_conta_corrente: - pos: [99,110] + pos: [ 99,110 ] picture: '9(12)' digito_verificador_conta: - pos: [111,111] + pos: [ 111,111 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [112,112] + pos: [ 112,112 ] picture: 'X(1)' valor_inss: - pos: [113,127] + pos: [ 113,127 ] picture: '9(13)V9(2)' exclusivo_febraban_02: - pos: [128,240] + pos: [ 128,240 ] picture: 'X(113)' retorno: header_arquivo: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' default: '0000' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '0' exclusivo_febraban_01: - pos: [9,17] + pos: [ 9,17 ] picture: 'X(9)' default: '' tipo_inscricao_empresa: - pos: [18,18] + pos: [ 18,18 ] picture: '9(1)' numero_inscricao_empresa: - pos: [19,32] + pos: [ 19,32 ] picture: '9(14)' codigo_convenio_banco: - pos: [33,52] + pos: [ 33,52 ] picture: 'X(20)' agencia_mantenedora_conta: - pos: [53,57] + pos: [ 53,57 ] picture: '9(5)' digito_verificador_agencia: - pos: [58,58] + pos: [ 58,58 ] picture: 'X(1)' numero_conta_corrente: - pos: [59,70] + pos: [ 59,70 ] picture: '9(12)' digito_verificador_conta: - pos: [71,71] + pos: [ 71,71 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [72,72] + pos: [ 72,72 ] picture: 'X(1)' nome_empresa: - pos: [73,102] + pos: [ 73,102 ] picture: 'X(30)' nome_banco: - pos: [103,132] + pos: [ 103,132 ] picture: 'X(30)' exclusivo_febraban_02: - pos: [133,142] + pos: [ 133,142 ] picture: 'X(10)' default: '' codigo_remessa_retorno: - pos: [143,143] + pos: [ 143,143 ] picture: '9(1)' data_geracao_arquivo: - pos: [144,151] + pos: [ 144,151 ] picture: '9(8)' hora_geracao_arquivo: - pos: [152,157] + pos: [ 152,157 ] picture: '9(6)' numero_sequencial_arquivo: - pos: [158,163] + pos: [ 158,163 ] picture: '9(6)' versao_layout_arquivo: - pos: [164,166] + pos: [ 164,166 ] picture: '9(3)' default: '091' densidade_gravacao_arquivo: - pos: [167,171] + pos: [ 167,171 ] picture: '9(5)' + default: '0' reservado_banco_01: - pos: [172,191] + pos: [ 172,191 ] picture: 'X(20)' reservado_empresa_01: - pos: [192,211] + pos: [ 192,211 ] picture: 'X(20)' exclusivo_febraban_03: - pos: [212,240] + pos: [ 212,240 ] picture: 'X(29)' default: '' trailer_arquivo: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' default: '9999' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '9' exclusivo_febraban_01: - pos: [9,17] + pos: [ 9,17 ] picture: 'X(9)' default: '' quantidade_lotes_arquivo: - pos: [18,23] + pos: [ 18,23 ] picture: '9(6)' quantidade_registros_arquivo: - pos: [24,29] + pos: [ 24,29 ] picture: '9(6)' quantidade_contas_conciliacao_lotes: - pos: [30,35] + pos: [ 30,35 ] picture: '9(6)' exclusivo_febraban_02: - pos: [36,240] + pos: [ 36,240 ] picture: 'X(205)' default: '' header_lote: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '1' tipo_operacao: - pos: [9,9] + pos: [ 9,9 ] picture: 'X(1)' default: 'C' tipo_servico: - pos: [10,11] + pos: [ 10,11 ] picture: '9(2)' forma_lancamento: - pos: [12,13] + pos: [ 12,13 ] picture: '9(2)' versao_layout_lote: - pos: [14,16] + pos: [ 14,16 ] picture: '9(3)' default: '045' exclusivo_febraban_01: - pos: [17,17] + pos: [ 17,17 ] picture: 'X(1)' default: '' tipo_inscricao_empresa: - pos: [18,18] + pos: [ 18,18 ] picture: '9(1)' numero_inscricao_empresa: - pos: [19,32] + pos: [ 19,32 ] picture: '9(14)' codigo_convenio_banco: - pos: [33,52] + pos: [ 33,52 ] picture: 'X(20)' agencia_mantenedora_conta: - pos: [53,57] + pos: [ 53,57 ] picture: '9(5)' digito_verificador_agencia: - pos: [58,58] + pos: [ 58,58 ] picture: 'X(1)' numero_conta_corrente: - pos: [59,70] + pos: [ 59,70 ] picture: '9(12)' digito_verificador_conta: - pos: [71,71] + pos: [ 71,71 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [72,72] + pos: [ 72,72 ] picture: 'X(1)' nome_empresa: - pos: [73,102] + pos: [ 73,102 ] picture: 'X(30)' mensagem: - pos: [103,142] + pos: [ 103,142 ] picture: 'X(40)' logradouro: - pos: [143,172] + pos: [ 143,172 ] picture: 'X(30)' numero: - pos: [173,177] + pos: [ 173,177 ] picture: '9(5)' complemento: - pos: [178,192] + pos: [ 178,192 ] picture: 'X(15)' cidade: - pos: [193,212] + pos: [ 193,212 ] picture: 'X(20)' cep: - pos: [213,217] + pos: [ 213,217 ] picture: '9(5)' complemento_cep: - pos: [218,220] + pos: [ 218,220 ] picture: 'X(3)' estado: - pos: [221,222] + pos: [ 221,222 ] picture: 'X(2)' indicativo_forma_pagamento_servico: - pos: [223,224] + pos: [ 223,224 ] picture: '9(2)' exclusivo_febraban_02: - pos: [225,230] + pos: [ 225,230 ] picture: 'X(6)' default: '' codigos_ocorrencias_retorno: - pos: [231,240] + pos: [ 231,240 ] picture: 'X(10)' trailer_lote: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '5' exclusivo_febraban_01: - pos: [9,17] + pos: [ 9,17 ] picture: 'X(9)' default: '' quantidade_registros_lote: - pos: [18,23] + pos: [ 18,23 ] picture: '9(6)' somatoria_valores: - pos: [24,41] + pos: [ 24,41 ] picture: '9(16)V9(2)' somatoria_quantidade_moedas: - pos: [42,59] + pos: [ 42,59 ] picture: '9(13)V9(5)' numero_aviso_debito: - pos: [60,65] + pos: [ 60,65 ] picture: '9(6)' exclusivo_febraban_02: - pos: [66,230] + pos: [ 66,230 ] picture: 'X(165)' default: '' codigos_ocorrencias_retorno: - pos: [231,240] + pos: [ 231,240 ] picture: 'X(10)' detalhes: segmento_a: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '3' numero_sequencial_registro_lote: - pos: [9,13] + pos: [ 9,13 ] picture: '9(5)' codigo_segmento_registro_detalhe: - pos: [14,14] + pos: [ 14,14 ] picture: 'X(1)' default: 'A' tipo_movimento: - pos: [15,15] + pos: [ 15,15 ] picture: '9(1)' codigo_instrucao_movimento: - pos: [16,17] + pos: [ 16,17 ] picture: '9(2)' codigo_camara_centralizadora: - pos: [18,20] + pos: [ 18,20 ] picture: '9(3)' codigo_banco_favorecido: - pos: [21,23] + pos: [ 21,23 ] picture: '9(3)' agencia_mantenedora_conta_favorecido: - pos: [24,28] + pos: [ 24,28 ] picture: '9(5)' digito_verificador_agencia: - pos: [29,29] + pos: [ 29,29 ] picture: 'X(1)' numero_conta_corrente: - pos: [30,41] + pos: [ 30,41 ] picture: '9(12)' digito_verificador_conta: - pos: [42,42] + pos: [ 42,42 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [43,43] + pos: [ 43,43 ] picture: 'X(1)' nome_favorecido: - pos: [44,73] + pos: [ 44,73 ] picture: 'X(30)' numero_documento_atribuido_empresa: - pos: [74,93] + pos: [ 74,93 ] picture: 'X(20)' data_pagamento: - pos: [94,101] + pos: [ 94,101 ] picture: '9(8)' tipo_moeda: - pos: [102,104] + pos: [ 102,104 ] picture: 'X(3)' quantidade_moeda: - pos: [105,119] + pos: [ 105,119 ] picture: '9(10)V9(5)' valor_pagamento: - pos: [120,134] + pos: [ 120,134 ] picture: '9(13)V9(2)' numero_documento_atribuido_banco: - pos: [135,154] + pos: [ 135,154 ] picture: 'X(20)' data_real_efetivacao_pagamento: - pos: [155,162] + pos: [ 155,162 ] picture: '9(8)' valor_real_efetivacao_pagamento: - pos: [163,177] + pos: [ 163,177 ] picture: '9(13)V9(2)' outras_informacoes: - pos: [178,217] + pos: [ 178,217 ] picture: 'X(40)' complemento_tipo_servico: - pos: [218,219] + pos: [ 218,219 ] picture: 'X(2)' codigo_finalidade_ted: - pos: [220,224] + pos: [ 220,224 ] picture: 'X(5)' complemento_finalidade_pagamento: - pos: [225,226] + pos: [ 225,226 ] picture: 'X(2)' exclusivo_febraban_01: - pos: [227,229] + pos: [ 227,229 ] picture: 'X(3)' default: '' aviso_favorecido: - pos: [230,230] + pos: [ 230,230 ] picture: '9(1)' codigos_ocorrencias_retorno: - pos: [231,240] + pos: [ 231,240 ] picture: 'X(10)' segmento_b: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '3' numero_sequencial_registro_lote: - pos: [9,13] + pos: [ 9,13 ] picture: '9(5)' codigo_segmento_registro_detalhe: - pos: [14,14] + pos: [ 14,14 ] picture: 'X(1)' default: 'B' exclusivo_febraban_01: - pos: [15,17] + pos: [ 15,17 ] picture: 'X(3)' default: '' tipo_inscricao_favorecido: - pos: [18,18] + pos: [ 18,18 ] picture: '9(1)' numero_inscricao_favorecido: - pos: [19,32] + pos: [ 19,32 ] picture: '9(14)' logradouro: - pos: [33,62] + pos: [ 33,62 ] picture: 'X(30)' numero: - pos: [63,67] + pos: [ 63,67 ] picture: '9(5)' complemento: - pos: [68,82] + pos: [ 68,82 ] picture: 'X(15)' bairro: - pos: [83,97] + pos: [ 83,97 ] picture: 'X(15)' cidade: - pos: [98,117] + pos: [ 98,117 ] picture: 'X(20)' cep: - pos: [118,122] + pos: [ 118,122 ] picture: '9(5)' complemento_cep: - pos: [123,125] + pos: [ 123,125 ] picture: 'X(3)' estado: - pos: [126,127] + pos: [ 126,127 ] picture: 'X(2)' data_vencimento_nominal: - pos: [128,135] + pos: [ 128,135 ] picture: '9(8)' valor_documento_nominal: - pos: [136,150] + pos: [ 136,150 ] picture: '9(13)V9(2)' valor_abatimento: - pos: [151,165] + pos: [ 151,165 ] picture: '9(13)V9(2)' valor_desconto: - pos: [166,180] + pos: [ 166,180 ] picture: '9(13)V9(2)' valor_mora: - pos: [181,195] + pos: [ 181,195 ] picture: '9(13)V9(2)' valor_multa: - pos: [196,210] + pos: [ 196,210 ] picture: '9(13)V9(2)' codigo_documento_favorecido: - pos: [211,225] + pos: [ 211,225 ] picture: 'X(15)' # # Campo: aviso_favorecido @@ -1372,14 +1389,14 @@ retorno: # '7' = Emite Aviso para o Favorecido e 2 Vias para o Remetente # aviso_favorecido: - pos: [226,226] + pos: [ 226,226 ] picture: '9(1)' # # Campo: exclusivo_siape_01 # Uso exclusivo para Pagamentos de Salários dos servidores, pelo SIAPE # exclusivo_siape_01: - pos: [227,232] + pos: [ 227,232 ] picture: '9(6)' # # Campo: codigo_ispb @@ -1392,65 +1409,65 @@ retorno: # Transferência de Reservas - Relação de participantes do STR # codigo_ispb: - pos: [233,240] + pos: [ 233,240 ] picture: '9(8)' # opcional remessa/retorno segmento_c: codigo_banco: - pos: [1,3] + pos: [ 1,3 ] picture: '9(3)' lote_servico: - pos: [4,7] + pos: [ 4,7 ] picture: '9(4)' tipo_registro: - pos: [8,8] + pos: [ 8,8 ] picture: '9(1)' default: '3' numero_sequencial_registro_lote: - pos: [9,13] + pos: [ 9,13 ] picture: '9(5)' codigo_segmento_registro_detalhe: - pos: [14,14] + pos: [ 14,14 ] picture: 'X(1)' default: 'C' exclusivo_febraban_01: - pos: [15,17] + pos: [ 15,17 ] picture: 'X(3)' default: '' valor_ir: - pos: [18,32] + pos: [ 18,32 ] picture: '9(13)V9(2)' valor_iss: - pos: [33,47] + pos: [ 33,47 ] picture: '9(13)V9(2)' valor_iof: - pos: [48,62] + pos: [ 48,62 ] picture: '9(13)V9(2)' valor_outras_deducoes: - pos: [63,77] + pos: [ 63,77 ] picture: '9(13)V9(2)' valor_outros_acrescimos: - pos: [78,92] + pos: [ 78,92 ] picture: '9(13)V9(2)' agencia_favorecido: - pos: [93,97] + pos: [ 93,97 ] picture: '9(5)' digito_verificador_agencia: - pos: [98,98] + pos: [ 98,98 ] picture: 'X(1)' numero_conta_corrente: - pos: [99,110] + pos: [ 99,110 ] picture: '9(12)' digito_verificador_conta: - pos: [111,111] + pos: [ 111,111 ] picture: 'X(1)' digito_verificador_agencia_conta: - pos: [112,112] + pos: [ 112,112 ] picture: 'X(1)' valor_inss: - pos: [113,127] + pos: [ 113,127 ] picture: '9(13)V9(2)' exclusivo_febraban_02: - pos: [128,240] + pos: [ 128,240 ] picture: 'X(113)' \ No newline at end of file diff --git a/src/CnabParser/IntercambioBancarioAbstract.php b/src/CnabParser/IntercambioBancarioAbstract.php index 385cbfc..cb4e671 100644 --- a/src/CnabParser/IntercambioBancarioAbstract.php +++ b/src/CnabParser/IntercambioBancarioAbstract.php @@ -96,7 +96,7 @@ public function limparLotes() return $this; } - public function jsonSerialize() + public function jsonSerialize(): mixed { $headerArquivo = $this->header->jsonSerialize(); $trailerArquivo = $this->trailer->jsonSerialize(); diff --git a/src/CnabParser/Model/BaseSerializable.php b/src/CnabParser/Model/BaseSerializable.php index 230b971..be44b55 100644 --- a/src/CnabParser/Model/BaseSerializable.php +++ b/src/CnabParser/Model/BaseSerializable.php @@ -29,7 +29,7 @@ abstract class BaseSerializable implements \JsonSerializable */ protected $data; - public function jsonSerialize() + public function jsonSerialize(): mixed { return $this->data; } diff --git a/src/CnabParser/Model/Lote.php b/src/CnabParser/Model/Lote.php index 8a8c1c6..023345a 100644 --- a/src/CnabParser/Model/Lote.php +++ b/src/CnabParser/Model/Lote.php @@ -95,7 +95,7 @@ public function limpaDetalhes() return $this; } - public function jsonSerialize() + public function jsonSerialize(): mixed { $headerLote = $this->header->jsonSerialize(); $trailerLote = $this->trailer->jsonSerialize();