UNPKG

@leximpact/socio-fiscal-openfisca-json

Version:

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

611 lines (610 loc) 19.8 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": { "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": "Assign", "col_offset": 4, "end_col_offset": 9, "end_lineno": 7, "lineno": 3, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 24, "end_lineno": 3, "id": "reductions_om_sofica", "lineno": 3 } ], "value": { "ast_class": "List", "col_offset": 27, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Constant", "col_offset": 8, "end_col_offset": 16, "end_lineno": 4, "lineno": 4, "value": "sofica" }, { "ast_class": "Constant", "col_offset": 8, "end_col_offset": 37, "end_lineno": 5, "lineno": 5, "value": "duflot_pinel_denormandie_om" }, { "ast_class": "Constant", "col_offset": 8, "end_col_offset": 16, "end_lineno": 6, "lineno": 6, "value": "scelli" } ], "end_col_offset": 9, "end_lineno": 7, "lineno": 3 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 64, "end_lineno": 9, "lineno": 9, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 5, "end_lineno": 9, "id": "P", "lineno": 9 } ], "value": { "ast_class": "Attribute", "attr": "plaf_nich", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 64, "end_lineno": 9, "lineno": 9, "value": { "ast_class": "Attribute", "attr": "credits_impots", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 54, "end_lineno": 9, "lineno": 9, "value": { "ast_class": "Attribute", "attr": "impot_revenu", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 9, "lineno": 9, "value": { "args": [ { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 9, "id": "period", "lineno": 9 } ], "ast_class": "Call", "col_offset": 8, "end_col_offset": 26, "end_lineno": 9, "func": { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 9, "id": "parameters", "lineno": 9 }, "keywords": [], "lineno": 9 } } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 60, "end_lineno": 11, "lineno": 11, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 12, "end_lineno": 11, "id": "red_plaf", "lineno": 11 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 28, "end_col_offset": 51, "end_lineno": 11, "lineno": 11, "value": "reductions_plafonnees" }, { "ast_class": "Name", "col_offset": 53, "ctx": { "ast_class": "Load" }, "end_col_offset": 59, "end_lineno": 11, "id": "period", "lineno": 11 } ], "ast_class": "Call", "col_offset": 15, "end_col_offset": 60, "end_lineno": 11, "func": { "ast_class": "Name", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 27, "end_lineno": 11, "id": "foyer_fiscal", "lineno": 11 }, "keywords": [], "lineno": 11 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 36, "end_lineno": 12, "lineno": 12, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 13, "end_lineno": 12, "id": "reste_gen", "lineno": 12 } ], "value": { "ast_class": "BinOp", "col_offset": 16, "end_col_offset": 36, "end_lineno": 12, "left": { "ast_class": "Attribute", "attr": "plafond", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 12, "lineno": 12, "value": { "ast_class": "Name", "col_offset": 16, "ctx": { "ast_class": "Load" }, "end_col_offset": 17, "end_lineno": 12, "id": "P", "lineno": 12 } }, "lineno": 12, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 12, "id": "red_plaf", "lineno": 12 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 109, "end_lineno": 16, "lineno": 16, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 22, "end_lineno": 16, "id": "montants_om_sofica", "lineno": 16 } ], "value": { "args": [ { "ast_class": "ListComp", "col_offset": 29, "elt": { "args": [ { "args": [ { "ast_class": "Name", "col_offset": 50, "ctx": { "ast_class": "Load" }, "end_col_offset": 59, "end_lineno": 16, "id": "reduction", "lineno": 16 }, { "ast_class": "Name", "col_offset": 61, "ctx": { "ast_class": "Load" }, "end_col_offset": 67, "end_lineno": 16, "id": "period", "lineno": 16 } ], "ast_class": "Call", "col_offset": 37, "end_col_offset": 68, "end_lineno": 16, "func": { "ast_class": "Name", "col_offset": 37, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 16, "id": "foyer_fiscal", "lineno": 16 }, "keywords": [], "lineno": 16 } ], "ast_class": "Call", "col_offset": 30, "end_col_offset": 69, "end_lineno": 16, "func": { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 16, "id": "around", "lineno": 16 }, "keywords": [], "lineno": 16 }, "end_col_offset": 108, "end_lineno": 16, "generators": [ { "ast_class": "comprehension", "ifs": [], "is_async": 0, "iter": { "ast_class": "Name", "col_offset": 87, "ctx": { "ast_class": "Load" }, "end_col_offset": 107, "end_lineno": 16, "id": "reductions_om_sofica", "lineno": 16 }, "target": { "ast_class": "Name", "col_offset": 74, "ctx": { "ast_class": "Store" }, "end_col_offset": 83, "end_lineno": 16, "id": "reduction", "lineno": 16 } } ], "lineno": 16 } ], "ast_class": "Call", "col_offset": 25, "end_col_offset": 109, "end_lineno": 16, "func": { "ast_class": "Name", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 28, "end_lineno": 16, "id": "sum", "lineno": 16 }, "keywords": [], "lineno": 16 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 97, "end_lineno": 17, "lineno": 17, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 17, "end_lineno": 17, "id": "red_om_sofica", "lineno": 17 } ], "value": { "args": [ { "ast_class": "BinOp", "col_offset": 25, "end_col_offset": 76, "end_lineno": 17, "left": { "ast_class": "Attribute", "attr": "majoration_om", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 64, "end_lineno": 17, "lineno": 17, "value": { "ast_class": "Attribute", "attr": "plafonnement_des_niches", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 50, "end_lineno": 17, "lineno": 17, "value": { "ast_class": "Name", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 26, "end_lineno": 17, "id": "P", "lineno": 17 } } }, "lineno": 17, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 67, "ctx": { "ast_class": "Load" }, "end_col_offset": 76, "end_lineno": 17, "id": "reste_gen", "lineno": 17 } }, { "ast_class": "Name", "col_offset": 78, "ctx": { "ast_class": "Load" }, "end_col_offset": 96, "end_lineno": 17, "id": "montants_om_sofica", "lineno": 17 } ], "ast_class": "Call", "col_offset": 20, "end_col_offset": 97, "end_lineno": 17, "func": { "ast_class": "Name", "col_offset": 20, "ctx": { "ast_class": "Load" }, "end_col_offset": 24, "end_lineno": 17, "id": "min_", "lineno": 17 }, "keywords": [], "lineno": 17 } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 24, "end_lineno": 19, "lineno": 19, "value": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 24, "end_lineno": 19, "id": "red_om_sofica", "lineno": 19 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 24, "end_lineno": 19, "lineno": 1, "name": "formula_2013_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_om" ], "source_code": "def formula_2013_01_01(foyer_fiscal, period, parameters):\n\n reductions_om_sofica = [\n 'sofica',\n 'duflot_pinel_denormandie_om',\n 'scelli', # Approximation (dispositif qui se termine en 2012, soumis à des plafonds supérieurs à 18 000€)\n ]\n\n P = parameters(period).impot_revenu.credits_impots.plaf_nich\n\n red_plaf = foyer_fiscal('reductions_plafonnees', period)\n reste_gen = P.plafond - red_plaf\n\n # Step 2: Get additional reductions DOM-TOM and SOFICA\n # NB: Assuming the specific additional allowance is used first, and remaining general allowance is saved by preference for other reductions\n montants_om_sofica = sum([around(foyer_fiscal(reduction, period)) for reduction in reductions_om_sofica])\n red_om_sofica = min_(P.plafonnement_des_niches.majoration_om + reste_gen, montants_om_sofica)\n\n return red_om_sofica\n", "start_line_number": 70, "stop_line_number": 89, "variables": [ "duflot_pinel_denormandie_om", "reductions_plafonnees", "scelli", "sofica" ] } }, "json_type": "number", "label": "Réductions d'impôt sur le revenu plafonnées, DOM et SOFICA", "last_value_still_valid_on": "2013-01-01", "name": "reductions_plafonnees_om_sofica", "referring_variables": [ "credits_impot", "reductions", "reductions_plafonnees_esus_sfs" ], "start_line_number": 64, "stop_line_number": 89, "value_type": "float" }