Skip to content
Kivanio Barbosa edited this page Jul 2, 2015 · 1 revision

Arquivos Remessa

Os arquivos remessa disponíveis são:

  • Banco do Brasil (CNAB240);
  • Caixa Econômica Federal (CNAB240);
  • Itaú (CNAB400);
  • Bradesco (CNAB400).

Obs: os arquivos não foram homologados (enviados para teste) pelos bancos correspondentes, mas foram implementados de acordo com a documentação dos mesmos.

Utilização

Inicialização

Para utilizá-los, crie uma nova instância do banco desejado (exe. Brcobranca::Remessa::Cnab400::Itau.new), podendo passar um hash as informações. Para cada arquivo remessa, é necessário ao menos um objeto Brcobranca::Remessa::Pagamento (que deve ser incluído no atributo pagamentos da instância). Este objeto guarda as informações do título (boleto) como o valor, a data de vencimento e as informações do sacado (veja mais sobre). Um arquivo remessa pode ter quantos pagamentos forem necessários.

Geração

Para gerar o arquivo remessa, chame o método gera_arquivo da instância. O método retornará uma String com os registros (header, trailer, etc) e as quebras de linha.

Exemplo

# criação de um pagamento válido
pagamento = Brcobranca::Remessa::Pagamento.new(valor: 199.9,
                                               data_vencimento: Date.today,
                                               nosso_numero: 123,
                                               documento_sacado: '12345678901',
                                               nome_sacado: 'nome',
                                               endereco_sacado: 'endereco',
                                               bairro_sacado: 'bairro',
                                               cep_sacado: '12345678',
                                               cidade_sacado: 'cidade',
                                               uf_sacado: 'SP')

# criação da instância
bradesco = Brcobranca::Remessa::Cnab400::Bradesco.new(carteira: '01',
                                                      agencia: '12345',
                                                      conta_corrente: '1234567',
                                                      digito_conta: '1',
                                                      empresa_mae: 'asd',
                                                      sequencial_remessa: '1',
                                                      codigo_empresa: '123',
                                                      pagamentos: [pagamento])

# criação da remessa
remessa = bradesco.gera_arquivo

Após criar a remessa, em um controller, você pode disponibilizar o download ao usuário:

send_data bradesco.gera_arquivo, :content_type => 'text/plain', 
                                 :filename => "remessa.txt"

Ou então, salvar como um arquivo:

File.open('caminho/para/o/arquivo', "w+") do |f|
  f.write(bradesco.gera_arquivo)
end
Clone this wiki locally