📝 Description
Every unresolved warning in Waltio directly affects your tax calculation. This impact depends on the cost basis method applicable in your country. This article outlines the tax consequences of leaving each type of warning unaddressed, according to your calculation method.
⚠️ The 3 types of warnings
Waltio generates 3 types of warnings when analyzing your transactions:
Negative Balance: Your balance for a given cryptocurrency on a platform falls below 0 at any point.
Missing Price: A token has no known market price. Waltio assigns a default price of €0.
Uncategorized Transaction: A deposit or withdrawal has no label. Waltio applies a default behavior that may distort your tax calculations.
⚖ Average cost methods (CMP and ACB)
These methods determine an overall average cost across your entire portfolio. Every unit of a given cryptocurrency shares the same acquisition price. The impact of an individual error is therefore diluted across your whole portfolio.
CMP (Weighted Average Cost / Coût Moyen Pondéré)
👉 How it works: The PTA (Total Acquisition Price) represents the total cost of all your cryptocurrencies. The VTP (Total Portfolio Value) corresponds to the overall market value of your portfolio at the time of disposal. Capital gains upon disposal are calculated using the following formula:
Capital Gain = Disposal Price - (PTA × Disposal Price / VTP)
💡 Impact of warnings:
Warning | Impact on CMP | Consequence |
Negative Balance | The VTP is understated because crypto assets are missing from your inventory. The deducted PTA fraction is therefore higher. | Capital gain is understated. Risk of tax under-reporting. |
Missing Price | A token valued at €0 reduces the overall VTP. For example, if the price of BTC is missing and you hold 1 BTC worth €50,000, your VTP drops by €50,000. | Capital gain is understated. Risk of tax under-reporting. |
Unlabeled Deposit | Default AP is €0. In countries like France, passive crypto rewards default to an AP of €0. | Limited impact — this represents the expected behavior for passive gains. |
Unlabeled Withdrawal | The withdrawal is treated as a simple portfolio outflow. | Variable impact depending on the actual nature of the withdrawal. |
👉 Internal Transfers: Under CMP, the acquisition price of an individual deposit has little influence on the final calculation because costs are averaged across the entire portfolio. Applying the Internal Transfer label is still recommended, but its absence is far less critical than under FIFO/LIFO.
ACB (Adjusted Cost Base)
👉 How it works: The adjusted cost base represents the total cost of all units held for a specific cryptocurrency, divided by the total number of units. Capital gains upon sale are calculated using the formula:
Capital Gain = Disposal Price - (ACB per unit × number of units sold)
The ACB is recalculated upon every purchase, sale, or cost-adjusting event (fees, returns of capital, etc.).
💡 Impact of warnings:
Warning | Impact on ACB | Consequence |
Negative Balance | Missing buy orders reduce the total cost pool. The ACB per unit is understated. | Capital gain is overstated upon disposal. Risk of over-taxation. |
Missing Price | A token valued at €0 sets the unit ACB to 0 for that batch. | The entire disposal proceeds are treated as a taxable gain. Risk of over-taxation. |
Unlabeled Deposit | Default AP depends on your country settings. | The deposit may not be properly categorized for tax purposes. |
Unlabeled Withdrawal | The withdrawal may trigger an unintended disposal out of the ACB pool. | The ACB is recalculated incorrectly, distorting all subsequent calculations. |
👉 Internal Transfers: Like CMP, ACB is an average cost method. The Internal Transfer label is strongly recommended, but omitting it is less catastrophic than under FIFO/LIFO. Note, however, that an incorrectly labeled transfer can distort the total unit count in the pool, thereby skewing the ACB per unit.
:open_right_folder: Sequential methods (FIFO and LIFO)
These methods assign an individual acquisition price to each lot of cryptocurrency. The chronological order of acquisition determines which lot is deemed sold first. Any error has a direct and immediate impact on the calculation of subsequent sales.
FIFO (First In, First Out)
👉 How it works: The earliest acquired cryptocurrencies are the first deemed sold. Each lot retains its specific AP. Upon disposal, the AP of the oldest available lot is applied.
💡 Impact of warnings:
Warning | Impact on FIFO | Consequence |
Negative Balance | The FIFO queue is incomplete: missing buy orders disrupt the disposal order. The AP applied to subsequent sales is incorrect. | Capital gains become unpredictable — potential over- or under-taxation. |
Missing Price | The AP of this FIFO lot is set to €0. Upon sale, the entire gross proceeds are treated as a capital gain. | Direct and immediate over-taxation. |
Unlabeled Deposit | Default AP varies by country (see below). Passive earnings will not be correctly categorized for tax purposes. | Distorted calculation and/or inaccurate tax return. |
Unlabeled Withdrawal | Without a label, Waltio cannot determine whether the event is an internal transfer (non-taxable), a swap (taxable disposal), a payment, etc. | A non-taxable withdrawal (e.g. transfer to a Ledger) may be treated as a taxable disposal, or vice versa. |
LIFO (Last In, First Out)
👉 How it works: The most recently acquired cryptocurrencies are the first deemed sold. Each lot retains its specific AP. Upon disposal, the AP of the newest available lot is applied.
💡 Impact of warnings:
Warning | Impact on LIFO | Consequence |
Negative Balance | The LIFO stack is corrupted: missing recent purchases directly distort the AP applied to the next sale. | Unpredictable impact on calculations. Wealth taxes (such as Italy's IVAFE at 0.2%) are also distorted because the portfolio value as of December 31 is inaccurate. |
Missing Price | The AP of this LIFO lot is set to €0. Capital gains will equal 100% of the disposal price. | Direct over-taxation (e.g. flat tax at 26%). |
Unlabeled Deposit | Default AP is €0. This is accurate for passive income (staking, airdrops). However, if the deposit is actually an internal transfer, it should inherit the original AP instead of €0. | Severe impact if not passive income: under LIFO, each lot retains its own AP. A €0 AP on a simple transfer immediately corrupts subsequent disposals. |
Unlabeled Withdrawal | Without a label, Waltio cannot distinguish an internal transfer (non-taxable) from a swap (taxable disposal), payment, etc. | A non-taxable withdrawal (e.g. transfer to a Ledger) risks being processed as a taxable disposal, or vice versa. |
⚠️ Internal transfers under FIFO / LIFO
An internal transfer refers to moving your crypto assets between your own wallets or exchanges without selling them. For example: transferring ETH from Binance to your Ledger, or from MetaMask to Bitget. Ownership remains unchanged; only the storage location changes.
This is fundamentally different from a disposal (swap, crypto payment, fiat cash-out), where ownership of the asset is transferred, potentially triggering a taxable event.
Under both FIFO and LIFO, the "Internal Transfer" label is critical because each lot carries its own AP. Without this label, Waltio cannot link the deposit to the corresponding withdrawal, breaking the acquisition cost continuity.
📝 Rule: Always link and label both the deposit AND withdrawal as Internal Transfer when the two transactions correspond to the same movement.
Scenario | Deposit AP (FIFO/LIFO, default = €0) | Deposit AP (FIFO, default = market price) | Tax Impact |
Deposit and withdrawal correctly linked and labeled | Original crypto AP | Original crypto AP | Accurate and compliant calculation |
Deposit without "Internal Transfer" label | €0 | Market price at time of deposit | Default = €0: over-taxation (AP resets to 0, full sale proceeds become taxable). Default = market price: distorted calculation because market value replaces original AP (over-taxation if crypto dropped, under-reporting if it rose). |
Deposit labeled "Internal Transfer" without linked withdrawal | €0 | €0 | Silent error: no negative balance warning (inventory looks balanced), but AP resets to €0 due to the missing source transaction. Calculation is skewed without visible warnings. |
Example: You buy 1 ETH for €2,000 on Binance and transfer it to your Ledger.
Compliant setup: The Binance withdrawal and Ledger deposit are linked. The AP of the ETH on your Ledger remains €2,000.
Unlabeled deposit (default = €0): The AP on the Ledger resets to €0. If you sell 1 ETH for €3,000, Waltio calculates a gain of €3,000 instead of €1,000.
Unlabeled deposit (default = market price): The AP on the Ledger becomes €2,500 (market price at deposit) instead of the initial €2,000. Selling 1 ETH for €3,000 results in a calculated gain of €500 instead of €1,000.
Deposit labeled "Internal Transfer" without linked withdrawal: The AP drops to €0. No negative balance, no alert. Yet the calculated gain will be €3,000 instead of €1,000.
⚠️ Labeled deposit with an acquisition price of €0
Even if a deposit is properly labeled (e.g. "Masternodes & staking"), Waltio may lack market price data for that token at the exact time of receipt. In this scenario, the acquisition price defaults to €0 despite correct categorization.
This common trap leads to distorted gains without your knowledge. It is essential to review the valuation of your deposits under the Missing Price tab, even for transactions that are already labeled.
📝 Special case: Wealth tax
Some jurisdictions do not tax crypto capital gains on a per-transaction basis, but instead levy a wealth tax based on total portfolio net worth as of a specific reporting date.
Impact of warnings:
Warning | Impact | Consequence |
Negative Balance | Total portfolio valuation is distorted. | Inaccurate wealth tax declaration. |
Missing Price | A token valued at €0 understates overall portfolio value. | Under-reporting of taxable wealth. |
Unlabeled Deposit/Withdrawal | Overall asset quantity in stock may be incorrect. | Inaccurate portfolio valuation on the reference date. |
💡 Summary comparison table by method
Criterion | CMP | ACB | FIFO | LIFO | Wealth Tax |
Core Principle | Global average cost | Adjusted cost base per unit | First in, first out | Last in, first out | Snapshot portfolio valuation on a set date |
Lot-by-lot AP | No (global average) | No (asset-level average) | Yes | Yes | Not applicable |
Sensitivity to "Transfer" Label | Low | Low | Critical | Critical | Moderate |
Impact of Missing Price | Reduces VTP → under-reporting | Reduces ACB → over-taxation | AP = 0 → over-taxation | AP = 0 → over-taxation | Understated wealth |
Impact of Negative Balance | Reduces VTP → under-reporting | Reduces ACB → over-taxation | Queue corrupted → unpredictable | Stack corrupted → unpredictable | Understated wealth |
💡 Recommendations
Resolve all warnings before generating your official tax documents.
Resolution Priority: start with negative balances, proceed to missing prices, and finish with uncategorized transactions.
FIFO/LIFO Methods: always label both the deposit AND the withdrawal for internal transfers (e.g. Binance to Ledger, MetaMask to Bitget).
Missing Prices: check CoinGecko to retrieve historical daily average prices.
Refer to our country-specific labeling guides to apply the appropriate tax category.