rv

command module
v0.0.0-...-835f536 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 3 Imported by: 0

README

rv

Criei esta ferramenta para meu uso pessoal, ela controla minhas operações com ações do mercado brasileiro, calcula lucros, prejuízos, impostos, DARF e consolida os dados para meu informe anual de Imposto de Renda.

⚠️ Se deseja usá-la, é por sua conta e risco.

⚠️ Esta ferramenta não oferece qualquer garantia de exatidão fiscal ou conformidade legal. Seu uso é de inteira responsabilidade do usuário.

webapp

Funcionalidades

  • Registro e consolidação de operações

    • Compra / Venda
    • Swing Trade / Day Trade
    • Cálculo automático de preço médio, lucros e prejuízos, IR e DARF
  • Suporte a eventos corporativos e proventos

    • Dividendos
    • JSCP / JSCP Não Pago
    • Reembolso
    • Bonificação
    • Grupamento / Desdobramento
    • Rendimentos Tributáveis
    • Redução de Capital
    • Leilão de Fração
    • Subscrição
    • Aluguel
  • Geração de informe anual de Imposto de Renda

    • Bens e Direitos
    • Dívida e Ônus Reais
    • Rendimentos Isentos e Não Tributáveis
    • Rendimentos Sujeitos à Tributação Exclusiva/Definitiva
    • Renda Variável: Operações Comuns/Day Trade
  • Suporte a Opções

    • Compra/Venda de PUT
    • Compra/Venda de CALL
  • Importação de Notas de Corretagem

  • Exportação em CSV

Compilação

Escolha abaixo uma das opções de compilação da ferramenta; um arquivo executável rv aparecerá na pasta onde o comando for executado.

Com Go

Tendo Go instalado:

GOBIN=$(pwd) GOEXPERIMENT=jsonv2 go install github.com/ofabricio/rv@latest
Com Docker

Tendo Docker instalado:

