Guia detalhado do padrão FEBRABAN para geração de arquivos de pagamento
O CNAB (Centro Nacional de Automação Bancária) 240 Posições é um padrão estabelecido pela FEBRABAN (Federação Brasileira de Bancos) para troca eletrônica de informações entre empresas e instituições financeiras.
Cada linha (registro) do arquivo possui exatamente 240 caracteres, organizados em campos com posições fixas, tamanhos específicos e formatos definidos.
Envie pagamentos para múltiplos funcionários de uma só vez
Gerencie pagamentos para diversos fornecedores
Gere boletos e controle recebimentos
Receba extratos bancários automatizados
Elimine digitação manual e reduza erros
Processe centenas de pagamentos em segundos
Padrão validado e aceito por todos os bancos
Histórico completo de todas as operações
O arquivo CNAB240 segue uma estrutura rígida com 5 tipos de registros:
| Tipo | Nome | Obrigatório | Função |
|---|---|---|---|
| 0 | Header de Arquivo | ✅ Sim | Abre o arquivo. Identifica empresa e banco. Aparece 1 vez no início. |
| 1 | Header de Lote | ✅ Sim | Inicia um lote de serviço. Define o tipo de operação (ex: Pagamento Salários = 30). |
| 3 | Detalhe (Segmentos) | ✅ Sim | Contém os dados transacionais. Segmentos A e B para cada funcionário. |
| 5 | Trailer de Lote | ✅ Sim | Fecha o lote. Contém totalizadores (quantidade de registros, soma de valores). |
| 9 | Trailer de Arquivo | ✅ Sim | Encerra o arquivo. Totalizadores gerais de todo o arquivo. |
Para pagamento de salários, cada funcionário requer 2 segmentos:
Dados do Pagamento:
Identificação do Favorecido:
00012300001000000000100000 (centavos)JOAO······EMPRESA········25102025143000Primeira linha do arquivo. Contém informações gerais sobre a empresa e o banco.
| Posição | Tam | Formato | Campo | Descrição / Exemplo |
|---|---|---|---|---|
| 1-3 | 3 | Num | Código Banco | Ex: 001 (Banco do Brasil) |
| 4-7 | 4 | Num | Lote | Sempre 0000 no Header Arquivo |
| 8 | 1 | Num | Tipo Registro | Sempre 0 |
| 18 | 1 | Num | Tipo Inscrição | 1=CPF, 2=CNPJ |
| 19-32 | 14 | Num | CNPJ Empresa | Ex: 12345678000190 |
| 73-102 | 30 | Alfa | Nome Empresa | Razão social (MAIÚSCULAS) |
| 103-132 | 30 | Alfa | Nome Banco | Ex: BANCO DO BRASIL |
| 143 | 1 | Num | Código Remessa | Sempre 1 (Remessa) |
| 144-151 | 8 | Num | Data Geração | Ex: 21102025 (21/10/2025) |
| 152-157 | 6 | Num | Hora Geração | Ex: 143000 (14:30:00) |
| 158-163 | 6 | Num | NSA | Número Sequencial do Arquivo (incrementar) |
Inicia um lote de serviço. Para pagamento de salários, usar Tipo Serviço = 30
| Posição | Tam | Formato | Campo | Descrição / Exemplo |
|---|---|---|---|---|
| 1-3 | 3 | Num | Código Banco | Mesmo do Header Arquivo |
| 4-7 | 4 | Num | Lote | 0001, 0002... |
| 8 | 1 | Num | Tipo Registro | Sempre 1 |
| 9 | 1 | Alfa | Tipo Operação | C (Crédito) |
| 10-11 | 2 | Num | Tipo Serviço | 30 (Pagamento Salários) |
| 12-13 | 2 | Num | Forma Lançamento | 01=Crédito CC, 03=TED |
| Posição | Tam | Formato | Campo | Descrição / Exemplo |
|---|---|---|---|---|
| 8 | 1 | Num | Tipo Registro | Sempre 3 |
| 9-13 | 5 | Num | Nº Sequencial | Começa em 00001 e incrementa |
| 14 | 1 | Alfa | Segmento | Sempre A |
| 21-23 | 3 | Num | Banco Favorecido | Banco do funcionário |
| 24-28 | 5 | Num | Agência | Ex: 01234 |
| 30-41 | 12 | Num | Conta | Ex: 000012345678 |
| 44-73 | 30 | Alfa | Nome Favorecido | Nome do funcionário |
| 94-101 | 8 | Num | Data Pagamento | Ex: 25102025 |
| 120-134 | 15 | Num | Valor Pagamento | Em centavos. R$ 3.500,00 = 000000000350000 |
| Posição | Tam | Formato | Campo | Descrição / Exemplo |
|---|---|---|---|---|
| 14 | 1 | Alfa | Segmento | Sempre B |
| 18 | 1 | Num | Tipo Inscrição | 1 (CPF) |
| 19-32 | 14 | Num | CPF Favorecido | Ex: 00012345678901 |
Fecha o lote com totalizadores.
= 1 (Header Lote) + (Nº Funcionários × 2) + 1 (Trailer Lote)
Exemplo: 10 funcionários = 1 + 20 + 1 = 22 registros
Soma de todos os campos "Valor Pagamento" dos Segmentos A
Formato: 15 dígitos (em centavos)
Exemplo: R$ 35.000,00 = 000000003500000
Última linha do arquivo com totalizadores gerais.
Número de lotes no arquivo (normalmente 000001 para pagamento de salários)
= 1 (Header Arquivo) + Qtd Registros Lote + 1 (Trailer Arquivo)
Exemplo: 10 funcionários = 1 + 22 + 1 = 24 registros
Lista dos principais códigos de compensação bancária utilizados no Brasil: