Class: BrBoleto::Conta::Bradesco
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- BrBoleto::Conta::Bradesco
- Defined in:
- lib/br_boleto/conta/bradesco.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Base
#agencia, #carteira, #codigo_carteira, #conta_corrente, #convenio, #convenio_dv, #cpf_cnpj, #endereco, #modalidade, #razao_social, #valid_agencia_length, #valid_carteira_inclusion, #valid_carteira_length, #valid_carteira_maximum, #valid_carteira_minimum, #valid_carteira_required, #valid_codigo_carteira_length, #valid_codigo_carteira_required, #valid_conta_corrente_length, #valid_conta_corrente_maximum, #valid_conta_corrente_minimum, #valid_conta_corrente_required, #valid_convenio_inclusion, #valid_convenio_length, #valid_convenio_maximum, #valid_convenio_minimum, #valid_convenio_required, #valid_endereco_required, #valid_modalidade_inclusion, #valid_modalidade_length, #valid_modalidade_maximum, #valid_modalidade_minimum, #valid_modalidade_required
Instance Method Summary collapse
-
#agencia_codigo_cedente ⇒ String
Campo Agência / Código do Cedente Exemplo: 9999-D / 9999999-D.
- #agencia_dv ⇒ Object
-
#carteira_formatada ⇒ Object
Número da Carteira de Cobrança, que a empresa opera no Banco.
-
#cobranca_interna_formatada ⇒ String
Retorna a mensagem que devera aparecer no campo carteira para cobranca interna.
- #codigo_banco ⇒ Object
-
#codigo_banco_dv ⇒ Object
Dígito do código do banco descrito na documentação.
-
#codigos_movimento_retorno_para_ocorrencia_A_400 ⇒ Object
Código Motivo Ocorrência Retorno CNAB 400.
- #codigos_movimento_retorno_para_ocorrencia_C_400 ⇒ Object
- #codigos_movimento_retorno_para_ocorrencia_D_400 ⇒ Object
- #conta_corrente_dv ⇒ Object
- #default_values ⇒ Object
- #equivalent_codigo_motivo_ocorrencia_A_400(codigo_movimento_gem) ⇒ Object
- #equivalent_codigo_motivo_ocorrencia_B_400(codigo_movimento_gem) ⇒ Object
- #equivalent_codigo_motivo_ocorrencia_C_400(codigo_movimento_gem) ⇒ Object
- #equivalent_codigo_motivo_ocorrencia_D_400(codigo_movimento_gem) ⇒ Object
-
#equivalent_codigo_movimento_remessa_400 ⇒ Object
Códigos de Movimento Remessa / Identificacao Ocorrência específicos do Banco.
-
#equivalent_codigo_movimento_retorno_240 ⇒ Object
Código de Movimento Retorno.
-
#equivalent_codigo_movimento_retorno_400 ⇒ Object
Identificações de Ocorrência / Código de ocorrência:.
-
#equivalent_especie_titulo_400 ⇒ Object
Espécie do Título.
- #nome_banco ⇒ Object
- #versao_layout_arquivo_cnab_240 ⇒ Object
- #versao_layout_lote_cnab_240 ⇒ Object
Methods inherited from Base
#codigo_banco_formatado, #cpf_cnpj_formatado, #cpf_cnpj_formatado_com_label, #tipo_cobranca, #tipo_cpf_cnpj
Methods included from Helper::DefaultCodes
#codigos_movimento_retorno_para_ocorrencia_A_240, #codigos_movimento_retorno_para_ocorrencia_B_240, #codigos_movimento_retorno_para_ocorrencia_B_400, #codigos_movimento_retorno_para_ocorrencia_C_240, #codigos_movimento_retorno_para_ocorrencia_D_240, #default_codigo_juros, #default_codigo_multa, #equivalent_codigo_desconto, #equivalent_codigo_juros, #equivalent_codigo_moeda_240, #equivalent_codigo_moeda_400, #equivalent_codigo_motivo_ocorrencia_A_240, #equivalent_codigo_motivo_ocorrencia_B_240, #equivalent_codigo_motivo_ocorrencia_C_240, #equivalent_codigo_motivo_ocorrencia_D_240, #equivalent_codigo_movimento_remessa_240, #equivalent_codigo_multa, #equivalent_codigo_ocorrencia_pagador_240, #equivalent_codigo_ocorrencia_pagador_400, #equivalent_codigo_protesto_240, #equivalent_codigo_protesto_400, #equivalent_distribuicao_boleto, #equivalent_especie_titulo_240, #equivalent_identificacao_emissao_240, #equivalent_identificacao_emissao_400, #equivalent_tipo_cobranca_240, #equivalent_tipo_cobranca_400, #equivalent_tipo_impressao_240, #equivalent_tipo_impressao_400, #get_codigo_desconto, #get_codigo_juros, #get_codigo_moeda, #get_codigo_motivo_ocorrencia, #get_codigo_movimento_remessa, #get_codigo_movimento_retorno, #get_codigo_multa, #get_codigo_ocorrencia_pagador, #get_codigo_protesto, #get_distribuicao_boleto, #get_especie_titulo, #get_identificacao_emissao, #get_tipo_cobranca, #get_tipo_impressao
Methods inherited from ActiveModelBase
#assign_attributes, #initialize
Constructor Details
This class inherits a constructor from BrBoleto::ActiveModelBase
Instance Method Details
#agencia_codigo_cedente ⇒ String
Campo Agência / Código do Cedente Exemplo: 9999-D / 9999999-D
66 67 68 |
# File 'lib/br_boleto/conta/bradesco.rb', line 66 def agencia_codigo_cedente "#{agencia}-#{agencia_dv} / #{conta_corrente}-#{conta_corrente_dv}" end |
#agencia_dv ⇒ Object
53 54 55 56 57 |
# File 'lib/br_boleto/conta/bradesco.rb', line 53 def agencia_dv # utilizando a agencia com 4 digitos # para calcular o digito @agencia_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(agencia).to_s end |
#carteira_formatada ⇒ Object
Número da Carteira de Cobrança, que a empresa opera no Banco. 21 – Cobrança Interna Com Registro 22 – Cobrança Interna sem registro Para as demais carteiras, retornar o número da carteira.
74 75 76 77 78 79 80 |
# File 'lib/br_boleto/conta/bradesco.rb', line 74 def carteira_formatada if cobranca_interna_formatada.present? cobranca_interna_formatada else carteira end end |
#cobranca_interna_formatada ⇒ String
Retorna a mensagem que devera aparecer no campo carteira para cobranca interna.
84 85 86 87 |
# File 'lib/br_boleto/conta/bradesco.rb', line 84 def cobranca_interna_formatada cobranca_interna = { '21' => '21 – Cobrança Interna Com Registro', '22' => '22 – Cobrança Interna sem registro' } cobranca_interna[carteira.to_s] end |
#codigo_banco ⇒ Object
32 33 34 |
# File 'lib/br_boleto/conta/bradesco.rb', line 32 def codigo_banco '237' end |
#codigo_banco_dv ⇒ Object
Dígito do código do banco descrito na documentação
37 38 39 |
# File 'lib/br_boleto/conta/bradesco.rb', line 37 def codigo_banco_dv '2' end |
#codigos_movimento_retorno_para_ocorrencia_A_400 ⇒ Object
Código Motivo Ocorrência Retorno CNAB 400
145 146 147 |
# File 'lib/br_boleto/conta/bradesco.rb', line 145 def codigos_movimento_retorno_para_ocorrencia_A_400 %w[02 03 26 30 35 100 106] end |
#codigos_movimento_retorno_para_ocorrencia_C_400 ⇒ Object
283 284 285 |
# File 'lib/br_boleto/conta/bradesco.rb', line 283 def codigos_movimento_retorno_para_ocorrencia_C_400 %w[06 09 10 17] end |
#codigos_movimento_retorno_para_ocorrencia_D_400 ⇒ Object
309 310 311 |
# File 'lib/br_boleto/conta/bradesco.rb', line 309 def codigos_movimento_retorno_para_ocorrencia_D_400 %w[29] end |
#conta_corrente_dv ⇒ Object
59 60 61 |
# File 'lib/br_boleto/conta/bradesco.rb', line 59 def conta_corrente_dv @conta_corrente_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a7.new(conta_corrente).to_s end |
#default_values ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/br_boleto/conta/bradesco.rb', line 17 def default_values super.merge({ carteira: '06', valid_carteira_required: true, # <- Validação dinâmica que a modalidade é obrigatória valid_carteira_length: 2, # <- Validação dinâmica que a modalidade deve ter 2 digitos valid_carteira_inclusion: %w[06 09 19 21 22], # <- Validação dinâmica de valores aceitos para a modalidade codigo_carteira: '1', # Cobrança Simples valid_codigo_carteira_length: 1, # <- Validação dinâmica que a modalidade deve ter 1 digito valid_conta_corrente_required: true, # <- Validação dinâmica que a conta_corrente é obrigatória valid_conta_corrente_maximum: 7, # <- Validação que a conta_corrente deve ter no máximo 7 digitos valid_convenio_required: true, # <- Validação que a convenio deve ter obrigatório valid_convenio_maximum: 7, # <- Validação que a convenio deve ter no máximo 7 digitos }) end |
#equivalent_codigo_motivo_ocorrencia_A_400(codigo_movimento_gem) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/br_boleto/conta/bradesco.rb', line 148 def equivalent_codigo_motivo_ocorrencia_A_400 codigo_movimento_gem super.merge( # Padrão Código para {# do Banco a GEM '00' => 'A00', # Ocorrência aceita '03' => 'A05', # Código da ocorrência inválida '05' => 'A208', # Código de ocorrência não numérico '44' => 'A209', # Agência Beneficiário não prevista '65' => 'A83', # Limite excedido '66' => 'A84', # Número autorização inexistente '67' => 'A68', # Débito automático agendado '68' => 'A69', # Débito não agendado - erro nos dados de remessa '69' => 'A70', # Débito não agendado - Pagador não consta no cadastro de autorizante '70' => 'A71', # Débito não agendado - Beneficiário não autorizado pelo Pagador '71' => 'A72', # Débito não agendado - Beneficiário não participa da modalidade de déb.automático '72' => 'A73', # Débito não agendado - Código de moeda diferente de R$ '73' => 'A74', # Débito não agendado - Data de vencimento inválida/vencida '74' => 'A75', # Débito não agendado - Conforme seu pedido, Título não registrado '75' => 'A76', # Débito não agendado - Tipo do número de inscrição do pagador debitado inválido '76' => 'A103', # Pagador Eletrônico DDA '83' => 'A218', # Cancelado pelo Pagador e Mantido Pendente, conforme negociação '84' => 'A219', # Cancelado pelo pagador e baixado, conforme negociação '88' => 'A210', # E-mail Pagador não lido no prazo 5 dias '89' => 'A211', # Email Pagador não enviado – título com débito automático '90' => 'A212', # Email pagador não enviado – título de cobrança sem registro '91' => 'A213', # E-mail pagador não recebido '94' => 'A214', # Título Penhorado – Instrução Não Liberada pela Agência '97' => 'A215', # Instrução não permitida título negativado '98' => 'A216', # Inclusão Bloqueada face a determinação Judicial '99' => 'A217', # Telefone beneficiário não informado / inconsistente }) end |
#equivalent_codigo_motivo_ocorrencia_B_400(codigo_movimento_gem) ⇒ Object
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 |
# File 'lib/br_boleto/conta/bradesco.rb', line 181 def equivalent_codigo_motivo_ocorrencia_B_400 codigo_movimento_gem super.merge( # Padrão Código para {# do Banco a GEM '68' => 'B16', # Fornecimento de máquina FAX '81' => 'B14', # Tarifa reapresentação automática título '83' => 'B15', # Tarifa Rateio de Crédito '02' => 'B31', # Tarifa de permanência título cadastrado '12' => 'B32', # Tarifa de registro '13' => 'B33', # Tarifa título pago no Bradesco '14' => 'B34', # Tarifa título pago compensação '15' => 'B35', # Tarifa título baixado não pago '16' => 'B36', # Tarifa alteração de vencimento '17' => 'B37', # Tarifa concessão abatimento '18' => 'B38', # Tarifa cancelamento de abatimento '19' => 'B39', # Tarifa concessão desconto '20' => 'B40', # Tarifa cancelamento desconto '21' => 'B41', # Tarifa título pago cics '22' => 'B42', # Tarifa título pago Internet '23' => 'B43', # Tarifa título pago term. gerencial serviços '24' => 'B44', # Tarifa título pago Pág-Contas '25' => 'B45', # Tarifa título pago Fone Fácil '26' => 'B46', # Tarifa título Déb. Postagem '27' => 'B47', # Tarifa impressão de títulos pendentes '28' => 'B48', # Tarifa título pago BDN '29' => 'B49', # Tarifa título pago Term. Multi Função '30' => 'B50', # Impressão de títulos baixados '31' => 'B51', # Impressão de títulos pagos '32' => 'B52', # Tarifa título pago Pagfor '33' => 'B53', # Tarifa reg/pgto – guichê caixa '34' => 'B54', # Tarifa título pago retaguarda '35' => 'B55', # Tarifa título pago Subcentro '36' => 'B56', # Tarifa título pago Cartão de Crédito '37' => 'B57', # Tarifa título pago Comp Eletrônica '38' => 'B58', # Tarifa título Baix. Pg. Cartório '39' => 'B59', # Tarifa título baixado acerto BCO '40' => 'B60', # Baixa registro em duplicidade '41' => 'B61', # Tarifa título baixado decurso prazo '42' => 'B62', # Tarifa título baixado Judicialmente '43' => 'B63', # Tarifa título baixado via remessa '44' => 'B64', # Tarifa título baixado rastreamento '45' => 'B65', # Tarifa título baixado conf. Pedido '46' => 'B66', # Tarifa título baixado protestado '47' => 'B67', # Tarifa título baixado p/ devolução '48' => 'B68', # Tarifa título baixado franco pagto '49' => 'B69', # Tarifa título baixado SUST/RET/CARTÓRIO '50' => 'B70', # Tarifa título baixado SUS/SEM/REM/CARTÓRIO '51' => 'B71', # Tarifa título transferido desconto '52' => 'B72', # Cobrado baixa manual '53' => 'B73', # Baixa por acerto cliente '54' => 'B74', # Tarifa baixa por contabilidade '55' => 'B75', # Tr. tentativa cons deb aut '56' => 'B76', # Tr. credito online '57' => 'B77', # Tarifa reg/pagto Bradesco Expresso '58' => 'B78', # Tarifa emissão Papeleta '59' => 'B79', # Tarifa fornec papeleta semi preenchida '60' => 'B80', # Acondicionador de papeletas (RPB)S '61' => 'B81', # Acond. De papelatas (RPB)s PERSONAL '62' => 'B82', # Papeleta formulário branco '63' => 'B83', # Formulário A4 serrilhado '64' => 'B84', # Fornecimento de softwares transmiss '65' => 'B85', # Fornecimento de softwares consulta '66' => 'B86', # Fornecimento Micro Completo '67' => 'B87', # Fornecimento MODEN '69' => 'B88', # Fornecimento de máquinas óticas '70' => 'B89', # Fornecimento de Impressoras '71' => 'B90', # Reativação de título '72' => 'B91', # Alteração de produto negociado '73' => 'B92', # Tarifa emissão de contra recibo '74' => 'B93', # Tarifa emissão 2a via papeleta '75' => 'B94', # Tarifa regravação arquivo retorno '76' => 'B95', # Arq. Títulos a vencer mensal '77' => 'B96', # Listagem auxiliar de crédito '78' => 'B97', # Tarifa cadastro cartela instrução permanente '79' => 'B98', # Canalização de Crédito '80' => 'B99', # Cadastro de Mensagem Fixa '82' => 'B100', # Tarifa registro título déb. Automático '84' => 'B101', # Emissão papeleta sem valor '85' => 'B102', # Sem uso '86' => 'B103', # Cadastro de reembolso de diferença '87' => 'B104', # Relatório fluxo de pagto '88' => 'B105', # Emissão Extrato mov. Carteira '89' => 'B106', # Mensagem campo local de pagto '90' => 'B107', # Cadastro Concessionária serv. Publ. '91' => 'B108', # Classif. Extrato Conta Corrente '92' => 'B109', # Contabilidade especial '93' => 'B110', # Realimentação pagto '94' => 'B111', # Repasse de Créditos '96' => 'B112', # Tarifa reg. Pagto outras mídias '97' => 'B113', # Tarifa Reg/Pagto – Net Empresa '98' => 'B114', # Tarifa título pago vencido '99' => 'B115', # TR Tít. Baixado por decurso prazo '100' => 'B116', # Arquivo Retorno Antecipado '101' => 'B117', # Arq retorno Hora/Hora '102' => 'B118', # TR. Agendamento Déb Aut '105' => 'B119', # TR. Agendamento rat. Crédito '106' => 'B120', # TR Emissão aviso rateio '107' => 'B121', # Extrato de protesto }) end |
#equivalent_codigo_motivo_ocorrencia_C_400(codigo_movimento_gem) ⇒ Object
286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 |
# File 'lib/br_boleto/conta/bradesco.rb', line 286 def equivalent_codigo_motivo_ocorrencia_C_400 codigo_movimento_gem if codigo_movimento_gem == '10' super.merge( # Padrão Código para {# do Banco a GEM '00' => 'C00', # Baixado Conforme Instruções da Agência '16' => 'C16', # Título Baixado pelo Banco por decurso Prazo '17' => 'C17', # Titulo Baixado Transferido Carteira '20' => 'C20', # Titulo Baixado e Transferido para Desconto }) else super.merge( # Padrão Código para {# do Banco a GEM '00' => 'C35', # Título pago com dinheiro '15' => 'C36', # Título pago com cheque '10' => 'C10', # Baixa Comandada pelo cliente '42' => 'C42', # Rateio não efetuado, cód. Calculo 2 (VLR. Registro) e v (NOVO) }) end end |
#equivalent_codigo_motivo_ocorrencia_D_400(codigo_movimento_gem) ⇒ Object
312 313 314 315 316 317 318 |
# File 'lib/br_boleto/conta/bradesco.rb', line 312 def equivalent_codigo_motivo_ocorrencia_D_400 codigo_movimento_gem # Padrão Código para {# do Banco a GEM '78' => 'D78', # Pagador alega que faturamento e indevido '95' => 'D95', # Pagador aceita/reconhece o faturamento } end |
#equivalent_codigo_movimento_remessa_400 ⇒ Object
Códigos de Movimento Remessa / Identificacao Ocorrência específicos do Banco
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/br_boleto/conta/bradesco.rb', line 105 def equivalent_codigo_movimento_remessa_400 super.merge( # Padrão Código para {# da GEM o Banco '10' => '18' , # Sustar protesto e baixar Título '11' => '19' , # Sustar protesto e manter em carteira '31' => '22' , # Transferência Cessão Crédito '33' => '68' , # Acerto nos dados do rateio de Crédito '43' => '23' , # Transferência entre Carteiras '45' => '45' , # Pedido de Negativação '46' => '46' , # Excluir Negativação com baixa '47' => '47' , # Excluir negativação e manter pendente '34' => '69' , # Cancelamento do rateio de crédito. }) end |
#equivalent_codigo_movimento_retorno_240 ⇒ Object
Código de Movimento Retorno
122 123 124 |
# File 'lib/br_boleto/conta/bradesco.rb', line 122 def equivalent_codigo_movimento_retorno_240 super.merge({'73' => '73'}) # Confirmação recebimento pedido de negativação end |
#equivalent_codigo_movimento_retorno_400 ⇒ Object
Identificações de Ocorrência / Código de ocorrência:
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/br_boleto/conta/bradesco.rb', line 127 def equivalent_codigo_movimento_retorno_400 super.merge( # Padrão Código para {# do Banco a GEM '15' => '101', # Liquidação em Cartório (sem motivo) '24' => '106', # Entrada rejeitada por CEP Irregular '25' => '170', # Confirmação Receb.Inst.de Protesto Falimentar '27' => '100', # Baixa Rejeitada '32' => '26', # Instrução Rejeitada '33' => '27', # Confirmação Pedido Alteração Outros Dados (sem motivo) '40' => '171', # Estorno de pagamento '55' => '63', # Sustado judicial '68' => '33', # Acerto dos dados do rateio de Crédito '69' => '34', # Cancelamento dos dados do rateio }) end |
#equivalent_especie_titulo_400 ⇒ Object
Espécie do Título
93 94 95 96 97 98 99 100 101 102 |
# File 'lib/br_boleto/conta/bradesco.rb', line 93 def equivalent_especie_titulo_400 super.merge( # Padrão Código para {# da GEM o Banco '07' => '10' , # Letra de Câmbio '17' => '05' , # Recibo '19' => '11' , # Nota de Débito '32' => '30' , # Boleto de Proposta }) end |
#nome_banco ⇒ Object
41 42 43 |
# File 'lib/br_boleto/conta/bradesco.rb', line 41 def nome_banco @nome_banco ||= 'BRADESCO' end |
#versao_layout_arquivo_cnab_240 ⇒ Object
45 46 47 |
# File 'lib/br_boleto/conta/bradesco.rb', line 45 def versao_layout_arquivo_cnab_240 '084' end |
#versao_layout_lote_cnab_240 ⇒ Object
49 50 51 |
# File 'lib/br_boleto/conta/bradesco.rb', line 49 def versao_layout_lote_cnab_240 '042' end |