// ============================================================ // Monarch — Simulateurs : Dutreil · LBO · OBO (window.*) // Requiert window.MSC (simcore.jsx). // ============================================================ (function () { const { useState, useEffect } = React; const M = window.MSC; const { C, SERIF, BODY, IS, flatTax, dmtg, fmt, pct, CountEuro, injectCore, useReveal, Eyebrow, Label, MoneyInput, IntInput, Shell, InputsCard, Doctrine, Alert, CTAEmail, Gauge, Stat, ProsCons } = M; // util commun : marqueur flèche + boîte blueprint function Defs() { return ( ); } function Box({ x, y, w, h, lines, fill }) { return ( {lines.map((l, i) => {l})} ); } const Flow = ({ d, on, delay, dash, w, color }) => ; const Lbl = ({ x, y, on, delay, children, color, anchor }) => {children}; // ===================================================== // 1. DUTREIL // ===================================================== function DutreilSimulator() { useEffect(injectCore, []); const [valeur, setValeur] = useState(2000000); const [enfants, setEnfants] = useState(2); const [done, setDone] = useState(false); const [busy, setBusy] = useState(false); const reveal = useReveal(done, 250); const V = Math.max(0, Number(valeur) || 0); const n = Math.max(1, Number(enfants) || 1); const perChild = V / n; const stdTax = dmtg(Math.max(0, perChild - 100000)) * n; const dutBase = Math.max(0, 0.25 * perChild - 100000); const dutTax = dmtg(dutBase) * n; const saved = stdTax - dutTax; const go = () => { setBusy(true); setDone(false); setTimeout(() => { setBusy(false); setDone(true); }, 700); }; return ( {!done &&
} {done &&
setDone(false)} />
Dette fiscale résiduelle
Assiette réduite de 75 % (art. 787 B)

La pratique courante consiste à lier ce pacte à une donation avec réserve d'usufruit. Le cabinet s'y oppose : ce montage dilue votre qualité d'associé sur les titres transmis et partage la décision avec les nu-propriétaires.

L'ingénierie Monarch combine la donation en pleine propriété du Pacte Dutreil avec l'émission de parts de préférence à droit de vote renforcé. Vous transmettez l'essentiel de la valeur économique exonérée, tout en conservant le contrôle décisionnel du groupe — dans le strict respect de la prohibition des clauses léonines (art. 1844-1 C. civ.), un droit minimal restant attaché à chaque catégorie de titres.

}
); } // Mécanisme + frise chronologique du Pacte Dutreil function DutreilMechanism({ reveal }) { const [on, setOn] = useState(false); useEffect(() => { if (reveal) { const id = setTimeout(() => setOn(true), 250); return () => clearTimeout(id); } else setOn(false); }, [reveal]); const step = (n, t, d) => (
{n}
{t}
{d}
); return (
Le dispositif · art. 787 B CGI

Comment fonctionne l'exonération de 75 %

Le Pacte Dutreil permet de transmettre les titres d'une société opérationnelle en n'étant taxé que sur 25 % de leur valeur, sous réserve d'engagements de conservation et d'une fonction de direction.

{step("1", "Engagement collectif", "Signé avant la transmission, il porte sur au moins 17 % des droits financiers et 34 % des droits de vote (seuils non cotés). Durée minimale : 2 ans.")} {step("2", "Transmission (donation ou décès)", "Pendant l'engagement collectif, les titres sont transmis. L'abattement de 75 % s'applique sur l'assiette des droits.")} {step("3", "Engagement individuel", "Chaque héritier ou donataire s'engage à conserver les titres 4 ans supplémentaires à compter de la fin de l'engagement collectif.")} {step("4", "Fonction de direction", "L'un des signataires doit exercer une fonction de direction pendant l'engagement collectif puis 3 ans après la transmission.")}

Durée d'engagement cumulée : 2 ans (collectif) + 4 ans (individuel) = jusqu'à 6 ans de conservation. La donation en pleine propriété avant 70 ans ouvre droit à une réduction de droits supplémentaire de 50 %.

); } function Timeline2({ on }) { const x0 = 20, x1 = 700, y = 70; const X = (yr) => x0 + (x1 - x0) * (yr / 6); const seg = (a, b, color, label, yOff) => { const xa = X(a), xb = X(b); return ( {label} ); }; return ( {[0, 2, 6].map((yr) => An {yr} )} {seg(0, 2, C.ardoiseF, "Engagement collectif (2 ans min.)", -14)} {seg(2, 6, C.saugeF, "Engagement individuel (4 ans)", -14)} Transmission ); } // verrou géométrique qui se referme (anse qui se dessine) function LockSvg({ on }) { return ( ); } // ===================================================== // 2. LBO // ===================================================== function LBOSimulator() { useEffect(injectCore, []); const [acq, setAcq] = useState(1500000); const [done, setDone] = useState(false); const [busy, setBusy] = useState(false); const reveal = useReveal(done, 250); const D = Math.max(0, Number(acq) || 0); const nomPropre = D / (1 - 0.314); const holding = D / (1 - 0.0125); const economy = nomPropre - holding; const base = nomPropre || 1; const go = () => { setBusy(true); setDone(false); setTimeout(() => { setBusy(false); setDone(true); }, 700); }; return ( {!done &&
} {done &&
setDone(false)} />

