{
  "calculate_output": "calculate_output_divide",
  "default_value": 0,
  "definition_period": "year",
  "description": {
    "2024-10-10": [
      {
        "href": "https://www.budget.gouv.fr/rechercher?query=PLF+2025+-+%C3%89valuations+pr%C3%A9alables+des+articles+du+projet+de+loi+&field_tags_target_id=&sort_bef_combine=search_api_relevance_DESC&f%5B0%5D=type%3Adocuments&f%5B0%5D=type%3Adocuments",
        "note": "L’Article 3 du PLF 2025 instaure une contribution différentielle permettant d’assurer une imposition minimale de 20 % des plus hauts revenus. Ainsi, dès lors que le taux moyen d’imposition au titre de l’impôt sur le revenu, de la contribution exceptionnelle sur les hauts revenus (CEHR) sera inférieur à 20 % du revenu fiscal de référence (RFR), une contribution différentielle sera appliquée pour atteindre ce niveau d’imposition. Cette contribution s’applique, parmi les foyers assujettis à la CEHR, à savoir ceux dont le revenu de référence dépasse 250 000 € pour un célibataire et 500 000 € pour un couple, à ceux dont le taux moyen d’imposition est inférieur à 20 %.",
        "title": "PLF 2025 - Évaluations préalables des articles du projet de loi"
      }
    ]
  },
  "dtype": "float32",
  "entity": "foyer_fiscal",
  "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/contribution_differentielle_hauts_revenus.py",
  "formulas": {
    "2025-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 4,
            "lineno": 2,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 54,
                "end_lineno": 2,
                "id": "contribution_differentielle_hauts_revenus_eligible",
                "lineno": 2
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 60,
                  "end_lineno": 3,
                  "lineno": 3,
                  "value": "contribution_differentielle_hauts_revenus_eligible"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 62,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 68,
                  "end_lineno": 3,
                  "id": "period",
                  "lineno": 3
                }
              ],
              "ast_class": "Call",
              "col_offset": 57,
              "end_col_offset": 9,
              "end_lineno": 4,
              "func": {
                "ast_class": "Name",
                "col_offset": 57,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 69,
                "end_lineno": 2,
                "id": "foyer_fiscal",
                "lineno": 2
              },
              "keywords": [],
              "lineno": 2
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 104,
            "end_lineno": 10,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 8,
                "id": "taux",
                "lineno": 8
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "taux_cdhr",
              "col_offset": 11,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 104,
              "end_lineno": 10,
              "lineno": 8,
              "value": {
                "ast_class": "Attribute",
                "attr": "contribution_differentielle_hauts_revenus",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 94,
                "end_lineno": 10,
                "lineno": 8,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "contributions_exceptionnelles",
                  "col_offset": 11,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 52,
                  "end_lineno": 10,
                  "lineno": 8,
                  "value": {
                    "ast_class": "Attribute",
                    "attr": "impot_revenu",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 22,
                    "end_lineno": 10,
                    "lineno": 8,
                    "value": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 8,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 14,
                          "end_lineno": 9,
                          "id": "period",
                          "lineno": 9
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 11,
                      "end_col_offset": 9,
                      "end_lineno": 10,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 11,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 21,
                        "end_lineno": 8,
                        "id": "parameters",
                        "lineno": 8
                      },
                      "keywords": [],
                      "lineno": 8
                    }
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 13,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 56,
                "end_lineno": 11,
                "id": "contribution_differentielle_hauts_revenus_ressources",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 62,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "contribution_differentielle_hauts_revenus_ressources"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 64,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 70,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 59,
              "end_col_offset": 9,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 59,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 71,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 18,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 52,
                "end_lineno": 16,
                "id": "contribution_differentielle_hauts_revenus_decote",
                "lineno": 16
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 58,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": "contribution_differentielle_hauts_revenus_decote"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 60,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 66,
                  "end_lineno": 17,
                  "id": "period",
                  "lineno": 17
                }
              ],
              "ast_class": "Call",
              "col_offset": 55,
              "end_col_offset": 9,
              "end_lineno": 18,
              "func": {
                "ast_class": "Name",
                "col_offset": 55,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 67,
                "end_lineno": 16,
                "id": "foyer_fiscal",
                "lineno": 16
              },
              "keywords": [],
              "lineno": 16
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 60,
            "end_lineno": 21,
            "lineno": 19,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 28,
                "end_lineno": 19,
                "id": "impot_cible_apres_decote",
                "lineno": 19
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 31,
              "end_col_offset": 60,
              "end_lineno": 21,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 67,
                "end_lineno": 20,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 60,
                  "end_lineno": 20,
                  "id": "contribution_differentielle_hauts_revenus_ressources",
                  "lineno": 20
                },
                "lineno": 20,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Name",
                  "col_offset": 63,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 67,
                  "end_lineno": 20,
                  "id": "taux",
                  "lineno": 20
                }
              },
              "lineno": 19,
              "op": {
                "ast_class": "Sub"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 12,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 60,
                "end_lineno": 21,
                "id": "contribution_differentielle_hauts_revenus_decote",
                "lineno": 21
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 29,
            "lineno": 27,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 45,
                "end_lineno": 27,
                "id": "contribution_exceptionnelle_hauts_revenus",
                "lineno": 27
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 51,
                  "end_lineno": 28,
                  "lineno": 28,
                  "value": "contribution_exceptionnelle_hauts_revenus"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 53,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 59,
                  "end_lineno": 28,
                  "id": "period",
                  "lineno": 28
                }
              ],
              "ast_class": "Call",
              "col_offset": 48,
              "end_col_offset": 9,
              "end_lineno": 29,
              "func": {
                "ast_class": "Name",
                "col_offset": 48,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 60,
                "end_lineno": 27,
                "id": "foyer_fiscal",
                "lineno": 27
              },
              "keywords": [],
              "lineno": 27
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 67,
            "end_lineno": 30,
            "lineno": 30,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 7,
                "end_lineno": 30,
                "id": "pfu",
                "lineno": 30
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 23,
                  "end_col_offset": 58,
                  "end_lineno": 30,
                  "lineno": 30,
                  "value": "prelevement_forfaitaire_unique_ir"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 60,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 66,
                  "end_lineno": 30,
                  "id": "period",
                  "lineno": 30
                }
              ],
              "ast_class": "Call",
              "col_offset": 10,
              "end_col_offset": 67,
              "end_lineno": 30,
              "func": {
                "ast_class": "Name",
                "col_offset": 10,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 22,
                "end_lineno": 30,
                "id": "foyer_fiscal",
                "lineno": 30
              },
              "keywords": [],
              "lineno": 30
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 33,
            "lineno": 31,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 39,
                "end_lineno": 31,
                "id": "prelevement_forfaitaire_liberatoire",
                "lineno": 31
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 42,
              "end_col_offset": 9,
              "end_lineno": 33,
              "left": {
                "ast_class": "UnaryOp",
                "col_offset": 42,
                "end_col_offset": 44,
                "end_lineno": 31,
                "lineno": 31,
                "op": {
                  "ast_class": "USub"
                },
                "operand": {
                  "ast_class": "Constant",
                  "col_offset": 43,
                  "end_col_offset": 44,
                  "end_lineno": 31,
                  "lineno": 31,
                  "value": 1
                }
              },
              "lineno": 31,
              "op": {
                "ast_class": "Mult"
              },
              "right": {
                "args": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 8,
                    "end_col_offset": 45,
                    "end_lineno": 32,
                    "lineno": 32,
                    "value": "prelevement_forfaitaire_liberatoire"
                  },
                  {
                    "ast_class": "Name",
                    "col_offset": 47,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 53,
                    "end_lineno": 32,
                    "id": "period",
                    "lineno": 32
                  }
                ],
                "ast_class": "Call",
                "col_offset": 47,
                "end_col_offset": 9,
                "end_lineno": 33,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 47,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 59,
                  "end_lineno": 31,
                  "id": "foyer_fiscal",
                  "lineno": 31
                },
                "keywords": [],
                "lineno": 31
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 43,
            "end_lineno": 34,
            "lineno": 34,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 10,
                "end_lineno": 34,
                "id": "ip_net",
                "lineno": 34
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 26,
                  "end_col_offset": 34,
                  "end_lineno": 34,
                  "lineno": 34,
                  "value": "ip_net"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 36,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 42,
                  "end_lineno": 34,
                  "id": "period",
                  "lineno": 34
                }
              ],
              "ast_class": "Call",
              "col_offset": 13,
              "end_col_offset": 43,
              "end_lineno": 34,
              "func": {
                "ast_class": "Name",
                "col_offset": 13,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 25,
                "end_lineno": 34,
                "id": "foyer_fiscal",
                "lineno": 34
              },
              "keywords": [],
              "lineno": 34
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 46,
            "lineno": 35,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 35,
                "id": "impot_avant_creation_cdhr",
                "lineno": 35
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 13,
              "end_lineno": 45,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 13,
                "end_lineno": 42,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 51,
                  "end_lineno": 39,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 8,
                    "end_col_offset": 45,
                    "end_lineno": 38,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 8,
                      "end_col_offset": 13,
                      "end_lineno": 37,
                      "left": {
                        "ast_class": "Name",
                        "col_offset": 8,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 14,
                        "end_lineno": 36,
                        "id": "ip_net",
                        "lineno": 36
                      },
                      "lineno": 36,
                      "op": {
                        "ast_class": "Add"
                      },
                      "right": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 13,
                        "end_lineno": 37,
                        "id": "pfu",
                        "lineno": 37
                      }
                    },
                    "lineno": 36,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 45,
                      "end_lineno": 38,
                      "id": "prelevement_forfaitaire_liberatoire",
                      "lineno": 38
                    }
                  },
                  "lineno": 36,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 51,
                    "end_lineno": 39,
                    "id": "contribution_exceptionnelle_hauts_revenus",
                    "lineno": 39
                  }
                },
                "lineno": 36,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 12,
                      "end_col_offset": 66,
                      "end_lineno": 41,
                      "lineno": 41,
                      "value": "contribution_differentielle_hauts_revenus_majoration"
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 68,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 74,
                      "end_lineno": 41,
                      "id": "period",
                      "lineno": 41
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 10,
                  "end_col_offset": 13,
                  "end_lineno": 42,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 22,
                    "end_lineno": 40,
                    "id": "foyer_fiscal",
                    "lineno": 40
                  },
                  "keywords": [],
                  "lineno": 40
                }
              },
              "lineno": 36,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "args": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 12,
                    "end_col_offset": 72,
                    "end_lineno": 44,
                    "lineno": 44,
                    "value": "contribution_differentielle_hauts_revenus_majoration_impot"
                  },
                  {
                    "ast_class": "Name",
                    "col_offset": 74,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 80,
                    "end_lineno": 44,
                    "id": "period",
                    "lineno": 44
                  }
                ],
                "ast_class": "Call",
                "col_offset": 10,
                "end_col_offset": 13,
                "end_lineno": 45,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 22,
                  "end_lineno": 43,
                  "id": "foyer_fiscal",
                  "lineno": 43
                },
                "keywords": [],
                "lineno": 43
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 49,
            "lineno": 47,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 53,
                "end_lineno": 47,
                "id": "contribution_differentielle_hauts_revenus_montant",
                "lineno": 47
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 60,
                  "end_lineno": 48,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 32,
                    "end_lineno": 48,
                    "id": "impot_cible_apres_decote",
                    "lineno": 48
                  },
                  "lineno": 48,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 35,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 60,
                    "end_lineno": 48,
                    "id": "impot_avant_creation_cdhr",
                    "lineno": 48
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 62,
                  "end_col_offset": 63,
                  "end_lineno": 48,
                  "lineno": 48,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 56,
              "end_col_offset": 9,
              "end_lineno": 49,
              "func": {
                "ast_class": "Name",
                "col_offset": 56,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 60,
                "end_lineno": 47,
                "id": "max_",
                "lineno": 47
              },
              "keywords": [],
              "lineno": 47
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 89,
            "lineno": 86,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 59,
              "end_lineno": 88,
              "left": {
                "ast_class": "Name",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 58,
                "end_lineno": 87,
                "id": "contribution_differentielle_hauts_revenus_eligible",
                "lineno": 87
              },
              "lineno": 87,
              "op": {
                "ast_class": "Mult"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 10,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 59,
                "end_lineno": 88,
                "id": "contribution_differentielle_hauts_revenus_montant",
                "lineno": 88
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 89,
        "lineno": 1,
        "name": "formula_2025_01_01"
      },
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/contribution_differentielle_hauts_revenus.py",
      "parameters": [
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.taux_cdhr",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.seuil_celibataire",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.seuil_couple",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.majoration_impot_couple",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.majoration_impot_pac",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.taux_decote",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.plafond_revenus_decote_celibataire",
        "impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.plafond_revenus_decote_couple"
      ],
      "source_code": "def formula_2025_01_01(foyer_fiscal, period, parameters):  # Sur revenus 2025\n    contribution_differentielle_hauts_revenus_eligible = foyer_fiscal(\n        'contribution_differentielle_hauts_revenus_eligible', period\n        )\n\n    # III. – La contribution mentionnée au I est égale à la différence, lorsqu’elle est positive, entre :\n    # (8) « 1° le montant résultant de l’application d’un taux de 20 % au revenu défini au II ;\n    taux = parameters(\n        period\n        ).impot_revenu.contributions_exceptionnelles.contribution_differentielle_hauts_revenus.taux_cdhr\n    contribution_differentielle_hauts_revenus_ressources = foyer_fiscal(\n        'contribution_differentielle_hauts_revenus_ressources', period\n        )\n\n    # [on soustrait la décote définie en V]\n    contribution_differentielle_hauts_revenus_decote = foyer_fiscal(\n        'contribution_differentielle_hauts_revenus_decote', period\n        )\n    impot_cible_apres_decote = (\n        contribution_differentielle_hauts_revenus_ressources * taux\n        ) - contribution_differentielle_hauts_revenus_decote\n\n    # (9) « 2° et le montant résultant de la somme de l’impôt sur le revenu et de la contribution prévue à l’article\n    # 223 sexies tels que définis au IV,\n    # ainsi que des prélèvements libératoires de l’impôt sur le revenu\n    # mentionnés au c du 1° du IV de l’article 1417,\n    contribution_exceptionnelle_hauts_revenus = foyer_fiscal(\n        'contribution_exceptionnelle_hauts_revenus', period\n        )\n    pfu = foyer_fiscal('prelevement_forfaitaire_unique_ir', period)\n    prelevement_forfaitaire_liberatoire = -1 * foyer_fiscal(\n        'prelevement_forfaitaire_liberatoire', period\n        )\n    ip_net = foyer_fiscal('ip_net', period)\n    impot_avant_creation_cdhr = (\n        ip_net\n        + pfu\n        + prelevement_forfaitaire_liberatoire\n        + contribution_exceptionnelle_hauts_revenus\n        + foyer_fiscal(\n            'contribution_differentielle_hauts_revenus_majoration', period\n            )\n        + foyer_fiscal(\n            'contribution_differentielle_hauts_revenus_majoration_impot', period\n            )\n        )\n    contribution_differentielle_hauts_revenus_montant = max_(\n        impot_cible_apres_decote - impot_avant_creation_cdhr, 0\n        )\n\n    # IV. – L’impôt sur le revenu mentionné au 2° du III est majoré de l’avantage en impôt procuré par [les\n    # réductions d’impôt prévues à l’article 199 quater B], à l’article 199 undecies B, à l’exception des vingt-sixième à dernier alinéas du I, à l’article 238 bis\n    # et à l’article 107 de la loi n° 2021-1104 du 22 août 2021 portant lutte contre le dérèglement climatique et renforcement de la résilience face à ses effets,\n    # ainsi que de l’avantage en impôt procuré par les crédits d’impôt prévus à [l’article 200 undecies], [aux articles 244 quater B à 244 quater W](244 B bis et 244 W)\n    # et [aux articles 27 et 151 de la loi n° 2020-1721 du 29 décembre 2020 de finances pour 2021] et par les crédits d’impôt prévus par les conventions fiscales internationales, dans la limite de l’impôt dû (8fv, mais pas seul).\n    # (11) « La contribution mentionnée au 2° du III est déterminée sans qu’il soit fait application du 1 du II de l’article 223 sexies.\n    #\n    # [leximpact : V = décote ajoutée plus haut]\n    # (12) « V. – Toutefois, lorsque le revenu mentionné au II est inférieur ou égal à 330 000 € pour les contribuables célibataires,\n    # veufs, séparés ou divorcés et à 660 000 € pour les contribuables soumis à imposition commune,\n    # le montant résultant de l’application du 1° du III est diminué de la différence, lorsqu’elle est positive,\n    # entre ce montant et 82,5 % de la différence entre ce revenu et 250 000 € pour les contribuables célibataires,\n    # veufs, séparés ou divorcés ou 500 000 € pour les contribuables soumis à imposition commune.\n    #\n    # (13) « VI. – La contribution est déclarée, contrôlée et recouvrée selon les mêmes règles\n    # et sous les mêmes garanties et sanctions qu’en matière d’impôt sur le revenu. »\n    # II.- Le montant de l’impôt sur le revenu mentionné au 2° du III de l’article 224 du code général des impôts\n    # est également majoré de l’avantage en impôt procuré par les réductions d’impôt et, dans la limite de l’impôt dû, des crédits d’impôt prévus par :\n    # (15) 1° les articles 199 decies E, 199 decies EA, 199 decies F, 199 decies G, 199 decies I, [199 terdecies-0 B], [199 sexvicies] et 199 septvicies du même code ;\n    # (16) 2° [les articles 199 terdecies-0 A], 199 terdecies-0 A bis, 199 terdecies-0 A ter, 199 terdecies-0 AA,\n    # 199 terdecies-0 AB et [(199 terdecies-0 C)] du même code, à raison des versements effectués au titre de souscriptions réalisées jusqu’au 31 décembre 2024 ;\n    # (17) 3° les articles 199 undecies A, les vingt-sixième à dernier alinéas du I de l’article 199 undecies B,\n    # les articles 199 undecies C et 199 novovicies du même code, à raison des investissements réalisés jusqu’au 31 décembre 2024 ;\n    # (18) 4° les articles 199 duovicies, 200 quater A et 200 quater C du même code, à raison des dépenses payées jusqu’au 31 décembre 2024 ;\n    # (19) 5° l’article 199 tervicies du même code, à raison des dépenses payées et des souscriptions réalisées jusqu’au 31 décembre 2024 ;\n    # (20) 6° l’article 199 tricies du même code, à raison des logements donnés en location dans le cadre d’une des conventions mentionnées\n    # aux articles L. 321-4 ou L. 321-8 du code de la construction et de l’habitation dont la date d’enregistrement\n    # de la demande de conventionnement par l’Agence nationale de l’habitat est intervenue au plus tard le 31 décembre 2024 ;\n    # (21) 7° l’article 200 quindecies du même code à raison des opérations forestières réalisées jusqu’au 31 décembre 2024.\n    # (22) III.- A. – Les I et II sont applicables à compter de l’imposition des revenus de l’année 2024 et jusqu’à l’imposition des revenus de l’année 2026.\n    # (23) B. – Pour l’imposition des revenus de l’année 2024, les revenus soumis aux prélèvements libératoires mentionnés\n    # au c du 1° du IV de l’article 1417 du code général des impôts ne sont pas pris en compte pour la détermination\n    # du revenu défini au II de l’article 224 du même code et ces prélèvements libératoires ne sont pas retenus\n    # pour déterminer le montant défini au 2° du III de l’article 224 du même code.\n\n    return (\n        contribution_differentielle_hauts_revenus_eligible\n        * contribution_differentielle_hauts_revenus_montant\n        )\n",
      "start_line_number": 243,
      "stop_line_number": 332,
      "variables": [
        "contribution_differentielle_hauts_revenus_decote",
        "contribution_differentielle_hauts_revenus_eligible",
        "contribution_differentielle_hauts_revenus_majoration",
        "contribution_differentielle_hauts_revenus_majoration_impot",
        "contribution_differentielle_hauts_revenus_ressources",
        "contribution_exceptionnelle_hauts_revenus",
        "ip_net",
        "prelevement_forfaitaire_liberatoire",
        "prelevement_forfaitaire_unique_ir"
      ]
    }
  },
  "json_type": "number",
  "label": "Contribution différentielle sur les hauts revenus (CDHR)",
  "last_value_still_valid_on": "2025-01-01",
  "name": "contribution_differentielle_hauts_revenus",
  "reference": {
    "2024-10-10": [
      {
        "href": "https://www.assemblee-nationale.fr/dyn/17/textes/l17b0324_projet-loi#_Toc179428410",
        "title": "Article 3 du Projet de loi de finances pour 2025"
      }
    ]
  },
  "referring_variables": [
    "impots_directs"
  ],
  "short_label": "Contribution différentielle hauts revenus",
  "start_line_number": 235,
  "stop_line_number": 332,
  "unit": "currency",
  "value_type": "float"
}
