Este artigo explica como formatar dados de transações de finanças tradicionais para importação, usando o modelo CSV personalizado (Custom CSV) da Finbooks.
O que é o CSV Custom TradFi da Finbooks?
O CSV Custom TradFi da Finbooks é um formato de folha de cálculo específico que aceitamos para importares as tuas transações de finanças tradicionais.
Deves usar este formato se:
estiveres a tentar importar transações que envolvam instrumentos financeiros tradicionais como ações, obrigações, ETFs, derivados e instrumentos semelhantes;
não suportarmos uma ligação direta por API à tua plataforma;
não suportarmos o formato de exportação nativo da plataforma.
O nosso CSV personalizado foi pensado para ser simples e direto. Basta preencheres os detalhes das tuas transações seguindo o nosso modelo, e vais conseguir importar os teus dados de TradFi mesmo que a tua plataforma não seja diretamente suportada.
ℹ️ O que é um ficheiro CSV e como editá-lo
Se não estiveres familiarizado com ficheiros CSV ou precisares de ajuda para os editar e guardar, consulta este guia. Em alternativa, podes deixar que o nosso Serviço de CSV trate da formatação por ti, sabe mais neste guia.
O cabeçalho do CSV
O formato CSV de TradFi é composto por 13 colunas. A primeira linha contém o cabeçalho do CSV, com o título de cada coluna, e cada coluna tem uma finalidade diferente.
As colunas têm de ser preenchidas de acordo com regras específicas (explicadas nesta secção) e têm de se manter pela ordem correta.
Este será sempre o cabeçalho obrigatório:
ASSET CLASS,TYPE,EXCHANGE CODE,CATEGORY,TRANSACTION DATE,OUTGOING ASSET,OUTGOING AMOUNT,INCOMING ASSET,INCOMING AMOUNT,FEE CURRENCY,FEE AMOUNT,POSITION ID,NOTES
Cada linha representa uma única transação e só deve conter os dados relativos a essa transação.
Explicação de cada coluna
Aqui encontras uma explicação de como cada coluna do CSV deve ser usada e que valores são aceites. Também indicamos quando uma coluna deve ser preenchida, quando não deve, e quando é opcional, consoante o tipo de transação que queres representar.
ASSET CLASS
Preencher esta coluna é sempre obrigatório. Este campo é necessário para identificar o tipo de instrumento financeiro envolvido na transação e para determinar que regras contabilísticas e fiscais se aplicam.
Se a transação envolver tanto moeda fiduciária como outra classe de ativo, por exemplo, ao comprar ou vender uma ação, este campo tem sempre de ser preenchido com a classe de ativo do instrumento financeiro diferente da fiat.
Por exemplo:
ao comprar uma ação usando USD, a Asset Class deve ser STOCK;
ao vender um ETF por EUR, a Asset Class deve ser ETF.
A Asset Class só deve ser definida como Fiat Currency quando a transação envolver exclusivamente moedas fiduciárias, como:
uma troca de USD para EUR;
receber juros pagos em fiat.
Os valores aceites são:
Stock
ETF
Mutual Funds
Bond
Fiat Currency
CFD
Future
Option
Certificate
Warrants
TYPE
Preencher esta coluna é sempre obrigatório. Esta coluna é usada para explicar se, na transação, recebeste um ativo, pagaste ou enviaste um ativo, ou trocaste um ativo por outro.
Os valores aceites são:
Incoming
Outgoing
Trade
EXCHANGE CODE
Este campo é necessário para encontrar o preço de mercado correto relativo ao ativo. É sempre obrigatório, exceto quando o campo Asset Class da transação é CFD.
O formato aceite é o código oficial do mercado ou da praça onde a negociação ocorreu.
⚠️ Atenção
Se o código do mercado estiver em falta ou incorreto, o software pode não conseguir obter o preço de mercado correto para o ativo.
CATEGORY
Preencher esta coluna é sempre obrigatório. As categorias ajudam a organizar a tua contabilidade e a garantir que o software trata cada transação corretamente para efeitos de relatórios e fiscais.
Os valores aceites são:
Trading
Interest
Dividend
Fee
Tax
Deposit
Withdraw
PNL
Split
Reverse splits
TRANSACTION DATE
Preencher esta coluna é sempre obrigatório. Permite ao software perceber quando ocorreu uma transação. Aqui tens a lista de formatos suportados:
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm
dd/MM/yyyy HH:mm:ss
dd/MM/yyyy HH:mm
Em que yyyy é o ano, MM é o mês, dd é o dia, hh é a hora, mm são os minutos, e ss são os segundos.
Por exemplo, se uma transação ocorreu a 2 de janeiro de 2024, às 21h45, pode ser importada como:
2024-01-02 21:45:00
2024-01-02 21:45
02-01-2024 21:45:00
02-01-2024 21:45
OUTGOING ASSET
Insere o ticker do ativo que enviaste. Este campo é obrigatório para transações Outgoing e Trade. Deixa este campo em branco para transações Incoming.
ℹ️ Como compor o ticker de uma opção
Para registares corretamente as tuas transações de Opções, tens de usar o símbolo de opção OCC. Este é composto por quatro partes:
Símbolo-base da ação ou ETF subjacente, completado com espaços até 6 caracteres
Data de expiração, 6 dígitos no formato yymmdd
Tipo de opção, P ou C, para put ou call
Preço de exercício, como o preço x 1000 (dólares e milésimos de dólar ajustados, ou mills), completado à esquerda com zeros até 8 dígitos
ℹ️ Como compor o ticker de um futuro
Para registares corretamente as tuas transações de Futuros, tens de usar o símbolo padrão de contrato de futuros. Podes consultar este guia para perceberes como funciona.
OUTGOING AMOUNT
Aqui insere o montante (ou quantidade) do ativo que enviaste. Este campo é obrigatório para transações Outgoing e Trade. Deixa este campo em branco para transações Incoming.
⚠️ Lembra-te das aspas quando houver vírgulas dentro do montante
Se usares a vírgula como separador decimal, tens de colocar os montantes entre aspas ("xxxx,xx").
Esta regra aplica-se a todos os campos onde insiras valores numéricos que usem vírgula para indicar casas decimais.
Por exemplo, precisas de importar uma transação incoming de € 2.999,85
Formato de linha errado
Incoming,Trading,13/04/2022 19:04,EUR,2999,85,,,,,,,,
Formato de linha correto
Incoming,Trading,13/04/2022 19:04,EUR,"2999,85",,,,,,,,
Incoming,Trading,13/04/2022 19:04,EUR,2999.85,,,,,,,,
INCOMING ASSET
Insere o identificador do ativo que recebeste. Este campo é obrigatório para transações Incoming e Trade. Deixa este campo em branco para transações Outgoing.
Os formatos aceites são os mesmos do Outgoing Asset.
INCOMING AMOUNT
Aqui insere o montante (ou quantidade) do ativo que recebeste. Este campo é obrigatório para transações Incoming e Trade. Deixa este campo em branco para transações Outgoing.
⚠️ Lembra-te das aspas quando houver vírgulas dentro do montante
Aplica-se a mesma regra descrita para o Outgoing Amount ao Incoming Amount.
FEE CURRENCY
Aqui insere o ticker da moeda que usaste para pagar as taxas. Este campo é opcional para todas as transações; só o deves preencher se pagaste taxas.
FEE AMOUNT
Aqui insere o montante da taxa que pagaste. Este campo é opcional, mas torna-se obrigatório se o Fee Currency estiver preenchido.
POSITION ID
Este campo é opcional, mas tem de ser usado sempre que uma transação precise de ser explicitamente ligada a um ativo subjacente específico. O Position ID permite ao sistema associar corretamente movimentos que estão economicamente ligados ao mesmo instrumento financeiro.
Em particular, deve ser usado para:
ligar taxas ao ativo a que dizem respeito;
associar cupões, dividendos e distribuições à ação, obrigação ou ETF correto;
acompanhar posições de CFD ao longo do seu ciclo de vida, incluindo abertura, ajustes e transações de fecho.
Por exemplo, se recebes um dividendo em USD da Apple, tens de incluir um identificador estruturado no Position ID para que o montante fiat recebido seja corretamente ligado à ação subjacente.
Nestes casos, o Position ID tem de seguir este formato: Ticker, Asset Class, Market.
Ex.: AAPL, Stock, US
Usar esta combinação estruturada garante que as transações relacionadas são claramente identificadas, agrupadas de forma consistente e processadas de acordo com as regras contabilísticas corretas.
NOTES
Este campo pode ser usado para inserir notas sobre uma transação. Os comentários aqui inseridos são mostrados nos detalhes da transação depois de importados para a Finbooks.
Este campo é sempre opcional.
Como inserir uma transação Trade
As colunas que tens de preencher para uma transação Trade são:
asset class
type
exchange code
category
transaction date
outgoing asset
outgoing amount
incoming asset
incoming amount
fee currency, apenas se tiver sido paga uma taxa
fee amount, apenas se tiver sido paga uma taxa
Por exemplo, a 01/01/2025 às 13h34m56s compraste 10 AAPL pagando 1500 USD e pagaste uma taxa de 5 USD:
STOCK,Trade,XNAS,Trading,01/01/2025 13:34:56,USD,1500,AAPL,10,USD,5,,
Se estiveres a usar a vírgula como separador decimal:
STOCK,Trade,XNAS,Trading,01/01/2025 13:34:56,USD,"1500,00",AAPL,10,USD,"5,00",,
How to insert an Incoming transaction
As colunas que tens de preencher para uma transação Incoming são:
asset class
type
exchange code
category
transaction date
incoming asset
incoming amount
fee currency, apenas se tiver sido paga uma taxa
fee amount, apenas se tiver sido paga uma taxa
Por exemplo, a 26/12/2025 às 14h41m01s recebeste um dividendo de 50 USD.
STOCK,Incoming,XNAS,Dividend,26/12/2025 14:41:01,,,USD,50,,,"RACE, Stock, MI",
How to insert an Outgoing transaction
As colunas que tens de preencher para uma transação Outgoing são:
asset class
type
exchange code
category
transaction date
outgoing asset
outgoing amount
fee currency, apenas se tiver sido paga uma taxa
fee amount, apenas se tiver sido paga uma taxa
Por exemplo, a 13/05/2025 às 10h12 pagaste uma comissão de 1,55 USD.
Fiat Currency,Outgoing,XNAS,Fee,13/05/2025 10:12,USD,1.55,,,,,AAPL, Stock, US,
Se estiveres a usar a vírgula como separador decimal:
Fiat Currency,Outgoing,XNAS,Fee,13/05/2025 10:12,USD,"1,55",,,,,AAPL, Stock, US,
