brcobranca 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module Brcobranca
2
4
  module Retorno
3
5
  class Base # Classe base para retornos bancários
@@ -0,0 +1,140 @@
1
+ require 'parseline'
2
+ module Brcobranca
3
+ module Retorno
4
+ # Formato de Retorno CNAB 400
5
+
6
+ # Baseado em: http://download.itau.com.br/bankline/layout_cobranca_400bytes_cnab_itau_mensagem.pdf
7
+ class RetornoCnab400 < Base
8
+ extend ParseLine::FixedWidth # Extendendo parseline
9
+
10
+ def self.load_lines(file, options={})
11
+ default_options = {:except => [1]} #por padrao ignora a primeira linha que é header
12
+ options = default_options.merge!(options)
13
+
14
+ super file, options
15
+ end
16
+
17
+
18
+ fixed_width_layout do |parse|
19
+
20
+ # Todos os campos descritos no documento em ordem
21
+ # :tipo_de_registro, 0..0 # identificacao do registro transacao
22
+ # :codigo_de_inscricao, 1..2 # identificacao do tipo de inscrica/empresa
23
+ # :numero_de_inscricao, 3..17 #numero de inscricao da empresa (cpf/cnpj)
24
+
25
+ # :agencia ,17..20 #agencia mantenedora da conta
26
+ parse.field :agencia_com_dv,17..20 #FIXME - SEM DIV
27
+
28
+ # :zeros, 21..22 # complemento de registro
29
+
30
+ # :conta, 23..27 #numero da conta corrente da empresa
31
+ # :dac, 28..28 #digito de auto conferencia ag/conta empresa
32
+ parse.field :cedente_com_dv,23..28
33
+
34
+ # :brancos, 29..36 #complemento de registro
35
+ # :uso_da_empresa, 37..61 #identificacao do titulo na empresa
36
+
37
+ # :nosso_numero,62..69 # identificacao do titulo no banco
38
+ parse.field :nosso_numero,62..69
39
+
40
+ # :brancos, 70..81 #complemento do registro
41
+
42
+ # :carteira, 82..84 #numero da carteira
43
+ parse.field :carteira_variacao,82..84
44
+
45
+ # :nosso_numero, 85..92 #identificacao do titulo no banco (novamente?)
46
+ # :dac_nosso_numero, 93..93 #dac nosso numero
47
+ # :brancos, 94..106 #complemento do registro
48
+
49
+ # :carteira, 107..107 #código da carteira
50
+ parse.field :carteira,107..107
51
+
52
+ # :cod_de_ocorrencia, 108..109 # código de ocorrencia
53
+ # :data_de_ocorrencia, 110..115 # data de ocorrencia no banco (ddmmaa)
54
+ # :n_do_documento, 116..125 # n umero do documento de cobranca (dupl, np etc)
55
+ # :nosso_numero, 126..133 # confirmacao do numero do titulo no banco
56
+ # :brancos, 134..145 #complemento de registro
57
+
58
+ # :vencimento, 146..151 #data de vencimento do titulo (ddmmaa)
59
+ parse.field :data_vencimento,146..151
60
+
61
+ # :valor_do_titulo, 152..164 #valor nominal do titulo (ultimos 2 digitos, virgula decimal assumida)
62
+ parse.field :valor_titulo,152..164
63
+
64
+ # :codigo_do_banco, 165..167 # numero do banco na camara de compensacao
65
+ parse.field :banco_recebedor,165..167
66
+
67
+ # :agencia_cobradora, 168..171 # agencia cobradora, ag de liquidacao ou baixa
68
+ # :dac_ag_cobradora, 172..172 # dac da agencia cobradora
69
+ parse.field :agencia_recebedora_com_dv,168..172
70
+
71
+ # :especie, 173..174 # especie do titulo
72
+ parse.field :especie_documento,173..174
73
+
74
+ # :tarifa_de_cobranca, 175..187 #valor da despesa de cobranca (ultimos 2 digitos, virgula decimal assumida)
75
+ parse.field :valor_tarifa,175..187
76
+
77
+ # :brancos, 188..213 #complemento do registro
78
+
79
+ # :valor_do_iof, 214..226 #valor do iof a ser recolhido (ultimos 2 digitos, virgula decimal assumida)
80
+ parse.field :iof,214..226
81
+
82
+ # :valor_abatimento, 227..239 #valor do abatimento concedido (ultimos 2 digitos, virgula decimal assumida)
83
+ parse.field :valor_abatimento,227..239
84
+
85
+ # :descontos, 240..252 #valor do desconto concedido (ultimos 2 digitos, virgula decimal assumida)
86
+ parse.field :desconto,240..252
87
+
88
+ # :valor_principal, 253..265 #valor lancado em conta corrente (ultimos 2 digitos, virgula decimal assumida)
89
+
90
+ parse.field :valor_recebido,253..265
91
+
92
+ # :juros_mora_multa, 266..278 #valor de mora e multa pagos pelo sacado (ultimos 2 digitos, virgula decimal assumida)
93
+ parse.field :juros_mora,266..278
94
+
95
+ # :outros_creditos, 279..291 #valor de outros creditos (ultimos 2 digitos, virgula decimal assumida)
96
+ parse.field :outros_recebimento,279..291
97
+
98
+
99
+
100
+ # :boleto_dda, 292..292 #indicador de boleto dda
101
+ # :brancos, 293..294 #complemento de registro
102
+
103
+ # :data_credito, 295..300 #data de credito desta liquidacao
104
+ parse.field :data_credito,295..300
105
+
106
+
107
+ # :instr_cancelada, 301..304 # codigo da instrucao cancelada
108
+ # :brancos , 305..310 # complemento de registro
109
+ # :zeros, 311..323 #complemento de registro
110
+ # :nome_do_sacado, 324..353, #nome do sacado
111
+ # :brancos , 354..376 # complemento de registro
112
+ # :erros_msg, 377..384 #registros rejeitados ou laegacao do sacado ou registro de mensagem informativa
113
+ # :brancos, 385..391 #complemento de registro
114
+ # :cod_de_liquidacao, 392..393 #meio pelo qual o título foi liquidado
115
+
116
+ # :numero_sequencial, 394..399 #numero sequencial no arquivo
117
+ parse.field :sequencial,394..399
118
+
119
+
120
+ # Campos da classe base que não encontrei a relação com CNAB400
121
+ # parse.field :tipo_cobranca,80..80
122
+ # parse.field :tipo_cobranca_anterior,81..81
123
+ # parse.field :natureza_recebimento,86..87
124
+ # parse.field :convenio,31..37
125
+ # parse.field :comando,108..109
126
+ # parse.field :juros_desconto,201..213
127
+ # parse.field :iof_desconto,214..226
128
+ # parse.field :desconto_concedito,240..252
129
+ # parse.field :outras_despesas,279..291
130
+ # parse.field :abatimento_nao_aproveitado,292..304
131
+ # parse.field :data_liquidacao,295..300
132
+ # parse.field :valor_lancamento,305..317
133
+ # parse.field :indicativo_lancamento,318..318
134
+ # parse.field :indicador_valor,319..319
135
+ # parse.field :valor_ajuste,320..331
136
+
137
+ end
138
+ end
139
+ end
140
+ end
@@ -1,3 +1,3 @@
1
1
  module Brcobranca
