Moins-values chez un courtier étranger : le dernier jour pour vendre en 2026 est le 29 décembre, pas le 31
Pour un résident fiscal français, une vente ne compte pour 2026 que si elle est réglée avant le 31 décembre au soir : dernier jour de bourse le mardi 29 décembre sur Euronext et Xetra, le mercredi 30 sur le NYSE et le Nasdaq. Sur notre démo, une vente faite à temps efface 740,16 € de flat tax.
· 9 min

En bref : pour un résident fiscal français, une vente ne compte pour 2026 que si elle est réglée au plus tard le 31 décembre. Le dernier jour de bourse est le mardi 29 décembre 2026 sur Euronext et Xetra, le mercredi 30 décembre sur le NYSE et le Nasdaq. Sur notre portefeuille de démonstration, une vente faite à temps efface 740,16 € de flat tax.
Le médiateur de l’AMF a publié le dossier d’un épargnant qui visait le 31 : il a vendu 2 700 actions le 31 décembre 2019, avec une moins-value de plus de 40 000 €, pour la compenser avec une plus-value de 45 000 €. L’ordre a été réglé le 2 janvier 2020. La perte a compté pour 2020, la plus-value a été imposée en entier pour 2019, et il a chiffré son préjudice à environ 13 000 €. Le médiateur n’a relevé aucune faute du courtier.
Le dernier jour pour vendre, marché par marché
| Marché | Règlement | Dernier jour de bourse pour 2026 | Réglé le | Une séance plus tard, réglé le |
|---|---|---|---|---|
| Euronext (Paris, Amsterdam) | J+2 | mardi 29 décembre | jeudi 31 décembre | lundi 4 janvier 2027 |
| Xetra (Francfort) | J+2 | mardi 29 décembre | jeudi 31 décembre | lundi 4 janvier 2027 |
| NYSE, Nasdaq | J+1 | mercredi 30 décembre | jeudi 31 décembre | lundi 4 janvier 2027 |
J+2 veut dire que les titres et l’argent changent de mains deux jours ouvrés après l’ordre ; J+1, le jour ouvré suivant. Le 1er janvier 2027 tombe un vendredi : une vente passée une séance trop tard est réglée le lundi.
Euronext cote le 31 décembre et ferme plus tôt. Un ordre passé ce jour-là est exécuté comme d’habitude ; il est réglé en 2027. Xetra ne cote ni le 24 ni le 31 décembre 2026.
New York a un jour de plus parce que les ordres américains sont réglés le jour ouvré suivant depuis le 28 mai 2024. Cela vaut pour un titre vendu sur une bourse américaine. La même société vendue sur Xetra, ou par une cotation en euros, suit le cycle européen.
Un courtier règle selon le cycle du marché où part l’ordre, qu’il s’agisse d’Interactive Brokers, de Degiro ou d’une banque française. Certains publient en décembre leur propre date limite pour l’année fiscale, plus tôt : si le vôtre le fait, cette date passe avant.
Pourquoi c’est le règlement qui compte, pas l’ordre
Le fisc français date une vente au transfert de propriété (BOFiP, BOI-RPPM-PVBMI-30-10-10, § 1). Pour des titres cotés, le Code monétaire et financier, article L. 211-17, place ce transfert au règlement-livraison, le jour où les titres sont inscrits au compte de l’acheteur, au plus tard le deuxième jour ouvré après l’ordre. La doctrine fiscale le lit de la même façon là où elle donne un cas : pour des titres apportés à une offre publique, « le transfert de propriété intervient à la date du dénouement effectif de la négociation », le jour où l’ordre est réellement réglé (§ 50).
C’est le raisonnement que le médiateur de l’AMF a appliqué à la vente de 2019. La date va bouger : l’Union européenne passe à J+1 le 11 octobre 2027, et à partir de la fin 2027 le dernier jour européen se rapproche d’une séance du 31 décembre.
Pour un contribuable américain, la règle est inverse : c’est la date de l’ordre qui compte, le 31 décembre est valable, et la fenêtre de 30 jours du wash sale s’applique. Ce versant est sur la page du tax-loss harvesting, avec l’étude de 32 paires d’ETF de remplacement.
Ce que vaut une vente faite à temps, sur la démo
Notre portefeuille de démonstration français détient des actions et des fonds chez Interactive Brokers et Trading 212. En 2026, il a une plus-value réalisée : 20 actions Nvidia vendues le 16 mars, soit 2 357,21 € de plus-value en euros. À la flat tax 2026 de 31,4 % (12,8 % d’impôt sur le revenu et 18,6 % de prélèvements sociaux), cela fait 740,16 €.
Aux clôtures du 9 novembre 2026, une ligne était sous son prix de revient : 25 actions LVMH, en baisse cette année avec tout le luxe, achetées à un prix moyen pondéré de 653,92 € et qui clôturaient à 402,45 €.
| Sur la démo | Montant |
|---|---|
| Plus-value 2026, 20 Nvidia vendues le 16 mars | 2 357,21 € |
| Flat tax correspondante, à 31,4 % | 740,16 € |
| LVMH, perte par action (653,92 € moins 402,45 €) | 251,47 € |
| Perte sur 10 actions | 2 514,70 € |
| Perte sur les 25 actions | 6 286,75 € |
| Impôt effacé par l’une ou l’autre vente, réglée en 2026 | 740,16 € |
| Perte restant à reporter, 10 actions vendues | 157,49 € |
| Perte restant à reporter, 25 actions vendues | 3 929,54 € |

