Calculation method

How Crypto Master calculates your French form 2086

All of it is published: the formula, the readings chosen where the law is silent, what the tool cannot price, and what it does not simulate. You can check everything before copying a figure.

A calculation aid, not tax advice. The amounts are indicative: filing the return, and responsibility for it, stay yours, and a professional can settle what the law leaves open. Law taken into account: the law in force on 10 October 2026 — the 2027 finance bill has not been passed.

What counts as a sale, what counts as an acquisition

Form 2086 only covers taxable sales. Crypto Master spots them in your transactions by reading the two legs of each trade: what comes in, what goes out, and whether it is government-issued currency:

  • A sale: you receive government-issued currency (euro, dollar…) against a digital asset. A withdrawal you have qualified as “Purchase of goods or a service” is one too: you paid with your crypto.
  • An acquisition: you pay in government-issued currency to receive a digital asset. A deposit you have qualified as “Payment received for goods or a service” or “Gift or donation received” is one too, at its value that day.
  • Neither: an exchange between two digital assets (tax deferred, French tax code art. 150 VH bis, II-A), a currency exchange between two government-issued currencies, a transfer between your accounts, a savings movement.

A deposit or withdrawal you have not yet qualified, and that the tool cannot match to a transfer between your accounts, stays “pending”: the tool does not guess what it is, and widens the year’s range accordingly (see below).

The formula

For each sale, form 2086 gives the gain with the formula of the French tax code (art. 150 VH bis, III):

gain = line 218 − line 223 × line 217 ÷ line 212

212
Overall value of the portfolio at the time of the sale
213
Sale price
214
Selling fees
217
Sale price net of balancing payments, gross of fees
218
Sale price net of fees and balancing payments
220
Total acquisition price
221
Initial capital fractions of earlier sales
222
Balancing payments received in earlier exchanges
223
Net total acquisition price, 220 − 221 − 222

There are two sale prices, and that is the trap. The quotient takes line 217, gross of fees; the first term takes line 218, net of fees (official commentary, BOI-RPPM-PVBMC-30-20, § 50). Fees therefore only reduce the first term.

The calculation is sequential. Each sale takes out of the total acquisition price the fraction it contains (line 223 × line 217 ÷ line 212), and the next one starts from what is left, from one year to the next: the counter never resets on 1 January. That is why an unknown is passed on to the sales that follow.

The official example

Official commentary, BOI-RPPM-PVBMC-30-20, § 110. You acquired for €1,000. In March your portfolio is worth €1,200 and you sell for €450: 450 − 1,000 × 450 ÷ 1,200 = €75. In August it is worth €1,300 and you sell everything: 1,300 − (1,000 − 375) × 1,300 ÷ 1,300 = €675. Total for the year: €750.

A case the official examples do not exercise, built by us: fees. With €10 of fees on the first sale, the gain is €65, not €73.33: the quotient stays 450 ÷ 1,200.

The two worked examples of the official commentary (§ 110 and § 120) and this case with fees are part of the code’s tests: if it stopped finding exactly their results, the tests would fail. Calculations use exact decimal numbers; rounding to the euro happens only on display.

The overall portfolio value, and what the calculation assumes

The law asks for the value of all your digital assets at the time of the sale. Crypto Master does not go below the day: here, point by point, is what its calculation assumes.

  • The overall value is that of the portfolio Crypto Master knows. The law asks for all the household’s digital assets, wherever they are held: an unlinked account or another household member is missing from it.
  • Assets are valued at the closing price of the day of the sale. The tax authority accepts a daily average quote; the close approximates it.
  • The portfolio is taken at the day’s close, corrected for trades and sales made after the sale; other movements of the same day (transfers, rewards) are taken at the close.
  • The day of a sale, and so its year, is taken in universal time (UTC): a sale on 1 January before 1 am Paris time is filed under 31 December, so in the previous year. Check any sale made around the turn of the year.
  • A dollar-backed token (USDC, USDT…) with no price that day counts as one dollar.
  • A lending receipt (Aave aToken, Compound cUSDCv3) with no price that day counts at the price of its underlying: it is worth it one for one. A vault share does not.
  • Tokens received without being requested are left out of the overall value: no market quotes them.
  • An exchange between digital assets, stablecoins included, is treated as tax-deferred. No guidance treats stablecoins separately: this is an interpretation.
  • Purchase fees paid in euros or dollars are added to the acquisition price; fees paid in crypto are not. No text explicitly addresses these fees.
  • A negative balance — an entry is missing from the history — worth less than €2 that day (at the day’s price, or at its upper bound) counts as zero in the overall value. Above that, or with no price or bound to judge it, it stays an unknown.

When data is missing: a range, not a zero

A purchase made on a platform you have not linked, a price that cannot be found, a withdrawal of unknown nature: the tool does not guess, and it never counts an unknown price as zero without saying so. It brackets.

Form 2086 being sequential, an unknown does not only distort its own sale: it carries over to the next ones. Crypto Master therefore follows two paths of the net total acquisition price. The gain rises with the overall value and falls with the net acquisition price: these two paths bracket all the others.

  • The low path: purchases of unknown cost count as zero — a bound, not an answer — and the fractions taken out are the largest.
  • The high path: they count at an inflated estimate, and the fractions taken out are the smallest.

Each sale therefore gets a low gain and a high gain. It is reliable if the gap fits within the tolerance — €1 by default, the form’s unit. Otherwise it stays listed, with its reasons, but outside the totals.

An estimate only serves to bracket, never to display. An asset with no price on the day of a sale is estimated at the nearest known price in time, multiplied by 2 (within 31 days), or by 10 beyond that. With no known price at all there is no bound and the sale is unreliable. The central calculation never borrows the price of another day.