2
- VERSION = "3.1.2"
2
+ VERSION = "3.1.3"
3
3
  end
@@ -0,0 +1,54 @@
1
+ 02RETORNO01COBRANCA 073000035110 PLUTO ALTO ELENTAS LTDA ME 341BANCO ITAU S.A.20051301600BPI00025210513 000001
2
+ 10216733872000107073000035110 00000011 109000000114 I06200513 00000011 000000000000000400010418739 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000002
3
+ 10216733872000107073000035110 00000035 109000000353 I06200513 00000035 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000003
4
+ 10216733872000107073000035110 00000052 109000000528 I06200513 00000052 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000004
5
+ 10216733872000107073000035110 00000107 109000001070 I06200513 00000107 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000005
6
+ 10216733872000107073000035110 00000139 109000001393 I06200513 00000139 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000006
7
+ 10216733872000107073000035110 00000195 109000001955 I06200513 00000195 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000007
8
+ 10216733872000107073000035110 00000267 109000002672 I06200513 00000267 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000008
9
+ 10216733872000107073000035110 00000331 109000003316 I06200513 00000331 000000000000000400010404085 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000009
10
+ 10216733872000107073000035110 00000541 109000005410 I06200513 00000541 000000000000001050010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000001029000000000000000000000000000 21051300000000000000000000000 B5000010
11
+ 10216733872000107073000035110 00000890 109000008901 I06200513 00000890 000000000000000400010418754 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000011
12
+ 10216733872000107073000035110 00000956 109000009560 I06200513 00000956 000000000000000750010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000729000000000000000000000000000 21051300000000000000000000000 B5000012
13
+ 10216733872000107073000035110 00000975 109000009750 I06200513 00000975 000000000000000750010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000729000000000000000000000000000 21051300000000000000000000000 B2000013
14
+ 10216733872000107073000035110 00001036 109000010360 I06200513 00001036 000000000000000210034178584 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000 21051300000000000000000000000 CP000014
15
+ 10216733872000107073000035110 00001052 109000010527 I06200513 00001052 000000000000000840010417848 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000819000000000000000000000000000 21051300000000000000000000000 B5000015
16
+ 10216733872000107073000035110 00001109 109000011095 I06200513 00001109 000000000000000460010436921 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000439000000000000000000000000000 21051300000000000000000000000 B5000016
17
+ 10216733872000107073000035110 00001123 109000011236 I06200513 00001123 000000000000000400010418754 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000017
18
+ 10216733872000107073000035110 00001206 109000012069 I06200513 00001206 000000000000000400010418754 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000018
19
+ 10216733872000107073000035110 00001324 109000013240 I06200513 00001324 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000019
20
+ 10216733872000107073000035110 00001351 109000013513 I06200513 00001351 000000000000000400023729371 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B2000020
21
+ 10216733872000107073000035110 00001372 109000013729 I06200513 00001372 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000021
22
+ 10216733872000107073000035110 00001373 109000013737 I06200513 00001373 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000022
23
+ 10216733872000107073000035110 00001380 109000013802 I06200513 00001380 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000023
24
+ 10216733872000107073000035110 00001458 109000014586 I06200513 00001458 000000000000000400000152480 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000024
25
+ 10216733872000107073000035110 00001498 109000014982 I06200513 00001498 000000000000000400034102899 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 AA000025
26
+ 10216733872000107073000035110 00001698 109000016987 I06200513 00001698 000000000000000191010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000 21051300000000000000000000000 B5000026
27
+ 10216733872000107073000035110 00002129 109000021292 I06200513 00002129 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000027
28
+ 10216733872000107073000035110 00002236 109000022365 I06200513 00002236 000000000000000400010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000028
29
+ 10216733872000107073000035110 00002260 109000022605 I06200513 00002260 000000000000000400010436921 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B2000029
30
+ 10216733872000107073000035110 00002274 109000022746 I06200513 00002274 000000000000000400034186686 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 CP000030
31
+ 10216733872000107073000035110 00002286 109000022860 I06200513 00002286 000000000000000400010436921 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000031
32
+ 10216733872000107073000035110 00002311 109000023116 I06200513 00002311 000000000000000400010418770 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000379000000000000000000000000000 21051300000000000000000000000 B5000032
33
+ 10216733872000107073000035110 00002586 109000025863 I06200513 00002586 000000000000000640010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000619000000000000000000000000000 21051300000000000000000000000 B5000033
34
+ 10216733872000107073000035110 00002597 109000025970 I06200513 00002597 000000000000000440000126385 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000034
35
+ 10216733872000107073000035110 00002601 109000026010 I06200513 00002601 000000000000000440010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000035
36
+ 10216733872000107073000035110 00002607 109000026077 I06200513 00002607 000000000000000440010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000036
37
+ 10216733872000107073000035110 00002617 109000026176 I06200513 00002617 000000000000000440000148322 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B1000037
38
+ 10216733872000107073000035110 00002627 109000026275 I06200513 00002627 000000000000000440000148298 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B1000038
39
+ 10216733872000107073000035110 00002668 109000026689 I06200513 00002668 000000000000000440023729371 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B3000039
40
+ 10216733872000107073000035110 00002674 109000026747 I06200513 00002674 000000000000000440010404085 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000040
41
+ 10216733872000107073000035110 00002721 109000027216 I06200513 00002721 000000000000000440010415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B5000041
42
+ 10216733872000107073000035110 00003136 109000031366 I06200513 00003136 000000000000000487534148272 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000476700000000001020000000000000 21051300000000000000000000000 CP000042
43
+ 10216733872000107073000035110 00003238 109000032380 I06200513 00003238 000000000000003500000130478 000000000021000000000000000000000000000000000000000000000000000000000000000000000000003479000000000000000000000000000 21051300000000000000000000000 B2000043
44
+ 10216733872000107073000035110 00003344 109000033446 I06200513 00003344 000000000000000440000148298 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 B1000044
45
+ 10216733872000107073000035110 00003391 109000033917 I06200513 00003391 000000000000000440034186132 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000 21051300000000000000000000000 BL000045
46
+ 10216733872000107073000035110 00003456 109000034568 I06200513 00003456 000000000000000571534102899 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000562200000000001170000000000000 21051300000000000000000000000 CP000046
47
+ 10216733872000107073000035110 00003505 109000035052 I06200513 00003505 000000000000000457100148322 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000436100000000000000000000000000 21051300000000000000000000000 B1000047
48
+ 10216733872000107073000035110 00003925 109000039252 I06200513 00003925 000000000000000571034165466 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000561900000000001190000000000000 21051300000000000000000000000 CP000048
49
+ 10216733872000107073000035110 00004012 109000040128 I06200513 00004012 000000000000000500010430783 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000479000000000000000000000000000 21051300000000000000000000000 B5000049
50
+ 10216733872000107073000035110 00004019 109000040193 I06200513 00004019 000000000000000571510415552 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000550500000000000000000000000000 21051300000000000000000000000 B5000050
51
+ 10216733872000107073000035110 00004026 109000040268 I06200513 00004026 000000000000000500039913003 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000479000000000000000000000000000 21051300000000000000000000000 B3000051
52
+ 10216733872000107073000035110 27615123 157276151236 I06200513000000108927615123 100513000000000440034165466 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000428800000000000980000000000000 21051300000000000000000000000DIVA LOUZAMARA DO CASTO BLITTO CP000052
53
+ 10216733872000107073000035110 27714592 157277145922 I09200513000000206827714592 100513000000000400034177099 000000000021000000000000000000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000 00000000000000000000000MIRCALO TIADORO 000053
54
+ 9201341 000000000000000000000000000000 000000000000000000000000000000 000000000000000000000000000000 0000003200000000148705 21/05S000250000005200000000268896 000054
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Bradesco do
35
35
  boleto_novo.aceite.should eql("S")