10 actions, c’est le plus petit nombre dont la perte couvre la plus-value : 9 donneraient 2 263,23 €, pas assez. Une moins-value s’impute d’abord sur les plus-values de la même année. Le reste se reporte sur les plus-values des 10 années suivantes, ici de 2027 à 2036, à condition de déclarer la perte l’année où elle est réalisée (article 150-0 D, 11 du code général des impôts).
Passez maintenant le même ordre une séance trop tard, le 30 décembre. Il est exécuté, réglé le 4 janvier, et compte pour 2027. Les 740,16 € sont dus au titre de 2026. La perte n’est pas perdue : elle attend une plus-value de 2027. Le retard coûte un an d’attente sur 740,16 €, ou plus si 2027 n’apporte aucune plus-value.
Trois limites. Les chiffres bougent avec le cours de LVMH chaque jour jusqu’à la vente. L’estimation ne compte pas les frais de la vente elle-même. Et une moins-value qui compense une plus-value reporte l’impôt plus souvent qu’elle ne le supprime : si vous rachetez les titres à 402,45 €, ce prix devient leur prix de revient, et la plus-value évitée cette année reparaît le jour où vous les vendez. Nous n’avons trouvé dans le code général des impôts aucun délai à respecter avant un rachat, à la différence des 30 jours de la règle américaine du wash sale. Le fisc peut néanmoins contester une vente suivie d’un rachat immédiat faite dans le seul but de réduire l’impôt, par la procédure de l’abus de droit : c’est une question pour un conseil. Ceci est un calcul sur un portefeuille d’exemple, pas une suggestion de vendre LVMH ni quoi que ce soit d’autre.
Chez un courtier étranger, la plus-value en euros est à votre charge
Une banque en France calcule les plus-values de chaque client et les déclare sur un relevé fiscal annuel, l’IFU. Les courtiers établis hors de France, comme Interactive Brokers ou Degiro, n’en envoient pas. La plus-value à porter sur le formulaire 2074, celui où la déclaration calcule les plus-values vente par vente, est à calculer vous-même, et deux règles françaises l’éloignent du chiffre d’un relevé de courtier.
Le prix de revient est le prix moyen pondéré d’acquisition, le PMP : la moyenne de tous les titres de la valeur détenus hors PEA, frais compris. Beaucoup de relevés de courtiers calculent une vente en « premier entré, premier sorti » : ce sont les titres les plus anciens qui sont vendus.
Chaque montant est en euros, au cours de sa propre date. La vente Nvidia de la démo, étape par étape :
| Étape | Dollars | Cours BCE, dollars pour un euro | Euros |
|---|---|---|---|
| Achat de 40 à 28,91 $, 1er mai 2023, 5 $ de frais | 1 161,40 $ | 1,0981 (cours du 28 avril) | 1 057,65 € |
| Achat de 20 à 76,20 $, 19 avril 2024, 5 $ de frais | 1 529,00 $ | 1,0653 | 1 435,28 € |
| Prix de revient moyen par action (PMP) | 44,84 $ | 41,55 € | |
| Vente de 20 à 183,22 $, 16 mars 2026, 5 $ de frais | 3 659,40 $ | 1,1478 | 3 188,19 € |
| Plus-value sur les 20 actions | 2 762,60 $ | 2 357,21 € |
Le raccourci consiste à prendre les 2 762,60 $ et à les convertir une seule fois, au cours du jour de la vente : 2 406,87 €. C’est 49,66 € de plus-value de plus que la méthode française, et 15,59 € de flat tax. Le dollar était plus cher à l’achat des titres qu’à leur vente : leur prix de revient en euros était donc plus élevé que ne le suppose le raccourci. Avec un dollar qui aurait monté, le raccourci minorerait la plus-value. Dans les deux cas, ce n’est pas le chiffre que demande la déclaration.

