Ferramenta · tributação europeia
Preço de custo multimoeda
Títulos comprados em dólares, imposto calculado na sua moeda: o preço de custo deve converter cada operação à taxa de câmbio da sua própria data. Insira suas operações abaixo — tudo é calculado no seu navegador, nada é enviado a lugar algum.
A calculadora
Escolha o seu país: ele predefine o método de combinação de lotes que o seu fisco geralmente aplica. A conversão de cada operação à taxa de câmbio da sua própria data vale em toda a Europa.
Esta calculadora requer JavaScript. O texto abaixo explica a regra que ela aplica.
A regra, a convenção de taxa e o formato CSV
Em toda a Europa, o ganho tributável sobre títulos em moeda estrangeira é calculado na moeda nacional, cada operação convertida à taxa de câmbio da sua própria data — nunca à taxa do dia da venda. O que varia de país para país é o método de combinação de lotes. No custo médio ponderado (PMP), uma compra adiciona o custo convertido do lote (quantidade × preço em dólares, mais eventuais taxas, dividido pela taxa daquele dia) ao custo corrente e refaz a média sobre a nova quantidade total.
Uma venda converte o produto à taxa de câmbio do dia da venda (quantidade × preço em dólares, menos taxas, dividido por essa taxa). No PMP, o ganho é esse produto menos quantidade × preço de custo médio — que não muda: apenas a quantidade diminui. No FIFO, a venda consome primeiro os lotes mais antigos: o ganho é a soma, lote a lote, do produto menos o custo de origem das quantidades consumidas. A calculadora ordena as operações por data antes do cálculo, e uma venda que excede a quantidade detida na sua data é sinalizada como erro bloqueante.
Convenção de taxa. As taxas são inseridas no estilo BCE — 1 unidade da sua moeda de referência = X $ (por exemplo 1 € = X $, 1 £ = X $) — então a conversão é sempre moeda = dólares ÷ taxa. O campo de taxa da calculadora é rotulado conforme a moeda escolhida para tornar qualquer inversão impossível. Use as taxas de câmbio de referência do euro (BCE) para a data de cada operação.
Formato CSV. A exportação e a importação usam separador
ponto e vírgula e o cabeçalho fixo date;type;qty;price_usd;fees_usd;rate_eur_usd.
type é buy ou sell; date está
no formato ISO AAAA-MM-DD. Um título por arquivo — exporte e importe
por ticker. Suas operações também são salvas automaticamente neste navegador
(localStorage); o botão “Limpar tudo” as remove. A coluna de taxa mantém seu nome
histórico rate_eur_usd qualquer que seja a sua moeda de referência:
ela contém a taxa “1 moeda = X $” de cada operação.
Esta ferramenta aplica o método selecionado — custo médio ponderado ou FIFO — cada operação convertida à taxa de câmbio da sua própria data. Não constitui aconselhamento fiscal nem de investimento: verifique o método e as taxas aplicáveis à sua situação (taxas de referência BCE: link).
Métodos por país
Os sistemas fiscais europeus concordam em converter cada operação à taxa de câmbio da sua própria data, mas divergem na forma de combinar os lotes ao vender: custo médio ponderado em alguns países, primeiro a entrar primeiro a sair (FIFO) em outros, e alguns que não tributam o ganho realizado dessa forma. Escolha o seu país na calculadora acima para predefinir o método — você sempre pode trocá-lo manualmente.
| País | Método | Nota |
|---|---|---|
| França | PMP | Custo médio ponderado de aquisição. |
| Itália | PMP | Custo médio ponderado (regime declaratório). |
| Áustria | PMP | Custo médio móvel. |
| Suécia | PMP | Método da média (genomsnittsmetoden). |
| Dinamarca | PMP | Método da média. |
| Reino Unido | PMP | Pool « Section 104 » (média). Regras same-day e de 30 dias NÃO implementadas. |
| Espanha | FIFO | FIFO obrigatório (títulos homogêneos). |
| Portugal | FIFO | FIFO obrigatório. |
| Alemanha | FIFO | FIFO (por conta de títulos). |
| Irlanda | FIFO | FIFO. Regra das 4 semanas NÃO implementada. |
| Finlândia | FIFO | FIFO. Opção de custo de aquisição presumido NÃO implementada. |
| Polônia | FIFO | FIFO. |
| Noruega | FIFO | FIFO. Abatimento « skjerming » NÃO implementado. |
| Tchéquia | FIFO | FIFO. Isenção por tempo de detenção NÃO implementada. |
| Países Baixos | — | Tributação fixa do patrimônio (box 3): o ganho realizado geralmente não é a base. Cálculo a título informativo. |
| Bélgica | — | Gestão privada historicamente isenta; um novo regime de tributação de ganhos está sendo introduzido — verifique o estado atual. |
| Suíça | — | Ganhos de capital privados geralmente isentos. Cálculo a título informativo. |
| Luxemburgo | — | Isenção usual além de 6 meses (participações não substanciais) — verifique o seu caso. |
Métodos por país — última verificação: junho de 2026. Um país ausente da tabela → escolha o método manualmente.
Exemplo — quatro operações sobre o mesmo título (sem taxas), moeda de referência EUR:
| # | Operação | Taxa 1 € = $ |
|---|---|---|
| 1 | Compra 10 @ 100 $ | 1,10 |
| 2 | Compra 10 @ 120 $ | 1,20 |
| 3 | Venda 5 @ 130 $ | 1,25 |
| 4 | Compra 5 @ 110 $ | 1,00 |
O método muda o resultado: no exemplo acima, a mesma venda de 5 títulos gera +42,73 € em custo médio ponderado… e +65,45 € em FIFO. Mesma carteira, mesma venda, dois ganhos tributáveis diferentes — daí a importância do método do seu país.
Os métodos por país acima são indicativos (última verificação: junho de 2026); as regras fiscais evoluem e têm exceções (regras anti-vai-e-volta, abatimentos, opções) que esta ferramenta não implementa. Não é aconselhamento fiscal nem de investimento: verifique a regra aplicável à sua situação.
Importar do seu corretor
Digitar cada operação à mão é tedioso. Um pequeno script pode ler suas transações executadas diretamente do seu corretor e gravar o CSV que esta calculadora importa — com a taxa de câmbio do BCE de cada data já preenchida. Ele roda na sua própria máquina, nunca nesta página: um corretor não pode ser chamado de uma página web de terceiros, e uma chave de API não tem nada a fazer dentro de uma aba do navegador.
Baixar
pt-trades-export.py — Python 3, apenas a
biblioteca padrão (sem pip install), suporta
Alpaca e tastytrade.
- Salve o arquivo e abra um terminal na pasta onde o salvou.
- Coloque suas chaves de API em variáveis de ambiente (o script nunca as
aceita na linha de comando, onde vazariam para o histórico do shell).
Execute o comando uma vez sem
--symbolpara listar os tickers encontrados, depois novamente com o que você quiser:
Alpaca (remova --paper para uma conta
real):
export APCA_API_KEY_ID=sua_chave
export APCA_API_SECRET_KEY=seu_segredo
python3 pt-trades-export.py alpaca --paper # lista os símbolos
python3 pt-trades-export.py alpaca --paper --symbol SPY
tastytrade (adicione --cert para o sandbox,
--otp CÓDIGO se usar autenticação de dois fatores):
export TT_LOGIN=voce@exemplo.com
export TT_PASSWORD=sua_senha
python3 pt-trades-export.py tastytrade # lista os símbolos
python3 pt-trades-export.py tastytrade --symbol AAPL
O script grava SÍMBOLO-operations.csv (altere com
--out); depois clique em Importar CSV na calculadora
acima. Restrinja a janela com --from/--to, ou pule a
busca de taxa com --no-rates. Para uma moeda de referência não-euro,
adicione --currency GBP (ou CHF, SEK, DKK, NOK, PLN, CZK) — a taxa é
calculada em cruzado a partir das taxas de referência do BCE.
Convenção de taxa. Para uma operação em um dia em que o
BCE não publicou taxa (um fim de semana ou feriado), o script usa a
última taxa publicada antes dessa data — o transporte
convencional. Se a requisição ao BCE falhar, a coluna da taxa fica vazia e
você a preenche à mão; o script nunca para por isso. As execuções da Alpaca
não têm comissão, então a coluna de taxas é 0 para a Alpaca; as
execuções da tastytrade incluem comissão e taxas regulatórias.
O script roda na sua máquina e envia suas chaves apenas ao corretor que você escolheu (por HTTPS), mais uma requisição anônima ao BCE para as taxas. Nada além do CSV é gravado no disco — nenhuma chave, nenhum token, nenhum log. Nunca cole uma chave de API em uma página web. Use chaves somente leitura ou sem permissão de negociação se o seu corretor oferecer, e revogue-as depois se quiser.
Esta ferramenta é fornecida « no estado », sem garantia de exatidão, de exaustividade nem de adequação à sua situação. Não somos contabilistas, consultores fiscais nem advogados. Apesar do cuidado tido, permanecem possíveis erros — na ferramenta como nas informações por país — e declinamos qualquer responsabilidade quanto às consequências do uso dos resultados. Faça validar os seus cálculos por um profissional antes de qualquer declaração.