Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

frank_cobol — Conferidor de Encargos

COBOL GnuCOBOL Debian VS Code Status Fase final

Ferramenta batch em COBOL que ajuda fiscais de contrato do setor público a conferir se os encargos (INSS/FGTS) das folhas das terceirizadas foram calculados e recolhidos corretamente — apontando divergências com evidência utilizável no processo administrativo.

Motivação, de ponta a ponta

1. O problema real

Contratos públicos com mão de obra dedicada exigem fiscalização administrativa (IN 05/2017; Lei 14.133/2021): todo mês, o fiscal recebe da terceirizada a folha, as guias e os comprovantes, e precisa verificar — funcionário por funcionário — se salários e encargos batem. Hoje esse trabalho é feito no braço, com planilha e PDF: lento, repetitivo e sujeito a erro justamente onde erro custa caro.

2. Por que COBOL

Repare na forma do problema: ler um lote grande de registros → aplicar regras de cálculo → comparar com o declarado → relatar divergências com totais de controle. Essa é literalmente a descrição de um job batch COBOL — o tipo de problema para o qual a linguagem foi criada em 1959 e pelo qual ela ainda sustenta bancos, previdência e tributos (no Brasil: Dataprev, SERPRO, bancos públicos). E aritmética decimal exata aqui é requisito, não luxo: dinheiro não admite os erros de arredondamento do ponto flutuante binário.

3. O projeto como jornada — o ciclo completo de um legado

Este repositório é também um projeto de aprendizado guiado: construir um sistema COBOL de verdade, do zero, no formato fixo dos legados reais — e depois percorrer o mesmo caminho que o mercado percorre com sistemas de 40 anos:

construir → manter → modernizar → migrar/integrar

Na fase final, o core COBOL será exposto/migrado para uma linguagem moderna (a decidir), com testes de paridade dual-run — a mesma técnica usada nas migrações reais de mainframe.

4. Recorte honesto

  • Ferramenta auxiliar de conferência; não substitui sistemas oficiais nem parecer do fiscal.
  • Entrada realista: CSV/layout fixo exportado de planilha — o que um fiscal consegue produzir.
  • Alíquotas e tabelas parametrizadas por competência, porque mudam por lei, todo ano.

Princípio de arquitetura

O fiscalizado nunca fornece as duas pontas da comparação.

A terceirizada entrega fatos (salários pagos, valores depositados). A régua (alíquotas, tabelas legais) mora no programa, sob controle do fiscal. Conferência feita com a régua do fiscalizado não é conferência.

Roadmap

Incremento Entrega Status
INC-1 Conferência de FGTS de 1 funcionário (dados fixos no código) 🔨 em andamento
INC-2 Tabela progressiva do INSS + teto, parametrizada por competência
INC-3 Leitura do arquivo da folha (N funcionários) + relatório
INC-4 Calculado × declarado; relatório de divergências com totais de controle
INC-5 Multi-contratos: cadastro indexado, quebras por empresa, lote mensal
INC-6 Modularização (CALL/copybooks) + testes de paridade
INC-7 Migração/integração com linguagem moderna (dual-run)

Como compilar e rodar

Pré-requisito: GnuCOBOL 3.2+ (sudo apt install gnucobol).

cobc -x -fixed programa.cob && ./programa

Por que -fixed? O GnuCOBOL 3.2 autodetecta o formato livre e "perdoa" erros de coluna. Aqui o core simula um legado real do setor público: formato fixo estrito, como um mainframe exigiria. O formato livre aparecerá — de propósito — na fase de migração.

Estrutura

  • *.cob — programas COBOL (formato fixo)
  • instrutor/progresso.md — diário pedagógico público: trilha de conceitos, decisões de projeto e registro de cada sessão de estudo

Metodologia

Projeto conduzido em modo instrutor com Claude Code: o instrutor propõe problemas do domínio, guia por perguntas e revisa; todo o código COBOL é escrito pelo aluno. O histórico de commits e o diário registram a jornada real — erros, descobertas e decisões incluídos.

About

Conferidor de encargos (INSS/FGTS) em COBOL para fiscais de contrato do setor público — aprendendo o ciclo completo de um legado: construir, manter e migrar

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages