Mise en place de la notion de perte définitive, ainsi que la révision avec statut Polongation

This commit is contained in:
ocroguennec committed 2026-08-22 16:27:41 +02:00
1 parent 4ad6ea79e8
commit 8e1b82d161
21 files changed
+1069 -184

No files matched your search

+4 -1
View File
@@ -266,6 +266,9 @@ export default function TaxReport() {
]).then(([d, d2561, d2778]) => {
setData(d);
const frLignes = (d2561?.lignes ?? []).filter(l => l.domiciliation === 'FR');
// case_2TY (pertes en capital) n'est pas spécifique FR/étranger contrairement aux autres
// cases — une perte définitive sur une plateforme étrangère doit compter aussi.
const allLignes = d2561?.lignes ?? [];
const platEtr = (d2778?.plateformes ?? []).filter(p => !excluded.has(p.id));
const etrBA = p => Object.values(p.mois ?? {}).reduce((s, v) => s + v, 0);
const pfo = 0.128; // taux par défaut — affiné par pfuList si dispo
@@ -274,7 +277,7 @@ export default function TaxReport() {
case_2TR: frLignes.reduce((s, l) => s + (l.case_2TR ?? 0), 0) + Math.round(platEtr.reduce((s, p) => s + etrBA(p), 0)),
case_2BH: frLignes.reduce((s, l) => s + (l.case_2BH ?? 0), 0) + (pfoAssujetti ? Math.round(platEtr.reduce((s, p) => s + etrBA(p), 0)) : 0),
case_2CK: frLignes.reduce((s, l) => s + (l.case_2CK ?? 0), 0) + (pfoAssujetti ? Math.round(platEtr.reduce((s, p) => s + etrBA(p), 0) * pfo) : 0),
case_2TY: frLignes.reduce((s, l) => s + (l.case_2TY ?? 0), 0),
case_2TY: allLignes.reduce((s, l) => s + (l.case_2TY ?? 0), 0),
});
}).finally(() => setLoading(false));
};