36
36
  boleto_novo.quantidade.should eql(1)
37
37
  boleto_novo.valor.should eql(0.0)
38
- boleto_novo.valor_documento.should eql("0.00")
38
+ boleto_novo.valor_documento.should eql(0.0)
39
39
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
40
40
  boleto_novo.carteira.should eql("06")
41
41
 
@@ -53,7 +53,7 @@ describe Brcobranca::Boleto::Bradesco do
53
53
  boleto_novo.aceite.should eql("S")
54
54
  boleto_novo.quantidade.should eql(1)
55
55
  boleto_novo.valor.should eql(0.0)
56
- boleto_novo.valor_documento.should eql("0.00")
56
+ boleto_novo.valor_documento.should eql(0.0)
57
57
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
58
58
  boleto_novo.cedente.should eql("Kivanio Barbosa")
59
59
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -189,4 +189,4 @@ describe Brcobranca::Boleto::Bradesco do
189
189
  end
190
190
  end
191
191
 
192
- end
192
+ end
@@ -36,7 +36,7 @@ describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
36
36
  boleto_novo.aceite.should eql("S")
37
37
  boleto_novo.quantidade.should eql(1)
38
38
  boleto_novo.valor.should eql(0.0)
39
- boleto_novo.valor_documento.should eql("0.00")
39
+ boleto_novo.valor_documento.should eql(0.0)
40
40
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
41
41
  boleto_novo.carteira.should eql("18")
