Skip to content

junior-honorato/numeric-file-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧮 VGBL Portabilidade → Conciliador e Ajustador Automático (SIDE/FenaPrevi) Automação executável (CLI) em Python projetada para conciliar, validar e ajustar matematicamente as diferenças de arredondamento em arquivos de texto de layout fixo (Padrão SIDE) enviados entre entidades previdenciárias.

📌 Problema No processo de portabilidade VGBL, o valor total das contribuições é trafegado em um arquivo .txt rigorosamente posicional. Porém, a operação enfrenta um gargalo matemático crônico:

  • As contribuições nas seguradoras são armazenadas internamente com alta precisão (ex: 9 casas decimais).
  • O layout da plataforma SIDE/FenaPrevi exige a conversão para apenas 2 casas decimais (centavos inteiros).
  • Essa conversão gera dízimas e diferenças de arredondamento. O somatório das linhas no arquivo final muitas vezes não bate com o saldo financeiro real da apólice (gerando deltas de alguns centavos).
  • Isso causa a rejeição imediata da portabilidade, exigindo que o analista abra o arquivo TXT, recalcule a diferença e edite as linhas manualmente — um processo lento e com altíssimo risco de corromper o layout fixo.

🎯 Objetivo da Ferramenta Substituir a edição manual por uma conciliação automatizada e segura. A ferramenta não apenas valida a soma, mas injeta um ajuste de centavos de forma inteligente para fechar o caixa perfeitamente.

A aplicação:

  • Lê o arquivo .txt e localiza os valores monetários na janela posicional exata (colunas 49 a 63).
  • Soma automaticamente as contribuições e compara com o Valor Real de Saída informado pelo usuário.
  • Regra de Negócio (Guard-Rail): Verifica se a diferença matemática é tolerável (menor ou igual a R$ 1,00). Isso impede mascaramento de fraudes ou erros sistêmicos graves.
  • Auto-Ajuste: Sendo tolerável, a aplicação aplica o delta matematicamente na primeira linha de movimento do arquivo, preservando rigorosamente o alinhamento de colunas (padding com zeros à esquerda).
  • Revalida a soma para garantir integridade e salva um novo arquivo _alterado_SIDE.txt pronto para o envio seguro.

🧪 Exemplo de Execução

=== Portabilidade - Somar (49..63) e Ajustar (1ª linha de movimento) ===

  • Valor Total da Portabilidade no Arquivo: R$ 12.345,67

Informe o VALOR CORRETO DO ARQUIVO: 12345,69

  • Ajuste calculado (incorreto − correto): -R$ 0,02 (-2 centavos)
  • Validação pós-ajuste — Valor Total no Arquivo: R$ 12.345,69 ✔ Arquivo ajustado e VALIDADO com sucesso!
  • Saída: /saidas/RelacaoAnalitica17836_alterado_SIDE.txt

💼 Impacto no Negócio

  • SLA de Portabilidade: Elimina a fila de retrabalho manual em arquivos rejeitados pela câmara de compensação.
  • Gestão de Risco e Compliance: Nenhuma manipulação manual ("dedo humano") ocorre no arquivo TXT, evitando o deslocamento acidental de colunas que corrompe o layout inteiro.
  • Empatia Operacional: Distribuído como um arquivo executável (.exe), permitindo que analistas de backoffice sem conhecimento em programação utilizem a solução com dois cliques.

⚙️ Funcionalidades

✔ Leitura e fatiamento seguro de Strings de largura fixa (Posicional).

✔ Guard-rail financeiro paramétrico (Trava de segurança para deltas > R$ 1,00).

✔ Ajuste não-destrutivo de valores mantendo o padding original do layout.

✔ Empacotamento via PyInstaller para distribuição corporativa sem dependência de ambiente Python.

✔ CLI (Command Line Interface) interativa e tolerante a falhas de digitação de usuário.

🛠 Tecnologias Utilizadas

  • Python 3.11
  • Manipulação de I/O de arquivos (pathlib)
  • PyInstaller (Build e compilação de executáveis)

🖥️ Como usar

  • Opção A: Via Executável (.exe) - Para Usuários Finais: Coloque o arquivo .txt na pasta entradas/ -> Execute o AjustePortabilidadeSaida.exe -> Digite o valor correto quando solicitado -> Pegue o arquivo validado na pasta saidas/.

  • Opção B: Via Código Fonte - Para Desenvolvedores

Bash pip install -r requirements.txt python ajuste_portabilidade_saida.py

📂 Estrutura do Projeto

Plaintext vgbl-portabilidade-checker/

├── ajuste_portabilidade_saida.py

├── AjustePortabilidadeSaida.spec

├── entradas/

├── saidas/

├── README.md

└── .gitignore

🤖 Uso de Inteligência Artificial

A IA generativa foi utilizada como copiloto técnico para o PM, auxiliando na prototipação da lógica de fatiamento de strings posicionais ([49:63]), estruturação de código tolerante a falhas e documentação. As regras de negócio bancário, formatação regulatória (SIDE) e restrições de compliance foram aplicadas manualmente.

👤 Autor Arlindo Júnior Honorato Technical Product Manager | Automação | IA aplicada a Produtos Financeiros e Eficiência de Backoffice

About

Ferramenta em Python para validar automaticamente a consistência de arquivos com valores numéricos.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages