br_boleto 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/Gemfile.lock +1 -1
- data/README.markdown +157 -8
- data/br_boleto.gemspec +1 -1
- data/lib/br_boleto.rb +12 -1
- data/lib/br_boleto/association/have_conta.rb +31 -27
- data/lib/br_boleto/boleto/banco_brasil.rb +130 -0
- data/lib/br_boleto/boleto/santander.rb +77 -0
- data/lib/br_boleto/conta/banco_brasil.rb +156 -0
- data/lib/br_boleto/conta/itau.rb +8 -3
- data/lib/br_boleto/conta/santander.rb +208 -0
- data/lib/br_boleto/remessa/cnab240/banco_brasil.rb +132 -0
- data/lib/br_boleto/remessa/cnab240/bradesco.rb +1 -3
- data/lib/br_boleto/remessa/cnab240/itau.rb +0 -6
- data/lib/br_boleto/remessa/cnab240/santander.rb +266 -0
- data/lib/br_boleto/remessa/cnab400/banco_brasil.rb +264 -0
- data/lib/br_boleto/remessa/cnab400/bradesco.rb +1 -1
- data/lib/br_boleto/remessa/cnab400/santander.rb +215 -0
- data/lib/br_boleto/retorno/cnab240/banco_brasil.rb +10 -0
- data/lib/br_boleto/retorno/cnab240/base.rb +3 -2
- data/lib/br_boleto/retorno/cnab240/caixa.rb +3 -2
- data/lib/br_boleto/retorno/cnab240/itau.rb +1 -2
- data/lib/br_boleto/retorno/cnab240/santander.rb +38 -0
- data/lib/br_boleto/retorno/cnab240/sicoob.rb +3 -2
- data/lib/br_boleto/retorno/cnab400/banco_brasil.rb +46 -0
- data/lib/br_boleto/retorno/cnab400/bradesco.rb +4 -3
- data/lib/br_boleto/retorno/cnab400/itau.rb +2 -2
- data/lib/br_boleto/retorno/cnab400/santander.rb +44 -0
- data/lib/br_boleto/retorno/cnab400/sicoob.rb +3 -2
- data/lib/br_boleto/retorno/cnab400/sicredi.rb +20 -6
- data/lib/br_boleto/retorno/pagamento.rb +28 -7
- data/lib/br_boleto/version.rb +1 -1
- data/test/br_boleto/boleto/banco_brasil_test.rb +183 -0
- data/test/br_boleto/boleto/santander_test.rb +122 -0
- data/test/br_boleto/conta/banco_brasil_test.rb +209 -0
- data/test/br_boleto/conta/santantader_test.rb +222 -0
- data/test/br_boleto/remessa/cnab240/banco_brasil_test.rb +187 -0
- data/test/br_boleto/remessa/cnab240/itau_test.rb +4 -0
- data/test/br_boleto/remessa/cnab240/santander_test.rb +144 -0
- data/test/br_boleto/remessa/cnab400/banco_brasil_test.rb +285 -0
- data/test/br_boleto/remessa/cnab400/bradesco_test.rb +7 -0
- data/test/br_boleto/remessa/cnab400/santander_test.rb +174 -0
- data/test/br_boleto/retorno/cnab240/banco_brasil_test.rb +271 -0
- data/test/br_boleto/retorno/cnab240/base_test.rb +20 -10
- data/test/br_boleto/retorno/cnab240/bradesco_test.rb +15 -15
- data/test/br_boleto/retorno/cnab240/caixa_test.rb +10 -10
- data/test/br_boleto/retorno/cnab240/cecred_test.rb +55 -138
- data/test/br_boleto/retorno/cnab240/itau_test.rb +15 -15
- data/test/br_boleto/retorno/cnab240/santander_test.rb +282 -0
- data/test/br_boleto/retorno/cnab240/sicoob_test.rb +25 -15
- data/test/br_boleto/retorno/cnab240/sicredi_test.rb +15 -15
- data/test/br_boleto/retorno/cnab240/unicred_test.rb +15 -15
- data/test/br_boleto/retorno/cnab400/banco_brasil_test.rb +7 -0
- data/test/br_boleto/retorno/cnab400/bradesco_test.rb +24 -12
- data/test/br_boleto/retorno/cnab400/itau_test.rb +6 -4
- data/test/br_boleto/retorno/cnab400/santander_test.rb +7 -0
- data/test/br_boleto/retorno/cnab400/sicoob_test.rb +20 -10
- data/test/br_boleto/retorno/cnab400/sicredi_test.rb +97 -1
- data/test/br_boleto/retorno/cnab400/unicred.rb +18 -18
- data/test/br_boleto/retorno/pagamento_test.rb +2 -2
- data/test/factories/boleto/boleto_banco_brasil.rb +18 -0
- data/test/factories/boleto/boleto_santander.rb +18 -0
- data/test/factories/conta/banco_brasil.rb +16 -0
- data/test/factories/conta/santander.rb +15 -0
- data/test/factories/remessa/cnab240/banco_brasil.rb +9 -0
- data/test/factories/remessa/cnab240/santander.rb +9 -0
- data/test/factories/remessa/cnab400/banco_brasil.rb +8 -0
- data/test/factories/remessa/cnab400/santander.rb +8 -0
- data/test/fixtures/retorno/cnab240/banco_brasil.ret +74 -0
- data/test/fixtures/retorno/cnab240/cecred.ret +10 -0
- data/test/fixtures/retorno/cnab240/santander.ret +16 -0
- data/test/fixtures/retorno/cnab400/sicredi.ret +4 -0
- metadata +64 -7
@@ -0,0 +1,77 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module BrBoleto
|
3
|
+
module Boleto
|
4
|
+
# Implementação de emissão de boleto bancário pelo Banco Santander.
|
5
|
+
#
|
6
|
+
# === Documentação Implementada
|
7
|
+
#
|
8
|
+
# A documentação na qual essa implementação foi baseada está localizada na pasta
|
9
|
+
# 'documentacoes_dos_boletos/bradesco' dentro dessa biblioteca.
|
10
|
+
class Santander < Base
|
11
|
+
def conta_class
|
12
|
+
BrBoleto::Conta::Santander
|
13
|
+
end
|
14
|
+
|
15
|
+
################# VALIDAÇÕES DINÂMICAS #################
|
16
|
+
def valid_numero_documento_maximum
|
17
|
+
12
|
18
|
+
end
|
19
|
+
|
20
|
+
def valid_carteira_inclusion
|
21
|
+
%w[101 102 121]
|
22
|
+
end
|
23
|
+
|
24
|
+
# Tamanho máximo para o codigo_cedente/Convênio
|
25
|
+
def valid_convenio_maximum
|
26
|
+
7
|
27
|
+
end
|
28
|
+
|
29
|
+
# Tamanho máximo de uma conta corrente no Banco Santander
|
30
|
+
def valid_conta_corrente_maximum
|
31
|
+
9
|
32
|
+
end
|
33
|
+
|
34
|
+
# codigo_cedente/Convênio deve ser obrigatório
|
35
|
+
def valid_convenio_required
|
36
|
+
true
|
37
|
+
end
|
38
|
+
##########################################################
|
39
|
+
|
40
|
+
# Conforme descrito na documentação, o valor que deve constar em local do pagamento é
|
41
|
+
# "PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DO BANCO SANTANDER"
|
42
|
+
def default_values
|
43
|
+
super.merge({
|
44
|
+
:local_pagamento => 'PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DO BANCO SANTANDER'
|
45
|
+
})
|
46
|
+
end
|
47
|
+
|
48
|
+
# Nosso Número descrito na documentação (Pag. 36).
|
49
|
+
# Número do Documento com 12 (onze) caracteres + digito.
|
50
|
+
# Exemplo: 999999999999-D
|
51
|
+
def nosso_numero
|
52
|
+
"#{numero_documento}-#{digito_verificador_nosso_numero}"
|
53
|
+
end
|
54
|
+
|
55
|
+
# Para o cálculo do dígito, será necessário acrescentar o Nosso Número (número do documento),
|
56
|
+
# e aplicar o módulo 11, com fatores de 2 a 9 com resto 0.
|
57
|
+
def digito_verificador_nosso_numero
|
58
|
+
BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new("#{numero_documento}")
|
59
|
+
end
|
60
|
+
|
61
|
+
# === Código de barras do banco
|
62
|
+
# __________________________________________________________________
|
63
|
+
# | Posição | Tamanho | Descrição |
|
64
|
+
# |----------|---------|---------------------------------------------|
|
65
|
+
# | 20 | 01 | Fixo 9 |
|
66
|
+
# | 21-27 | 07 | Código do cedente padrão Santander |
|
67
|
+
# | 28-40 | 13 | Nosso Número (Num. Documeto + DV) |
|
68
|
+
# | 41 | 01 | IOF (somente para seguradoras) |
|
69
|
+
# | 42-44 | 03 | Carteira de cobrança |
|
70
|
+
# -------------------------------------------------------------------
|
71
|
+
#
|
72
|
+
def codigo_de_barras_do_banco
|
73
|
+
"9#{conta.convenio}#{numero_documento}#{digito_verificador_nosso_numero}0#{conta.carteira}"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,156 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module BrBoleto
|
3
|
+
module Conta
|
4
|
+
class BancoBrasil < BrBoleto::Conta::Base
|
5
|
+
|
6
|
+
# MODALIDADE CARTEIRA:
|
7
|
+
# _________________________________________________________________
|
8
|
+
# | Carteira | Descrição |
|
9
|
+
# | 11 | Cobrança Simples - Com Registro |
|
10
|
+
# | 12 | Cobrança Indexada - Com Registro |
|
11
|
+
# | 15 | Cobrança de Prêmios de Seguro - Com Registro |
|
12
|
+
# | 16 | Cobranca Simples |
|
13
|
+
# | 17 | Cobranca Direta Especial - Com Registro |
|
14
|
+
# | 18 | Cobranca Simples (Nosso Número 11 Dígitos) |
|
15
|
+
# | 31 | Cobrança Caucionada/Vinculada - Com Registro |
|
16
|
+
# | 51 | Cobrança Descontada - Com Registro |
|
17
|
+
# -----------------------------------------------------------------
|
18
|
+
|
19
|
+
# VARIAÇÃO DA CARTEIRA
|
20
|
+
# O Banco do Brasil utiliza carteiras de cobrança com variações iniciando em 01 até 99 + dígito verificador, exceto aquelas em que o DV seja igual a X.
|
21
|
+
# Normalmente as empresas utilizam uma única variação (019), porém podem ter outras variações, dependendo da necessidade.
|
22
|
+
# Consultar a agência quando necessitar dessa informação para fins de configuração do sistema, pois o cadastramento é a a cargo da agência.
|
23
|
+
attr_accessor :variacao_carteira
|
24
|
+
|
25
|
+
############################### VALIDAÇÕES DINÂMICAS ###############################
|
26
|
+
# Variação da Carteira
|
27
|
+
attr_accessor :valid_variacao_carteira_required
|
28
|
+
|
29
|
+
validates :variacao_carteira, custom_length: { maximum: 3 }
|
30
|
+
validates :variacao_carteira, presence: true, if: :valid_variacao_carteira_required
|
31
|
+
#####################################################################################
|
32
|
+
|
33
|
+
def default_values
|
34
|
+
super.merge({
|
35
|
+
carteira: '18',
|
36
|
+
variacao_carteira: '019',
|
37
|
+
valid_carteira_required: true, # <- Validação dinâmica que a modalidade é obrigatória
|
38
|
+
valid_carteira_length: 2, # <- Validação dinâmica que a modalidade deve ter 2 digitos
|
39
|
+
valid_carteira_inclusion: carteiras_suportadas, # <- Validação dinâmica de valores aceitos para a modalidade
|
40
|
+
codigo_carteira: '1', # Cobrança Simples
|
41
|
+
valid_codigo_carteira_length: 1, # <- Validação dinâmica que a modalidade deve ter 1 digito
|
42
|
+
valid_conta_corrente_required: true, # <- Validação dinâmica que a conta_corrente é obrigatória
|
43
|
+
valid_conta_corrente_maximum: 8, # <- Validação que a conta_corrente deve ter no máximo 8 digitos
|
44
|
+
valid_convenio_required: true, # <- Validação que a convenio deve ter obrigatório
|
45
|
+
# valid_convenio_maximum: 8, # <- Validação que a convenio deve ter no máximo 8 digitos
|
46
|
+
})
|
47
|
+
end
|
48
|
+
|
49
|
+
def codigo_banco
|
50
|
+
'001'
|
51
|
+
end
|
52
|
+
|
53
|
+
# Dígito do código do banco descrito na documentação
|
54
|
+
def codigo_banco_dv
|
55
|
+
'9'
|
56
|
+
end
|
57
|
+
|
58
|
+
def nome_banco
|
59
|
+
@nome_banco ||= 'BANCO DO BRASIL S.A.'
|
60
|
+
end
|
61
|
+
|
62
|
+
def versao_layout_arquivo_cnab_240
|
63
|
+
'083'
|
64
|
+
end
|
65
|
+
|
66
|
+
def versao_layout_lote_cnab_240
|
67
|
+
'042'
|
68
|
+
end
|
69
|
+
|
70
|
+
# Carteiras suportadas
|
71
|
+
def carteiras_suportadas
|
72
|
+
%w[11 12 15 16 17 18 31 51]
|
73
|
+
end
|
74
|
+
|
75
|
+
def variacao_carteira
|
76
|
+
"#{@variacao_carteira}".rjust(3, '0') if @variacao_carteira.present?
|
77
|
+
end
|
78
|
+
|
79
|
+
def agencia_dv
|
80
|
+
# utilizando a agencia com 4 digitos
|
81
|
+
# para calcular o digito
|
82
|
+
@agencia_dv ||= BrBoleto::Calculos::Modulo11FatorDe9a2RestoX.new(agencia).to_s
|
83
|
+
end
|
84
|
+
|
85
|
+
def conta_corrente_dv
|
86
|
+
@conta_corrente_dv ||= BrBoleto::Calculos::Modulo11FatorDe9a2RestoX.new(conta_corrente).to_s
|
87
|
+
end
|
88
|
+
|
89
|
+
# Campo Agência / Código do Cedente
|
90
|
+
# @return [String] Agência com 4 caracteres - digito da agência / Conta de Cobrança com 8 caracteres - Digito da Conta
|
91
|
+
# Exemplo: 9999-D / 99999999-D
|
92
|
+
def agencia_codigo_cedente
|
93
|
+
"#{agencia}-#{agencia_dv} / #{conta_corrente}-#{conta_corrente_dv}"
|
94
|
+
end
|
95
|
+
|
96
|
+
# Código da Carteira
|
97
|
+
def equivalent_tipo_cobranca_400
|
98
|
+
{
|
99
|
+
'5' => '8', # Cobrança BBVendor
|
100
|
+
'7' => '7', # Cobrança Direta Especial
|
101
|
+
}
|
102
|
+
end
|
103
|
+
|
104
|
+
# Código Movimento da Remessa CNAB400
|
105
|
+
def equivalent_codigo_movimento_remessa_400
|
106
|
+
# Padrão Código para Descrição
|
107
|
+
{# da GEM o Banco
|
108
|
+
'01' => '01' , # Registro de títulos
|
109
|
+
'02' => '02' , # Solicitação de baixa
|
110
|
+
'03' => '03' , # Pedido de débito em conta
|
111
|
+
'04' => '04' , # Concessão de abatimento
|
112
|
+
'05' => '05' , # Cancelamento de abatimento
|
113
|
+
'06' => '06' , # Alteração de vencimento de título
|
114
|
+
'22' => '07' , # Alteração do número de controle do participante
|
115
|
+
'21' => '08' , # Alteração do número do titulo dado pelo cedente
|
116
|
+
'09' => '09' , # Instrução para protestar
|
117
|
+
'10' => '10' , # Instrução para sustar protesto
|
118
|
+
'11' => '11' , # Instrução para dispensar juros
|
119
|
+
'24' => '12' , # Alteração de nome e endereço do Sacado
|
120
|
+
'12' => '16' , # Alterar Juros de Mora
|
121
|
+
'31' => '31' , # Conceder desconto
|
122
|
+
'32' => '32' , # Não conceder desconto
|
123
|
+
'33' => '33' , # Retificar dados da concessão de desconto
|
124
|
+
'34' => '34' , # Alterar data para concessão de desconto
|
125
|
+
'35' => '35' , # Cobrar multa
|
126
|
+
'36' => '36' , # Dispensar multa
|
127
|
+
'37' => '37' , # Dispensar indexador
|
128
|
+
'38' => '38' , # Dispensar prazo limite de recebimento
|
129
|
+
'39' => '39' , # Alterar prazo limite de recebimento
|
130
|
+
'40' => '40' , # Alterar carteira/modalidade
|
131
|
+
}
|
132
|
+
end
|
133
|
+
|
134
|
+
# Espécie do Título
|
135
|
+
def equivalent_especie_titulo_400
|
136
|
+
# Padrão Código para
|
137
|
+
{# da GEM o Banco
|
138
|
+
'01' => '10' , # Cheque
|
139
|
+
'02' => '01' , # Duplicata Mercantil
|
140
|
+
'04' => '12' , # Duplicata de Serviço
|
141
|
+
'07' => '08' , # Letra de Câmbio
|
142
|
+
'12' => '02' , # Nota Promissória
|
143
|
+
'16' => '03' , # Nota de Seguro
|
144
|
+
'17' => '05' , # Recibo
|
145
|
+
'19' => '13' , # Nota de Débito
|
146
|
+
'20' => '15' , # Apólice de Seguro
|
147
|
+
'26' => '09' , # Warrant
|
148
|
+
'27' => '26' , # Dívida Ativa de Estado
|
149
|
+
'28' => '27' , # Dívida Ativa de Município
|
150
|
+
'29' => '25' , # Dívida Ativa da União
|
151
|
+
'99' => '99' , # Outros
|
152
|
+
}
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
data/lib/br_boleto/conta/itau.rb
CHANGED
@@ -87,7 +87,7 @@ module BrBoleto
|
|
87
87
|
# @return [String] Agência com 4 caracteres / Conta de Cobrança com 5 caracteres - Digito da Conta
|
88
88
|
# Exemplo: 9999 / 99999-D
|
89
89
|
def agencia_codigo_cedente
|
90
|
-
"#{agencia}
|
90
|
+
"#{agencia}/#{conta_corrente}-#{conta_corrente_dv}"
|
91
91
|
end
|
92
92
|
|
93
93
|
# Carteiras suportadas
|
@@ -175,9 +175,14 @@ module BrBoleto
|
|
175
175
|
})
|
176
176
|
end
|
177
177
|
|
178
|
-
# Código para Multa
|
178
|
+
# Código para Multa, que representa a isenção de juros e multa deve ser '0'
|
179
|
+
# Diferentemente do padrão da FEBRABAN que é '3'
|
180
|
+
# Ou seja, se passar o código 3 deve considerar '0'
|
179
181
|
def equivalent_codigo_multa
|
180
|
-
super.merge({ '0' => '0' }) # NÃO REGISTRA A MULTA
|
182
|
+
super.merge({ '3' => '0','0' => '0' }) # NÃO REGISTRA A MULTA
|
183
|
+
end
|
184
|
+
def default_codigo_multa
|
185
|
+
'0'
|
181
186
|
end
|
182
187
|
|
183
188
|
# Codigo da carteira de acordo com a documentacao o Itau (Pag. 18, Nota 5)
|
@@ -0,0 +1,208 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module BrBoleto
|
3
|
+
module Conta
|
4
|
+
class Santander < BrBoleto::Conta::Base
|
5
|
+
|
6
|
+
# MODALIDADE CARTEIRA:
|
7
|
+
# ___________________________________________
|
8
|
+
# | Carteira | Descrição |
|
9
|
+
# | 101 | Cobrança Simples com registro |
|
10
|
+
# | 102 | Cobrança Simples sem registro |
|
11
|
+
# | 121 | Penhor Rápida com registro |
|
12
|
+
# --------------------------------------------
|
13
|
+
|
14
|
+
# Código de Transmissão
|
15
|
+
# Consultar seu gerente para pegar esse código. Geralmente está no e-mail enviado pelo banco.
|
16
|
+
attr_accessor :codigo_transmissao
|
17
|
+
|
18
|
+
############################### VALIDAÇÕES DINÂMICAS ###############################
|
19
|
+
# Código de Transmissão
|
20
|
+
attr_accessor :valid_codigo_transmissao_required
|
21
|
+
|
22
|
+
validates :codigo_transmissao, custom_length: { maximum: 20 }
|
23
|
+
# validates :codigo_transmissao, presence: true, if: :valid_codigo_transmissao_required
|
24
|
+
#####################################################################################
|
25
|
+
|
26
|
+
def default_values
|
27
|
+
super.merge({
|
28
|
+
carteira: '101',
|
29
|
+
valid_carteira_required: true, # <- Validação dinâmica que a modalidade é obrigatória
|
30
|
+
valid_carteira_length: 3, # <- Validação dinâmica que a modalidade deve ter 3 digitos
|
31
|
+
valid_carteira_inclusion: %w[101 102 121], # <- Validação dinâmica de valores aceitos para a modalidade
|
32
|
+
codigo_carteira: '1', # Cobrança Simples
|
33
|
+
valid_codigo_carteira_length: 1, # <- Validação dinâmica que a modalidade deve ter 1 digito
|
34
|
+
valid_conta_corrente_required: true, # <- Validação dinâmica que a conta_corrente é obrigatória
|
35
|
+
valid_conta_corrente_maximum: 9, # <- Validação que a conta_corrente deve ter no máximo 9 digitos
|
36
|
+
valid_convenio_required: true, # <- Validação que a convenio deve ter obrigatório
|
37
|
+
valid_convenio_maximum: 7, # <- Validação que a convenio deve ter no máximo 7 digitos
|
38
|
+
})
|
39
|
+
end
|
40
|
+
|
41
|
+
def codigo_banco
|
42
|
+
'033'
|
43
|
+
end
|
44
|
+
|
45
|
+
# Dígito do código do banco descrito na documentação
|
46
|
+
def codigo_banco_dv
|
47
|
+
'7'
|
48
|
+
end
|
49
|
+
|
50
|
+
def nome_banco
|
51
|
+
@nome_banco ||= 'SANTANDER'
|
52
|
+
end
|
53
|
+
|
54
|
+
def versao_layout_arquivo_cnab_240
|
55
|
+
'040'
|
56
|
+
end
|
57
|
+
|
58
|
+
def versao_layout_lote_cnab_240
|
59
|
+
'030'
|
60
|
+
end
|
61
|
+
|
62
|
+
def agencia_dv
|
63
|
+
# utilizando a agencia com 4 digitos
|
64
|
+
# para calcular o digito
|
65
|
+
@agencia_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(agencia).to_s
|
66
|
+
end
|
67
|
+
|
68
|
+
def conta_corrente_dv
|
69
|
+
@conta_corrente_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(conta_corrente).to_s
|
70
|
+
end
|
71
|
+
|
72
|
+
def codigo_transmissao
|
73
|
+
"#{@codigo_transmissao}".rjust(20, '0') if @codigo_transmissao.present?
|
74
|
+
end
|
75
|
+
|
76
|
+
# Campo Agência / Código do Cedente
|
77
|
+
# @return [String] Agência com 4 caracteres / Convênio com 7 caracteres
|
78
|
+
# Exemplo: 9999 / 9999999
|
79
|
+
def agencia_codigo_cedente
|
80
|
+
"#{agencia} / #{convenio}"
|
81
|
+
end
|
82
|
+
|
83
|
+
# Formata a carteira dependendo se ela é registrada ou não.
|
84
|
+
# Para cobrança COM registro usar: COBRANCA SIMPLES ECR
|
85
|
+
# Para Cobrança SEM registro usar: COBRANCA SIMPLES CSR
|
86
|
+
def carteira_formatada
|
87
|
+
if @carteira.to_s.in?(carteiras_com_registro)
|
88
|
+
"COBRANÇA SIMPLES ECR"
|
89
|
+
else
|
90
|
+
'COBRANÇA SIMPLES CSR'
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# Retorna as carteiras com registro do banco Santander.
|
95
|
+
# Você pode sobrescrever esse método na subclasse caso exista mais
|
96
|
+
# carteiras com registro no Santander.
|
97
|
+
def carteiras_com_registro
|
98
|
+
%w(101 121)
|
99
|
+
end
|
100
|
+
|
101
|
+
# Espécie do Título :
|
102
|
+
def equivalent_especie_titulo_240
|
103
|
+
# Padrão Código para Descrição
|
104
|
+
{# da GEM o Banco
|
105
|
+
'02' => '02' , # DM - DUPLICATA MERCANTIL
|
106
|
+
'04' => '04' , # DS - DUPLICATA DE SERVICO
|
107
|
+
'07' => '07' , # LC - LETRA DE CÂMBIO
|
108
|
+
'12' => '12' , # NP - NOTA PROMISSORIA
|
109
|
+
'13' => '13' , # NR - NOTA PROMISSORIA RURAL
|
110
|
+
'17' => '17' , # RC - RECIBO
|
111
|
+
'20' => '20' , # AP - APOLICE DE SEGURO
|
112
|
+
'01' => '97' , # CH - CHEQUE
|
113
|
+
'98' => '98' , # NPD - NOTA PROMISSORIA DIRETA
|
114
|
+
}
|
115
|
+
end
|
116
|
+
def equivalent_especie_titulo_400
|
117
|
+
# Padrão Código para Descrição
|
118
|
+
{# da GEM o Banco
|
119
|
+
'02' => '01' , # DM - DUPLICATA MERCANTIL
|
120
|
+
'04' => '06' , # DS - DUPLICATA DE SERVICO
|
121
|
+
'07' => '07' , # LC - LETRA DE CÂMBIO
|
122
|
+
'12' => '02' , # NP - NOTA PROMISSORIA
|
123
|
+
'17' => '05' , # RC - RECIBO
|
124
|
+
'20' => '03' , # AP - APOLICE DE SEGURO
|
125
|
+
}
|
126
|
+
end
|
127
|
+
|
128
|
+
# Código Movimento da Remessa CNAB240
|
129
|
+
def equivalent_codigo_movimento_remessa_240
|
130
|
+
# Padrão Código para Descrição
|
131
|
+
{# da GEM o Banco
|
132
|
+
'01' => '01' , # Entrada de título
|
133
|
+
'02' => '02' , # Pedido de baixa
|
134
|
+
'04' => '04' , # Concessão de abatimento
|
135
|
+
'05' => '05' , # Cancelamento de abatimento
|
136
|
+
'06' => '06' , # Alteração de vencimento
|
137
|
+
'07' => '10' , # Concessão de Desconto
|
138
|
+
'08' => '11' , # Cancelamento de desconto
|
139
|
+
'09' => '09' , # Pedido de Protesto
|
140
|
+
'10' => '18' , # Pedido de Sustação de Protesto
|
141
|
+
'21' => '07' , # Alteração da identificação do título na empresa
|
142
|
+
'22' => '08' , # Alteração seu número
|
143
|
+
'31' => '31' , # Alteração de outros dados
|
144
|
+
'41' => '98' , # Não Protestar
|
145
|
+
}
|
146
|
+
end
|
147
|
+
|
148
|
+
# Código Movimento da Remessa CNAB400
|
149
|
+
def equivalent_codigo_movimento_remessa_400
|
150
|
+
# Padrão Código para Descrição
|
151
|
+
{# da GEM o Banco
|
152
|
+
'01' => '01' , # Entrada de título
|
153
|
+
'02' => '02' , # Pedido de baixa
|
154
|
+
'04' => '04' , # Concessão de abatimento
|
155
|
+
'05' => '05' , # Cancelamento de abatimento
|
156
|
+
'06' => '06' , # Alteração de vencimento
|
157
|
+
'21' => '07' , # Alteração da identificação do título na empresa
|
158
|
+
'22' => '08' , # Alteração seu número
|
159
|
+
'09' => '09' , # Pedido de Protesto
|
160
|
+
'10' => '18' , # Sustar Protesto e Baixar Título
|
161
|
+
'11' => '18' , # Sustar Protesto e Manter em Carteira
|
162
|
+
}
|
163
|
+
end
|
164
|
+
|
165
|
+
# Código de Multa
|
166
|
+
def equivalent_codigo_multa
|
167
|
+
# Padrão Código para Descrição
|
168
|
+
{# da GEM o Banco
|
169
|
+
'1' => '4', # Com Multa
|
170
|
+
'2' => '4', # Com Multa
|
171
|
+
'3' => '0', # Sem Multa (Isento)
|
172
|
+
}
|
173
|
+
end
|
174
|
+
def default_codigo_multa
|
175
|
+
'0'
|
176
|
+
end
|
177
|
+
|
178
|
+
# Código da Carteira CNAB400
|
179
|
+
def equivalent_tipo_cobranca_400
|
180
|
+
# Padrão Código para Descrição
|
181
|
+
{# da GEM o Banco
|
182
|
+
'1' => '5', # RÁPIDA COM REGISTRO
|
183
|
+
'2' => '2', # ELETRÔNICA COM REGISTRO
|
184
|
+
'3' => '3', # CAUCIONADA ELETRÔNICA
|
185
|
+
'4' => '7', # DESCONTADA ELETRÔNICA
|
186
|
+
'5' => '4', # COBRANÇA SEM REGISTRO
|
187
|
+
'6' => '6', # CAUCIONADA RAPIDA
|
188
|
+
}
|
189
|
+
end
|
190
|
+
|
191
|
+
# Código da Carteira CNAB240
|
192
|
+
def equivalent_tipo_cobranca_240
|
193
|
+
super.merge({'6' => '6' }) # 6 = Cobrança Caucionada (Rápida com Registro)
|
194
|
+
end
|
195
|
+
|
196
|
+
# Código para Protesto
|
197
|
+
def equivalent_codigo_protesto
|
198
|
+
super.merge({'0' => '0' }) # 0 = Não Protestar
|
199
|
+
end
|
200
|
+
|
201
|
+
# Código da Moeda CNAB240
|
202
|
+
def equivalent_codigo_moeda_240
|
203
|
+
super.merge({'09' => '00' }) # 00 = Real
|
204
|
+
end
|
205
|
+
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|