Bancos

Como configurar o layout de remessa de cobrança em formato CNAB 400 para o banco Banrisul?

BANCOS.CAD_BANCO.FAQ-4006
Para configurar o arquivo CNAB de remessa de títulos de cobrança para o banco Banrisul (Banco do Estado do Rio Grande do Sul) deve ser feita a seguinte configuração no cadastro do banco:

Cadastro de Pessoas

  1. Pessoa jurídica
  2. Razão social: Nome do banco
  3. Nome fantasia: Nome do banco

Aba "Documento"

  1. Informar Febraban: 041

Aba "Banco"

Código do banco no jBoleto: 10
Tamanho do nosso número: 8
Layout CNAB: 400
Dígito do banco: 8

Aba "Movimentos"

Código: 01 = Remessa
Código: 02 = Pedido Baixa
Código: 04 = Concessão de Abatimento
Código: 05 = Cancelamento de Abatimento
Código: 06 = Alteração de Vencimento
Código: 07 = Alteração de Uso Empresa
Código: 08 = Alteração do Seu Número
Código: 09 = Protestar Imediatamente
Código: 10 = Sustação de Protesto
Código: 11 = Não Cobrar Juros de Mora
Código: 12 = Reembolso e Transferência Desconto e Vendor
Código: 13 = Reembolso e Devolução Desconto e Vendor
Código: 16 = Alteração do número de dias para protesto
Código: 17 = Protestar Imediatamente para Fins de Falência
Código: 18 = Alteração de nome do Sacado
Código: 19 = Alteração de endereço do Sacado
Código: 20 = Alteração da cidade do Sacado
Código: 21 = Alteração do CEP do Sacado (Mudança de Portadora)
Código: 68 = Acerto dos dados do rateio de crédito
Código: 69 = Cancelamento dos dados do rateio

Aba "Retorno"

Código: 02 = Confirmação de entrada = RETORNO
Código: 03 = Entrada rejeitada = RETORNO
Código: 04 = Baixa de título liquidado por edital = RETORNO
Código: 06 = Liquidação normal = PAGAMENTO
Código: 07 = Liquidação parcial = PAGAMENTO
Código: 08 = Baixa por pagamento, liquidação pelo saldo = PAGAMENTO
Código: 09 = Devolução automática = RETORNO
Código: 10 = Baixado conforme instruções = OBSERVACOES
Código: 11 = Arquivo levantamento = OBSERVACOES
Código: 12 = Concessão de abatimento = OBSERVACOES
Código: 13 = Cancelamento de abatimento = OBSERVACOES
Código: 14 = Vencimento alterado = OBSERVACOES
Código: 15 = Pagamento em cartório = PAGAMENTO
Código: 16 = Alteração de dados = OBSERVACOES
Código: 18 = Alteração de instruções = OBSERVACOES
Código: 19 = Confirmação de instrução protesto = OBSERVACOES
Código: 20 = Confirmação de instrução para sustar protesto = OBSERVACOES
Código: 21 = Aguardando autorização para protesto por edital = OBSERVACOES
Código: 22 = Protesto sustado por alteração vcto prazo cartório = OBSERVACOES
Código: 23 = Confirmação de entrada em cartório = OBSERVACOES
Código: 25 = Devolução, liquidado anteriormente = OBSERVACOES
Código: 26 = Devolvido pelo cartório - erro de informação = OBSERVACOES
Código: 30 = Cobrança a creditar (liquidação em trânsito) = OBSERVACOES
Código: 31 = Título em trânsito pago em cartório = OBSERVACOES
Código: 32 = Reembolso e transf Desconto, Vendor, cart garantia = OBSERVACOES
Código: 33 = Reembolso e devolução Desconto e Vendor = OBSERVACOES
Código: 34 = Reembolso não efetuado por falta de saldo = OBSERVACOES
Código: 40 = Baixa de títulos protestados = OBSERVACOES
Código: 41 = Despesa de aponte = DESPESAS
Código: 42 = Alteração de título = OBSERVACOES
Código: 43 = Relação de títulos = OBSERVACOES
Código: 44 = Manutenção mensal = DESPESAS
Código: 45 = Sustação de cartório e envio de título a cartório = OBSERVACOES
Código: 46 = Fornecimento de formulário pré-impresso = DESPESAS
Código: 47 = Confirmação de entrada – sacado DDA = RETORNO
Código: 68 = Acerto dos dados do rateio de crédito = OBSERVACOES
Código: 69 = Cancelamento dos dados do rateio = OBSERVACOES


Aba Lay-out (CNAB)

Cabeçalho 1
01REMESSA
$str.repeat(" ", 17)
$str.leftPad($lop.valueOfCodigoProduto(), 13, "0")#*Código do Cedente = campo Código do produto*#
$str.repeat(" ", 7)
$str.rightPad($conta.getNomeCedente().toString(),30," ").substring(0,30)
041BANRISUL
$str.repeat(" ", 7)
$str.rightPad($banco.getDataAtual6Digitos(),6," ")#*DATA DA GRAVAÇÃO DO ARQUIVO.*#
$str.repeat(" ", 9)
$str.repeat(" ", 4)#*CÓDIGO DO SERVIÇO:*#
$str.repeat(" ", 1)
$str.repeat(" ", 1)#*TIPO DE PROCESSAMENTO - 'X' - Quando for movimento para teste - 'P' - Quando for movimento em produção*#
$str.repeat(" ", 1)
$str.repeat(" ", 10)#*CÓDIGO DO CLIENTE NO OFFICE BANKING:*#
$str.repeat(" ", 268)
000001


Corpo ( títulos ) 1
1
$str.repeat(" " , 16)
$str.leftPad($lop.valueOfCodigoProduto(), 13, "0")#*Código do Cedente = campo Código do produto*#
$str.repeat(" " , 7)
$str.rightPad($titulo.retornaNumeroDocumento(), 25," ")#*IDENTIFICAÇÃO DO TÍTULO PARA O CEDENTE*#
$str.leftPad($titulo.valueOfNumeroBancoDv(),10," ")#*IDENTIFICAÇÃO DO TÍTULO PARA O BANCO:*#
$str.repeat(" " , 32)#*MENSAGEM NO BLOQUETO:*#
$str.repeat(" " , 3)
1
01
VIDE038050
${str.rightPad($titulo.retornoDataVencimento6Digitos().toString(),6, "0")}
${str.leftPad($titulo.getValor().toText().replace(",", "").replace(".", ""),13,"0")}
041
$str.repeat(" " , 5)
08#*TIPO DE DOCUMENTO:*#
N#*identificacao Aceite/ Nao aceite*#
${str.rightPad($titulo.retornoDataEmissao6Digitos().toString(),6,"0")}
$str.rightPad($conta.valueOfCodigoInstrucaoBancaria1().toString(),2," ")#*CÓDIGO 1ª INSTRUÇÃO BANCÁRIA*#
$str.rightPad($conta.valueOfCodigoInstrucaoBancaria2().toString(),2," ")#*CÓDIGO 2ª INSTRUÇÃO BANCÁRIA*#
$str.repeat(" " , 1)#*CÓDIGO DE MORA*#
$str.repeat(" " , 12)#*VALOR AO DIA OU TAXA MENSAL DE JUROS:*#
$str.repeat(" " , 6)#*DATA PARA CONCESSÃO DO DESCONTO:*#
$str.repeat(" " , 13)#*VALOR DO DESCONTO A SER CONCEDIDO:*#
$str.repeat(" " , 13)#*VALOR IOF:*#
$str.repeat(" " , 13)#*VALOR DO ABATIMENTO:*#
02#*TIPO DE INSCRIÇÃO DO SACADO:*#
$str.leftPad($titulo.getPessoaDocumento(), 14,"0" )#*NÚMERO DE INSCRIÇÃO DO SACADO NO MF:*#
${str.rightPad($titulo.getPessoaNome(), 35).substring(0,35)}#*NOME DO SACADO:*#
$str.repeat(" " , 5)
${str.rightPad($titulo.getPessoaEndereco(),40).substring(0,40)}
$str.repeat(" " , 7)
$str.repeat(" " , 3)#*TAXA PARA MULTA APÓS O VENCIMENTO:*#
$str.repeat(" " , 2)#*NÚMERO DE DIAS PARA MULTA APÓS O VENCIMENTO.*#
${str.rightPad($titulo.getPessoaCep().replace("-", "").replace(".", ""),8)}
${str.rightPad($titulo.getPessoaCidade(),15).substring(0,15)}
${str.rightPad($titulo.getPessoaUf(),2)}
$str.repeat(" " , 4)#*TAXA AO DIA PARA PAGAMENTO ANTECIPADO:*#
$str.repeat(" " , 1)
$str.repeat(" " , 13)#*VALOR PARA CÁLCULO DO DESCONTO*#
  1. if( "$lop.valueOfDiasProtesto()" == "" )
$str.repeat(" " , 2)
  1. else
$str.leftPad($lop.valueOfDiasProtesto().toString(),2,"0")
  1. end
$str.repeat(" " , 23)
$str.leftPad($sequencia,6,"0")

Rodapé 1
9
$str.repeat(" ", 26)
$str.leftPad($valor_total_titulos.toString().replace(",", "").replace(".", ""),13,"0")#*Total Geral ou somatório dos valores dos títulos*#
$str.repeat(" ", 353)
$str.leftPad($sequencia, 6,"0")

OBS: Quando o código estiver funcional e apto para a implementacão no sistema do cliente, tomar cuidado ao copiar e colar, poderá gerar espaços excedentes no final de cada linha.


Entradas não confirmadas

O código do motivo da rejeição da entrada de um item de remessa (título ou instrução) é registrado nas posições 383 a 392 do arquivo de retorno e motivo das "entradas rejeitas" pode ser consultado no item 3.5 do documento anexo.

Observações importantes:

O "código do cedente" deve ser informado no campo de "código do produto" no cadastro do LOP, p.ex.: 0290071142173.