@leximpact/socio-fiscal-openfisca-json
Version:
JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)
1,360 lines (1,359 loc) • 48 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"entity": "foyer_fiscal",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"formulas": {
"0001-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 12,
"end_col_offset": 24,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 26,
"end_col_offset": 32,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 34,
"end_col_offset": 44,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Renvoie la somme des réductions d'impôt\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 33,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 5,
"id": "reductions",
"lineno": 5
}
],
"value": {
"ast_class": "List",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 16,
"end_lineno": 7,
"lineno": 7,
"value": "accult"
},
{
"ast_class": "Constant",
"col_offset": 18,
"end_col_offset": 41,
"end_lineno": 7,
"lineno": 7,
"value": "frais_de_comptabilite"
},
{
"ast_class": "Constant",
"col_offset": 43,
"end_col_offset": 51,
"end_lineno": 7,
"lineno": 7,
"value": "assvie"
},
{
"ast_class": "Constant",
"col_offset": 53,
"end_col_offset": 61,
"end_lineno": 7,
"lineno": 7,
"value": "cappme"
},
{
"ast_class": "Constant",
"col_offset": 63,
"end_col_offset": 80,
"end_lineno": 7,
"lineno": 7,
"value": "cappme_esus_sfs"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 42,
"end_lineno": 8,
"lineno": 8,
"value": "reduction_cotisations_syndicales"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 52,
"end_lineno": 9,
"lineno": 9,
"value": "accueil_dans_etablissement_personnes_agees"
},
{
"ast_class": "Constant",
"col_offset": 54,
"end_col_offset": 62,
"end_lineno": 9,
"lineno": 9,
"value": "dfppce"
},
{
"ast_class": "Constant",
"col_offset": 64,
"end_col_offset": 72,
"end_lineno": 9,
"lineno": 9,
"value": "doment"
},
{
"ast_class": "Constant",
"col_offset": 74,
"end_col_offset": 82,
"end_lineno": 9,
"lineno": 9,
"value": "domlog"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 38,
"end_lineno": 10,
"lineno": 10,
"value": "reduction_enfants_scolarises"
},
{
"ast_class": "Constant",
"col_offset": 40,
"end_col_offset": 49,
"end_lineno": 10,
"lineno": 10,
"value": "gardenf"
},
{
"ast_class": "Constant",
"col_offset": 51,
"end_col_offset": 59,
"end_lineno": 10,
"lineno": 10,
"value": "intemp"
},
{
"ast_class": "Constant",
"col_offset": 61,
"end_col_offset": 90,
"end_lineno": 10,
"lineno": 10,
"value": "ri_investissement_forestier"
},
{
"ast_class": "Constant",
"col_offset": 92,
"end_col_offset": 100,
"end_lineno": 10,
"lineno": 10,
"value": "invrev"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 36,
"end_lineno": 11,
"lineno": 11,
"value": "prestations_compensatoires"
},
{
"ast_class": "Constant",
"col_offset": 38,
"end_col_offset": 52,
"end_lineno": 11,
"lineno": 11,
"value": "rente_survie"
},
{
"ast_class": "Constant",
"col_offset": 54,
"end_col_offset": 65,
"end_lineno": 11,
"lineno": 11,
"value": "ri_saldom"
},
{
"ast_class": "Constant",
"col_offset": 67,
"end_col_offset": 97,
"end_lineno": 11,
"lineno": 11,
"value": "souscriptions_parts_fcpi_fip"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 16,
"end_lineno": 13,
"lineno": 13,
"value": "mecena"
},
{
"ast_class": "Constant",
"col_offset": 18,
"end_col_offset": 52,
"end_lineno": 13,
"lineno": 13,
"value": "interets_emprunt_reprise_societe"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 37,
"end_lineno": 15,
"lineno": 15,
"value": "interets_prets_consommation"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 47,
"end_lineno": 15,
"lineno": 15,
"value": "invlst"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 50,
"end_lineno": 17,
"lineno": 17,
"value": "interets_paiements_differes_agriculteurs"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 16,
"end_lineno": 19,
"lineno": 19,
"value": "creaen"
},
{
"ast_class": "Constant",
"col_offset": 18,
"end_col_offset": 51,
"end_lineno": 19,
"lineno": 19,
"value": "defense_forets_contre_incendies"
},
{
"ast_class": "Constant",
"col_offset": 53,
"end_col_offset": 61,
"end_lineno": 19,
"lineno": 19,
"value": "sofica"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 16,
"end_lineno": 21,
"lineno": 21,
"value": "mohist"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 16,
"end_lineno": 23,
"lineno": 23,
"value": "domsoc"
},
{
"ast_class": "Constant",
"col_offset": 18,
"end_col_offset": 25,
"end_lineno": 23,
"lineno": 23,
"value": "codev"
},
{
"ast_class": "Constant",
"col_offset": 27,
"end_col_offset": 45,
"end_lineno": 23,
"lineno": 23,
"value": "location_meublee"
},
{
"ast_class": "Constant",
"col_offset": 47,
"end_col_offset": 77,
"end_lineno": 23,
"lineno": 23,
"value": "restauration_patrimoine_bati"
},
{
"ast_class": "Constant",
"col_offset": 79,
"end_col_offset": 87,
"end_lineno": 23,
"lineno": 23,
"value": "scelli"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 16,
"end_lineno": 24,
"lineno": 24,
"value": "sofipe"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 39,
"end_lineno": 26,
"lineno": 26,
"value": "protection_patrimoine_naturel"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 28,
"lineno": 28,
"value": "reduction_impot_exceptionnelle"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 44,
"end_lineno": 29,
"lineno": 29,
"value": "duflot_pinel_denormandie_metropole"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 37,
"end_lineno": 30,
"lineno": 30,
"value": "duflot_pinel_denormandie_om"
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 15,
"end_lineno": 32,
"lineno": 32,
"value": "rehab"
}
],
"end_col_offset": 9,
"end_lineno": 33,
"lineno": 5
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 46,
"end_lineno": 35,
"lineno": 35,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 35,
"id": "impot_net",
"lineno": 35
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 37,
"end_lineno": 35,
"lineno": 35,
"value": "ip_net"
},
{
"ast_class": "Name",
"col_offset": 39,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 35,
"id": "period",
"lineno": 35
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 46,
"end_lineno": 35,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 35,
"id": "foyer_fiscal",
"lineno": 35
},
"keywords": [],
"lineno": 35
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 84,
"end_lineno": 36,
"lineno": 36,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 12,
"end_lineno": 36,
"id": "montants",
"lineno": 36
}
],
"value": {
"ast_class": "ListComp",
"col_offset": 15,
"elt": {
"args": [
{
"args": [
{
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 36,
"id": "reduction",
"lineno": 36
},
{
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 36,
"id": "period",
"lineno": 36
}
],
"ast_class": "Call",
"col_offset": 23,
"end_col_offset": 54,
"end_lineno": 36,
"func": {
"ast_class": "Name",
"col_offset": 23,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 36,
"id": "foyer_fiscal",
"lineno": 36
},
"keywords": [],
"lineno": 36
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 55,
"end_lineno": 36,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 22,
"end_lineno": 36,
"id": "around",
"lineno": 36
},
"keywords": [],
"lineno": 36
},
"end_col_offset": 84,
"end_lineno": 36,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 73,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 83,
"end_lineno": 36,
"id": "reductions",
"lineno": 36
},
"target": {
"ast_class": "Name",
"col_offset": 60,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 69,
"end_lineno": 36,
"id": "reduction",
"lineno": 36
}
}
],
"lineno": 36
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 36,
"end_lineno": 37,
"lineno": 37,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 37,
"id": "total_reductions",
"lineno": 37
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 37,
"id": "montants",
"lineno": 37
}
],
"ast_class": "Call",
"col_offset": 23,
"end_col_offset": 36,
"end_lineno": 37,
"func": {
"ast_class": "Name",
"col_offset": 23,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 37,
"id": "sum",
"lineno": 37
},
"keywords": [],
"lineno": 37
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 38,
"lineno": 38,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 38,
"id": "impot_net",
"lineno": 38
},
{
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 38,
"id": "total_reductions",
"lineno": 38
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 38,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 38,
"id": "min_",
"lineno": 38
},
"keywords": [],
"lineno": 38
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 44,
"end_lineno": 38,
"lineno": 1,
"name": "formula"
},
"documentation": "\nRenvoie la somme des réductions d'impôt\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots"
],
"source_code": "def formula(foyer_fiscal, period, parameters):\n '''\n Renvoie la somme des réductions d'impôt\n '''\n reductions = [\n # Depuis 2002\n 'accult', 'frais_de_comptabilite', 'assvie', 'cappme', 'cappme_esus_sfs',\n 'reduction_cotisations_syndicales',\n 'accueil_dans_etablissement_personnes_agees', 'dfppce', 'doment', 'domlog',\n 'reduction_enfants_scolarises', 'gardenf', 'intemp', 'ri_investissement_forestier', 'invrev',\n 'prestations_compensatoires', 'rente_survie', 'ri_saldom', 'souscriptions_parts_fcpi_fip',\n # Introduites en 2003\n 'mecena', 'interets_emprunt_reprise_societe',\n # Introduites en 2004\n 'interets_prets_consommation', 'invlst',\n # Introduites en 2005\n 'interets_paiements_differes_agriculteurs',\n # Introduites en 2006\n 'creaen', 'defense_forets_contre_incendies', 'sofica',\n # Introduites en 2008\n 'mohist',\n # Introduites en 2009\n 'domsoc', 'codev', 'location_meublee', 'restauration_patrimoine_bati', 'scelli',\n 'sofipe',\n # Introduites en 2010\n 'protection_patrimoine_naturel',\n # Introduites en 2013\n 'reduction_impot_exceptionnelle',\n 'duflot_pinel_denormandie_metropole',\n 'duflot_pinel_denormandie_om',\n # Introduites en 2017\n 'rehab',\n ]\n\n impot_net = foyer_fiscal('ip_net', period)\n montants = [around(foyer_fiscal(reduction, period)) for reduction in reductions]\n total_reductions = sum(montants)\n return min_(impot_net, total_reductions)\n",
"start_line_number": 161,
"stop_line_number": 199,
"variables": [
"accueil_dans_etablissement_personnes_agees",
"accult",
"assvie",
"cappme",
"cappme_esus_sfs",
"codev",
"creaen",
"defense_forets_contre_incendies",
"dfppce",
"doment",
"domlog",
"domsoc",
"duflot_pinel_denormandie_metropole",
"duflot_pinel_denormandie_om",
"frais_de_comptabilite",
"gardenf",
"intemp",
"interets_emprunt_reprise_societe",
"interets_paiements_differes_agriculteurs",
"interets_prets_consommation",
"invlst",
"invrev",
"ip_net",
"location_meublee",
"mecena",
"mohist",
"prestations_compensatoires",
"protection_patrimoine_naturel",
"reduction_cotisations_syndicales",
"reduction_enfants_scolarises",
"reduction_impot_exceptionnelle",
"rehab",
"rente_survie",
"restauration_patrimoine_bati",
"ri_investissement_forestier",
"ri_saldom",
"scelli",
"sofica",
"sofipe",
"souscriptions_parts_fcpi_fip"
]
},
"2013-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": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 24,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 24,
"lineno": 2,
"value": "\n Renvoie la somme des réductions d'impôt en prenant en compte les plafonds applicables.\n\n Il y a 5 catégories de réductions :\n - réductions générales soumises au plafond de 10K\n - réductions inv. outre-mer/SOFICA avec majoration de 8K\n - réductions ESUS/SFS avec majoration de 3K (2021)\n - réductions sans plafond\n - réductions d'outremer de la brochure 2042 IOM plafonnées avec des règles spécifiques supplémentaires\n\n Un tel plafond, avec un seuil différent, existe depuis 2008, mais n'est pour l'instant pas codé ici.\n La version codée là-dessous est celle de 2013 qui est encore valable pour l'imposition des revenus\n de 2021. Il faut insister sur le point que la version codée en bas est aussi une approximation,\n parce que pour l'imposition des revenus de l'année N, ce sont les plafonds de N, N-1, N-2, etc.\n qui s'appliquent selon l'année de l'initialisation de la réduction ou du crédit d'impôt, mais ici\n on prend juste le plafond de l'année N pour toutes les RI/CI.\n\n Beaucoup des dispositifs figurant parmi les réductions et crédits plafonnées\n sont dénombrés dans la loi et les brochures pratiques de l'IR, mais pas tous.\n Une règle qui peut être appliquée dans le doute, c'est que chaque dispositif est\n soumis au plafond sauf si exclu par la loi, et que souvent les dispositifs exclus\n sont ceux qui n'ont pas de contrepartie (par ex. un don ou un mécénat).\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 46,
"end_lineno": 26,
"lineno": 26,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 26,
"id": "impot_net",
"lineno": 26
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 37,
"end_lineno": 26,
"lineno": 26,
"value": "ip_net"
},
{
"ast_class": "Name",
"col_offset": 39,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 26,
"id": "period",
"lineno": 26
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 46,
"end_lineno": 26,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 26,
"id": "foyer_fiscal",
"lineno": 26
},
"keywords": [],
"lineno": 26
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 60,
"end_lineno": 28,
"lineno": 28,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 12,
"end_lineno": 28,
"id": "red_plaf",
"lineno": 28
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 51,
"end_lineno": 28,
"lineno": 28,
"value": "reductions_plafonnees"
},
{
"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": 15,
"end_col_offset": 60,
"end_lineno": 28,
"func": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 28,
"id": "foyer_fiscal",
"lineno": 28
},
"keywords": [],
"lineno": 28
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 80,
"end_lineno": 29,
"lineno": 29,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 22,
"end_lineno": 29,
"id": "red_plaf_om_sofica",
"lineno": 29
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 38,
"end_col_offset": 71,
"end_lineno": 29,
"lineno": 29,
"value": "reductions_plafonnees_om_sofica"
},
{
"ast_class": "Name",
"col_offset": 73,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 29,
"id": "period",
"lineno": 29
}
],
"ast_class": "Call",
"col_offset": 25,
"end_col_offset": 80,
"end_lineno": 29,
"func": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 29,
"id": "foyer_fiscal",
"lineno": 29
},
"keywords": [],
"lineno": 29
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 78,
"end_lineno": 30,
"lineno": 30,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 30,
"id": "red_plaf_esus_sfs",
"lineno": 30
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 37,
"end_col_offset": 69,
"end_lineno": 30,
"lineno": 30,
"value": "reductions_plafonnees_esus_sfs"
},
{
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 77,
"end_lineno": 30,
"id": "period",
"lineno": 30
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 78,
"end_lineno": 30,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 30,
"id": "foyer_fiscal",
"lineno": 30
},
"keywords": [],
"lineno": 30
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 64,
"end_lineno": 31,
"lineno": 31,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 31,
"id": "red_deplaf",
"lineno": 31
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 55,
"end_lineno": 31,
"lineno": 31,
"value": "reductions_deplafonnees"
},
{
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 31,
"id": "period",
"lineno": 31
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 64,
"end_lineno": 31,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 31,
"id": "foyer_fiscal",
"lineno": 31
},
"keywords": [],
"lineno": 31
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 52,
"end_lineno": 32,
"lineno": 32,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 11,
"end_lineno": 32,
"id": "red_iom",
"lineno": 32
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 27,
"end_col_offset": 43,
"end_lineno": 32,
"lineno": 32,
"value": "reductions_iom"
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 32,
"id": "period",
"lineno": 32
}
],
"ast_class": "Call",
"col_offset": 14,
"end_col_offset": 52,
"end_lineno": 32,
"func": {
"ast_class": "Name",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 32,
"id": "foyer_fiscal",
"lineno": 32
},
"keywords": [],
"lineno": 32
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 94,
"end_lineno": 34,
"lineno": 34,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 34,
"id": "total_reduction",
"lineno": 34
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 94,
"end_lineno": 34,
"left": {
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 84,
"end_lineno": 34,
"left": {
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 71,
"end_lineno": 34,
"left": {
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 51,
"end_lineno": 34,
"left": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 34,
"id": "red_plaf",
"lineno": 34
},
"lineno": 34,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 34,
"id": "red_plaf_om_sofica",
"lineno": 34
}
},
"lineno": 34,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 34,
"id": "red_plaf_esus_sfs",
"lineno": 34
}
},
"lineno": 34,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 34,
"id": "red_deplaf",
"lineno": 34
}
},
"lineno": 34,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 34,
"id": "red_iom",
"lineno": 34
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 43,
"end_lineno": 36,
"lineno": 36,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 36,
"id": "impot_net",
"lineno": 36
},
{
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 42,
"end_lineno": 36,
"id": "total_reduction",
"lineno": 36
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 43,
"end_lineno": 36,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 36,
"id": "min_",
"lineno": 36
},
"keywords": [],
"lineno": 36
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 43,
"end_lineno": 36,
"lineno": 1,
"name": "formula_2013_01_01"
},
"documentation": "\nRenvoie la somme des réductions d'impôt en prenant en compte les plafonds applicables.\n\nIl y a 5 catégories de réductions :\n - réductions générales soumises au plafond de 10K\n - réductions inv. outre-mer/SOFICA avec majoration de 8K\n - réductions ESUS/SFS avec majoration de 3K (2021)\n - réductions sans plafond\n - réductions d'outremer de la brochure 2042 IOM plafonnées avec des règles spécifiques supplémentaires\n\nUn tel plafond, avec un seuil différent, existe depuis 2008, mais n'est pour l'instant pas codé ici.\nLa version codée là-dessous est celle de 2013 qui est encore valable pour l'imposition des revenus\nde 2021. Il faut insister sur le point que la version codée en bas est aussi une approximation,\nparce que pour l'imposition des revenus de l'année N, ce sont les plafonds de N, N-1, N-2, etc.\nqui s'appliquent selon l'année de l'initialisation de la réduction ou du crédit d'impôt, mais ici\non prend juste le plafond de l'année N pour toutes les RI/CI.\n\nBeaucoup des dispositifs figurant parmi les réductions et crédits plafonnées\nsont dénombrés dans la loi et les brochures pratiques de l'IR, mais pas tous.\nUne règle qui peut être appliquée dans le doute, c'est que chaque dispositif est\nsoumis au plafond sauf si exclu par la loi, et que souvent les dispositifs exclus\nsont ceux qui n'ont pas de contrepartie (par ex. un don ou un mécénat).\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots"
],
"source_code": "def formula_2013_01_01(foyer_fiscal, period, parameters):\n '''\n Renvoie la somme des réductions d'impôt en prenant en compte les plafonds applicables.\n\n Il y a 5 catégories de réductions :\n - réductions générales soumises au plafond de 10K\n - réductions inv. outre-mer/SOFICA avec majoration de 8K\n - réductions ESUS/SFS avec majoration de 3K (2021)\n - réductions sans plafond\n - réductions d'outremer de la brochure 2042 IOM plafonnées avec des règles spécifiques supplémentaires\n\n Un tel plafond, avec un seuil différent, existe depuis 2008, mais n'est pour l'instant pas codé ici.\n La version codée là-dessous est celle de 2013 qui est encore valable pour l'imposition des revenus\n de 2021. Il faut insister sur le point que la version codée en bas est aussi une approximation,\n parce que pour l'imposition des revenus de l'année N, ce sont les plafonds de N, N-1, N-2, etc.\n qui s'appliquent selon l'année de l'initialisation de la réduction ou du crédit d'impôt, mais ici\n on prend juste le plafond de l'année N pour toutes les RI/CI.\n\n Beaucoup des dispositifs figurant parmi les réductions et crédits plafonnées\n sont dénombrés dans la loi et les brochures pratiques de l'IR, mais pas tous.\n Une règle qui peut être appliquée dans le doute, c'est que chaque dispositif est\n soumis au plafond sauf si exclu par la loi, et que souvent les dispositifs exclus\n sont ceux qui n'ont pas de contrepartie (par ex. un don ou un mécénat).\n '''\n\n impot_net = foyer_fiscal('ip_net', period)\n\n red_plaf = foyer_fiscal('reductions_plafonnees', period)\n red_plaf_om_sofica = foyer_fiscal('reductions_plafonnees_om_sofica', period)\n red_plaf_esus_sfs = foyer_fiscal('reductions_plafonnees_esus_sfs', period)\n red_deplaf = foyer_fiscal('reductions_deplafonnees', period)\n red_iom = foyer_fiscal('reductions_iom', period)\n\n total_reduction = red_plaf + red_plaf_om_sofica + red_plaf_esus_sfs + red_deplaf + red_iom\n\n return min_(impot_net, total_reduction)\n",
"start_line_number": 124,
"stop_line_number": 160,
"variables": [
"ip_net",
"reductions_deplafonnees",
"reductions_iom",
"reductions_plafonnees",
"reductions_plafonnees_esus_sfs",
"reductions_plafonnees_om_sofica"
]
}
},
"json_type": "number",
"label": "Réductions d'impôt sur le revenu",
"last_value_still_valid_on": "2025-01-08",
"name": "reductions",
"referring_variables": [
"iaidrdi"
],
"start_line_number": 118,
"stop_line_number": 199,
"unit": "currency",
"value_type": "float"
}