formatos-febraban 0.3.60 → 0.3.61
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/formatos/cnab400/arquivo/V08/detalhe.rb +9 -9
- data/lib/formatos/cnab400/arquivo/V08/detalhe_commons.rb +22 -0
- data/lib/formatos/cnab400/arquivo/V08/header_commons.rb +4 -0
- data/lib/formatos/cnab400/arquivo/V08/trailler.rb +4 -4
- data/lib/formatos/cnab400/arquivo/VAldeias/detalhe.rb +73 -72
- data/lib/formatos/cnab400/arquivo/VAldeias/detalhe_commons.rb +32 -32
- data/lib/formatos/cnab400/arquivo/parser_code_message.rb +518 -0
- data/lib/formatos/cnab400/cnab_400.rb +1 -1
- data/lib/formatos/febraban/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8db431ffa882f153bff76c09f2525e6e6acd117
|
4
|
+
data.tar.gz: 6a9091ef6303ad767cc5cd969bbb320c4f9ec053
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d4e64ef5d1fe2798d48f77e55de252690824a5a33010bad719a9e6fb5106990fafaaf3a71fe5eb46069a4ce853e344b0516f490aed417ee23c97a4a88484bf7
|
7
|
+
data.tar.gz: f6e9a478cceffb319b06cc899a81f2fb99b0dfc9b0cd61a488c7f0e6c0d928a8ee80e4324dc4160f85c7dbb6e56f731fe345639d6a02810868a88bc8a6a02578
|
@@ -96,25 +96,25 @@ module V08
|
|
96
96
|
|
97
97
|
def initialize
|
98
98
|
@section = Section.new({
|
99
|
-
0 => Position.new(1, 1, false, "1", true),
|
99
|
+
0 => Position.new(1, 1, false, "1", true), # Código do Registro
|
100
100
|
1 => Position.new(2, 2, true), # Tipo de inscrição da empresa (01:CPF, 02: CNPJ)
|
101
|
-
2 => Position.new(3, 14,
|
101
|
+
2 => Position.new(3, 14, true), # Numero da inscricao da empresa
|
102
102
|
3 => Position.new(4, 3, false), # Reservado - Zeros
|
103
|
-
4 => Position.new(5, 17,
|
103
|
+
4 => Position.new(5, 17, false), # Identificação da empresa (zero, carteira, agencia e CC )
|
104
104
|
5 => Position.new(6, 25, false), # Numero controle do participante
|
105
|
-
6 => Position.new(7, 8,
|
106
|
-
7 => Position.new(8, 12,
|
105
|
+
6 => Position.new(7, 8, true), # Reservado - Zeros
|
106
|
+
7 => Position.new(8, 12, false), # Identificação do titulo no banco
|
107
107
|
8 => Position.new(9, 10, false), # Reservado - Zeros
|
108
108
|
9 => Position.new(10, 12, false), # Reservado - Zeros
|
109
109
|
10 => Position.new(11, 1, false), # Indicador Rateio
|
110
110
|
11 => Position.new(12, 2, false), # Reservado - Zeros
|
111
|
-
12 => Position.new(13, 1,
|
112
|
-
13 => Position.new(14, 2,
|
111
|
+
12 => Position.new(13, 1, true), # Carteira
|
112
|
+
13 => Position.new(14, 2, true), # Id da Ocorrencia
|
113
113
|
14 => Position.new(15, 6, false), # Data da Ocorrencia
|
114
114
|
15 => Position.new(16, 10, false), # Numero Documento
|
115
115
|
16 => Position.new(17, 20, false), # Id do titulo no banco
|
116
116
|
17 => Position.new(18, 6, false), # Data vencimento do titulo (DDMMAA)
|
117
|
-
18 => Position.new(19, 13,
|
117
|
+
18 => Position.new(19, 13, true), # Valor do titulo
|
118
118
|
19 => Position.new(20, 3, false), # Banco cobrador
|
119
119
|
20 => Position.new(21, 5, false), # Agencia Cobradora
|
120
120
|
21 => Position.new(22, 2, false), # Especie de titulo - branco
|
@@ -138,7 +138,7 @@ module V08
|
|
138
138
|
39 => Position.new(40, 2, false), # numero do cartorio
|
139
139
|
40 => Position.new(41, 10, false), # numero do protocolo
|
140
140
|
41 => Position.new(42, 14, false), # Reservado - brancos
|
141
|
-
42 => Position.new(43, 6,
|
141
|
+
42 => Position.new(43, 6, true) # Numero sequencial
|
142
142
|
})
|
143
143
|
end
|
144
144
|
|
@@ -1,4 +1,6 @@
|
|
1
|
+
require_relative '../parser_code_message'
|
1
2
|
module V08DetalheCommons
|
3
|
+
include ParserCodeMessage
|
2
4
|
|
3
5
|
|
4
6
|
#-------------------------------------------------------------------
|
@@ -24,6 +26,10 @@ module V08DetalheCommons
|
|
24
26
|
self.get_section_value(22)
|
25
27
|
end
|
26
28
|
|
29
|
+
def get_valor
|
30
|
+
self.get_section_value(28).to_i
|
31
|
+
end
|
32
|
+
|
27
33
|
def get_nome_sacado
|
28
34
|
self.get_section_value(38)
|
29
35
|
end
|
@@ -56,10 +62,26 @@ module V08DetalheCommons
|
|
56
62
|
self.get_section_value(15)
|
57
63
|
end
|
58
64
|
|
65
|
+
def get_data_credito
|
66
|
+
self.get_section_value(33)
|
67
|
+
end
|
68
|
+
|
69
|
+
def get_motivo_rejeicao
|
70
|
+
self.get_section_value(37)
|
71
|
+
end
|
72
|
+
|
59
73
|
def get_sequencial_retorno
|
60
74
|
self.get_section_value(42)
|
61
75
|
end
|
62
76
|
|
77
|
+
def get_mensagem_retorno
|
78
|
+
get_mensagem_ocorrencia get_ocorrencia
|
79
|
+
end
|
80
|
+
|
81
|
+
def get_mensagem_erro
|
82
|
+
get_motivo_ocorrencia get_ocorrencia, get_motivo_rejeicao
|
83
|
+
end
|
84
|
+
|
63
85
|
|
64
86
|
#-------------------------------------------------------------------
|
65
87
|
#-------------------------------------------------------------------
|
@@ -30,13 +30,13 @@ module V08
|
|
30
30
|
|
31
31
|
def initialize
|
32
32
|
@section = Section.new({
|
33
|
-
0 => Position.new(1, 1, false, "9", true),
|
33
|
+
0 => Position.new(1, 1, false, "9", true), # Código do Registro
|
34
34
|
1 => Position.new(2, 1, true, "2"), # Código Arquivo (1-Remessa, 2-Retorno)
|
35
35
|
2 => Position.new(3, 2, true, "01"), # Id tipo de registro
|
36
36
|
3 => Position.new(4, 3, true), # Codigo do banco
|
37
37
|
4 => Position.new(5, 10, false), # Reservado - branco
|
38
|
-
5 => Position.new(6, 8,
|
39
|
-
6 => Position.new(7, 14,
|
38
|
+
5 => Position.new(6, 8, true), # Qtde de titulo na cobranca
|
39
|
+
6 => Position.new(7, 14, true), # Valor total em cobranca
|
40
40
|
7 => Position.new(8, 8, false), # Numero aviso bancario
|
41
41
|
8 => Position.new(9, 10, false), # Reservado - branco
|
42
42
|
9 => Position.new(10, 5, false), # Qtde de registros - confirmacao
|
@@ -58,7 +58,7 @@ module V08
|
|
58
58
|
25 => Position.new(26, 15, false), # Valor total rateios
|
59
59
|
26 => Position.new(27, 8, false), # Qtde total rateios
|
60
60
|
27 => Position.new(28, 9, false), # Reservado - branco
|
61
|
-
28 => Position.new(29, 6,
|
61
|
+
28 => Position.new(29, 6, true) # Numero sequencial do registro
|
62
62
|
})
|
63
63
|
end
|
64
64
|
|
@@ -7,34 +7,35 @@ module VAldeias
|
|
7
7
|
|
8
8
|
def initialize
|
9
9
|
@section = Section.new({
|
10
|
-
0 => Position.new(1, 1, false, "1", true),
|
11
|
-
1 => Position.new(2, 5,
|
12
|
-
2 => Position.new(3,
|
13
|
-
3 => Position.new(4,
|
14
|
-
4 => Position.new(5,
|
15
|
-
5 => Position.new(6,
|
16
|
-
6 => Position.new(7,
|
17
|
-
7 => Position.new(8,
|
18
|
-
8 => Position.new(9,
|
19
|
-
9 => Position.new(10,
|
20
|
-
10 => Position.new(11,
|
21
|
-
11 => Position.new(12,
|
22
|
-
12 => Position.new(13,
|
23
|
-
13 => Position.new(14,
|
24
|
-
14 => Position.new(15,
|
25
|
-
15 => Position.new(16,
|
26
|
-
16 => Position.new(17,
|
27
|
-
17 => Position.new(18, 10, false),
|
28
|
-
18 => Position.new(19,
|
29
|
-
19 => Position.new(20, 30, false),
|
30
|
-
20 => Position.new(21,
|
31
|
-
21 => Position.new(22,
|
32
|
-
22 => Position.new(23,
|
33
|
-
23 => Position.new(24,
|
34
|
-
24 => Position.new(25,
|
35
|
-
25 => Position.new(26,
|
36
|
-
26 => Position.new(27,
|
37
|
-
27 => Position.new(
|
10
|
+
0 => Position.new(1, 1, false, "1", true), # Código do Registro
|
11
|
+
1 => Position.new(2, 5, true), # Agencia de Débito
|
12
|
+
2 => Position.new(3, 1, false, "3", true), # Numero fixo aldeias
|
13
|
+
3 => Position.new(4, 3, true, "0"), # Zeros
|
14
|
+
4 => Position.new(5, 7, true), # Conta Corrente
|
15
|
+
5 => Position.new(6, 1, false), # Digito da CC
|
16
|
+
6 => Position.new(7, 2, false), # Carteira
|
17
|
+
7 => Position.new(8, 3, true, "0"), # Zeros
|
18
|
+
8 => Position.new(9, 12, false), # Nosso numero
|
19
|
+
9 => Position.new(10, 4, true, "0"), # Zeros
|
20
|
+
10 => Position.new(11, 11, true), # Numero Documento
|
21
|
+
11 => Position.new(12, 4, true, "0"), # Zeros
|
22
|
+
12 => Position.new(13, 6, true), # Data do documento
|
23
|
+
13 => Position.new(14, 4, true, "0"), # Zeros
|
24
|
+
14 => Position.new(15, 6, true), # Data de vencimento
|
25
|
+
15 => Position.new(16, 40, false), # Nome do sacado
|
26
|
+
16 => Position.new(17, 60, false), # Endereço
|
27
|
+
17 => Position.new(18, 10, false), # Numero
|
28
|
+
18 => Position.new(19, 10, false), # Complemento
|
29
|
+
19 => Position.new(20, 30, false), # Bairro
|
30
|
+
20 => Position.new(21, 30, false), # Cidade
|
31
|
+
21 => Position.new(22, 2, false), # Estado
|
32
|
+
22 => Position.new(23, 8, false), # Cep
|
33
|
+
23 => Position.new(24, 15, true), # Valor do titulo
|
34
|
+
24 => Position.new(25, 44, false), # Código de barras
|
35
|
+
25 => Position.new(26, 4, true, "0"), # Zeros
|
36
|
+
26 => Position.new(27, 56, false), # Linha digitavel
|
37
|
+
27 => Position.new(28, 14, false), # Brancos
|
38
|
+
28 => Position.new(29, 6, true) # Numero sequencial
|
38
39
|
})
|
39
40
|
end
|
40
41
|
|
@@ -70,50 +71,50 @@ module VAldeias
|
|
70
71
|
|
71
72
|
def initialize
|
72
73
|
@section = Section.new({
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
74
|
+
0 => Position.new(1, 1, false, "1", true), # Código do Registro
|
75
|
+
1 => Position.new(2, 2, true), # Tipo de inscrição da empresa (01:CPF, 02: CNPJ)
|
76
|
+
2 => Position.new(3, 14, true), # Numero da inscricao da empresa
|
77
|
+
3 => Position.new(4, 3, false), # Reservado - Zeros
|
78
|
+
4 => Position.new(5, 17, false), # Identificação da empresa (zero, carteira, agencia e CC )
|
79
|
+
5 => Position.new(6, 25, false), # Numero controle do participante
|
80
|
+
6 => Position.new(7, 8, true), # Reservado - Zeros
|
81
|
+
7 => Position.new(8, 12, false), # Identificação do titulo no banco
|
82
|
+
8 => Position.new(9, 10, false), # Reservado - Zeros
|
83
|
+
9 => Position.new(10, 12, false), # Reservado - Zeros
|
84
|
+
10 => Position.new(11, 1, false), # Indicador Rateio
|
85
|
+
11 => Position.new(12, 2, false), # Reservado - Zeros
|
86
|
+
12 => Position.new(13, 1, true), # Carteira
|
87
|
+
13 => Position.new(14, 2, true), # Id da Ocorrencia
|
88
|
+
14 => Position.new(15, 6, false), # Data da Ocorrencia
|
89
|
+
15 => Position.new(16, 10, false), # Numero Documento
|
90
|
+
16 => Position.new(17, 20, false), # Id do titulo no banco
|
91
|
+
17 => Position.new(18, 6, false), # Data vencimento do titulo (DDMMAA)
|
92
|
+
18 => Position.new(19, 13, true), # Valor do titulo
|
93
|
+
19 => Position.new(20, 3, false), # Banco cobrador
|
94
|
+
20 => Position.new(21, 5, false), # Agencia Cobradora
|
95
|
+
21 => Position.new(22, 2, false), # Especie de titulo - branco
|
96
|
+
22 => Position.new(23, 13, false), # Valor despesa das ocorrencias
|
97
|
+
23 => Position.new(24, 13, false), # Outras despesas
|
98
|
+
24 => Position.new(25, 13, false), # Juros operação em atraso
|
99
|
+
25 => Position.new(26, 13, false), # IOF devido
|
100
|
+
26 => Position.new(27, 13, false), # Valor abatimento
|
101
|
+
27 => Position.new(28, 13, false), # Valor desconto concedido
|
102
|
+
28 => Position.new(29, 13, false), # Valor pago
|
103
|
+
29 => Position.new(30, 13, false), # Juros de mora
|
104
|
+
30 => Position.new(31, 13, false), # Outros creditos
|
105
|
+
31 => Position.new(32, 2, false), # Reservado - branco
|
106
|
+
32 => Position.new(33, 1, false), # Motivo do codigo de ocorrencia
|
107
|
+
33 => Position.new(34, 6, false), # Data do credito
|
108
|
+
34 => Position.new(35, 3, false), # Origem pagamento
|
109
|
+
35 => Position.new(36, 10, false), # Reservado - brancos
|
110
|
+
36 => Position.new(37, 4, false), # Codigo do banco - quando cheque
|
111
|
+
37 => Position.new(38, 10, false), # Motivo das rejeicoes
|
112
|
+
38 => Position.new(39, 40, false), # Reservado - brancos
|
113
|
+
39 => Position.new(40, 2, false), # numero do cartorio
|
114
|
+
40 => Position.new(41, 10, false), # numero do protocolo
|
115
|
+
41 => Position.new(42, 14, false), # Reservado - brancos
|
116
|
+
42 => Position.new(43, 6, true) # Numero sequencial
|
117
|
+
})
|
117
118
|
end
|
118
119
|
|
119
120
|
def processa_section file
|
@@ -17,27 +17,27 @@ module VAldeiasDetalheCommons
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def get_nosso_numero
|
20
|
-
self.get_section_value(
|
20
|
+
self.get_section_value(8)
|
21
21
|
end
|
22
22
|
|
23
23
|
def get_numero_documento
|
24
|
-
self.get_section_value(
|
24
|
+
self.get_section_value(10)
|
25
25
|
end
|
26
26
|
|
27
27
|
def get_vencimento_titulo
|
28
|
-
self.get_section_value(
|
28
|
+
self.get_section_value(14)
|
29
29
|
end
|
30
30
|
|
31
31
|
def get_nome_sacado
|
32
|
-
self.get_section_value(
|
32
|
+
self.get_section_value(15)
|
33
33
|
end
|
34
34
|
|
35
35
|
def get_endereco
|
36
|
-
self.get_section_value(
|
36
|
+
self.get_section_value(16)
|
37
37
|
end
|
38
38
|
|
39
39
|
def get_sequencial
|
40
|
-
self.get_section_value(
|
40
|
+
self.get_section_value(28)
|
41
41
|
end
|
42
42
|
|
43
43
|
|
@@ -49,7 +49,7 @@ module VAldeiasDetalheCommons
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def set_zeros_1 valor = "0"
|
52
|
-
self.set_section_value(
|
52
|
+
self.set_section_value(3, valor)
|
53
53
|
end
|
54
54
|
|
55
55
|
def set_numero_inscricao valor = ""
|
@@ -57,35 +57,35 @@ module VAldeiasDetalheCommons
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def set_conta_corrente valor = ""
|
60
|
-
self.set_section_value(
|
60
|
+
self.set_section_value(4, valor)
|
61
61
|
end
|
62
62
|
|
63
63
|
def set_dv_conta_corrente valor = ""
|
64
|
-
self.set_section_value(
|
64
|
+
self.set_section_value(5, valor)
|
65
65
|
end
|
66
66
|
|
67
67
|
def set_carteira valor = ""
|
68
|
-
self.set_section_value(
|
68
|
+
self.set_section_value(6, valor)
|
69
69
|
end
|
70
70
|
|
71
71
|
def set_zeros_2 valor = "0"
|
72
|
-
self.set_section_value(
|
72
|
+
self.set_section_value(7, valor)
|
73
73
|
end
|
74
74
|
|
75
75
|
def set_nosso_numero valor
|
76
|
-
self.set_section_value(
|
76
|
+
self.set_section_value(8, valor)
|
77
77
|
end
|
78
78
|
|
79
79
|
def set_zeros_3 valor = "0"
|
80
|
-
self.set_section_value(
|
80
|
+
self.set_section_value(9, valor)
|
81
81
|
end
|
82
82
|
|
83
83
|
def set_numero_documento valor = ""
|
84
|
-
self.set_section_value(
|
84
|
+
self.set_section_value(10, valor)
|
85
85
|
end
|
86
86
|
|
87
87
|
def set_zeros_4 valor = "0"
|
88
|
-
self.set_section_value(
|
88
|
+
self.set_section_value(11, valor)
|
89
89
|
end
|
90
90
|
|
91
91
|
def set_data_emissao_titulo valor = ""
|
@@ -94,7 +94,7 @@ module VAldeiasDetalheCommons
|
|
94
94
|
real_data = valor.strftime("%d%m%y")
|
95
95
|
|
96
96
|
if real_data.length == 6
|
97
|
-
self.set_section_value(
|
97
|
+
self.set_section_value(12, real_data)
|
98
98
|
else
|
99
99
|
raise "tamanho de data incorreto"
|
100
100
|
end
|
@@ -106,7 +106,7 @@ module VAldeiasDetalheCommons
|
|
106
106
|
end
|
107
107
|
|
108
108
|
def set_zeros_5 valor = "0"
|
109
|
-
self.set_section_value(
|
109
|
+
self.set_section_value(13, valor)
|
110
110
|
end
|
111
111
|
|
112
112
|
def set_vencimento_titulo valor
|
@@ -115,7 +115,7 @@ module VAldeiasDetalheCommons
|
|
115
115
|
real_data = valor.strftime("%d%m%y")
|
116
116
|
|
117
117
|
if real_data.length == 6
|
118
|
-
self.set_section_value(
|
118
|
+
self.set_section_value(14, real_data)
|
119
119
|
else
|
120
120
|
raise "tamanho de data incorreto"
|
121
121
|
end
|
@@ -127,58 +127,58 @@ module VAldeiasDetalheCommons
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def set_nome_sacado valor = ""
|
130
|
-
self.set_section_value(
|
130
|
+
self.set_section_value(15, valor)
|
131
131
|
end
|
132
132
|
|
133
133
|
def set_endereco valor = ""
|
134
|
-
self.set_section_value(
|
134
|
+
self.set_section_value(16, valor)
|
135
135
|
end
|
136
136
|
|
137
137
|
def set_numero valor = ""
|
138
|
-
self.set_section_value(
|
138
|
+
self.set_section_value(17, valor)
|
139
139
|
end
|
140
140
|
|
141
141
|
def set_complemento valor = ""
|
142
|
-
self.set_section_value(
|
142
|
+
self.set_section_value(18, valor)
|
143
143
|
end
|
144
144
|
|
145
145
|
def set_bairro valor = ""
|
146
|
-
self.set_section_value(
|
146
|
+
self.set_section_value(19, valor)
|
147
147
|
end
|
148
148
|
|
149
149
|
def set_cidade valor = ""
|
150
|
-
self.set_section_value(
|
150
|
+
self.set_section_value(20, valor)
|
151
151
|
end
|
152
152
|
|
153
153
|
def set_estado valor = ""
|
154
|
-
self.set_section_value(
|
154
|
+
self.set_section_value(21, valor)
|
155
155
|
end
|
156
156
|
|
157
157
|
def set_cep valor = ""
|
158
|
-
self.set_section_value(
|
158
|
+
self.set_section_value(22, valor)
|
159
159
|
end
|
160
160
|
|
161
161
|
def set_valor_titulo valor = ""
|
162
|
-
self.set_section_value(
|
162
|
+
self.set_section_value(23, valor)
|
163
163
|
end
|
164
164
|
|
165
165
|
def set_codigo_barras valor = ""
|
166
|
-
self.set_section_value(
|
166
|
+
self.set_section_value(24, valor)
|
167
167
|
end
|
168
168
|
|
169
169
|
def set_zeros_6 valor = "0"
|
170
|
-
self.set_section_value(
|
170
|
+
self.set_section_value(25, valor)
|
171
171
|
end
|
172
172
|
|
173
173
|
def set_linha_digitavel valor = ""
|
174
|
-
self.set_section_value(
|
174
|
+
self.set_section_value(26, valor)
|
175
175
|
end
|
176
176
|
|
177
177
|
def set_branco valor = " "
|
178
|
-
self.set_section_value(
|
178
|
+
self.set_section_value(27, valor)
|
179
179
|
end
|
180
180
|
|
181
181
|
def set_sequencial valor = ""
|
182
|
-
self.set_section_value(
|
182
|
+
self.set_section_value(28, valor)
|
183
183
|
end
|
184
184
|
end
|
@@ -0,0 +1,518 @@
|
|
1
|
+
module ParserCodeMessage
|
2
|
+
|
3
|
+
def get_mensagem_ocorrencia code
|
4
|
+
case code
|
5
|
+
when "02"
|
6
|
+
"Entrada Confirmada"
|
7
|
+
when "03"
|
8
|
+
"Entrada Rejeitada"
|
9
|
+
when "06"
|
10
|
+
"Liquidação normal (sem motivo)"
|
11
|
+
when "09"
|
12
|
+
"Baixado Automat. via Arquivo"
|
13
|
+
when "10"
|
14
|
+
"Baixado conforme instruções da Agência"
|
15
|
+
when "11"
|
16
|
+
"Em Ser - Arquivo de Títulos pendentes (sem motivo)"
|
17
|
+
when "12"
|
18
|
+
"Abatimento Concedido (sem motivo)"
|
19
|
+
when "13"
|
20
|
+
"Abatimento Cancelado (sem motivo)"
|
21
|
+
when "14"
|
22
|
+
"Vencimento Alterado (sem motivo)"
|
23
|
+
when "15"
|
24
|
+
"Liquidação em Cartório (sem motivo)"
|
25
|
+
when "16"
|
26
|
+
"Título Pago em Cheque – Vinculado"
|
27
|
+
when "17"
|
28
|
+
"Liquidação após baixa ou Título não registrado (sem motivo)"
|
29
|
+
when "18"
|
30
|
+
"Acerto de Depositária (sem motivo)"
|
31
|
+
when "19"
|
32
|
+
"Confirmação Receb. Inst. de Protesto"
|
33
|
+
when "20"
|
34
|
+
"Confirmação Recebimento Instrução Sustação de Protesto (sem motivo)"
|
35
|
+
when "21"
|
36
|
+
"Acerto do Controle do Participante (sem motivo)"
|
37
|
+
when "22"
|
38
|
+
"Título Com Pagamento Cancelado"
|
39
|
+
when "23"
|
40
|
+
"Entrada do Título em Cartório (sem motivo)"
|
41
|
+
when "24"
|
42
|
+
"Entrada rejeitada por CEP Irregular"
|
43
|
+
when "25"
|
44
|
+
"Confirmação Receb.Inst.de Protesto Falimentar"
|
45
|
+
when "27"
|
46
|
+
"Baixa Rejeitada"
|
47
|
+
when "28"
|
48
|
+
"Débito de tarifas/custas"
|
49
|
+
when "29"
|
50
|
+
"Ocorrências do Pagador"
|
51
|
+
when "30"
|
52
|
+
"Alteração de Outros Dados Rejeitados"
|
53
|
+
when "32"
|
54
|
+
"Instrução Rejeitada"
|
55
|
+
when "33"
|
56
|
+
"Confirmação Pedido Alteração Outros Dados (sem motivo)"
|
57
|
+
when "34"
|
58
|
+
"Retirado de Cartório e Manutenção Carteira (sem motivo)"
|
59
|
+
when "35"
|
60
|
+
"Desagendamento do débito automático"
|
61
|
+
when "40"
|
62
|
+
"Estorno de pagamento"
|
63
|
+
when "55"
|
64
|
+
"Sustado judicial"
|
65
|
+
when "68"
|
66
|
+
"Acerto dos dados do rateio de Crédito"
|
67
|
+
when "69"
|
68
|
+
"Cancelamento dos dados do rateio"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def get_motivo_ocorrencia codigo_ocorrencia, codigo_mensagem
|
73
|
+
case codigo_ocorrencia
|
74
|
+
when "02"
|
75
|
+
parse_entrada_confirmada codigo_mensagem
|
76
|
+
when "03"
|
77
|
+
parse_entrada_rejeitada codigo_mensagem
|
78
|
+
when "06"
|
79
|
+
parse_liquidacao codigo_mensagem
|
80
|
+
when "09"
|
81
|
+
parse_baixa_automatica codigo_mensagem
|
82
|
+
when "10"
|
83
|
+
parse_baixa_banco codigo_mensagem
|
84
|
+
when "15"
|
85
|
+
parse_liquidacao_cartorio codigo_mensagem
|
86
|
+
when "17"
|
87
|
+
parse_liquidacao_baixa codigo_mensagem
|
88
|
+
when "24"
|
89
|
+
"CEP inválido"
|
90
|
+
when "27"
|
91
|
+
parse_baixa_rejeitada codigo_mensagem
|
92
|
+
when "30"
|
93
|
+
parse_dados_rejeitados codigo_mensagem
|
94
|
+
when "32"
|
95
|
+
parse_instrucao_rejeitada codigo_mensagem
|
96
|
+
else
|
97
|
+
"#{codigo_ocorrencia} não possui mensagem correspondente"
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def parse_entrada_cofirmada code
|
102
|
+
case code
|
103
|
+
when "00"
|
104
|
+
"Ocorrência aceita"
|
105
|
+
when "01"
|
106
|
+
"Código do Banco inválido"
|
107
|
+
when "04"
|
108
|
+
"Código do movimento não permitido para a carteira"
|
109
|
+
when "15"
|
110
|
+
"Características da cobrança incompatíveis"
|
111
|
+
when "17"
|
112
|
+
"Data de vencimento anterior a data de emissão"
|
113
|
+
when "21"
|
114
|
+
"Espécie do Título inválido"
|
115
|
+
when "24"
|
116
|
+
"Data da emissão inválida"
|
117
|
+
when "27"
|
118
|
+
"Valor/taxa de juros mora inválido"
|
119
|
+
when "38"
|
120
|
+
"Prazo para protesto inválido"
|
121
|
+
when "39"
|
122
|
+
"Pedido para protesto não permitido para título"
|
123
|
+
when "43"
|
124
|
+
"Prazo para baixa e devolução inválido"
|
125
|
+
when "45"
|
126
|
+
"Nome do Pagador inválido"
|
127
|
+
when "46"
|
128
|
+
"Tipo/num. de inscrição do Pagador inválidos"
|
129
|
+
when "47"
|
130
|
+
"Endereço do Pagador não informado"
|
131
|
+
when "48"
|
132
|
+
"CEP Inválido"
|
133
|
+
when "50"
|
134
|
+
"CEP referente a Banco correspondente"
|
135
|
+
when "53"
|
136
|
+
"No de inscrição do Pagador/avalista inválidos (CPF/CNPJ)"
|
137
|
+
when "54"
|
138
|
+
"Pagadorr/avalista não informado"
|
139
|
+
when "67"
|
140
|
+
"Débito automático agendado"
|
141
|
+
when "68"
|
142
|
+
"Débito não agendado - erro nos dados de remessa"
|
143
|
+
when "69"
|
144
|
+
"Débito não agendado - Pagador não consta no cadastro de autorizante"
|
145
|
+
when "70"
|
146
|
+
"Débito não agendado - Beneficiário não autorizado pelo Pagador"
|
147
|
+
when "71"
|
148
|
+
"Débito não agendado - Beneficiário não participa da modalidade de déb.automático"
|
149
|
+
when "72"
|
150
|
+
"Débito não agendado - Código de moeda diferente de R$"
|
151
|
+
when "73"
|
152
|
+
"Débito não agendado - Data de vencimento inválida/vencida"
|
153
|
+
when "75"
|
154
|
+
"Débito não agendado - Tipo do número de inscrição do pagador debitado inválido"
|
155
|
+
when "76"
|
156
|
+
"Pagador Eletrônico DDA ()- Esse motivo somente será disponibilizado no arquivo retorno
|
157
|
+
para as empresas cadastradas nessa condição."
|
158
|
+
when "86"
|
159
|
+
"Seu número do documento inválido"
|
160
|
+
when "89"
|
161
|
+
"Email Pagador não enviado – título com débito automático"
|
162
|
+
when "90"
|
163
|
+
"Email pagador não enviado – título de cobrança sem registro"
|
164
|
+
else
|
165
|
+
"#{code} não possui mensagem correspondente"
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
def parse_entrada_cofirmada code
|
170
|
+
case code
|
171
|
+
when "02"
|
172
|
+
"Código do registro detalhe inválido"
|
173
|
+
when "03"
|
174
|
+
"Código da ocorrência inválida"
|
175
|
+
when "04"
|
176
|
+
"Código de ocorrência não permitida para a carteira"
|
177
|
+
when "05"
|
178
|
+
"Código de ocorrência não numérico"
|
179
|
+
when "07"
|
180
|
+
"Agência/conta/Digito - |Inválido"
|
181
|
+
when "08"
|
182
|
+
"Nosso número inválido"
|
183
|
+
when "09"
|
184
|
+
"Nosso número duplicado"
|
185
|
+
when "10"
|
186
|
+
"Carteira inválida"
|
187
|
+
when "13"
|
188
|
+
"Identificação da emissão do bloqueto inválida"
|
189
|
+
when "16"
|
190
|
+
"Data de vencimento inválida"
|
191
|
+
when "18"
|
192
|
+
"Vencimento fora do prazo de operação"
|
193
|
+
when "20"
|
194
|
+
"Valor do Título inválido"
|
195
|
+
when "21"
|
196
|
+
"Espécie do Título inválida"
|
197
|
+
when "22"
|
198
|
+
"Espécie não permitida para a carteira"
|
199
|
+
when "24"
|
200
|
+
"Data de emissão inválida"
|
201
|
+
when "28"
|
202
|
+
"Código do desconto inválido"
|
203
|
+
when "38"
|
204
|
+
"Prazo para protesto inválido"
|
205
|
+
when "44"
|
206
|
+
"Agência Beneficiário não prevista"
|
207
|
+
when "45"
|
208
|
+
"Nome do pagador não informado"
|
209
|
+
when "46"
|
210
|
+
"Tipo número de inscrição do pagador inválidos"
|
211
|
+
when "47"
|
212
|
+
"Endereço do pagador não informado"
|
213
|
+
when "48"
|
214
|
+
"CEP Inválido"
|
215
|
+
when "50"
|
216
|
+
"CEP irregular - Banco Correspondente"
|
217
|
+
when "63"
|
218
|
+
"Entrada para Título já cadastrado"
|
219
|
+
when "65"
|
220
|
+
"Limite excedido"
|
221
|
+
when "66"
|
222
|
+
"Número autorização inexistente"
|
223
|
+
when "68"
|
224
|
+
"Débito não agendado - erro nos dados de remessa"
|
225
|
+
when "69"
|
226
|
+
"Débito não agendado - Pagador não consta no cadastro de autorizante"
|
227
|
+
when "70"
|
228
|
+
"Débito não agendado - Beneficiário não autorizado pelo Pagador"
|
229
|
+
when "71"
|
230
|
+
"Débito não agendado - Beneficiário não participa do débito Automático"
|
231
|
+
when "72"
|
232
|
+
"Débito não agendado - Código de moeda diferente de R$"
|
233
|
+
when "73"
|
234
|
+
"Débito não agendado - Data de vencimento inválida"
|
235
|
+
when "74"
|
236
|
+
"Débito não agendado - Conforme seu pedido, Título não registrado"
|
237
|
+
when "75"
|
238
|
+
"Débito não agendado – Tipo de número de inscrição do debitado inválido"
|
239
|
+
else
|
240
|
+
"#{code} não possui mensagem correspondente"
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
def parse_liquidacao code
|
245
|
+
case code
|
246
|
+
when "00"
|
247
|
+
"Título pago com dinheiro"
|
248
|
+
when "15"
|
249
|
+
"Título pago com cheque"
|
250
|
+
when "42"
|
251
|
+
"Rateio não efetuado"
|
252
|
+
else
|
253
|
+
"#{code} não possui mensagem correspondente"
|
254
|
+
end
|
255
|
+
end
|
256
|
+
|
257
|
+
def parse_baixa_automatica code
|
258
|
+
case code
|
259
|
+
when "00"
|
260
|
+
"Ocorrência Aceita"
|
261
|
+
when "10"
|
262
|
+
"Baixa Comandada pelo cliente"
|
263
|
+
else
|
264
|
+
"#{code} não possui mensagem correspondente"
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
def parse_baixa_banco code
|
269
|
+
case code
|
270
|
+
when "00"
|
271
|
+
"Baixado Conforme Instruções da Agência"
|
272
|
+
when "14"
|
273
|
+
"Título Protestado"
|
274
|
+
when "15"
|
275
|
+
"Título excluído"
|
276
|
+
when "16"
|
277
|
+
"Título Baixado pelo Banco por decurso Prazo"
|
278
|
+
when "17"
|
279
|
+
"Titulo Baixado Transferido Carteira"
|
280
|
+
when "20"
|
281
|
+
"Titulo Baixado e Transferido para Desconto"
|
282
|
+
else
|
283
|
+
"#{code} não possui mensagem correspondente"
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
def parse_liquidacao_cartorio code
|
288
|
+
case code
|
289
|
+
when "00"
|
290
|
+
"Título pago com dinheiro"
|
291
|
+
when "15"
|
292
|
+
"Título pago com cheque"
|
293
|
+
else
|
294
|
+
"#{code} não possui mensagem correspondente"
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
def parse_liquidacao_baixa code
|
299
|
+
case code
|
300
|
+
when "00"
|
301
|
+
"Título pago com dinheiro"
|
302
|
+
when "15"
|
303
|
+
"Título pago com cheque"
|
304
|
+
else
|
305
|
+
"#{code} não possui mensagem correspondente"
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
def parse_baixa_rejeitada code
|
310
|
+
case code
|
311
|
+
when "04"
|
312
|
+
"Código de ocorrência não permitido para a carteira"
|
313
|
+
when "07"
|
314
|
+
"Agência/Conta/dígito inválidos"
|
315
|
+
when "08"
|
316
|
+
"Nosso número inválido"
|
317
|
+
when "10"
|
318
|
+
"Carteira inválida"
|
319
|
+
when "15"
|
320
|
+
"Carteira/Agência/Conta/nosso número inválidos"
|
321
|
+
when "40"
|
322
|
+
"Título com ordem de protesto emitido"
|
323
|
+
when "42"
|
324
|
+
"Código para baixa/devolução via Tele Bradesco inválido"
|
325
|
+
when "60"
|
326
|
+
"Movimento para Título não cadastrado"
|
327
|
+
when "77"
|
328
|
+
"Transferência para desconto não permitido para a carteira"
|
329
|
+
when "85"
|
330
|
+
"Título com pagamento vinculado"
|
331
|
+
else
|
332
|
+
"#{code} não possui mensagem correspondente"
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
def parse_baixa_rejeitada code
|
337
|
+
case code
|
338
|
+
when "04"
|
339
|
+
"Código de ocorrência não permitido para a carteira"
|
340
|
+
when "07"
|
341
|
+
"Agência/Conta/dígito inválidos"
|
342
|
+
when "08"
|
343
|
+
"Nosso número inválido"
|
344
|
+
when "10"
|
345
|
+
"Carteira inválida"
|
346
|
+
when "15"
|
347
|
+
"Carteira/Agência/Conta/nosso número inválidos"
|
348
|
+
when "40"
|
349
|
+
"Título com ordem de protesto emitido"
|
350
|
+
when "42"
|
351
|
+
"Código para baixa/devolução via Tele Bradesco inválido"
|
352
|
+
when "60"
|
353
|
+
"Movimento para Título não cadastrado"
|
354
|
+
when "77"
|
355
|
+
"Transferência para desconto não permitido para a carteira"
|
356
|
+
when "85"
|
357
|
+
"Título com pagamento vinculado"
|
358
|
+
else
|
359
|
+
"#{code} não possui mensagem correspondente"
|
360
|
+
end
|
361
|
+
end
|
362
|
+
|
363
|
+
def parse_dados_rejeitados code
|
364
|
+
case code
|
365
|
+
when "01"
|
366
|
+
"Código do Banco inválido"
|
367
|
+
when "04"
|
368
|
+
"Código de ocorrência não permitido para a carteira"
|
369
|
+
when "05"
|
370
|
+
"Código da ocorrência não numérico"
|
371
|
+
when "08"
|
372
|
+
"Nosso número inválido"
|
373
|
+
when "15"
|
374
|
+
"Característica da cobrança incompatível"
|
375
|
+
when "16"
|
376
|
+
"Data de vencimento inválido"
|
377
|
+
when "17"
|
378
|
+
"Data de vencimento anterior a data de emissão"
|
379
|
+
when "18"
|
380
|
+
"Vencimento fora do prazo de operação"
|
381
|
+
when "24"
|
382
|
+
"Data de emissão Inválida"
|
383
|
+
when "26"
|
384
|
+
"Código de juros de mora inválido"
|
385
|
+
when "27"
|
386
|
+
"Valor/taxa de juros de mora inválido"
|
387
|
+
when "28"
|
388
|
+
"Código de desconto inválido"
|
389
|
+
when "29"
|
390
|
+
"Valor do desconto maior/igual ao valor do Título"
|
391
|
+
when "30"
|
392
|
+
"Desconto a conceder não confere"
|
393
|
+
when "31"
|
394
|
+
"Concessão de desconto já existente ( Desconto anterior )"
|
395
|
+
when "32"
|
396
|
+
"Valor do IOF inválido"
|
397
|
+
when "33"
|
398
|
+
"Valor do abatimento inválido"
|
399
|
+
when "34"
|
400
|
+
"Valor do abatimento maior/igual ao valor do Título"
|
401
|
+
when "38"
|
402
|
+
"Prazo para protesto inválido"
|
403
|
+
when "39"
|
404
|
+
"Pedido de protesto não permitido para o Título"
|
405
|
+
when "40"
|
406
|
+
"Título com ordem de protesto emitido"
|
407
|
+
when "42"
|
408
|
+
"Código para baixa/devolução inválido"
|
409
|
+
when "46"
|
410
|
+
"Tipo/número de inscrição do pagador inválidos"
|
411
|
+
when "48"
|
412
|
+
"Cep Inválido"
|
413
|
+
when "53"
|
414
|
+
"Tipo/Número de inscrição do pagador/avalista inválidos"
|
415
|
+
when "54"
|
416
|
+
"Pagadorr/avalista não informado"
|
417
|
+
when "57"
|
418
|
+
"Código da multa inválido"
|
419
|
+
when "58"
|
420
|
+
"Data da multa inválida"
|
421
|
+
when "60"
|
422
|
+
"Movimento para Título não cadastrado"
|
423
|
+
when "79"
|
424
|
+
"Data de Juros de mora Inválida"
|
425
|
+
when "80"
|
426
|
+
"Data do desconto inválida"
|
427
|
+
when "85"
|
428
|
+
"Título com Pagamento Vinculado."
|
429
|
+
when "88"
|
430
|
+
"E-mail Pagador não lido no prazo 5 dias"
|
431
|
+
when "91"
|
432
|
+
"E-mail pagador não recebido"
|
433
|
+
else
|
434
|
+
"#{code} não possui mensagem correspondente"
|
435
|
+
end
|
436
|
+
end
|
437
|
+
|
438
|
+
def parse_instrucao_rejeitada code
|
439
|
+
case code
|
440
|
+
when "01"
|
441
|
+
"Código do Banco inválido"
|
442
|
+
when "02"
|
443
|
+
"Código do registro detalhe inválido"
|
444
|
+
when "04"
|
445
|
+
"Código de ocorrência não permitido para a carteira"
|
446
|
+
when "05"
|
447
|
+
"Código de ocorrência não numérico"
|
448
|
+
when "07"
|
449
|
+
"Agência/Conta/dígito inválidos"
|
450
|
+
when "08"
|
451
|
+
"Nosso número inválido"
|
452
|
+
when "10"
|
453
|
+
"Carteira inválida"
|
454
|
+
when "15"
|
455
|
+
"Características da cobrança incompatíveis"
|
456
|
+
when "16"
|
457
|
+
"Data de vencimento inválida"
|
458
|
+
when "17"
|
459
|
+
"Data de vencimento anterior a data de emissão"
|
460
|
+
when "18"
|
461
|
+
"Vencimento fora do prazo de operação"
|
462
|
+
when "20"
|
463
|
+
"Valor do título inválido"
|
464
|
+
when "21"
|
465
|
+
"Espécie do Título inválida"
|
466
|
+
when "22"
|
467
|
+
"Espécie não permitida para a carteira"
|
468
|
+
when "24"
|
469
|
+
"Data de emissão inválida"
|
470
|
+
when "28"
|
471
|
+
"Código de desconto via Telebradesco inválido"
|
472
|
+
when "29"
|
473
|
+
"Valor do desconto maior/igual ao valor do Título"
|
474
|
+
when "30"
|
475
|
+
"Desconto a conceder não confere"
|
476
|
+
when "31"
|
477
|
+
"Concessão de desconto - Já existe desconto anterior"
|
478
|
+
when "33"
|
479
|
+
"Valor do abatimento inválido"
|
480
|
+
when "34"
|
481
|
+
"Valor do abatimento maior/igual ao valor do Título"
|
482
|
+
when "36"
|
483
|
+
"Concessão abatimento - Já existe abatimento anterior"
|
484
|
+
when "38"
|
485
|
+
"Prazo para protesto inválido"
|
486
|
+
when "39"
|
487
|
+
"Pedido de protesto não permitido para o Título"
|
488
|
+
when "40"
|
489
|
+
"Título com ordem de protesto emitido"
|
490
|
+
when "41"
|
491
|
+
"Pedido cancelamento/sustação para Título sem instrução de protesto"
|
492
|
+
when "42"
|
493
|
+
"Código para baixa/devolução inválido"
|
494
|
+
when "45"
|
495
|
+
"Nome do Pagador não informado"
|
496
|
+
when "46"
|
497
|
+
"Tipo/número de inscrição do Pagador inválidos"
|
498
|
+
when "47"
|
499
|
+
"Endereço do Pagador não informado"
|
500
|
+
when "48"
|
501
|
+
"CEP Inválido"
|
502
|
+
when "50"
|
503
|
+
"CEP referente a um Banco correspondente"
|
504
|
+
when "53"
|
505
|
+
"Tipo de inscrição do pagador avalista inválidos"
|
506
|
+
when "60"
|
507
|
+
"Movimento para Título não cadastrado"
|
508
|
+
when "85"
|
509
|
+
"Título com pagamento vinculado"
|
510
|
+
when "86"
|
511
|
+
"Seu número inválido"
|
512
|
+
when "94"
|
513
|
+
"Título Penhorado – Instrução Não Liberada pela Agência"
|
514
|
+
else
|
515
|
+
"#{code} não possui mensagem correspondente"
|
516
|
+
end
|
517
|
+
end
|
518
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formatos-febraban
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.61
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- José Ricardo Almeida
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- lib/formatos/cnab400/arquivo/VAldeias/header_commons.rb
|
91
91
|
- lib/formatos/cnab400/arquivo/VAldeias/trailler.rb
|
92
92
|
- lib/formatos/cnab400/arquivo/VAldeias/trailler_commons.rb
|
93
|
+
- lib/formatos/cnab400/arquivo/parser_code_message.rb
|
93
94
|
- lib/formatos/cnab400/cnab_400.rb
|
94
95
|
- lib/formatos/febraban.rb
|
95
96
|
- lib/formatos/febraban/version.rb
|
@@ -128,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
129
|
version: '0'
|
129
130
|
requirements: []
|
130
131
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.4.
|
132
|
+
rubygems_version: 2.4.8
|
132
133
|
signing_key:
|
133
134
|
specification_version: 4
|
134
135
|
summary: Formatos bancários EDI FEBRABAN
|