UNPKG

@leximpact/socio-fiscal-openfisca-json

Version:

JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)

748 lines (747 loc) 24.4 kB
{ "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": { "2021-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": 5, "lineno": 3, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 23, "end_lineno": 3, "id": "reductions_esus_sfs", "lineno": 3 } ], "value": { "ast_class": "List", "col_offset": 26, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Constant", "col_offset": 8, "end_col_offset": 25, "end_lineno": 4, "lineno": 4, "value": "cappme_esus_sfs" } ], "end_col_offset": 9, "end_lineno": 5, "lineno": 3 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 64, "end_lineno": 7, "lineno": 7, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 5, "end_lineno": 7, "id": "P", "lineno": 7 } ], "value": { "ast_class": "Attribute", "attr": "plaf_nich", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 64, "end_lineno": 7, "lineno": 7, "value": { "ast_class": "Attribute", "attr": "credits_impots", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 54, "end_lineno": 7, "lineno": 7, "value": { "ast_class": "Attribute", "attr": "impot_revenu", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 7, "lineno": 7, "value": { "args": [ { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 7, "id": "period", "lineno": 7 } ], "ast_class": "Call", "col_offset": 8, "end_col_offset": 26, "end_lineno": 7, "func": { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 7, "id": "parameters", "lineno": 7 }, "keywords": [], "lineno": 7 } } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 60, "end_lineno": 9, "lineno": 9, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 12, "end_lineno": 9, "id": "red_plaf", "lineno": 9 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 28, "end_col_offset": 51, "end_lineno": 9, "lineno": 9, "value": "reductions_plafonnees" }, { "ast_class": "Name", "col_offset": 53, "ctx": { "ast_class": "Load" }, "end_col_offset": 59, "end_lineno": 9, "id": "period", "lineno": 9 } ], "ast_class": "Call", "col_offset": 15, "end_col_offset": 60, "end_lineno": 9, "func": { "ast_class": "Name", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 27, "end_lineno": 9, "id": "foyer_fiscal", "lineno": 9 }, "keywords": [], "lineno": 9 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 73, "end_lineno": 10, "lineno": 10, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 15, "end_lineno": 10, "id": "red_plaf_om", "lineno": 10 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 31, "end_col_offset": 64, "end_lineno": 10, "lineno": 10, "value": "reductions_plafonnees_om_sofica" }, { "ast_class": "Name", "col_offset": 66, "ctx": { "ast_class": "Load" }, "end_col_offset": 72, "end_lineno": 10, "id": "period", "lineno": 10 } ], "ast_class": "Call", "col_offset": 18, "end_col_offset": 73, "end_lineno": 10, "func": { "ast_class": "Name", "col_offset": 18, "ctx": { "ast_class": "Load" }, "end_col_offset": 30, "end_lineno": 10, "id": "foyer_fiscal", "lineno": 10 }, "keywords": [], "lineno": 10 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 101, "end_lineno": 11, "lineno": 11, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 13, "end_lineno": 11, "id": "reste_gen", "lineno": 11 } ], "value": { "ast_class": "BinOp", "col_offset": 16, "end_col_offset": 101, "end_lineno": 11, "left": { "ast_class": "BinOp", "col_offset": 16, "end_col_offset": 36, "end_lineno": 11, "left": { "ast_class": "Attribute", "attr": "plafond", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 11, "lineno": 11, "value": { "ast_class": "Name", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 17, "end_lineno": 11, "id": "P", "lineno": 11 } }, "lineno": 11, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 11, "id": "red_plaf", "lineno": 11 } }, "lineno": 11, "op": { "ast_class": "Sub" }, "right": { "args": [ { "ast_class": "Constant", "col_offset": 44, "end_col_offset": 45, "end_lineno": 11, "lineno": 11, "value": 0 }, { "ast_class": "BinOp", "col_offset": 47, "end_col_offset": 100, "end_lineno": 11, "left": { "ast_class": "Name", "col_offset": 47, "ctx": { "ast_class": "Load" }, "end_col_offset": 58, "end_lineno": 11, "id": "red_plaf_om", "lineno": 11 }, "lineno": 11, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Attribute", "attr": "majoration_om", "col_offset": 61, "ctx": { "ast_class": "Load" }, "end_col_offset": 100, "end_lineno": 11, "lineno": 11, "value": { "ast_class": "Attribute", "attr": "plafonnement_des_niches", "col_offset": 61, "ctx": { "ast_class": "Load" }, "end_col_offset": 86, "end_lineno": 11, "lineno": 11, "value": { "ast_class": "Name", "col_offset": 61, "ctx": { "ast_class": "Load" }, "end_col_offset": 62, "end_lineno": 11, "id": "P", "lineno": 11 } } } } ], "ast_class": "Call", "col_offset": 39, "end_col_offset": 101, "end_lineno": 11, "func": { "ast_class": "Name", "col_offset": 39, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 11, "id": "max_", "lineno": 11 }, "keywords": [], "lineno": 11 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 107, "end_lineno": 15, "lineno": 15, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 21, "end_lineno": 15, "id": "montants_esus_sfs", "lineno": 15 } ], "value": { "args": [ { "ast_class": "ListComp", "col_offset": 28, "elt": { "args": [ { "args": [ { "ast_class": "Name", "col_offset": 49, "ctx": { "ast_class": "Load" }, "end_col_offset": 58, "end_lineno": 15, "id": "reduction", "lineno": 15 }, { "ast_class": "Name", "col_offset": 60, "ctx": { "ast_class": "Load" }, "end_col_offset": 66, "end_lineno": 15, "id": "period", "lineno": 15 } ], "ast_class": "Call", "col_offset": 36, "end_col_offset": 67, "end_lineno": 15, "func": { "ast_class": "Name", "col_offset": 36, "ctx": { "ast_class": "Load" }, "end_col_offset": 48, "end_lineno": 15, "id": "foyer_fiscal", "lineno": 15 }, "keywords": [], "lineno": 15 } ], "ast_class": "Call", "col_offset": 29, "end_col_offset": 68, "end_lineno": 15, "func": { "ast_class": "Name", "col_offset": 29, "ctx": { "ast_class": "Load" }, "end_col_offset": 35, "end_lineno": 15, "id": "around", "lineno": 15 }, "keywords": [], "lineno": 15 }, "end_col_offset": 106, "end_lineno": 15, "generators": [ { "ast_class": "comprehension", "ifs": [], "is_async": 0, "iter": { "ast_class": "Name", "col_offset": 86, "ctx": { "ast_class": "Load" }, "end_col_offset": 105, "end_lineno": 15, "id": "reductions_esus_sfs", "lineno": 15 }, "target": { "ast_class": "Name", "col_offset": 73, "ctx": { "ast_class": "Store" }, "end_col_offset": 82, "end_lineno": 15, "id": "reduction", "lineno": 15 } } ], "lineno": 15 } ], "ast_class": "Call", "col_offset": 24, "end_col_offset": 107, "end_lineno": 15, "func": { "ast_class": "Name", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 27, "end_lineno": 15, "id": "sum", "lineno": 15 }, "keywords": [], "lineno": 15 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 101, "end_lineno": 16, "lineno": 16, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 16, "end_lineno": 16, "id": "red_esus_sfs", "lineno": 16 } ], "value": { "args": [ { "ast_class": "BinOp", "col_offset": 24, "end_col_offset": 81, "end_lineno": 16, "left": { "ast_class": "Attribute", "attr": "majoration_esus_sfs", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 69, "end_lineno": 16, "lineno": 16, "value": { "ast_class": "Attribute", "attr": "plafonnement_des_niches", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 16, "lineno": 16, "value": { "ast_class": "Name", "col_offset": 24, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 16, "id": "P", "lineno": 16 } } }, "lineno": 16, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 72, "ctx": { "ast_class": "Load" }, "end_col_offset": 81, "end_lineno": 16, "id": "reste_gen", "lineno": 16 } }, { "ast_class": "Name", "col_offset": 83, "ctx": { "ast_class": "Load" }, "end_col_offset": 100, "end_lineno": 16, "id": "montants_esus_sfs", "lineno": 16 } ], "ast_class": "Call", "col_offset": 19, "end_col_offset": 101, "end_lineno": 16, "func": { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 23, "end_lineno": 16, "id": "min_", "lineno": 16 }, "keywords": [], "lineno": 16 } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 23, "end_lineno": 18, "lineno": 18, "value": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 23, "end_lineno": 18, "id": "red_esus_sfs", "lineno": 18 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 23, "end_lineno": 18, "lineno": 1, "name": "formula_2021_01_01" }, "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py", "parameters": [ "impot_revenu.credits_impots.plaf_nich.plafond", "impot_revenu.credits_impots.plaf_nich.plafonnement_des_niches.majoration_esus_sfs", "impot_revenu.credits_impots.plaf_nich.plafonnement_des_niches.majoration_om" ], "source_code": "def formula_2021_01_01(foyer_fiscal, period, parameters):\n\n reductions_esus_sfs = [\n 'cappme_esus_sfs'\n ]\n\n P = parameters(period).impot_revenu.credits_impots.plaf_nich\n\n red_plaf = foyer_fiscal('reductions_plafonnees', period)\n red_plaf_om = foyer_fiscal('reductions_plafonnees_om_sofica', period)\n reste_gen = P.plafond - red_plaf - max_(0, red_plaf_om - P.plafonnement_des_niches.majoration_om)\n\n # Step 3: Get additional reductions ESUS and SFS\n # NB: Assuming the specific additional allowance is used first, and remaining general allowance is saved by preference for other reductions\n montants_esus_sfs = sum([around(foyer_fiscal(reduction, period)) for reduction in reductions_esus_sfs])\n red_esus_sfs = min_(P.plafonnement_des_niches.majoration_esus_sfs + reste_gen, montants_esus_sfs)\n\n return red_esus_sfs\n", "start_line_number": 98, "stop_line_number": 116, "variables": [ "cappme_esus_sfs", "reductions_plafonnees", "reductions_plafonnees_om_sofica" ] }, "2022-01-01": null }, "json_type": "number", "label": "Réductions d'impôt sur le revenu plafonnées, ESUS et SFS", "last_value_still_valid_on": "2022-01-01", "name": "reductions_plafonnees_esus_sfs", "referring_variables": [ "credits_impot", "reductions" ], "start_line_number": 91, "stop_line_number": 116, "value_type": "float" }