42
42
  boleto_novo.codigo_servico.should be_false
@@ -54,7 +54,7 @@ describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
54
54
  boleto_novo.aceite.should eql("S")
55
55
  boleto_novo.quantidade.should eql(1)
56
56
  boleto_novo.valor.should eql(0.0)
57
- boleto_novo.valor_documento.should eql("0.00")
57
+ boleto_novo.valor_documento.should eql(0.0)
58
58
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
59
59
  boleto_novo.cedente.should eql("Kivanio Barbosa")
60
60
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -316,4 +316,4 @@ describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
316
316
  end
317
317
  end
318
318
 
319
- end
319
+ end
@@ -37,7 +37,7 @@ describe Brcobranca::Boleto::Caixa do #:nodoc:[all]
37
37
  boleto_novo.aceite.should eql('S')
38
38
  boleto_novo.quantidade.should eql(1)
39
39
  boleto_novo.valor.should eql(0.0)
40
- boleto_novo.valor_documento.should eql("0.00")
40
+ boleto_novo.valor_documento.should eql(0.0)
41
41
  boleto_novo.local_pagamento.should eql('QUALQUER BANCO ATÉ O VENCIMENTO')
42
42
  boleto_novo.codigo_servico.should be_false
43
43
  carteira = "#{Brcobranca::Boleto::Caixa::MODALIDADE_COBRANCA[:sem_registro]}" <<
@@ -37,7 +37,7 @@ describe Brcobranca::Boleto::Hsbc do
37
37
  boleto_novo.aceite.should eql("S")
38
38
  boleto_novo.quantidade.should eql(1)
39
39
  boleto_novo.valor.should eql(0.0)
40
- boleto_novo.valor_documento.should eql("0.00")
40
+ boleto_novo.valor_documento.should eql(0.0)
41
41
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
42
42
  boleto_novo.carteira.should eql("CNR")
43
43
 
@@ -55,7 +55,7 @@ describe Brcobranca::Boleto::Hsbc do
55
55
  boleto_novo.aceite.should eql("S")
56
56
  boleto_novo.quantidade.should eql(1)
57
57
  boleto_novo.valor.should eql(0.0)
58
- boleto_novo.valor_documento.should eql("0.00")
58
+ boleto_novo.valor_documento.should eql(0.0)
59
59
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
60
60
  boleto_novo.cedente.should eql("Kivanio Barbosa")
61
61
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -220,4 +220,4 @@ describe Brcobranca::Boleto::Hsbc do
220
220
  end
221
221
  end
222
222
 
223
- end
223
+ end
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Real do
35
35
  boleto_novo.aceite.should eql("S")
36
36
  boleto_novo.quantidade.should eql(1)
37
37
  boleto_novo.valor.should eql(0.0)
38
- boleto_novo.valor_documento.should eql("0.00")
38
+ boleto_novo.valor_documento.should eql(0.0)
39
39
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
40
40
  boleto_novo.carteira.should eql("57")
41
41
 
@@ -53,7 +53,7 @@ describe Brcobranca::Boleto::Real do
53
53
  boleto_novo.aceite.should eql("S")
54
54
  boleto_novo.quantidade.should eql(1)
55
55
  boleto_novo.valor.should eql(0.0)
56
- boleto_novo.valor_documento.should eql("0.00")
56
+ boleto_novo.valor_documento.should eql(0.0)
57
57
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
58
58
  boleto_novo.cedente.should eql("Kivanio Barbosa")
59
59
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -159,4 +159,4 @@ describe Brcobranca::Boleto::Real do
159
159
  File.exist?(tmp_file.path).should be_false
160
160
  end
161
161
  end
162
- end
162
+ end
@@ -37,7 +37,7 @@ describe Brcobranca::Boleto::Sicredi do
37
37
  boleto_novo.aceite.should eql("S")
38
38
  boleto_novo.quantidade.should eql(1)
39
39
  boleto_novo.valor.should eql(0.0)
40
- boleto_novo.valor_documento.should eql("0.00")
40
+ boleto_novo.valor_documento.should eql(0.0)
41
41
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
42
42
  boleto_novo.carteira.should eql("03")
43
43
 
