Aplicativo desktop em Windows Forms (.NET 10) para leitura de notas de corretagem em PDF e geração de um resumo mensal de apuração de imposto para operações da B3.
Projeto focado em automação de processamento de documentos financeiros, extração de dados a partir de PDFs e consolidação de regras de cálculo tributário em uma aplicação desktop simples e objetiva.
O objetivo do projeto é facilitar a conferência de operações e a apuração mensal, consolidando compras, vendas, custos e compensações em uma interface simples.
Além do uso prático, este repositório também demonstra experiência com:
- desenvolvimento de aplicações desktop em .NET
- modelagem de regras de negócio
- parsing de texto extraído de PDF
- organização de código em camadas simples de UI, modelos e serviços
- publicação de aplicação Windows em modo
self-containede arquivo único
- importação de uma ou mais notas de corretagem em PDF
- extração automática das operações encontradas no documento
- separação e consolidação por mês
- cálculo para:
- ações à vista
- opções
- rateio de custos por nota
- exibição de lucro, prejuízo, compensações e DARF
- aplicação de saldo acumulado e valor mínimo para pagamento
- auditoria textual do resultado líquido acumulado para opções
- .NET 10
- Windows Forms
- PdfPig para leitura e extração de texto dos PDFs
- interface desktop construída com Windows Forms
- leitura de documentos PDF com preservação de linhas para melhorar o parsing
- uso de expressões regulares para identificar notas, ativos e operações
- rateio proporcional de custos por nota de corretagem
- cálculo separado para ações à vista e opções
- controle de prejuízo acumulado, lucro tributável e saldo mínimo de DARF
- geração de saída textual detalhada para conferência manual
- Windows
- .NET 10 SDK para executar via código-fonte
Na versão publicada como
self-contained, o runtime do .NET não precisa estar instalado na máquina de destino.
- Abra o programa.
- Clique em Selecionar PDF(s).
- Escolha uma ou mais notas de corretagem.
- Aguarde o processamento.
- Analise o resumo mensal exibido na tela.
O aplicativo mostra, entre outros dados:
- operações encontradas por data
- total de compras e vendas
- custos rateados
- lucro ou prejuízo do período
- prejuízo acumulado
- lucro tributável
- DARF devido
- saldo transportado para o mês seguinte
Esse projeto é útil para investidores que desejam:
- consolidar várias notas de corretagem rapidamente
- conferir operações por mês
- entender o impacto de custos e recompras no resultado
- visualizar uma memória de cálculo antes do preenchimento manual das obrigações fiscais
Na raiz do repositório:
dotnet run --project .\B3TaxCalculator\B3TaxCalculator.csprojPara gerar uma versão Release, win-x64, self-contained e em arquivo único:
dotnet publish .\B3TaxCalculator\B3TaxCalculator.csproj -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=trueSaída esperada:
B3TaxCalculator\bin\Release\net10.0-windows\win-x64\publish\
O asset publicado no release
v1.0.0é uma build framework-dependent parawin-x64e requer o .NET 10 Desktop Runtime instalado no Windows.
B3TaxCalculator/
├── MainForm.cs
├── Program.cs
├── Models/
│ ├── NotaCosts.cs
│ ├── OptionAuditEntry.cs
│ ├── PdfReadResult.cs
│ └── Trade.cs
└── Services/
├── PdfReader.cs
├── TaxCalculator.cs
└── TradeParser.cs
- a extração depende do layout textual do PDF
- o parser foi ajustado para o formato de notas atualmente tratado pelo projeto
- em builds
Release, a pastaDebugPdfnão é gerada - alterações no layout da corretora podem exigir ajustes nas expressões regulares e no parser
- leitura de PDFs
- cálculo para ações à vista
- cálculo para opções
- publicação
self-containedem arquivo único - testes unitários com xUnit
- suporte a mais layouts de nota
- exportação do resultado para arquivo
- melhorias de usabilidade da interface
Este projeto pode ser apresentado como exemplo de:
- aplicação desktop com foco em produtividade
- automação de tarefa financeira recorrente
- transformação de documento semiestruturado em informação útil
- implementação de regra de negócio com rastreabilidade no resultado final
Contribuições são bem-vindas.
Fluxo sugerido:
- faça um fork do repositório
- crie uma branch para sua alteração
- implemente a mudança
- valide o comportamento localmente
- abra um pull request
Se encontrar problema na extração ou no cálculo, o ideal é abrir uma issue com:
- trecho do PDF ou descrição do layout
- resultado esperado
- resultado atual
- passos para reproduzir
Este projeto foi feito para automatizar a leitura e a apuração com base nas regras implementadas atualmente. Novos tipos de operação, mudanças regulatórias ou diferenças no formato das notas podem exigir manutenção.
Este software tem finalidade de apoio e conferência. Ele não substitui validação contábil, fiscal ou orientação profissional especializada.
Distribuído sob a licença MIT.
Veja o arquivo LICENSE para mais detalhes.
Jonathas Lopes Moreira
- GitHub: https://github.com/jonlopesmoreira
- LinkedIn: https://www.linkedin.com/in/jonlopesmoreira/
- Repositório: https://github.com/jonlopesmoreira/B3TaxCalculator

