Crypto Capital Gains Calculation in France: The 150 VH bis Portfolio Method (2026)
Crypto Capital Gains Calculation in France: The 150 VH bis Portfolio Method (2026)
Reviewed by Wag3s Editorial Team — verified against article 150 VH bis CGI and BOFiP guidance on the global-portfolio method · Last reviewed May 2026
Crypto Capital Gains Calculation in France
The most common French crypto tax mistake is computing gains with FIFO. France does not use FIFO for occasional investors. Article 150 VH bis CGI uses a global-portfolio proportional formula that almost no other jurisdiction uses, and getting it wrong produces a wrong number on every disposal. This guide is the formula, the running-total mechanic, and worked examples with the 2026 rate.
TL;DR
- Not FIFO, not LIFO, not per-lot. France (occasional investors) uses the 150 VH bis global-portfolio method.
- Formula: gain = disposal price − (total acquisition price × disposal price / total portfolio value at disposal).
- Total acquisition price is cumulative and is reduced proportionally as disposals occur.
- Crypto-to-crypto is not taxable but must still be tracked for portfolio valuation.
- Rate on the net gain: PFU 31.4% in 2026 (12.8% + 18.6%) or barème by option — a separate step from the calculation.
Why FIFO is wrong here
Most country guides default to a per-lot cost basis (FIFO/LIFO/HIFO). France's occasional-investor regime does not. Under article 150 VH bis, you do not match a disposal to specific acquisition lots. Instead each disposal's gain is a proportional slice of the whole portfolio's accumulated investment. Applying FIFO to a French occasional investor will produce a different — and incorrect — taxable gain.
The formula
Gain (per disposal) =
disposal price
− ( total acquisition price of the portfolio
× disposal price / total value of the portfolio at the disposal )
In French: plus-value = prix de cession − (prix total d'acquisition × prix de cession / valeur globale du portefeuille).
The three inputs per disposal:
| Input | Meaning |
|---|---|
| Disposal price (prix de cession) | Proceeds of this taxable disposal (to fiat/goods/services) |
| Total acquisition price (prix total d'acquisition) | Cumulative net amount invested in the portfolio, as reduced by prior disposals |
| Portfolio value (valeur globale du portefeuille) | Total market value of the whole crypto portfolio at the moment of this disposal |
The running-total mechanic
The subtlety that makes 150 VH bis hard to do by hand: the total acquisition price is cumulative and decreases as you dispose. Each taxable disposal "consumes" a fraction of the total acquisition price equal to the fraction of portfolio value disposed of:
- Fraction disposed = disposal price / portfolio value at disposal.
- Acquisition price consumed = total acquisition price × that fraction.
- Remaining total acquisition price = previous total − consumed.
So the figure feeding the next disposal's formula is not the original total invested — it is the running, reduced total. Errors compound across the year if this running figure is not maintained correctly.
Worked example (2026)
Assume a portfolio: total acquisition price €10,000; current total portfolio value €25,000. You dispose of €5,000 to fiat.
- Fraction disposed = 5,000 / 25,000 = 0.2.
- Acquisition consumed = 10,000 × 0.2 = €2,000.
- Gain = 5,000 − 2,000 = €3,000.
- Remaining total acquisition price for the next disposal = 10,000 − 2,000 = €8,000.
If later in the year the portfolio is worth €18,000 and you dispose of €3,600:
- Fraction = 3,600 / 18,000 = 0.2.
- Acquisition consumed = 8,000 × 0.2 = €1,600.
- Gain = 3,600 − 1,600 = €2,000.
- Remaining total acquisition price = 8,000 − 1,600 = €6,400.
Net annual gain = 3,000 + 2,000 = €5,000, taxed at the 2026 PFU 31.4% (or barème by option — see PFU vs barème).
Crypto-to-crypto: non-taxable but tracked
Crypto-to-crypto exchanges are not taxable events for occasional investors, so they do not trigger the formula. But they change the portfolio's composition and value, which feeds the valeur globale du portefeuille input at later taxable disposals. So they must still be tracked even though they are not taxed. "Non-taxable" is not "ignore."
The rate is a separate step
The 150 VH bis method produces the net annual gain. The rate is then applied separately: PFU 31.4% in 2026 (12.8% income tax + 18.6% prélèvements sociaux — up from 30% because CSG rose 9.2% → 10.6%), or the progressive scale if the global barème option is elected. Do not conflate the calculation (150 VH bis) with the rate (PFU/barème) — they are independent decisions.
Practical workflow
- Abandon FIFO for the French occasional-investor computation.
- Maintain the running total acquisition price, reduced proportionally at each disposal.
- Value the whole portfolio at each taxable disposal (track crypto-to-crypto for this even though untaxed).
- Apply the formula per disposal; sum to the net annual gain on Form 2086.
- Apply the 2026 PFU 31.4% (or barème) and reconcile against DAC8-reported data.
How vendor tools handle the calculation
Waltio is built around the French 150 VH bis method (it explicitly does not use FIFO for French users); Koinly supports the French method as a setting. The critical check: confirm the tool uses the 150 VH bis global-portfolio method, maintains the running reduced acquisition price, and applies the 2026 PFU 31.4% — a tool defaulting to FIFO or 30% will be wrong for France 2026.
How Wag3s helps
Wag3s Folio implements the 150 VH bis global-portfolio method with the correct running-total mechanic and applies the 2026 PFU 31.4%, producing accurate per-disposal and net annual figures for Form 2086, reconciled against DAC8-reported activity. See the Folio product page.
Further reading
- France Crypto Tax Guide 2026
- Cerfa 2086 Explained
- PFU vs Barème: Choosing in France
- The France €305 Exemption
- How to Do Crypto Taxes
- DAC8 Impact on Individuals
Sources
- Article 150 VH bis CGI — Légifrance
- BOFiP-Impôts — guidance on the global-portfolio method for digital-asset capital gains
- 2026 CSG increase on capital income (9.2% → 10.6%) raising the PFU from 30% to 31.4%
- Council Directive (EU) 2023/2226 (DAC8) — EUR-Lex
PFU vs Barème: Choosing How Your Crypto Gains Are Taxed in France (2026)
French crypto investors can be taxed at the PFU flat tax (31.4% from 2026) or, by option, at the progressive income-tax scale (barème). How the choice works, when the barème beats the flat tax, and why the option is global and irrevocable for the year.
The France €305 Crypto Exemption: How the All-or-Nothing Threshold Works (2026)
France exempts crypto capital gains entirely if total annual disposals are €305 or less. Cross €305 — even by one euro — and every disposal of the year becomes taxable. How the threshold works under article 150 VH bis, with 2026 mechanics.
Every chain, integration, and competitor mentioned in this article gets its own page — coverage detail, comparison signals, and the audit trail your finance team needs.
- Chain
Ethereum
ERC-20, DeFi positions, gas treatment, restaking.
View page - Chain
Solana
SPL tokens, native stake, Jupiter, Metaplex NFTs.
View page - Integration
NetSuite integration
Mid-market and enterprise crypto subledger.
View page - Integration
QuickBooks integration
SMB GL with daily JE sync.
View page - Integration
Safe integration
DAO and corporate multi-sig accounting.
View page - Compare
Wag3s vs Cryptio
Side-by-side enterprise subledger comparison.
View page