Class: BrBoleto::Conta::Sicredi
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- BrBoleto::Conta::Sicredi
- Defined in:
- lib/br_boleto/conta/sicredi.rb
Instance Attribute Summary collapse
-
#byte_id ⇒ Object
Byte de identificação do cedente do bloqueto utilizado para compor o nosso número.
-
#posto ⇒ Object
Código do posto da cooperativa de crédito.
-
#valid_byte_id_inclusion ⇒ Object
Returns the value of attribute valid_byte_id_inclusion.
-
#valid_byte_id_length ⇒ Object
VALIDAÇÕES DINÂMICAS ###############################.
-
#valid_byte_id_required ⇒ Object
Returns the value of attribute valid_byte_id_required.
-
#valid_posto_maximum ⇒ Object
Returns the value of attribute valid_posto_maximum.
-
#valid_posto_required ⇒ Object
Returns the value of attribute valid_posto_required.
Attributes inherited from Base
#agencia, #carteira, #codigo_carteira, #conta_corrente, #conta_corrente_dv, #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: AAAA.PP.CCCCC.
- #agencia_dv ⇒ Object
- #codigo_banco ⇒ Object
-
#codigo_banco_dv ⇒ Object
Dígito do código do banco descrito na documentação.
-
#codigos_movimento_retorno_para_ocorrencia_D_240 ⇒ Object
Código do Motivo da ocorrência :.
- #default_values ⇒ Object
-
#equivalent_codigo_desconto ⇒ Object
Código adotado pelo SICREDI para identificação do tipo de desconto que deverá ser concedido.
-
#equivalent_codigo_moeda_400 ⇒ Object
Código da Moeda :.
- #equivalent_codigo_motivo_ocorrencia_A_400(codigo_movimento_gem) ⇒ Object
- #equivalent_codigo_motivo_ocorrencia_B_400(codigo_movimento_gem) ⇒ Object
- #equivalent_codigo_motivo_ocorrencia_D_240(codigo_movimento_gem) ⇒ Object
-
#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_240 ⇒ Object
Espécie do Título CNAB 240 ‘03’ = DMI duplicata mercantil por indicação ‘05’ = DSI duplicata de serviço por indicação ‘06’ = DR duplicata rural ‘07’ = LC letra de câmbio ‘12’ = NP nota promissória ‘13’ = NPR nota promissória rural ‘16’ = NS nota de seguro ‘17’ = RC recibo ‘19’ = ND nota de débito ‘32’ = Boleto Proposta ‘99’ = Outros.
-
#equivalent_especie_titulo_400 ⇒ Object
Espécie do Título CNAB 400.
-
#equivalent_identificacao_emissao_400 ⇒ Object
Identificação da Emissão do Boleto de Pagamento.
-
#equivalent_tipo_cobranca_400 ⇒ Object
Código da Carteira.
-
#equivalent_tipo_impressao_400 ⇒ Object
Identificação do Tipo de Impressão :.
- #nome_banco ⇒ Object
- #versao_layout_arquivo_cnab_240 ⇒ Object
- #versao_layout_lote_cnab_240 ⇒ Object
Methods inherited from Base
#carteira_formatada, #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_A_400, #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_C_400, #codigos_movimento_retorno_para_ocorrencia_D_400, #default_codigo_juros, #default_codigo_multa, #equivalent_codigo_juros, #equivalent_codigo_moeda_240, #equivalent_codigo_motivo_ocorrencia_A_240, #equivalent_codigo_motivo_ocorrencia_B_240, #equivalent_codigo_motivo_ocorrencia_C_240, #equivalent_codigo_motivo_ocorrencia_C_400, #equivalent_codigo_motivo_ocorrencia_D_400, #equivalent_codigo_movimento_remessa_240, #equivalent_codigo_movimento_remessa_400, #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_identificacao_emissao_240, #equivalent_tipo_cobranca_240, #equivalent_tipo_impressao_240, #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 Attribute Details
#byte_id ⇒ Object
Byte de identificação do cedente do bloqueto utilizado para compor o nosso número. Valores aceitos de 2 a 9, somente será “1” se forem boletos pré-impressos.
18 19 20 |
# File 'lib/br_boleto/conta/sicredi.rb', line 18 def byte_id @byte_id end |
#posto ⇒ Object
Código do posto da cooperativa de crédito
14 15 16 |
# File 'lib/br_boleto/conta/sicredi.rb', line 14 def posto @posto end |
#valid_byte_id_inclusion ⇒ Object
Returns the value of attribute valid_byte_id_inclusion.
23 24 25 |
# File 'lib/br_boleto/conta/sicredi.rb', line 23 def valid_byte_id_inclusion @valid_byte_id_inclusion end |
#valid_byte_id_length ⇒ Object
VALIDAÇÕES DINÂMICAS ###############################
21 22 23 |
# File 'lib/br_boleto/conta/sicredi.rb', line 21 def valid_byte_id_length @valid_byte_id_length end |
#valid_byte_id_required ⇒ Object
Returns the value of attribute valid_byte_id_required.
22 23 24 |
# File 'lib/br_boleto/conta/sicredi.rb', line 22 def valid_byte_id_required @valid_byte_id_required end |
#valid_posto_maximum ⇒ Object
Returns the value of attribute valid_posto_maximum.
24 25 26 |
# File 'lib/br_boleto/conta/sicredi.rb', line 24 def valid_posto_maximum @valid_posto_maximum end |
#valid_posto_required ⇒ Object
Returns the value of attribute valid_posto_required.
25 26 27 |
# File 'lib/br_boleto/conta/sicredi.rb', line 25 def valid_posto_required @valid_posto_required end |
Instance Method Details
#agencia_codigo_cedente ⇒ String
Campo Agência / Código do Cedente Exemplo: AAAA.PP.CCCCC
96 97 98 |
# File 'lib/br_boleto/conta/sicredi.rb', line 96 def agencia_codigo_cedente "#{agencia}.#{posto}.#{codigo_cedente}" end |
#agencia_dv ⇒ Object
89 90 91 |
# File 'lib/br_boleto/conta/sicredi.rb', line 89 def agencia_dv @agencia_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9.new(agencia).to_s end |
#codigo_banco ⇒ Object
60 61 62 |
# File 'lib/br_boleto/conta/sicredi.rb', line 60 def codigo_banco '748' end |
#codigo_banco_dv ⇒ Object
Dígito do código do banco descrito na documentação
65 66 67 |
# File 'lib/br_boleto/conta/sicredi.rb', line 65 def codigo_banco_dv 'X' end |
#codigos_movimento_retorno_para_ocorrencia_D_240 ⇒ Object
Código do Motivo da ocorrência :
227 228 229 |
# File 'lib/br_boleto/conta/sicredi.rb', line 227 def codigos_movimento_retorno_para_ocorrencia_D_240 %w[27] end |
#default_values ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/br_boleto/conta/sicredi.rb', line 38 def default_values super.merge({ carteira: '1', valid_carteira_required: true, # <- Validação dinâmica que a modalidade é obrigatória valid_carteira_length: 1, # <- Validação dinâmica que a modalidade deve ter 1 digito valid_carteira_inclusion: %w[1 3], # <- Validação dinâmica de valores aceitos para a modalidade valid_conta_corrente_required: true, # <- Validação dinâmica que a conta_corrente é obrigatória valid_conta_corrente_maximum: 5, # <- Validação que a conta_corrente deve ter no máximo 5 digitos valid_convenio_required: true, # <- Validação que a convenio deve ter obrigatório valid_convenio_maximum: 5, # <- Validação que a convenio deve ter no máximo 5 digitos codigo_carteira: '1', # Cobrança Simples valid_codigo_carteira_length: 1, # <- Validação dinâmica que a modalidade deve ter 1 digito posto: '0', valid_posto_maximum: 2, # <- Validação que a posto deve ter no máximo 2 digitos valid_posto_required: true, # <- Validação que a posto deve ter obrigatório byte_id: '2', valid_byte_id_length: 1, # <- Validação dinâmica que o byte identificador deve ter 1 digito valid_byte_id_required: true, # <- Validação que a byte_id deve ter obrigatório valid_byte_id_inclusion: %w[2 3 4 5 6 7 8 9], # <- Validação dinâmica de valores aceitos para o byte identificador }) end |
#equivalent_codigo_desconto ⇒ Object
Código adotado pelo SICREDI para identificação do tipo de desconto que deverá ser concedido.
204 205 206 207 208 209 210 211 212 213 214 215 |
# File 'lib/br_boleto/conta/sicredi.rb', line 204 def equivalent_codigo_desconto { '0' => '1', # Valor Fixo Até a Data Informada '1' => '1', # Valor Fixo Até a Data Informada '2' => '2', # Percentual Até a Data Informada '3' => '3', # Valor por Antecipação Dia Corrido '4' => '3', # Valor por Antecipação Dia Úti '5' => '2', # Percentual Sobre o Valor Nominal Dia Corrido '6' => '2', # Percentual Sobre o Valor Nominal Dia Útil '7' => '7', # Cancelamento de Desconto } end |
#equivalent_codigo_moeda_400 ⇒ Object
Código da Moeda :
189 190 191 |
# File 'lib/br_boleto/conta/sicredi.rb', line 189 def equivalent_codigo_moeda_400 super.merge({ '09' => 'A' }) # Real end |
#equivalent_codigo_motivo_ocorrencia_A_400(codigo_movimento_gem) ⇒ Object
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 282 283 284 285 286 287 |
# File 'lib/br_boleto/conta/sicredi.rb', line 237 def equivalent_codigo_motivo_ocorrencia_A_400 codigo_movimento_gem super.merge( # Padrão Código para {# do Banco a GEM '01' => 'A01', # Código do banco inválido '02' => 'A02', # Código do registro detalhe inválido '03' => 'A05', # Código da ocorrência inválido '04' => 'A04', # Código de ocorrência não permitida para a carteira '05' => 'A05', # Código de ocorrência não numérico '07' => 'A07', # Cooperativa/agência/conta/dígito inválidos '08' => 'A08', # Nosso número inválido '09' => 'A09', # Nosso número duplicado '10' => 'A10', # Carteira inválida '15' => 'A07', # Cooperativa/carteira/agência/conta/nosso número inválidos '16' => 'A16', # Data de vencimento inválida '17' => 'A17', # Data de vencimento anterior à data de emissão '18' => 'A18', # Vencimento fora do prazo de operação '20' => 'A20', # Valor do título inválido '21' => 'A21', # Espécie do título inválida '22' => 'A22', # Espécie não permitida para a carteira '24' => 'A24', # Data de emissão inválida '29' => 'A29', # Valor do desconto maior/igual ao valor do título '31' => 'A31', # Concessão de desconto - existe desconto anterior '33' => 'A33', # Valor do abatimento inválido '34' => 'A34', # Valor do abatimento maior/igual ao valor do título '36' => 'A36', # Concessão de abatimento - existe abatimento anterior '38' => 'A38', # Prazo para protesto inválido '39' => 'A39', # Pedido para protesto não permitido para o título '40' => 'A40', # Título com ordem de protesto emitida '41' => 'A41', # Pedido cancelamento/sustação sem instrução de protesto '44' => 'A209', # Cooperativa de crédito/agência beneficiária não prevista '45' => 'A45', # Nome do pagador inválido '46' => 'A46', # Tipo/número de inscrição do pagador inválidos '47' => 'A47', # Endereço do pagador não informado '48' => 'A48', # CEP irregular '49' => 'A46', # Número de Inscrição do pagador/avalista inválido '50' => 'A54', # Pagador/avalista não informado '60' => 'A60', # Movimento para título não cadastrado '63' => 'A63', # Entrada para título já cadastrado 'A6' => 'A244', # Data da instrução/ocorrência inválida 'B4' => 'A44', # Tipo de moeda inválido 'B5' => 'A28', # Tipo de desconto/juros inválido 'B7' => 'A86', # Seu número inválido 'B8' => 'A59', # Percentual de multa inválido 'B9' => 'A27', # Valor ou percentual de juros inválido 'C2' => 'A23', # Aceite do título inválido 'C6' => 'A325', # Título já liquidado 'C7' => 'A325', # Título já baixado 'H4' => 'D01', # Alteração de carteira }) end |
#equivalent_codigo_motivo_ocorrencia_B_400(codigo_movimento_gem) ⇒ Object
289 290 291 292 293 294 295 296 297 298 299 300 301 |
# File 'lib/br_boleto/conta/sicredi.rb', line 289 def equivalent_codigo_motivo_ocorrencia_B_400 codigo_movimento_gem super.merge( # Padrão Código para {# do Banco a GEM '03' => 'B03', # Tarifa de sustação '04' => 'B04', # Tarifa de protesto '08' => 'B08', # Tarifa de custas de protesto 'A9' => 'B02', # Tarifa de manutenção de título vencido 'B1' => 'B122', # Tarifa de baixa da carteira 'B3' => 'B123', # Tarifa de registro de entrada do título 'F5' => 'B124', # Tarifa de entrada na rede Sicredi }) end |
#equivalent_codigo_motivo_ocorrencia_D_240(codigo_movimento_gem) ⇒ Object
230 231 232 233 234 235 |
# File 'lib/br_boleto/conta/sicredi.rb', line 230 def equivalent_codigo_motivo_ocorrencia_D_240 codigo_movimento_gem # Código Padrão para {# do Banco a Gem '01' => 'D01', # Alteração de carteira } end |
#equivalent_codigo_movimento_retorno_240 ⇒ Object
Código de Movimento Retorno
218 219 220 221 222 223 224 |
# File 'lib/br_boleto/conta/sicredi.rb', line 218 def equivalent_codigo_movimento_retorno_240 super.merge( # Padrão Código para {# do Banco a GEM '36' => '100', # Baixa rejeitada }) end |
#equivalent_codigo_movimento_retorno_400 ⇒ Object
Identificações de Ocorrência / Código de ocorrência:
304 305 306 307 308 309 310 311 312 313 314 315 316 |
# File 'lib/br_boleto/conta/sicredi.rb', line 304 def equivalent_codigo_movimento_retorno_400 super.merge( # Padrão Código para {# do Banco a GEM '15' => '101', # Liquidação em cartório '24' => '106', # Entrada rejeitada por CEP irregular '27' => '100', # Baixa rejeitada '32' => '26', # Instrução rejeitada '33' => '27', # Confirmação de pedido de alteração de outros dados '34' => '24', # Retirado de cartório e manutenção em carteira '35' => '105', # Aceite do pagador }) end |
#equivalent_especie_titulo_240 ⇒ Object
Espécie do Título CNAB 240 ‘03’ = DMI duplicata mercantil por indicação ‘05’ = DSI duplicata de serviço por indicação ‘06’ = DR duplicata rural ‘07’ = LC letra de câmbio ‘12’ = NP nota promissória ‘13’ = NPR nota promissória rural ‘16’ = NS nota de seguro ‘17’ = RC recibo ‘19’ = ND nota de débito ‘32’ = Boleto Proposta ‘99’ = Outros
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/br_boleto/conta/sicredi.rb', line 115 def equivalent_especie_titulo_240 super.merge( # Padrão Código para {# da GEM o Banco '01' => '99', # CH – Cheque '02' => '03', # DM – Duplicata Mercantil '03' => '03', # DMI – Duplicata Mercantil p/ Indicação '04' => '05', # DS – Duplicata de Serviço '05' => '05', # DSI – Duplicata de Serviço p/ Indicação '06' => '06', # DR – Duplicata Rural '07' => '07', # LC – Letra de Câmbio '08' => '99', # NCC – Nota de Crédito Comercial '09' => '99', # NCE – Nota de Crédito a Exportação '10' => '99', # NCI – Nota de Crédito Industrial '11' => '99', # NCR – Nota de Crédito Rural '12' => '12', # NP – Nota Promissória '13' => '13', # NPR – Nota Promissória Rural '14' => '99', # TM – Triplicata Mercantil '15' => '99', # TS – Triplicata de Serviço '16' => '16', # NS – Nota de Seguro '17' => '17', # RC – Recibo '18' => '99', # FAT – Fatura '19' => '19', # ND – Nota de Débito '20' => '99', # AP – Apólice de Seguro '21' => '99', # ME – Mensalidade Escolar '22' => '99', # PC – Parcela de Consórcio '23' => '99', # NF – Nota Fiscal '24' => '99', # DD – Documento de Dívida '25' => '99', # Cédula de Produto Rural '26' => '99', # Warrant '27' => '99', # Dívida Ativa de Estado '28' => '99', # Dívida Ativa de Município '29' => '99', # Dívida Ativa da União '30' => '99', # Encargos condominiais '31' => '99', # CC – Cartão de Crédito '32' => '32', # BDP – Boleto de Proposta '99' => '99', # Outros } ) end |
#equivalent_especie_titulo_400 ⇒ Object
Espécie do Título CNAB 400
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/br_boleto/conta/sicredi.rb', line 158 def equivalent_especie_titulo_400 super.merge( # Padrão Código para {# da GEM o Banco '01' => 'A', '02' => 'A', '03' => 'A', # Duplicata Mercantil por Indicação (DMI) '06' => 'B', # Duplicata Rural (DR) '12' => 'C', # Nota Promissória (NP) '13' => 'D', # Nota Promissória Rural (NR) '16' => 'E', # Nota de Seguros (NS) '17' => 'G', # Recibo (RC) '07' => 'H', # Letra de Câmbio (LC) '19' => 'I', # Nota de Débito (ND) '05' => 'J', # Duplicata de Serviço por Indicação (DSI) '99' => 'K', # Outros (OS) '32' => 'O' # Boleto de Proposta (BDP) }) end |
#equivalent_identificacao_emissao_400 ⇒ Object
Identificação da Emissão do Boleto de Pagamento
194 195 196 197 198 199 200 201 |
# File 'lib/br_boleto/conta/sicredi.rb', line 194 def equivalent_identificacao_emissao_400 super.merge( # Padrão Código para {# da GEM o Banco '1' => 'A', # Impressão é feita pelo Sicredi '2' => 'B', # Impressão é feita pelo Beneficiário }) end |
#equivalent_tipo_cobranca_400 ⇒ Object
Código da Carteira
179 180 181 |
# File 'lib/br_boleto/conta/sicredi.rb', line 179 def equivalent_tipo_cobranca_400 super.merge({ '1' => 'A' }) # Cobrança Simples end |
#equivalent_tipo_impressao_400 ⇒ Object
Identificação do Tipo de Impressão :
184 185 186 |
# File 'lib/br_boleto/conta/sicredi.rb', line 184 def equivalent_tipo_impressao_400 super.merge({ '1' => 'A' }) # Frente do Bloqueto end |
#nome_banco ⇒ Object
69 70 71 |
# File 'lib/br_boleto/conta/sicredi.rb', line 69 def nome_banco @nome_banco ||= 'SICREDI' end |
#versao_layout_arquivo_cnab_240 ⇒ Object
73 74 75 |
# File 'lib/br_boleto/conta/sicredi.rb', line 73 def versao_layout_arquivo_cnab_240 '081' end |
#versao_layout_lote_cnab_240 ⇒ Object
77 78 79 |
# File 'lib/br_boleto/conta/sicredi.rb', line 77 def versao_layout_lote_cnab_240 '040' end |