Mode invité : votre portefeuille reste dans ce navigateur tant que vous ne vous connectez pas.

Sys onlineGuest--:-- local

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.

Julien Esnault
Julien Esnault

· 9 min

Grille des quatre dernières séances de 2026 pour un résident fiscal français : une vente sur Euronext ou Xetra compte pour 2026 si elle est passée au plus tard le mardi 29 décembre, une vente sur le NYSE ou le Nasdaq au plus tard le mercredi 30 décembre ; une séance plus tard, elle est réglée le 4 janvier 2027 et compte pour 2027

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èglementDernier jour de bourse pour 2026Réglé leUne séance plus tard, réglé le
Euronext (Paris, Amsterdam)J+2mardi 29 décembrejeudi 31 décembrelundi 4 janvier 2027
Xetra (Francfort)J+2mardi 29 décembrejeudi 31 décembrelundi 4 janvier 2027
NYSE, NasdaqJ+1mercredi 30 décembrejeudi 31 décembrelundi 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émoMontant
Plus-value 2026, 20 Nvidia vendues le 16 mars2 357,21 €
Flat tax correspondante, à 31,4 %740,16 €
LVMH, perte par action (653,92 € moins 402,45 €)251,47 €
Perte sur 10 actions2 514,70 €
Perte sur les 25 actions6 286,75 €
Impôt effacé par l’une ou l’autre vente, réglée en 2026740,16 €
Perte restant à reporter, 10 actions vendues157,49 €
Perte restant à reporter, 25 actions vendues3 929,54 €
Graphique en barres du portefeuille de démonstration français de Portfolio Terminal aux clôtures du 9 novembre 2026 : une plus-value 2026 de 2 357,21 € sur Nvidia, face à une perte de 2 514,70 € sur 10 actions LVMH et de 6 286,75 € sur les 25 ; l’une ou l’autre vente efface 740,16 € de flat tax
Source : portefeuille de démonstration Portfolio Terminal, cours de référence BCE, clôtures Yahoo Finance du 9 novembre 2026

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 :

ÉtapeDollarsCours BCE, dollars pour un euroEuros
Achat de 40 à 28,91 $, 1er mai 2023, 5 $ de frais1 161,40 $1,0981 (cours du 28 avril)1 057,65 €
Achat de 20 à 76,20 $, 19 avril 2024, 5 $ de frais1 529,00 $1,06531 435,28 €
Prix de revient moyen par action (PMP)44,84 $41,55 €
Vente de 20 à 183,22 $, 16 mars 2026, 5 $ de frais3 659,40 $1,14783 188,19 €
Plus-value sur les 20 actions2 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.

Graphique en barres de la plus-value sur 20 actions Nvidia vendues le 16 mars 2026, en euros : 2 357,21 € quand chaque achat et la vente sont convertis à leur propre cours BCE, 2 406,87 € quand le gain en dollars du courtier est converti une seule fois au cours du jour de la vente, soit 49,66 € d’écart
Source : cours de référence de l’euro de la BCE pour le dollar, portefeuille de démonstration Portfolio Terminal

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

  1. 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.
  2. Listez les lignes sous leur prix de revient, avec la perte par action.
  3. 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.
  4. Si vous vendez, passez l’ordre avec un jour de marge et lisez l’avis de fin d’année de votre courtier.
  5. 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 code78 lines of Python, and what it printed
# 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–2036

Cet 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

10 min de lectureTax-loss harvesting : 32 paires d’ETF mesurées, et pourquoi une forte corrélation ne donne pas le même rendementNous avons mesuré 32 paires d’ETF sur 261 semaines jusqu’au 16 octobre 2026. Les paires sur le même indice n’ont jamais eu une semaine à plus de 1 point d’écart. Les autres étaient corrélées de 0,930 à 0,996, et pourtant SMH et SOXX, à 0,987, ont fini l’année à 13,82 points d’écart. Le traitement fiscal dépend du pays.12 min de lecturePourquoi le luxe chute en Bourse : LVMH −39,9 % et Hermès −39,2 % en 2026LVMH (MC.PA) a perdu 39,9 % et Hermès (RMS.PA) 39,2 % en 2026 au 22 octobre 2026, quand le S&P 500 gagnait 11,9 %. Pour Hermès, aucune année depuis au moins 2001 n’a aussi mal commencé ; pourtant, dans les six baisses de 19 % ou plus du S&P 500 depuis 2000, il a moins baissé que l’indice. Nous avons mesuré pourquoi.8 min de lectureComment calculer la performance de votre portefeuille (et pourquoi votre courtier n’est pas d’accord)Trois formules pour calculer la performance d’un portefeuille : le rendement simple, la performance pondérée par les capitaux (XIRR) et celle pondérée par le temps. Sur un même compte où 15 000 € ont été versés, elles donnent +1,33 %, +1,60 % par an et +4,50 %.

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.