@@ -55,7 +55,7 @@ describe Brcobranca::Boleto::Sicredi do
55
55
  boleto_novo.aceite.should eql("S")
56
56
  boleto_novo.quantidade.should eql(1)
57
57
  boleto_novo.valor.should eql(0.0)
58
- boleto_novo.valor_documento.should eql("0.00")
58
+ boleto_novo.valor_documento.should eql(0.0)
59
59
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
60
60
  boleto_novo.cedente.should eql("Kivanio Barbosa")
61
61
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Unibanco do
35
35
  boleto_novo.aceite.should eql("S")
36
36
  boleto_novo.quantidade.should eql(1)
37
37
  boleto_novo.valor.should eql(0.0)
38
- boleto_novo.valor_documento.should eql("0.00")
38
+ boleto_novo.valor_documento.should eql(0.0)
39
39
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
40
40
  boleto_novo.carteira.should eql("5")
41
41
 
@@ -53,7 +53,7 @@ describe Brcobranca::Boleto::Unibanco do
53
53
  boleto_novo.aceite.should eql("S")
54
54
  boleto_novo.quantidade.should eql(1)
55
55
  boleto_novo.valor.should eql(0.0)
56
- boleto_novo.valor_documento.should eql("0.00")
56
+ boleto_novo.valor_documento.should eql(0.0)
57
57
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
58
58
  boleto_novo.cedente.should eql("Kivanio Barbosa")
59
59
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -207,4 +207,4 @@ describe Brcobranca::Boleto::Unibanco do
207
207
  File.exist?(tmp_file.path).should be_false
208
208
  end
209
209
  end
210
- end
210
+ end
@@ -36,7 +36,7 @@ module Brcobranca #:nodoc:[all]
36
36
  boleto_novo.aceite.should eql("S")
37
37
  boleto_novo.quantidade.should eql(1)
38
38
  boleto_novo.valor.should eql(0.0)
39
- boleto_novo.valor_documento.should eql("0.00")
39
+ boleto_novo.valor_documento.should eql(0.0)
40
40
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
41
41
  boleto_novo.valid?.should be_false
42
42
  end
@@ -52,7 +52,7 @@ module Brcobranca #:nodoc:[all]
52
52
  boleto_novo.aceite.should eql("S")
53
53
  boleto_novo.quantidade.should eql(1)
54
54
  boleto_novo.valor.should eql(0.0)
55
- boleto_novo.valor_documento.should eql("0.00")
55
+ boleto_novo.valor_documento.should eql(0.00)
56
56
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
57
57
  boleto_novo.cedente.should eql("Kivanio Barbosa")
58
58
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -125,22 +125,22 @@ module Brcobranca #:nodoc:[all]
125
125
  boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
126
126
  boleto_novo.quantidade = 1
127
127
  boleto_novo.valor = 1
128
- boleto_novo.valor_documento.should eql("1.00")
128
+ boleto_novo.valor_documento.should eql(1.0)
129
129
  boleto_novo.quantidade = 1
130
130
  boleto_novo.valor = 1.0
131
- boleto_novo.valor_documento.should eql("1.00")
131
+ boleto_novo.valor_documento.should eql(1.0)
132
132
  boleto_novo.quantidade = 100
133
133
  boleto_novo.valor = 1
134
- boleto_novo.valor_documento.should eql("100.00")
134
+ boleto_novo.valor_documento.should eql(100.0)
135
135
  boleto_novo.quantidade = 1
136
136
  boleto_novo.valor = 1.2
137
- boleto_novo.valor_documento.should eql("1.20")
137
+ boleto_novo.valor_documento.should eql(1.2)
138
138
  boleto_novo.quantidade = 1
139
139
  boleto_novo.valor = 135.43
140
- boleto_novo.valor_documento.should eql("135.43")
140
+ boleto_novo.valor_documento.should eql(135.43)
141
141
  boleto_novo.quantidade = "gh"
142
142
  boleto_novo.valor = 135.43
143
- boleto_novo.valor_documento.should eql("0.00")
143
+ boleto_novo.valor_documento.should eql(0.0)
144
144
  end
145
145
 
146
146
  it "Calcula data_vencimento" do
@@ -182,4 +182,4 @@ module Brcobranca #:nodoc:[all]
182
182
 
