π Description
The FIFO method (First In, First Out) is the standard approach in Belgium for calculating capital gains on cryptocurrency transactions. This guide explains how Waltio implements global FIFO across all your accounts and wallets, and covers best practices like categorizing withdrawals and ensuring complete import history. Proper setup ensures your tax calculations accurately reflect your actual trading activity. In some countries, like Spain or Belgium, Waltio calculates your gains/losses using the FIFO method (First In, First Out).
This article explains how global FIFO works in Waltio and what best practices to apply (withdrawals to categorize, deposits...).
π I - What is FIFO?
Principle: We consider that you sell the cryptocurrencies you bought earliest first.
Consequence: With each taxable sale/exchange, Waltio "removes" from your stock the oldest acquisitions, then the next ones, until the transferred amount is covered.
It's an objective and traceable rule that avoids having to arbitrarily choose which cryptos you sell.
π‘ Global FIFO works like a single queue:
The oldest cryptocurrencies (across all accounts) exit first.
If an account is forgotten or a transaction is miscategorized, Waltio may believe your "old" tokens don't exist β and fictitiously sell newer tokens β skewing the calculation.
The more complete your history, the more global FIFO accurately reflects reality!
π II - How Waltio Reads and Classifies Your Transactions
When you import your data (API or files), Waltio reconstructs your timeline:
Your acquisitions (purchases, deposits, rewards) and your transfers (sales, payments, swaps) feed into a single chronological queue.
Waltio automatically attempts to identify that a withdrawal from one account corresponds to a deposit in another (internal transfer).
π‘ If a reconciliation is impossible or if an inconsistency is detected, warnings will be flagged and will require manual intervention.
You can label certain transactions to specify their nature (payment, donation, fees, staking). Labeling is essential for proper tax interpretation.
π III - Withdrawals to Categorize: Why and How
When a withdrawal has no corresponding deposit (for example, a forgotten account, a transfer to a wallet you haven't added, a multi-chain bridge), a label is needed to understand what this withdrawal was for.
Before anything else: make sure you've imported all platforms/wallets since your very first transaction.
If, after verification, no corresponding deposit exists: label the withdrawal.
Common labels:
Account transfer: genuine internal transfer (reduces the visible value of the source account but is not taxable);
Payment (purchase of goods/services): reduces the value and is taxable in countries where this type of transaction is a taxable transfer.
Swap (crypto-to-crypto exchange): reduces the value of the outgoing token. Depending on the country, the exchange may be taxable;
Fees: reduce the value, not taxable in themselves (but taken into account in the calculation);
Hack/Loss, Donation, Staking/Collateral, Liquidity Addition, Liquidation, NFT, Other withdrawal (as needed).
Frequent case: if you have a bridge that wasn't automatically reconciled, check the destination address and timestamps. If it's truly an internal transfer, use the Account transfer label.
β οΈ Warning: Leaving a withdrawal uncategorized can cause Waltio to interpret it as a payment (and therefore as a taxable transfer).
π IV - Concrete Examples
Example 1: Crypto in Staking & FIFO?
January 2022: I buy 1 BTC. I put it in staking.
March 2022: I buy another BTC in my regular wallet.
April 2022: I sell 1 BTC.
In FIFO, it doesn't matter whether the first BTC is staking or not. The calculation only looks at the chronological order of acquisitions:
The BTC from January is considered sold first, even if it's "locked" in staking, and even if I had more liquid BTC bought later.
FIFO doesn't consider where your cryptos are or how they're used. It only looks at the acquisition date.
Example 2: Forgotten Account Skewing FIFO
2019: You buy 0.5 BTC on exchange A (never connected to Waltio).
2021: You buy 1 BTC on Binance (connected to Waltio).
2023: You sell 1 BTC.
If exchange A isn't added, Waltio thinks your "first" BTC is the one from 2021.
Result: FIFO calculates incorrectly because the 2019 acquisition (older) is invisible.
If you forget an account or wallet, global FIFO is skewed. Waltio will believe your oldest acquisitions are actually more recent, which can significantly change your tax calculation.
Example 3: Internal Transfer Misidentified
You withdraw 1 ETH from Kraken in 2022 and deposit it in Metamask.
You haven't added Metamask.
The Kraken withdrawal then appears as a taxable transfer instead of a simple transfer because Waltio can't identify the deposit.
In global FIFO, each "loss" of crypto is interpreted as a sale if the corresponding deposit doesn't exist. That's why you always need to add all your wallets/exchanges and correct withdrawals to categorize.