Trois façons de rater la date
- L’ordre du 30 ou du 31 décembre sur un marché européen. Il est exécuté, et l’avis d’opéré est daté de 2026. Le règlement, et l’année fiscale, sont en 2027.
- L’ordre à cours limité qui n’est pas exécuté. Un ordre passé le 29 à un prix que le marché n’atteint pas n’est pas une vente. Un jour de marge laisse la place à un second essai.
- Un marché qui n’est pas dans le tableau. Un fonds acheté via Londres, Zurich ou Milan suit le calendrier et le cycle de règlement de cette bourse. Lisez-le avant de compter sur le 29.
Que faire avant le 29 décembre
- Additionnez les plus-values réalisées en 2026, en euros, au PMP, et retirez les moins-values reportées des années précédentes.
- Listez les lignes sous leur prix de revient, avec la perte par action.
- Comparez les deux : une perte supérieure aux plus-values de l’année n’efface pas plus d’impôt cette année, elle se reporte.
- Si vous vendez, passez l’ordre avec un jour de marge et lisez l’avis de fin d’année de votre courtier.
- Gardez l’avis d’opéré, le relevé d’exécution que le courtier envoie après l’ordre : il porte la date de règlement.
Les étapes 1 à 3 sont ce que fait le panneau « Avant le 31 décembre » sur la démo, sur un portefeuille comme celui-ci, et sur vos propres lignes une fois importées : importez-les depuis un export de courtier ou une capture d’écran, sans identifiants de courtier. L’audit décrit sur la page des tarifs en fait un plan daté, ligne par ligne ; il garde le 29 décembre pour chaque ligne, actions américaines comprises, ce qui laisse un jour de marge.
Comment nous avons mesuré
Les dates viennent du cycle de règlement de chaque marché et de son calendrier 2026 : deux jours ouvrés pour Euronext et Xetra, un pour le NYSE et le Nasdaq ; pas de cotation sur Xetra les 24 et 31 décembre ; aucun règlement nulle part les 25 décembre et 1er janvier. Le dernier jour de bourse est la dernière séance dont le jour de règlement est encore en 2026.
Les montants viennent du portefeuille de démonstration français de Portfolio Terminal, un compte fictif dont les achats sont datés et valorisés à de vraies clôtures, évalué aux clôtures Yahoo Finance du 9 novembre 2026. La plus-value est calculée au prix moyen pondéré d’acquisition en euros, chaque montant au cours de référence BCE de sa date, ou du dernier cours publié avant elle. La flat tax est celle de 2026, 31,4 %. Le moteur fiscal du site donne les mêmes chiffres, au centime ; un test tient les deux ensemble.
Ce qui changerait le résultat : une date limite de courtier plus précoce que celle du marché, un règlement qui échoue, un changement des calendriers 2026, le cours de LVMH le jour de la vente, des moins-values reportées d’années antérieures (elles s’imputent d’abord sur la plus-value), et l’option pour le barème de l’impôt sur le revenu à la place de la flat tax. Le PEA et les cryptoactifs suivent d’autres règles et sont laissés de côté.
Reproduire l’étude
Le script recalcule les trois dates, les montants de la démo et les deux plus-values en euros à partir des cours publics de la BCE ; nous l’avons lancé le 10 novembre 2026.
Show the code
# Reproduces https://portfolio-terminal.com/blog/moins-values-courtier-etranger-vendre-avant-31-decembre
# pip install requests
# For a French resident at a foreign broker in 2026: (1) by market, the last trade day whose settlement,
# the day ownership passes (CMF art. L211-17; BOFiP BOI-RPPM-PVBMI-30-10-10), still falls in 2026;
# (2) on our French demo book, the flat tax that selling the losing line by that day erases; (3) the
# year's gain in euros at the ECB rate of each buy and of the sale (the PMP the French return asks
# for), against the broker's dollar gain converted once.
import csv, io, json
from datetime import date, timedelta
import requests
YEAR, FLAT_TAX = 2026, 0.128 + 0.186 # income tax 12.8% + social contributions 18.6% (2026)
# Settlement cycle in business days and year-end closures. Euronext: open Dec 31 (early close). Xetra: no trading
# Dec 24 and 31, Clearstream settles Dec 31. US: T+1 since May 28, 2024 (SEC rule 15c6-1). EU: T+2 until Oct 11, 2027.
HOLIDAYS = {"12-25", "01-01"}
MARKETS = {"Euronext (Paris, Amsterdam)": (2, HOLIDAYS), "Xetra (Frankfurt)": (2, HOLIDAYS | {"12-24", "12-31"}), "NYSE / Nasdaq": (1, HOLIDAYS)}
is_open = lambda day, closed: day.weekday() < 5 and day.strftime("%m-%d") not in closed
def settles(trade, cycle):
day = trade
while cycle:
day += timedelta(days=1)
cycle -= is_open(day, HOLIDAYS)
return day
dates = {}
for name, (cycle, no_trade) in MARKETS.items():
last = date(YEAR, 12, 31)
while not (is_open(last, no_trade) and settles(last, cycle).year == YEAR):
last -= timedelta(days=1)
after = last + timedelta(days=1)
while not is_open(after, no_trade):
after += timedelta(days=1)
dates[name] = {"last_trade": str(last), "settles": str(settles(last, cycle)), "next_trade": str(after), "next_trade_settles": str(settles(after, cycle))}
print(f"{name}: sell by {last:%a %d %b} (settles {settles(last, cycle):%a %d %b}); a sale on {after:%a %d %b} settles {settles(after, cycle):%a %d %b %Y}")
# The demo book's one line under its cost at Interactive Brokers: LVMH, two buys (shares, price), €5 a trade,
# against its close on Nov 9, 2026 (Euronext Paris). French cost is the weighted average price (PMP), fees in.
BOUGHT, CLOSE = [(10, 728.4), (15, 603.6)], 402.45
held, cost = sum(q for q, _ in BOUGHT), sum(q * p + 5 for q, p in BOUGHT)
loss_a_share = cost / held - CLOSE
loss_total = round(cost - held * CLOSE, 2)
# The year's gain: 20 of 60 Nvidia shares sold at Trading 212 on Mar 16, 2026 at $183.22, $5 a trade.
BUYS, SALE = [("2023-05-01", 40, 28.91), ("2024-04-19", 20, 76.20)], ("2026-03-16", 20, 183.22)
url = "https://data-api.ecb.europa.eu/service/data" + "/EXR/D.USD.EUR.SP00.A?startPeriod=2023-04-20&endPeriod=2026-03-20&format=csvdata" # the ECB's data API
fixings = {row["TIME_PERIOD"]: float(row["OBS_VALUE"]) for row in csv.DictReader(io.StringIO(requests.get(url, timeout=60).text))}
def ecb(day): # dollars per euro, the last fixing on or before the day (none on May 1, 2023)
d = date.fromisoformat(day)
while str(d) not in fixings:
d -= timedelta(days=1)
return fixings[str(d)], str(d)
shares = sum(q for _, q, _ in BUYS)
pmp_eur = sum((q * p + 5) / ecb(d)[0] for d, q, p in BUYS) / shares
pmp_usd = sum(q * p + 5 for _, q, p in BUYS) / shares
sale_rate = ecb(SALE[0])[0]
proceeds_usd = SALE[1] * SALE[2] - 5
gain_eur = round(proceeds_usd / sale_rate - pmp_eur * SALE[1], 2)
gain_usd = round(proceeds_usd - pmp_usd * SALE[1], 2)
gain_usd_in_eur = round(gain_usd / sale_rate, 2)
gap = round(gain_usd_in_eur - gain_eur, 2)
tax_due, erased = round(gain_eur * FLAT_TAX, 2), round(min(loss_total, gain_eur) * FLAT_TAX, 2)
enough = next(n for n in range(1, held + 1) if n * loss_a_share >= gain_eur) # the fewest shares whose loss covers the gain
print(f"LVMH on Nov 9: {held} shares, PMP €{cost / held:,.2f}, close €{CLOSE:,.2f}, loss €{loss_total:,.2f} (€{loss_a_share:,.2f} a share)")
print(f"2026 gain (Nvidia, PMP €{pmp_eur:,.2f} a share at ECB rates): €{gain_eur:,.2f}; the broker's ${gain_usd:,.2f} at the sale-day rate: €{gain_usd_in_eur:,.2f}, €{gap:,.2f} more (€{gap * FLAT_TAX:,.2f} of tax)")
print(f"flat tax on the gain: €{tax_due:,.2f}; erased by a sale settled in 2026: €{erased:,.2f}; {enough} shares are enough (loss €{enough * loss_a_share:,.2f}); all {held} carry €{loss_total - gain_eur:,.2f} to 2027–2036")
json.dump({"year": YEAR, "flat_tax": round(FLAT_TAX, 4), "markets": dates, "priced": "2026-11-09",
"lvmh": {"shares": held, "cost": round(cost, 2), "pmp": round(cost / held, 2), "close": CLOSE, "value": round(held * CLOSE, 2), "loss": loss_total, "loss_a_share": round(loss_a_share, 2)},
"rates": {d: {"rate": ecb(d)[0], "fixing": ecb(d)[1]} for d in [b[0] for b in BUYS] + [SALE[0]]}, "pmp_eur": round(pmp_eur, 2), "pmp_usd": round(pmp_usd, 2),
"proceeds_eur": round(proceeds_usd / sale_rate, 2), "gain_eur": gain_eur, "gain_usd": gain_usd, "gain_usd_in_eur_at_sale": gain_usd_in_eur, "gap_eur": gap,
"gap_tax": round(gap * FLAT_TAX, 2), "tax_due": tax_due, "tax_erased": erased, "shares_enough": enough, "loss_enough": round(enough * loss_a_share, 2),
"carried_enough": round(enough * loss_a_share - gain_eur, 2), "loss_carried": round(loss_total - gain_eur, 2)}, open("results.json", "w"), indent=1)Euronext (Paris, Amsterdam): sell by Tue 29 Dec (settles Thu 31 Dec); a sale on Wed 30 Dec settles Mon 04 Jan 2027
Xetra (Frankfurt): sell by Tue 29 Dec (settles Thu 31 Dec); a sale on Wed 30 Dec settles Mon 04 Jan 2027
NYSE / Nasdaq: sell by Wed 30 Dec (settles Thu 31 Dec); a sale on Thu 31 Dec settles Mon 04 Jan 2027
LVMH on Nov 9: 25 shares, PMP €653.92, close €402.45, loss €6,286.75 (€251.47 a share)
2026 gain (Nvidia, PMP €41.55 a share at ECB rates): €2,357.21; the broker's $2,762.60 at the sale-day rate: €2,406.87, €49.66 more (€15.59 of tax)
flat tax on the gain: €740.16; erased by a sale settled in 2026: €740.16; 10 shares are enough (loss €2,514.70); all 25 carry €3,929.54 to 2027–2036Cet article calcule des dates et des montants sur un exemple. Ce n’est ni un conseil fiscal ni un conseil en investissement ; votre déclaration dépend de l’ensemble de votre situation.
Sources : BOFiP, BOI-RPPM-PVBMI-30-10-10, la date du fait générateur · Médiateur de l’AMF, le dossier de l’ordre de fin d’année, 1er déc. 2020 · BOFiP, l’imputation des moins-values · Euronext, horaires et jours fériés · Deutsche Börse, calendrier de cotation de Xetra · NYSE, horaires et calendriers · SEC, le passage à J+1 · ESMA, le passage de l’UE à J+1 · Ministère de l’Économie, la flat tax en 2026 · IRS, Publication 550, wash sales et dates d’ordre · BCE, cours de référence de l’euro
#études#fiscalité
À lire ensuite
cite: Julien Esnault, “Moins-values chez un courtier étranger : le dernier jour pour vendre en 2026 est le 29 décembre, pas le 31”, Portfolio Terminal, 2026-11-10. version texte (en anglais) pour les outils d’IA
Essayez sur votre propre portefeuille
avant le 31 décembre
Avant le 31 décembre : l’impôt que vos moins-values peuvent encore effacer.
La démo s’ouvre sur l’onglet Plus-values, avec le portefeuille d’un investisseur français chez des courtiers étrangers : ce que ses moins-values latentes peuvent encore effacer cette année, calculé au prix moyen pondéré (PMP).
Wall Street en 60 secondes, chaque matin (en anglais). Ce qu’il contient
One short email before the open. Unsubscribe anytime.