@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
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": {
"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"
}