183
183
  end
184
184
  end
185
- end
185
+ end
@@ -35,7 +35,7 @@ describe Brcobranca::Boleto::Itau do
35
35
  boleto_novo.aceite.should eql("S")
36
36
  boleto_novo.quantidade.should eql(1)
37
37
  boleto_novo.valor.should eql(0.0)
38
- boleto_novo.valor_documento.should eql("0.00")
38
+ boleto_novo.valor_documento.should eql(0.0)
39
39
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
40
40
  boleto_novo.carteira.should eql("175")
41
41
  end
@@ -52,7 +52,7 @@ describe Brcobranca::Boleto::Itau do
52
52
  boleto_novo.aceite.should eql("S")
53
53
  boleto_novo.quantidade.should eql(1)
54
54
  boleto_novo.valor.should eql(0.0)
55
- boleto_novo.valor_documento.should eql("0.00")
55
+ boleto_novo.valor_documento.should eql(0.0)
56
56
  boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
57
57
  boleto_novo.cedente.should eql("Kivanio Barbosa")
58
58
  boleto_novo.documento_cedente.should eql("12345678912")
@@ -0,0 +1,58 @@
1
+ # encoding: utf-8
2
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
+
4
+ describe Brcobranca::Retorno::RetornoCnab400 do
5
+ before(:each) do
6
+ @arquivo = File.join(File.dirname(__FILE__), '..', 'arquivos', 'CNAB400.RET')
7
+ end
8
+
9
+ it "Ignora primeira linha que é header" do
10
+ pagamentos = Brcobranca::Retorno::RetornoCnab400.load_lines(@arquivo)
11
+ pagamento = pagamentos.first
12
+ pagamento.sequencial.should eql("000002")
13
+ end
14
+
15
+ it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
16
+ pagamentos = Brcobranca::Retorno::RetornoCnab400.load_lines(@arquivo)
17
+ pagamentos.size.should == 53 #deve ignorar a primeira linha que é header
18
+ pagamento = pagamentos.first
19
+ pagamento.agencia_com_dv.should eql("0730")
20
+ pagamento.cedente_com_dv.should eql("035110")
21
+ pagamento.nosso_numero.should eql("00000011")
22
+ pagamento.carteira_variacao.should eql("109")
23
+ pagamento.carteira.should eql("I")
24
+ pagamento.data_vencimento.should eql("000000")
25
+ pagamento.valor_titulo.should eql("0000000004000")
26
+ pagamento.banco_recebedor.should eql("104")
27
+ pagamento.agencia_recebedora_com_dv.should eql("18739")
28
+ pagamento.especie_documento.should eql("")
29
+ pagamento.valor_tarifa.should eql("0000000000210")
30
+ pagamento.iof.should eql("0000000000000")
31
+ pagamento.valor_abatimento.should eql("0000000000000")
32
+ pagamento.desconto.should eql("0000000000000")
33
+ pagamento.valor_recebido.should eql("0000000003790")
34
+ pagamento.juros_mora.should eql("0000000000000")
35
+ pagamento.outros_recebimento.should eql("0000000000000")
36
+ pagamento.data_credito.should eql("210513")
37
+ pagamento.sequencial.should eql("000002")
38
+
39
+ # Campos da classe base que não encontrei a relação com CNAB400
40
+ # parse.field :tipo_cobranca,80..80
41
+ # parse.field :tipo_cobranca_anterior,81..81
42
+ # parse.field :natureza_recebimento,86..87
43
+ # parse.field :convenio,31..37
44
+ # parse.field :comando,108..109
45
+ # parse.field :juros_desconto,201..213
46
+ # parse.field :iof_desconto,214..226
47
+ # parse.field :desconto_concedito,240..252
48
+ # parse.field :outras_despesas,279..291
49
+ # parse.field :abatimento_nao_aproveitado,292..304
50
+ # parse.field :data_liquidacao,295..300
51
+ # parse.field :valor_lancamento,305..317
52
+ # parse.field :indicativo_lancamento,318..318
53
+ # parse.field :indicador_valor,319..319
54
+ # parse.field :valor_ajuste,320..331
55
+ end
56
+ end
57
+
58
+