Skip to content

v0.0.1 - SDK CNAB 240 FEBRABAN multi-banco

Latest

Choose a tag to compare

@raykavin raykavin released this 19 Jul 14:09
c67fe74

SDK em Go para geração de arquivos de remessa no padrão CNAB 240 FEBRABAN, com arquitetura em três camadas (motor genérico, descritores de layout por banco e API pública de domínio).

Destaques

  • Motor genérico (internal/engine): preenchimento de campos, montagem de registros de 240 colunas, sequenciais/trailers e os limites do padrão FEBRABAN (70 lotes/arquivo, 10.000 movimentos/lote) - cobertura de testes acima de 85%.
  • Layout de referência febraban240 embutido, com suporte a layouts customizados via JSON (layout.NewFromJSON) para adaptar a bancos específicos.
  • API de domínio (pacote cnab) sem exposição de posições de campo: empresa, conta, favorecido e tipos de pagamento, crédito em conta, TED, PIX (por chave ou dados bancários), boleto, tributos com código de barras, DARF, GPS e cancelamento de pagamento.
  • Valores monetários sempre em centavos (cnab.Cents), datas em time.Time e erros tipados e descritivos (ValidationError, LimitExceededError, FieldError, entre outros).
  • Documentação: ARQUITETURA.md, API.md e NOVO-BANCO.md.
  • Exemplos executáveis para cada cenário em ./examples.

Requisitos

Go 1.26+, sem dependências externas além da biblioteca padrão.

O que mudou

  • feat: estrutura inicial do projeto e suporte a campo/charset do motor por @raykavin em #1
  • feat: adiciona montagem de registros e pipeline de build ao motor cnab por @raykavin em #2
  • feat: adiciona cálculo de trailer, limites e erros do motor por @raykavin em #3
  • feat: adiciona descritores genéricos de campo e valor de layout por @raykavin em #4
  • feat: adiciona definição de layout e descritores de registro por @raykavin em #5
  • feat: adiciona importação de layout baseada em JSON por @raykavin em #6
  • feat: adiciona layouts de header de arquivo e lote do febraban240 por @raykavin em #7
  • feat: adiciona layouts de pagamento por crédito dos segmentos A e B do febraban240 por @raykavin em #8
  • feat: adiciona segmentos de tributos e previdência do febraban240 por @raykavin em #9
  • feat: adiciona trailers do febraban240 e testes de integração de layout por @raykavin em #10
  • feat: adiciona interface de pagamento e value objects principais de dinheiro/documento por @raykavin em #11
  • feat: adiciona entidades de domínio de empresa e conta bancária por @raykavin em #12
  • feat: adiciona entidade favorecido e registro de layout por @raykavin em #13
  • feat: adiciona tipo de pagamento crédito em conta por @raykavin em #14
  • feat: adiciona tipo de pagamento boleto por @raykavin em #15
  • feat: adiciona tipo de pagamento TED por @raykavin em #16
  • feat: adiciona tipo de pagamento PIX por @raykavin em #17
  • feat: adiciona tipos de pagamento de tributo e tributo com código de barras por @raykavin em #18
  • feat: adiciona suporte a cancelamento de pagamento por @raykavin em #19
  • feat: adiciona montagem de lote e arquivo de remessa por @raykavin em #20
  • feat: adiciona exemplos de uso para todos os tipos de pagamento por @raykavin em #21
  • docs: adiciona guia de arquitetura e integração de novo banco por @raykavin em #22
  • docs: adiciona referência da API pública por @raykavin em #23
  • docs: adiciona readme do projeto por @raykavin em #24
  • Atualiza documentação do README.md por @raykavin em #25
  • docs: atualiza seção de exemplos no README.md para maior clareza e formatação por @raykavin em #26

Novos contribuidores

Changelog completo: https://github.com/raykavin/gocnab/commits/v0.0.1