Skip to content

Peculium v0.8.0 — painel redesenhado e juros de mora do DARF

Choose a tag to compare

@devtulio devtulio released this 03 Aug 22:48
· 10 commits to main since this release

Reúne três versões de trabalho (0.7.0, 0.7.1 e 0.8.0). Fecha a última conta de imposto que estava incompleta e redesenha o painel.

Painel redesenhado

Régua de quatro somas no topo — patrimônio, custo, resultado e proventos, cada uma com a sua nota de contexto —, composição da carteira em barra empilhada, gráficos de proventos mês a mês e aportes acumulados, e a tabela completa de posições.

A divergência com a B3 agora aparece no painel: data do retrato, quantos papéis conferem e quanto a B3 informa a mais, com cada papel que falta lançar. Para isso o retrato importado passou a ser guardado — só o que a B3 disse, nunca a conclusão. A comparação é refeita a cada abertura, então lançar a compra que faltava apaga o aviso sozinho.

Tema não escolhe layout. Um painel, três temas. Amarrar os dois faria trocar para o escuro à noite render uma estrutura diferente sem ter pedido. O que muda por tema são as cores de série: no escuro a púrpura não contrasta, e as três precisam ser distinguíveis entre si, não só do fundo.

Três correções que só a captura revelou: a média de proventos dividia por doze (o certo é dividir pelos meses que tiveram provento — por doze, em agosto, diria metade do que se recebe por mês); a classe saía como FII e ACAO, que é código de banco e não rótulo de tela; e o resultado saía R$ ▲ +2,60, com o cifrão antes da seta.

Juros de mora do DARF

A última conta de imposto declaradamente incompleta. Soma a Selic acumulada mensalmente do mês seguinte ao vencimento até o anterior ao do pagamento, mais 1% no mês do pagamento (Lei 9.430/96, art. 61 §3).

A série que serve é a 4390 (Selic acumulada no mês), não a 11 (Selic diária) que o programa já usava para a curva da renda fixa: a lei manda somar taxas mensais, não capitalizar dias. A distinção foi conferida contra a API do Banco Central.

  • O caso mais comum não precisa de série nenhuma: pagar dentro do mês seguinte ao vencimento não fecha nenhum mês inteiro de atraso, então os juros são só o 1% — e esse DARF sai completo mesmo sem rede.
  • Faltando um mês da série, o programa recusa calcular e diz qual falta. Juros a menos numa guia de recolhimento é diferença que a Receita cobra depois.
  • A tela de Impostos ganhou coluna de Juros e o botão Atualizar Selic — quem não tem renda fixa nunca abriria a Carteira, onde ficava o único botão que baixa séries do BCB.

Portabilidade entre corretoras

Ela vem em duas linhas no relatório de Movimentação — débito na origem, crédito no destino — e o leitor agora as pareia por data, papel e quantidade. Juntas viram um lançamento de transferência; uma ponta só continua pendente, porque metade da portabilidade não diz para onde o papel foi.

Como consequência, o aviso de saldo negativo numa corretora deixou de dizer "falta a transferência": a causa mais comum passou a ser a compra anterior, feita na origem antes do período do extrato. O aviso nomeia as duas.

Subscrição

Continua sem virar lançamento — as linhas nomeiam o papel intermediário (direito, recibo) e nenhuma traz o valor pago. O que mudou é que os seis subtipos deixaram de receber a mesma frase: só o "Recibo de Subscrição" vira posição, e é ele que ganha a instrução de lançar a compra. Quando o recibo virar a cota definitiva, o passo é registrar uma conversão em Eventos.

Corrigido

  • O formulário de instituição saía espremido. O CNPJ não é um campo curto — carrega o botão de busca e a nota de privacidade —, e dividido em três colunas o input cortava a própria máscara. Ele passou a ocupar a linha inteira, o que também desafogou os formulários de lançamento, de título de renda fixa e de pagamento do DARF.

Esquema

Versão 3: tabela posicao_b3, com o último retrato importado. Cofre antigo ganha a tabela ao abrir, sem migração de dado.


366 testes unitários e 38 E2E. As proteções novas foram verificadas por mutação — neutralizar cada uma faz o teste correspondente falhar; uma delas revelou que o outro lado da portabilidade sumia da conferência em silêncio.

Ainda sem validação contra documento real: o leitor de PDF de nota de venda. O parser foi construído a partir de notas de compra, e a nota de venda difere no sinal do líquido e na presença de IRRF. O caminho razão → fisco → obrigações está coberto por teste de integração, mas isso não substitui o documento.

O Windows pode barrar o executável (Smart App Control): use Peculium.cmd ou rode do código-fonte.