The reliability rate of a year is the share of reliable sales, weighted by their net sale price (line 218): an uncertain speck of dust does not weigh like a sale of three thousand euros. A withdrawal awaiting qualification counts as an unreliable sale. If there is nothing to measure, there is no rate — never “100%”.

The year’s tax is bracketed the same way, and called certain when the two bounds coincide: whatever is still missing from your data, it will not change.

The screen then ranks what would raise reliability, from the action that earns the most to the one that earns the least: finding the missing prices, qualifying the pending movements, completing the history… The announced gain is a ceiling.

What the law does not settle

Four points are settled clearly neither by the text nor by official guidance. Crypto Master does not ask you to choose: it picks a default reading, calculates the other one too with the same engine, and says what the gap changes to your tax for the year. Up to €5 of difference, “this choice changes nothing for you”; beyond that, “a point to have validated by a professional”. You can change the reading used.

Rewards (staking, interest, airdrops)

No guidance sets the acquisition price of a staking reward or an airdrop for form 2086. The official commentary deems an asset whose cost cannot be justified to have been acquired for nothing (BOI-RPPM-PVBMC-30-20, § 90); a reward taxed as income when received could enter at its value that day. A zero price makes you pay more: it is the default reading.

Default reading: zero acquisition price. Other reading: value on the day received.

Nexo EURX

EURX represents euros held at Nexo. No text addresses it; Crypto Master files it among tokens. As a “digital asset”, buying it with euros is an acquisition and selling it a sale; as “currency”, these are exchanges, and a crypto sold for EURX is a sale.

Default reading: digital asset. Other reading: currency (euro).

Stablecoins

The law defers tax on exchanges without balancing payment between digital assets (French tax code, art. 150 VH bis, II-A). Neither the official commentary nor the form’s notice treats stablecoins separately: swapping them for another crypto is therefore read as a deferred exchange. The other reading — electronic money tokens under MiCA, treated as currency — turns each of these exchanges into a sale.

Default reading: digital assets, deferred exchanges. Other reading: currency, taxable exchanges.

Basis of the €305 allowance

The allowance applies to the sum of the year’s sale prices (French tax code, art. 150 VH bis, II-B). The form adds up prices net of fees (line 51); impots.gouv.fr speaks of the “gross annual amount of sales”. The gross amount crosses the threshold sooner: it is the cautious reading.

Default reading: gross prices. Other reading: prices net of fees (line 218).

For rewards and the allowance, the default reading is the one that makes you pay the most: the tool prefers to overestimate the tax rather than underestimate it. For stablecoins and EURX, which of the two readings makes you pay more depends on your data: the screen says so, year by year.

The rate, the allowance and carrying forward

Gains are taxed at the flat rate: 12.8% income tax (French tax code, art. 200 C) plus social contributions.

Social contributions: 17.2% up to 2024 sales (30% in total); 18.6% for 2025 sales (law no. 2025-1403 of 30 December 2025, art. 12: the CSG goes from 9.2% to 10.6%). Overall rate for 2025: 31.4%, that is 12.8% + 18.6%.

The official commentary does not yet reflect this rate (BOI-RPPM-PVBMC-30-30, § 10: 17.2%); the law prevails, and impots.gouv.fr itself states a flat tax of 31.4%.

2026 sales: same rate, provisionally — a 2027 social security financing act can change it before your return.

The tax shown is the year’s net gain multiplied by this rate; a net negative year costs nothing (French tax code, art. 150 VH bis, IV).

Allowance: if the sum of the year’s sale prices does not exceed €305, you are exempt; above it, everything is taxed from the first euro (French tax code, art. 150 VH bis, II-B). The form adds up line 218, net of fees; impots.gouv.fr speaks of a “gross” amount: that is one of the four points above.

The total of gains and losses (line 52 of form 2086) goes in box 3AN (gain) or 3BN (loss) of return 2042 C. A loss only offsets gains of the same year and is not carried forward.

What is not simulated

The simulator does not cover, today:

  • the option for the progressive income tax scale (box 3CN), which depends on the income of your whole household;
  • the high-income contribution;
  • NFTs, which fall under a separate regime (French tax code, art. 150 VH ter) for sales since 1 January 2026;
  • sales by other members of your household, and accounts or wallets you have not linked to Crypto Master: the law asks for the value of all your digital assets, wherever they are.

If one of these cases applies to you, the amounts shown are a starting point.

The 3916-bis

Digital-asset accounts opened, held, used or closed with bodies established abroad are declared with the income tax return (French tax code, art. 1649 bis C). Crypto Master’s data cannot tell whether an account is still open at the platform: it knows whether it moved and whether it held anything. Hence three signals, from the surest to the least sure:

  • a movement during the year: the account was used;
  • a non-zero balance on 1 January: the account was held;
  • what you declare yourself (opening and closing dates): the only way to keep an account that is open but empty.

A set-aside account is never hidden: it is listed with its reason. If what you declare contradicts your data, the account is flagged “to check” rather than settled. Self-custody wallets are not listed — this is a reading of the text, to be checked: no official guidance expressly excludes them.

Sources

Texts consulted on 6 and 10 October 2026. They may have changed since.

An error in this method, a text we may have misread? Write to us.

See what it gives on your own data

Link an account or drop in an export: the simulator calculates your sales and says what it is missing. It is included in every plan, free included.

Your form 2086 from 0 €, and 2,99 € incl. VAT a month for up to 3,000 transactions.

See pricing

Audience measurement We would like to measure traffic on this site with Google Analytics, to learn which pages are actually useful to you. Nothing is stored on your device or sent until you accept. Your choice lasts six months and can be changed at any time from the footer. Read the privacy policy.