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
If you take one number away from French crypto tax, make it this: France does not use FIFO for occasional investors. This article is narrowly about the calculation itself — the article 150 VH bis global-portfolio formula, the running-total mechanic that makes it hard to do by hand, and worked examples at the 2026 rate. Where that gain gets entered is the 2086 form; which rate then applies is PFU vs barème; how the small-activity exemption gates all of it is the €305 threshold. For the full picture, start at the France crypto tax guide.
Key points
- 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).
- The 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.
- The rate on the net gain (PFU 31.4% in 2026, or barème by option) is 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.
Configuring a tool for the 150 VH bis calculation
This is the step a generic crypto-tax tool is most likely to get wrong for France, because the portfolio formula is unlike the per-lot logic most tools default to. Before relying on a figure, confirm the tool:
- uses the 150 VH bis global-portfolio method rather than FIFO, LIFO, or HIFO;
- maintains the running total acquisition price, reduced proportionally at each disposal, rather than re-using the original amount invested;
- values the whole portfolio at each taxable disposal, including holdings affected by untaxed crypto-to-crypto trades;
- applies the 2026 PFU at 31.4% to the net gain, not a stale 30%.
Waltio is built around the French 150 VH bis method and does not apply FIFO for French users; Koinly supports it as a setting. A tool left on a FIFO or 30% default will be wrong for France in 2026.
How Wag3s fits in
Wag3s Folio implements the 150 VH bis global-portfolio method with the running-total mechanic and applies the 2026 PFU at 31.4%, producing per-disposal and net annual figures ready for the 2086. It generates the calculation and the underlying record; for confirming the result on a complex history it is designed to support a qualified French expert-comptable rather than replace one.
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
- Légifrance — Article 150 VH bis CGI: the global-portfolio (proportional) computation for occasional investors.
- BOFiP — RPPM, cession d'actifs numériques à titre occasionnel : base d'imposition (BOI-RPPM-PVBMC-30-20): the total acquisition price and the proportional gain formula.
- Légifrance — Article 200 C CGI: the rate applied to the net gain (flat 12.8% income tax, or the global progressive-scale option).
- 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.
- Calculator
Free Crypto Tax Calculator
Connect a wallet and export tax-ready reports (IRS, HMRC, DGFiP). Free during Alpha.
View page - 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