docker run --rm -v $(pwd):/src -w /src golang:alpine sh -c "
    GOOS=darwin GOARCH=arm64 GOEXPERIMENT=jsonv2 go install github.com/ofabricio/rv@latest && cp /go/bin/*/rv ."

Nota: altere GOOS=darwin GOARCH=arm64 para os valores correspondentes ao seu sistema operacional.

Web

Uma versão online da ferramenta está disponível para uso no navegador. Para acessá-la clique no badge abaixo.

webapp

Como usar

Basta adicionar as operações no arquivo db.ndjson, que está na raiz deste repositório, executar a ferramenta ./rv e ver o resultado exibido no terminal. Veja um exemplo de resultado abaixo.

Nota: o arquivo db.ndjson precisa estar na mesma pasta do executável; copie o arquivo modelo deste repositório ou crie um arquivo novo.

No momento só é possível adicionar as operações editando manualmente o arquivo db.ndjson. Importação de notas de corretagem ou extratos da B3 também estão nos planos para facilitar esse processo.

Veja exemplos de uso de cada tipo de operação nos arquivos .give do diretório /data/testdata.

Exemplo de resultado

$ ./rv
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                         OPERAÇÕES COM AÇÕES                                                         │
├────────┬────────────┬────────────┬─────┬──────────┬──────────┬───────┬──────┬─────────┬──────────────┬───────┬───────────┬──────────┤
│ Ticker │    Data    │  Operação  │ Qtd │ V. Unit. │ V. Total │ Taxas │ IRRF │ Qtd Ac. │ V. Total Ac. │  PM   │ V. Compra │  Lucro   │
├────────┼────────────┼────────────┼─────┼──────────┼──────────┼───────┼──────┼─────────┼──────────────┼───────┼───────────┼──────────┤
│ PETR4  │ 2024-01-01 │ Compra     │ 300 │    30,00 │  9000,00 │     - │    - │     300 │      9000,00 │ 30,00 │         - │        - │
│ VALE3  │ 2025-01-01 │ Compra     │ 200 │    40,00 │  8000,00 │     - │    - │     200 │      8000,00 │ 40,00 │         - │        - │
│ PETR4  │ 2025-02-01 │ Dividendos │   - │        - │        - │     - │    - │     300 │      9000,00 │ 30,00 │         - │  1000,00 │
│ VALE3  │ 2025-03-01 │ JSCP       │   - │        - │        - │     - │    - │     200 │      8000,00 │ 40,00 │         - │  1000,00 │
│ PETR4  │ 2025-04-01 │ Dividendos │   - │        - │        - │     - │    - │     300 │      9000,00 │ 30,00 │         - │   800,00 │
│ VALE3  │ 2025-05-01 │ Venda      │  50 │    65,00 │  3250,00 │     - │ 0,16 │     150 │      6000,00 │ 40,00 │   2000,00 │  1250,00 │
│ VALE3  │ 2025-06-01 │ Venda      │ 100 │   220,00 │ 22000,00 │     - │ 1,10 │      50 │      2000,00 │ 40,00 │   4000,00 │ 18000,00 │
└────────┴────────────┴────────────┴─────┴──────────┴──────────┴───────┴──────┴─────────┴──────────────┴───────┴───────────┴──────────┘
┌──────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                           BENS E DIREITOS                                            │
├────────┬──────────────────┬──────────────────┬─────────┬─────────────────────────────────────────────┤
│ Ticker │ Situação em 2023 │ Situação em 2024 │ Grp Cód │                Discriminação                │
├────────┼──────────────────┼──────────────────┼─────────┼─────────────────────────────────────────────┤
│ PETR4  │       0,00       │     9000,00      │  03 01  │ 300 AÇÕES PETR4 COM PREÇO MÉDIO DE R$ 30,00 │
└────────┴──────────────────┴──────────────────┴─────────┴─────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                           BENS E DIREITOS                                            │
├────────┬──────────────────┬──────────────────┬─────────┬─────────────────────────────────────────────┤
│ Ticker │ Situação em 2024 │ Situação em 2025 │ Grp Cód │                Discriminação                │
├────────┼──────────────────┼──────────────────┼─────────┼─────────────────────────────────────────────┤
│ PETR4  │     9000,00      │     9000,00      │  03 01  │ 300 AÇÕES PETR4 COM PREÇO MÉDIO DE R$ 30,00 │
├────────┼──────────────────┼──────────────────┼─────────┼─────────────────────────────────────────────┤
│ VALE3  │       0,00       │     2000,00      │  03 01  │ 50 AÇÕES VALE3 COM PREÇO MÉDIO DE R$ 40,00  │
└────────┴──────────────────┴──────────────────┴─────────┴─────────────────────────────────────────────┘
┌────────┬─────────────────────────────────────────┐
│  2025  │  RENDIMENTOS ISENTOS E NÃO TRIBUTÁVEIS  │
├────────┼─────────┬────────┬──────────────────────┤
│ Ticker │  Valor  │ Código │      Descrição       │
├────────┼─────────┼────────┼──────────────────────┤
│ PETR4  │ 1800,00 │   09   │ Dividendos           │
│ (SOMA) │ 1250,00 │   20   │ Isenção até R$ 20000 │
└────────┴─────────┴────────┴──────────────────────┘
┌────────┬─────────────────────────────────────────────┐
│  2025  │ RENDIMENTOS SUJEITOS À TRIBUTAÇÃO EXCLUSIVA │
├────────┼──────────────┬─────────────┬────────────────┤
│ Ticker │    Valor     │   Código    │   Descrição    │
├────────┼──────────────┼─────────────┼────────────────┤
│ VALE3  │      1000,00 │     10      │ JSCP           │
└────────┴──────────────┴─────────────┴────────────────┘
┌───────┬────────────────────────────────────────────────────────────────────┐
│ 2025  │              OPERAÇÕES COMUNS/DAY-TRADE [SWING TRADE]              │
├───────┼──────────┬────────┬───────────┬──────────┬───────────────┬─────────┤
│  Mês  │  Ações   │ Opções │ Acumulado │ IR (15%) │ IRRF (0.005%) │  DARF   │
├───────┼──────────┼────────┼───────────┼──────────┼───────────────┼─────────┤
│  JUN  │ 18000,00 │   0,00 │  18000,00 │  2700,00 │          1,10 │ 2698,90 │
├───────┼──────────┼────────┼───────────┼──────────┼───────────────┼─────────┤
│ Total │ 18000,00 │   0,00 │      0,00 │  2700,00 │          1,10 │ 2698,90 │
└───────┴──────────┴────────┴───────────┴──────────┴───────────────┴─────────┘

Documentação

Para ver tudo o que pode ser feito com esta ferramenta, use o comando de ajuda ./rv -h:

$ ./rv -h

Usage: rv [flags]

-date-format string
      formato de data (ex. 02/01/2006) (default "2006-01-02")
-exact-value
      mostra valores exatos (ex. 0,14952765 em vez de 0,15) (default false)
-file string
      arquivo de operações (default "db.ndjson")
-filter-ticker string
      filtra operações por ticker 
-filter-year int
      filtra operações por ano (YYYY para mostrar o ano em questão; 0 para mostrar todos os anos; -1 para mostrar apenas o ano atual) (default 0)
-format string
      mostra resultado no formato especificado (table, csv) (default "table")
-notas
      importa notas de corretagem de arquivos pdf que estiverem no diretório corrente
-valorizacao
      mostra a valorização das ações na carteira
Importar notas de corretagem

Para importar notas de corretagem, coloque os arquivos PDF no mesmo diretório do arquivo executável e execute:

./rv -notas

O resultado é exibido no terminal. Para salvar esse resultado no seu arquivo db.ndjson redirecione a saída:

./rv -notas >> db.ndjson

Em seguida visualize o resultado com ./rv

Exportar para CSV

Para exportar o histórico de operações para CSV:

./rv -format csv
Tabela de Valorização
$ ./rv -valorizacao
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                           VALORIZAÇÃO                                            │
├────────┬───────────┬───────┬─────────┬──────────┬────────────┬────────┬───────┬──────────────────┤
│ Ticker │ Investido │  PM   │ Cotação │ Variação │ Valorizado │ Ganho  │ Vende │      Compra      │
├────────┼───────────┼───────┼─────────┼──────────┼────────────┼────────┼───────┼──────────────────┤
│ PETR4  │    960,55 │ 32,02 │   36,86 │   15,12% │    1105,80 │ 145,25 │     3 │ 1 VALE3          │
│ VALE3  │    601,10 │ 60,11 │   84,75 │   40,99% │     847,50 │ 246,40 │     2 │ 4 PETR4          │
├────────┼───────────┼───────┼─────────┼──────────┼────────────┼────────┼───────┼──────────────────┤
│ Total  │   1561,65 │       │         │   25,08% │    1953,30 │ 391,65 │     5 │ 10 PETR4 4 VALE3 │
└────────┴───────────┴───────┴─────────┴──────────┴────────────┴────────┴───────┴──────────────────┘

Essa tabela mostra, para cada ativo:

  1. O total Investido.
  2. O preço médio (PM).
  3. A Cotação atual.
  4. Qual o percentual de Variação referente ao seu preço médio.
  5. O total Valorizado.
  6. Qual o Ganho ou perda referente a essa variação.
  7. Quantas cotas é possível vender (Vende) para retirar o valor ganho na valorização; e
  8. Quantas cotas é possível comprar (Compra) dos outros ativos só com esse ganho.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL