Instituições financeiras > Configurações das instituições financeiras para processamento de arquivos > Configuração de cobrança Santander

Configuração de layout de remessa de cobrança em formato CNAB 400 para o Santander

BANCOS.RQ-029

Fluxo normal

Para configurar o arquivo CNAB de remessa de títulos de cobrança para o banco Santander deve ser feita a seguinte configuração no banco através da interface Bancos:

Febraban: 033

Guia Configurações da interface Bancos:


Guia Banco (interface Configuração de bancos):
Código do banco no jBoleto: 8
Tamanho do nosso número: 12
Layout CNAB: 240
Dígito do banco: 7


Guia Movimentos (interface Cadastro de Códigos dos Movimentos):
Código do Movimento: 01
Título: 01


Guia Lay-out (CNAB) (interface Leiautes CNAB dos bancos):

Cabeçalho 1

Modelo CNAB: CNAB 240
Parte do lay-out: Cabeçalho
Parte do lay-out sequencia: 1
${str.rightPad($banco.getFebraban(),3,"0")}
0000
0
${str.repeat(" " , 8)}
2#*tipo inscr. empresa 1-cpf/ 2-cnpj*#
${str.leftPad($lop.getDocumentoCliente(),15,"0")}
${str.leftPad($lop.retornarConvenio(),4,"0")}
${str.repeat(" ",25)}
${str.rightPad($conta.valueOfNomeCedente(), 30).substring(0,30)}
${str.rightPad($banco.getNomeBanco(), 30).substring(0,30)}
${str.repeat(" ", 10)}
1#*cod.remessa*#
${str.rightPad($banco.getDataAtual(),8," ")}
${str.repeat(" ", 6)}
${str.leftPad($sequencia,6,"0")}
040#*nro versao layout arquivo*#
${str.repeat(" ", 74)}

Cabeçalho 2

Modelo CNAB: CNAB 240
Parte do lay-out: Cabeçalho
Parte do lay-out sequencia: 2
${seq.nextValue()}
$str.rightPad($banco.getFebraban(),3,"0") 
0001 
1 
R 
01 
$str.repeat(" ", 2) 
030 
$str.repeat(" ", 1) 
2#*tipo inscricao empresa 1-cpf/2-cnpj*# 
$str.leftPad($lop.getDocumentoCliente(),15,"0") 
$str.repeat(" ", 20) 
$str.leftPad( $conta.retornoAgencia() , 4,"0") 
$str.leftPad( $conta.retornoContaCorrente(), 10,"0") 
${str.rightPad($conta.retornoDigitoContaCorrente(), 1)} 
$str.repeat(" ", 5) 
$str.rightPad($conta.getNomeCedente().toString(),30," ").substring(0,30) 
$str.repeat(" ", 40)#*mensagem 1-verificar-*# 
$str.repeat(" ", 40)#*mensagem 2-verificar-*# 
$str.leftPad($remessa,8,"0")#*nro remessa/retorno*# 
$str.rightPad($banco.getDataAtual(),8," ") 
$str.repeat(" ", 41) 

Corpo ( títulos ) 1

Modelo CNAB: CNAB 240
Parte do lay-out: Corpo (títulos)
Parte do lay-out sequencia: 1
${seq.nextValue()}
${str.rightPad($banco.getFebraban(),3,"0")}
0001#*numero lote da remessa*#
${str.repeat("3", 1)}
${str.leftPad($seqItens.next(), 5,"0")}#*nro sequencial registro de lote*#
${str.repeat("P", 1)}
${str.repeat(" ", 1)}
01#*cod. movimento para remessa*#
${str.leftPad($conta.retornoAgencia(), 4, "0")}
${str.rightPad($conta.retornoDigitoAgencia(), 1)}
${str.leftPad( $conta.retornoContaCorrente(), 9,"0")}
${str.rightPad($conta.retornoDigitoContaCorrente(), 1)}
${str.leftPad($conta.retornoContaCorrente(), 9, "0")}
${str.rightPad($conta.retornoDigitoContaCorrente(), 1)}
${str.repeat(" ", 2)}
${str.leftPad($titulo.valueOfNumeroBanco(), 12, "0")}
${str.leftPad($titulo.retornoDigitoNossoNumero(),1,"0")}
1#*${str.repeat("1", 1)}tipo de cobranca*#
1#*${str.repeat("1", 1)}forma de cadastramento*#
${str.repeat("1", 1)}#*tipo de documento 1-tradicional/ 2-escritural*#
${str.repeat(" ", 1)}
${str.repeat(" ", 1)}
${str.rightPad($titulo.retornaNumeroDocumento(),15," ")}#*nro do documento -seu nro-*#
${str.rightPad($titulo.retornoDataVencimento().toString(),8, "0")}
${str.leftPad($titulo.getValor().toText().replace(",", "").replace(".", ""),15,"0")}
${str.repeat("0", 4)}#*baseado CEP do sacado - Responsabilidade do banco*#
${str.repeat("0", 1)}
${str.repeat(" ", 1)}
02#*especie do titulo - ver codigo tabela*#
N#*identificacao Aceite/ Nao aceite*#
${str.rightPad($titulo.retornoDataEmissao().toString(),8,"0")}
1#*codigo juros de mora - tabela*#
${str.rightPad($titulo.retornoDataVencimento().toString(),8, "0")}#*data dos juros de mora*#
${str.leftPad($titulo.retornoJuroDia().replace(",", "").replace(".", ""),15,"0")}
0#*codigo desconto*#
${str.repeat("0",8)}#*data do desconto*#
${str.repeat("0", 15)}#*valor ou percentual do desconto*#
${str.repeat("0" , 15)}#*valor IOF ser recolhido*#
${str.leftPad($titulo.retornoAbatimento().replace(",", "").replace(".", ""),15,"0")}
${str.repeat(" ", 25)}#*identificacao titulo na empresa*#
${str.leftPad($lop.retornaFormaProtesto().toString(),1,"")}
${str.leftPad($lop.getDiasProtesto().toString(),2,"0")}
2#*codigo baixa devolucao-ver tabela-*#
000#*numero dias para baixa/devolucao*#
00
${str.repeat(" ", 11)}

Corpo ( títulos ) 2

Modelo CNAB: CNAB 240
Parte do lay-out: Corpo (títulos)
Parte do lay-out sequencia: 2
${seq.nextValue()} 
${str.rightPad($banco.getFebraban(),3,"0")} 
0001#*numero lote remessa*# 
3 
${str.leftPad($seqItens.next(), 5,"0")}#*nro sequencial registro de lote*# 
Q 
${str.repeat(" ", 1)} 
01 
${str.leftPad($titulo.getPessoaTipo(), 1)} 
${str.leftPad($titulo.getPessoaDocumento(), 15,"0" )} 
${str.rightPad($titulo.getPessoaNome(), 40).substring(0,40)} 
${str.rightPad($titulo.getPessoaEndereco(),40).substring(0,40)} 
${str.rightPad($titulo.getPessoaBairro(),15).substring(0,15)} 
${str.rightPad($titulo.getPessoaCep().replace("-", "").replace(".", ""),8)} 
${str.rightPad($titulo.getPessoaCidade(),15).substring(0,15)} 
${str.rightPad($titulo.getPessoaUf(),2)} 
0 
${str.repeat("0", 15)} 
${str.repeat(" ", 40)} 
001 
001 
001 
001 
${str.repeat(" ", 19)}

Corpo ( títulos ) 3

Modelo CNAB: CNAB 240
Parte do lay-out: Corpo (títulos)
Parte do lay-out sequencia: 3
${seq.nextValue()} 
${str.rightPad($banco.getFebraban(),3,"0")} 
0001#*numero lote da remessa*# 
3 
${str.leftPad($seqItens.next(), 5,"0")}#*nro sequencial registro de lote*# 
R 
${str.repeat(" ", 1)} 
01#*${str.repeat(" ", 2)}cod. movimento para remessa*# 
0#*codigo para desconto2*# 
${str.repeat("0",8)}#*${str.rightPad($titulo.retornoDataEmissao().toString(),8,"0")}data desconto2*# 
${str.repeat("0",15)}#*valor/percentual concedido*# 
${str.repeat(" ", 24)} 
2#*codigo multa 1-valor fixo/2-percentual*# 
${str.repeat("0", 8)}#*data multa*# 
${str.leftPad($lop.retornarPercentualMulta().replace(",", "").replace(".", ""), 15,"0")}#*valor/percentual ser aplicado*# 
${str.repeat(" ", 10)} 
${str.rightPad($titulo.retornarInstrucao(3),40," ")}#*mensagem3*# 
${str.rightPad($titulo.retornarInstrucao(4),40," ")}#*mensagem3*# 
${str.repeat(" ", 61)}

Corpo (títulos) 4

Modelo CNAB: CNAB 240
Parte do lay-out: Corpo (títulos)
Parte do lay-out sequencia: 3
##foreach($item in $detalhes) 
${seq.nextValue()} 
${str.rightPad($banco.getFebraban(),3,"0")} 
0001#*numero lote remessa*# 
3 
${str.leftPad($seqItens.next(), 5,"0")}#*nro sequencial registro de lote*# 
S 
${str.repeat(" ", 1)} 
01#*${str.repeat(" ", 2)}cod. movimento para remessa*# 
1 
$str.leftPad($item.getRegistro(), 2,"0" ) 
4 
${str.rightPad($item.getLinha(), 90).substring(0,90)} 
${str.leftPad($item.getValor(), 10)} 
${str.repeat(" ", 119)} 
||
##end

Rodapé 1

Modelo CNAB: CNAB 240
Parte do lay-out: Rodapé
Parte do lay-out sequencia: 1
${seq.nextValue()} 
${seqItens.nextValue()} 
$str.rightPad($banco.getFebraban(),3,"0") 
0001#*numero lote da remessa*# 
5 
$str.repeat(" ", 9) 
${str.leftPad($seqItens.next(), 6,"0")}#*quantidade registros de lote*# 
$str.repeat(" ", 217)

Rodapé 2

Modelo CNAB: CNAB 240
Parte do lay-out: Rodapé
Parte do lay-out sequencia: 2
$str.rightPad($banco.getFebraban(),3,"0") 
9999#*numero lote da remessa*# 
9 
$str.repeat(" ", 9) 
$str.leftPad("1", 6,"0")#*quantidade lotes do arquivo registros tipo=1*# 
${str.leftPad($seq.next(), 6,"0")}#*quantidade lotes do arquivo registros tipo=0+1+2+3+5+9*# 
$str.repeat(" ", 211)


Importante:

Devem ser retirados os espaços em branco antes e depois de cada linha de especificação Velocity, pois os espaços poderão ser inseridos nos arquivos gerados.



Configuração da conta corrente:

Configurar a conta corrente através da interface Contas correntes / caixas, informando:
Agência: Formato 4 dígitos com 0 (zeros) à esquerda + "-" + dígito de controle, p.ex.: 0190-1

Configuração do LOP:

Configurar o LOP informando a conta corrente cadastrada anteriormente.
Convênio: Informar código de transmissão fornecido pelo banco, como segue: