{"slug":"french-dividend-flat-tax-vs-income-tax","qid":"fiscalite_par_tranche","label":"fiscalite_par_tranche","post_title":"french-dividend-flat-tax-vs-income-tax","post_url":"/blog/lang/fr/french-dividend-flat-tax-vs-income-tax#q-fiscalite_par_tranche","columns":["tmi_bucket","net_pfu_eur","net_bareme_eur","ecart_bareme_moins_pfu_eur","taux_global_pfu_pct","taux_global_bareme_pct","taux_bareme_label"],"rows":[{"tmi_bucket":"0 %","net_pfu_eur":700,"net_bareme_eur":828,"ecart_bareme_moins_pfu_eur":128,"taux_global_pfu_pct":30,"taux_global_bareme_pct":17.2,"taux_bareme_label":"17,2"},{"tmi_bucket":"11 %","net_pfu_eur":700,"net_bareme_eur":769,"ecart_bareme_moins_pfu_eur":69,"taux_global_pfu_pct":30,"taux_global_bareme_pct":23.1,"taux_bareme_label":"23,1"},{"tmi_bucket":"30 %","net_pfu_eur":700,"net_bareme_eur":668,"ecart_bareme_moins_pfu_eur":-32,"taux_global_pfu_pct":30,"taux_global_bareme_pct":33.2,"taux_bareme_label":"33,2"},{"tmi_bucket":"41 %","net_pfu_eur":700,"net_bareme_eur":610,"ecart_bareme_moins_pfu_eur":-90,"taux_global_pfu_pct":30,"taux_global_bareme_pct":39,"taux_bareme_label":"39"},{"tmi_bucket":"45 %","net_pfu_eur":700,"net_bareme_eur":589,"ecart_bareme_moins_pfu_eur":-111,"taux_global_pfu_pct":30,"taux_global_bareme_pct":41.1,"taux_bareme_label":"41,1"}],"shape":"table","sql":"WITH\n    1000.0 AS brut_eur,\n    0.128  AS ir_pfu,\n    0.172  AS prelevements_sociaux,\n    0.40   AS abattement,\n    0.068  AS csg_deductible\nSELECT\n    concat(toString(tmi), ' %')                                                   AS tmi_bucket,\n    toInt32(round(brut_eur * (1 - ir_pfu - prelevements_sociaux)))                 AS net_pfu_eur,\n    toInt32(round(brut_eur * (1 - prelevements_sociaux)\n                  - brut_eur * (1 - abattement - csg_deductible) * tmi / 100))     AS net_bareme_eur,\n    toInt32(round(brut_eur * (ir_pfu\n                  - (1 - abattement - csg_deductible) * tmi / 100)))               AS ecart_bareme_moins_pfu_eur,\n    toInt32(round((ir_pfu + prelevements_sociaux) * 100))                          AS taux_global_pfu_pct,\n    round((prelevements_sociaux\n           + (1 - abattement - csg_deductible) * tmi / 100) * 100, 1)              AS taux_global_bareme_pct,\n    replaceAll(toString(round((prelevements_sociaux\n           + (1 - abattement - csg_deductible) * tmi / 100) * 100, 1)), '.', ',')   AS taux_bareme_label\nFROM\n(\n    SELECT arrayJoin([0, 11, 30, 41, 45]) AS tmi\n)\nORDER BY tmi","computed_at":"2026-10-09T15:52:59.444059+00:00","elapsed":0.015591315}