La holding de reprise rembourse la dette d'acquisition grâce aux dividendes de la cible, remontés quasiment sans frottement (régime mère-fille). Le cabinet sécurise la structuration — intégration fiscale, garanties, gouvernance — pour que le levier serve votre stratégie sans fragiliser l'exploitation. La répartition du capital respecte la prohibition des clauses léonines, chaque associé conservant un droit minimal.

}
); } function BarRow({ label, sub, segments, base, value, run, color, good }) { return (
{label}
{sub}
); } function LBOSchema({ reveal, economy }) { return (
Schéma d'acquisition · plan d'architecte

Le flux de la reprise par holding

{/* banque -> holding */} Dette bancaire {/* holding -> cible (rachat) */} Rachat des titres {/* cible -> holding (dividendes mère-fille) */} Dividendes (mère-fille) {/* holding -> banque (remboursement) */} Remboursement
); } // ===================================================== // 3. OBO // ===================================================== function OBOSimulator() { useEffect(injectCore, []); const [valo, setValo] = useState(3000000); const [cash, setCash] = useState(1000000); const [done, setDone] = useState(false); const [busy, setBusy] = useState(false); const reveal = useReveal(done, 250); const S = Math.max(0, Number(valo) || 0); const C0 = Math.min(Math.max(0, Number(cash) || 0), S); const netApresPV = C0 * 0.70; // indicatif PFU 30 % const partVendue = pct(C0, S); const go = () => { setBusy(true); setDone(false); setTimeout(() => { setBusy(false); setDone(true); }, 700); }; return ( {!done &&
} {done &&
setDone(false)} />
Disponibles sur votre compte personnel
avant imposition de la plus-value
≈ {fmt(netApresPV)} net après PFU 30 % (indicatif, hors abattements / apport-cession)

La nouvelle holding lève une dette de {fmt(C0)} pour vous payer. Cette dette est ensuite remboursée par les dividendes futurs de l'entreprise, remontés sans frottement notable (régime mère-fille).

Votre outil de travail finance lui-même l'extraction de votre patrimoine personnel.

Vous rendez liquide une partie de la valeur créée tout en conservant la direction de votre groupe. La gouvernance de la holding (parts de préférence à droit de vote renforcé, statuts sur-mesure) verrouille le contrôle décisionnel — dans le respect de la prohibition des clauses léonines : chaque catégorie de titres conserve un droit minimal aux résultats et au vote.

}
); } function OBOSchema({ reveal, cash }) { return (
Schéma de l'opération · plan d'architecte

La vente à soi-même

{/* dirigeant cède titres -> holding */} Cession de titres {/* banque -> holding (dette) */} Dette {fmt(cash)} {/* holding -> dirigeant (paiement) */} Paiement {fmt(cash)} {/* cible -> holding (dividendes) */} Dividendes → remboursement
); } // ---- éléments partagés locaux ---- function ParamRecap({ items, onEdit }) { return (
{items.map((it) =>
{it[0]} {it[1]}
)}
); } function Panel({ tone, eyebrow, title, children }) { const dark = tone === "dark"; return (
{eyebrow}

{title}

{children}
); } function Synth({ reveal, value, label, sub }) { return (
{sub}
0 ? value : 0} run={reveal} style={{ fontFamily: SERIF, fontSize: "clamp(30px,4vw,48px)", fontWeight: 500, color: C.saugeF, letterSpacing: "-0.01em" }} />
{label}
); } window.DutreilSimulator = DutreilSimulator; window.LBOSimulator = LBOSimulator; window.OBOSimulator = OBOSimulator; window.__mscShared = { ParamRecap, Panel, Synth, Defs, Box, Flow, Lbl }; })();