Esta ferramenta permite converter exportações de múltiplas transações (CSV) em um arquivo de importação que pode ser lido pelo Ghostfolio. Atualmente há suporte para:
Bitvavo
BUX
DEGIRO
eToro
Finpension
Comércio livre
Corretores Interativos (IBKR)
Investimento
Parquet
Rabobank
Revolução
Schwab
Citação suíça
Negociação 212
XTB
Seu corretor não está na lista? Sinta-se à vontade para criar um problema ou, melhor ainda, construí-lo você mesmo e criar uma solicitação pull! Para obter mais informações, consulte contribuindo.
Veja abaixo as instruções de exportação de transações para cada uma das corretoras suportadas.
Faça login na sua conta Bitvavo e clique no seu nome no canto superior direito. Em seguida, clique em “Histórico de transações”. Clique no botão azul "Exportar" para criar uma exportação. Selecione uma das opções de CSv e clique novamente em “Exportar”.
Abra o aplicativo e vá em “Valor da conta” e depois em “Ver histórico”. Clique no ícone de download no canto superior direito para baixar seu histórico de transações. A exportação será enviada para o seu endereço de e-mail.
Devido às limitações do BUX, você pode solicitar até 3 exportações de CSV por dia! .
Faça login na sua conta DEGIRO e crie um arquivo de exportação (via Caixa de entrada > Visão geral da conta, veja a imagem abaixo). Escolha o período do qual deseja exportar seu histórico e clique em download.
Faça login na sua conta eToro e navegue até "Portfólio". Em seguida, selecione “Histórico” no menu superior. Em seguida, clique no ícone à direita e selecione "Extrato da conta". Escolha as datas de interesse e clique em “Criar”. Na próxima página, clique no ícone do Excel no canto superior direito para baixar o arquivo. Após o download, abra o arquivo no Excel e exclua todas as abas, exceto a aba “Atividade da conta”. Em seguida, use o Excel para converter o arquivo para CSV.
Faça login em sua conta Finpension. Selecione seu portfólio na página inicial. Em seguida, à direita da tela selecione “Transações”, na página seguinte à direita o aviso “relatório de transação (arquivo CSV)” e clique para enviar por e-mail ou clique para fazer download localmente.
Abra o aplicativo Freetrade. Selecione seu portfólio na opção no canto superior esquerdo, sob o título “Portfólio”. Selecione “Atividade” na lista de ícones na parte inferior da tela. Selecione o ícone de compartilhamento no canto superior direito e siga as instruções na tela.
Faça login em sua conta da Interactive Brokers. Navegue até Gerenciamento de contas e clique em “Relatórios” na barra lateral. Em seguida, clique na guia "Flex Queries" na seção "Relatórios". Na "seção Consultas" do Flex, clique no ícone de adição (+) no lado direito para criar uma nova Consulta Flex. Crie uma nova Consulta Flex para Negociações e outra para Dividendos. Defina o formato de exportação para "CSV". Veja as colunas obrigatórias abaixo da imagem.
Para negociações, selecione "Negociações". Em seguida, selecione as seguintes propriedades: Buy/Sell, TradeDate, ISIN, Quantity, TradePrice, TradeMoney, CurrencyPrimary, IBCommission, IBCommissionCurrency
.
Para dividendos, selecione "Transações em dinheiro". Em seguida, selecione as seguintes propriedades: Type, SettleDate, ISIN, Description, Amount, CurrencyPrimary
.
Acesse sua conta Investimental e clique em “Registro Diário de Pedidos”. Selecione a conta e o período de tempo desejado e clique no botão Atualizar. As transações devem aparecer e depois clicar no botão de download.
Faça login no Parquet e navegue até a seção "Atividades" (em alemão, "Aktivitäten"). No canto superior direito, próximo ao botão verde “Neue Aktivität”, você verá a opção “Baixar como CSV” (em alemão, “Exportar als CSV”). Clique neste botão para baixar um arquivo CSV contendo todas as suas atividades.
Faça login no Rabobank e navegue até seus investimentos. Navegue até "Transações e Notas de Contrato" (Mutaties & Nota's). Selecione o intervalo que deseja exportar na parte superior. Em seguida, role até o final da página e clique em "Exportar como .csv"
Abra o aplicativo Revolut e abra a guia "Investir". Pressione o botão "Mais" e escolha "Documentos". Selecione sua conta de investimento e selecione a primeira opção, “Extrato de conta”. Escolha a opção “Excel” e selecione o intervalo de datas. Em seguida, baixe o arquivo e salve-o no seu dispositivo. Converta o arquivo de .xlsx
para .csv
. Defina o caractere de separação como ,
(vírgula)!
Faça login em sua conta Schwab. Vá em “Contas” e depois em “Histórico”. Selecione a conta da qual deseja baixar os detalhes. Selecione o "Intervalo de datas" e selecione "Exportar" (csv). Salve o arquivo.
Faça login em sua conta Swissquote. No menu da barra, clique em “Transações”. Selecione o período de tempo desejado, bem como os tipos e, a seguir, selecione o botão “exportar CSV” à direita.
Faça login em sua conta Trading 212 e crie um arquivo de exportação (via Histórico > ícone de download). Escolha o período do qual deseja exportar seu histórico e clique em download.
Faça login na sua conta XTB e na barra superior clique em "Histórico da conta" e depois em "Operações em dinheiro". Clique no "botão Exportar". Escolha o período do qual deseja exportar seu histórico, selecione o tipo de relatório "Operações de Caixa", escolha o formato do arquivo "csv" e clique no botão "Exportar Relatório".
Você pode executar a ferramenta em sua máquina local clonando este repositório. Você também pode executar a ferramenta dentro de um contêiner Docker. Consulte as instruções específicas do tempo de execução abaixo.
Para executar o contêiner Docker você precisa ter o Docker instalado em sua máquina. A imagem é publicada no Docker Hub.
Ao contrário da versão da ferramenta executada localmente, a versão em contêiner tenta determinar qual tipo de arquivo processar observando a linha de cabeçalho dentro do arquivo. Portanto, não há necessidade de especificar qual conversor usar.
Você pode então executar a imagem como:
docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx dickwolff/export-to-ghostfolio
Os parâmetros a seguir podem ser fornecidos ao comando de execução do Docker.
Comando | Opcional | Descrição |
---|---|---|
-v {local_in-folder}:/var/tmp/e2g-input | N | A pasta de entrada onde você coloca os arquivos a serem processados |
-v {local_out_folder}:/var/tmp/e2g-output | N | A pasta de saída onde o JSON de importação do Ghostfolio será colocado. Além disso, o arquivo de entrada será movido para cá quando ocorrer um erro durante o processamento do arquivo. |
-v {local_cache_folder}:/var/tmp/e2g-cache | S | A pasta onde os símbolos do Yahoo Finance serão armazenados em cache |
--env GHOSTFOLIO_ACCOUNT_ID=xxxxxxx | N | ID da sua conta Ghostolio 1 |
--env USE_POLLING=true | S | Quando definido como verdadeiro, o contêiner procurará continuamente novos arquivos para processar e não irá parar. |
--env DEBUG_LOGGING=true | S | Quando definido como verdadeiro, o contêiner mostrará os logs com mais detalhes, o que é útil para rastreamento de erros. |
--env PURGE_CACHE=true | S | Quando definido como verdadeiro, o cache do arquivo será limpo na inicialização. |
--env GHOSTFOLIO_VALIDATE=true | S | Quando definido como verdadeiro, a ferramenta valida automaticamente o arquivo gerado no Ghostfolio. |
--env GHOSTFOLIO_IMPORT=true | S | Quando definido como verdadeiro, a ferramenta tentará importar automaticamente o arquivo gerado para o Ghostfolio. |
--env GHOSTFOLIO_URL=http://xxxxxxx | S | O endpoint da sua instância local do Ghostfolio. Por exemplo, http://192.168.1.15:3333 . Use SOMENTE com uma instância local do Ghostfolio! |
--env GHOSTFOLIO_SECRET=xxxxxxx | S | As credenciais do seu usuário Ghostfolio. Usado para autenticar com o endpoint da API import . Use SOMENTE com uma instância local do Ghostfolio! |
Use esta opção se desejar executar usando um ambiente docker isolado onde você tenha controle total sobre a imagem e, portanto, possa confiar que ela conterá apenas o que é esperado.
Clone este repositório em seu sistema e execute:
docker build -t export-to-ghostfolio .docker run --rm -v {local_in-folder}:/var/tmp/e2g-input -v {local_out_folder}:/var/tmp/e2g-output --env GHOSTFOLIO_ACCOUNT_ID= xxxxxxx -t exportar para ghostfolio
Você pode usar as mesmas opções acima para usar a imagem no Dockerhub
A ferramenta usa cacache
para armazenar dados recuperados do Yahoo Finance dentro do contêiner. Dessa forma, a carga no Yahoo Finance é reduzida e a ferramenta deve rodar mais rápido. Os dados armazenados em cache são armazenados dentro do contêiner em /var/tmp/e2g-cache
. Se achar que precisa invalidar seu cache, você pode fazer isso adicionando --env PURGE_CACHE=true
ao seu comando de execução. Isso limpará o cache na inicialização do contêiner e a ferramenta recriará o cache na próxima vez que precisar recuperar dados do Yahoo Finance.
A ferramenta requer que você instale a versão LTS mais recente do Node, que pode ser baixada aqui. A ferramenta pode ser executada em qualquer sistema operacional no qual você possa instalar o Node.
Em seguida, clone o repositório em sua máquina local e abra-o com o editor de sua preferência (por exemplo, Visual Studio Code).
Execute npm install
para instalar todos os pacotes necessários.
O repositório contém um arquivo .env
de amostra. Renomeie isso de .env.sample
.
Coloque o caminho do arquivo de exportação na variável INPUT_FILE
. Isso deve ser relativo à raiz do projeto.
Coloque o nome da conta Ghostfolio onde você deseja que suas transações terminem em GHOSTFOLIO_ACCOUNT_ID
Isso pode ser recuperado acessando Contas > selecione sua conta e copiando o ID do URL
Opcionalmente, você pode definir a variável GHOSTFOLIO_UPDATE_CASH
como TRUE
para atualizar automaticamente o saldo de caixa da sua conta Ghostfolio após processar as atividades.
Opcionalmente, você pode ativar o log de depuração definindo a variável DEBUG_LOGGING
como TRUE
.
Agora você pode executar npm run start [exporttype]
. Veja a tabela com comandos de execução abaixo. A ferramenta abrirá sua exportação e a converterá. Ele recupera os símbolos que são suportados pelo YAHOO Finance (por exemplo, para ações europeias como ASML
, ele recuperará ASML.AS
pelo ISIN correspondente).
Exportador | Executar comando |
---|---|
Bitvavo | run start bitvavo (ou bv ) |
BUX | run start bux |
DEGIRO | run start degiro |
eToro | run start etoro |
Finpension | run start finpension (ou fp ) |
Comércio livre | run start freetrade (ou ft ) |
IBKR | run start ibkr |
Investimento | run start investimental |
Parquet | run start pareqt |
Rabobank | run start rabobank |
Revolução | run start revolut |
Schwab | run start schwab |
Citação suíça | run start swissquote (ou sq ) |
Negociação 212 | run start trading212 (ou t212 ) |
XTB | run start xtb |
A ferramenta usa cacache
para armazenar dados recuperados do Yahoo Finance em disco. Dessa forma, a carga no Yahoo Finance é reduzida e a ferramenta deve rodar mais rápido. Os dados armazenados em cache são armazenados em /var/tmp/e2g-cache
. Se achar que precisa invalidar seu cache, você pode fazer isso removendo a pasta e a ferramenta recriará o cache na próxima vez que você executá-lo.
O arquivo de exportação agora pode ser importado no Ghostfolio acessando Portfólio > Atividades e pressionando os 3 pontos no canto superior direito da tabela. Desde o Ghostfolio 1.221.0, agora você pode visualizar a importação e validar se os dados foram convertidos corretamente. Quando estiver do seu agrado, pressione importar para adicionar as atividades ao seu portfólio.
Existe um recurso experimental (desde 0.12.0) com o qual você pode validar e importar automaticamente o arquivo gerado para o Ghostfolio! Para usar isso, defina as variáveis de ambiente correspondentes:
Variável | Descrição |
---|---|
--env GHOSTFOLIO_VALIDATE=true | Quando definido como verdadeiro, a ferramenta valida automaticamente o arquivo gerado no Ghostfolio. |
--env GHOSTFOLIO_IMPORT=true | Quando definido como verdadeiro, a ferramenta tentará importar automaticamente o arquivo gerado para o Ghostfolio. |
--env GHOSTFOLIO_URL=http://xxxxxxx | O endpoint da sua instância local do Ghostfolio. Por exemplo, http://192.168.1.15:3333 . Use SOMENTE com uma instância local do Ghostfolio! |
--env GHOSTFOLIO_SECRET=xxxxxxx | As credenciais do seu usuário Ghostfolio. Usado para autenticar com o endpoint da API import . Use SOMENTE com uma instância local do Ghostfolio! |
Aceitamos qualquer contribuição para o repositório. Sinta-se à vontade para criar um problema ou, melhor ainda, construí-lo você mesmo e criar uma solicitação pull!
A ferramenta pode ser executada de duas maneiras, manualmente e via Docker. Ambos os pontos de entrada da ferramenta podem ser encontrados na pasta ‘src/’. A ferramenta utiliza um mock nos testes, o que permite que os testes sejam executados de forma consistente e repetível. Dessa forma, não há necessidade de um serviço Yahoo Finance ativo. A simulação foi adicionada devido a inconsistências entre as execuções de testes e problemas de limitação de taxa com o Yahoo Finance (com múltiplas execuções consecutivas, especialmente quando executado localmente).
Sempre que você adicionar um novo conversor ou criar uma correção para um existente, consulte o Wiki para obter instruções sobre como estender a simulação com testdata.
Você pode recuperar o ID da sua conta Ghostfolio acessando Contas> Editar para sua conta e copiando o campo ID da conta ↩