Pular para conteúdo

Banco do Nordeste (004)

Manuais oficiais de referência: Cobrança Eletrônica BNB · Padrão BNB — CNAB 400. Fontes e portal em fontes-oficiais.md — os PDFs não são redistribuídos, apenas citados.

Implementação: pycobranca/bancos/banco_nordeste.py · Dígito do banco: 3 · PIX: —

Logo empacotado: disponível via logo_do_banco("004") — a marca é do banco (uso nominativo); ver render/logos/NOTICE.md.

Resumo

DV do nosso número por módulo 11 (fatores 2..8).

Campo livre (posições 20–44 do código de barras)

Posições Tam. Conteúdo
1–4 4 Agência
5–11 7 Conta
12 1 Dígito da conta
13–19 7 Nosso número
20 1 DV do nosso número (módulo 11)
21–22 2 Carteira
23–25 3 000

Dígitos verificadores

  • DV do nosso número — módulo 11 sobre o nosso número com 7 posições, fatores 2..8 (cíclicos, direita→esquerda), DV = 11 - (soma % 11); resultados 10 e 11 viram 0.

Validação de campos (geração do boleto)

Tamanhos em dígitos (mín.–máx.); a máscara é descartada e o valor é preenchido com zero à esquerda. Violações vêm em BoletoInvalido.erros (lista) — ver o contrato de erros e a matriz completa.

Campo Regra
Agência 1–4 dígitos
Conta 1–7 dígitos
Nosso número 1–7 dígitos
Carteira conjunto: 21, 31, 41, 51

Formatos de exibição

  • Nosso número: nosso número(7)-DV0000123-6
  • Agência/conta: agência(4)/conta(7)-dígito0123/0012345-6

Exemplo (saída da engine)

Entrada: agência 0123, conta 0012345, dígito da conta 6, carteira 21, nosso número 1234567, R$ 127,50, vencimento 15/08/2026.

Campo livre:      0123001234561234567921000
Código de barras: 00494153900000127500123001234561234567921000
Linha digitável:  00490.12305 01234.561239 45679.210000 4 15390000012750

Remessa CNAB 400 — implementada e validada byte a byte ✓

Implementação: pycobranca/cnab/cnab400/banco_nordeste.py · fixture: tests/fixtures/remessa_banco_nordeste_cnab400.rem

Quirk documentado: o registro detalhe tem 401 posições — o layout do banco soma um caractere a mais em relação ao padrão FEBRABAN de 400 (header e trailer têm 400). Mantida a paridade byte a byte com os vetores de referência; por isso tamanho_registro=None e a garantia passa a ser a comparação com a fixture.

Estrutura do arquivo (CRLF, maiúsculas sem acentos):

Registro Tam. Conteúdo principal
Header (01REMESSA01COBRANCA) 400 info da conta (agência 4 + 00 + conta 7 + dígito) · empresa(30) · 004 + B.DO NORDESTE · data (DDMMAA)
Detalhe (tipo 1) 401 agência + 00 + conta + dígito · 2 dígitos do percentual de multa · uso da empresa(25) · nosso número(7) + DV · código da carteira · ocorrência · nº documento(10) · vencimento (DDMMAA) · valor(13) · 004 · espécie 01 · aceite · emissão · mora/desconto/IOF/abatimento · sacado (doc/nome 40/endereço 40/bairro 12/CEP/cidade 15/UF) · avalista(40) · 99 + 0 · sequencial(6)
Trailer (tipo 9) 400 393 brancos + sequencial(6)

DV do nosso número: módulo 11 sobre o nosso número com 7 posições, fatores 2..8, bloco 11 - (soma % 11), mapa {1: 0, 10: 0, 11: 0}.

Código da carteira: carteira 51I; caso contrário, mapeado por emissão do boleto (1/2) e carteira (21/41) → 1/2/4/5.