UNPKG

@leximpact/socio-fiscal-openfisca-json

Version:

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

1,170 lines (1,169 loc) 37.8 kB
{ "default_value": 0, "definition_period": "month", "dtype": "float32", "entity": "individu", "file_path": "openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_prive.py", "formulas": { "0001-01-01": { "ast": { "args": { "args": [ { "arg": "individu", "ast_class": "arg", "col_offset": 12, "end_col_offset": 20, "end_lineno": 1, "lineno": 1 }, { "arg": "period", "ast_class": "arg", "col_offset": 22, "end_col_offset": 28, "end_lineno": 1, "lineno": 1 }, { "arg": "parameters", "ast_class": "arg", "col_offset": 30, "end_col_offset": 40, "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": 102, "end_lineno": 2, "lineno": 2, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 23, "end_lineno": 2, "id": "plafond_temps_plein", "lineno": 2 } ], "value": { "ast_class": "Attribute", "attr": "plafond_securite_sociale_mensuel", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 102, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "pss", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 69, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "prelevements_sociaux", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 65, "end_lineno": 2, "lineno": 2, "value": { "args": [ { "ast_class": "Name", "col_offset": 37, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 2, "id": "period", "lineno": 2 } ], "ast_class": "Call", "col_offset": 26, "end_col_offset": 44, "end_lineno": 2, "func": { "ast_class": "Name", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 2, "id": "parameters", "lineno": 2 }, "keywords": [], "lineno": 2 } } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 52, "end_lineno": 3, "lineno": 3, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 3, "id": "quotite", "lineno": 3 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 23, "end_col_offset": 43, "end_lineno": 3, "lineno": 3, "value": "quotite_de_travail" }, { "ast_class": "Name", "col_offset": 45, "ctx": { "ast_class": "Load" }, "end_col_offset": 51, "end_lineno": 3, "id": "period", "lineno": 3 } ], "ast_class": "Call", "col_offset": 14, "end_col_offset": 52, "end_lineno": 3, "func": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 3, "id": "individu", "lineno": 3 }, "keywords": [], "lineno": 3 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 43, "end_lineno": 5, "lineno": 5, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 5, "id": "plafond", "lineno": 5 } ], "value": { "ast_class": "BinOp", "col_offset": 14, "end_col_offset": 43, "end_lineno": 5, "left": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 5, "id": "plafond_temps_plein", "lineno": 5 }, "lineno": 5, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Name", "col_offset": 36, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 5, "id": "quotite", "lineno": 5 } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 75, "end_lineno": 13, "lineno": 13, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 28, "end_lineno": 13, "id": "nombre_jours_calendaires", "lineno": 13 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 40, "end_col_offset": 66, "end_lineno": 13, "lineno": 13, "value": "nombre_jours_calendaires" }, { "ast_class": "Name", "col_offset": 68, "ctx": { "ast_class": "Load" }, "end_col_offset": 74, "end_lineno": 13, "id": "period", "lineno": 13 } ], "ast_class": "Call", "col_offset": 31, "end_col_offset": 75, "end_lineno": 13, "func": { "ast_class": "Name", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 13, "id": "individu", "lineno": 13 }, "keywords": [], "lineno": 13 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 65, "end_lineno": 14, "lineno": 14, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 14, "id": "plafond", "lineno": 14 } ], "value": { "ast_class": "BinOp", "col_offset": 14, "end_col_offset": 65, "end_lineno": 14, "left": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 21, "end_lineno": 14, "id": "plafond", "lineno": 14 }, "lineno": 14, "op": { "ast_class": "Mult" }, "right": { "ast_class": "BinOp", "col_offset": 25, "end_col_offset": 64, "end_lineno": 14, "left": { "args": [ { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 54, "end_lineno": 14, "id": "nombre_jours_calendaires", "lineno": 14 }, { "ast_class": "Constant", "col_offset": 56, "end_col_offset": 58, "end_lineno": 14, "lineno": 14, "value": 30 } ], "ast_class": "Call", "col_offset": 25, "end_col_offset": 59, "end_lineno": 14, "func": { "ast_class": "Name", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 14, "id": "min_", "lineno": 14 }, "keywords": [], "lineno": 14 }, "lineno": 14, "op": { "ast_class": "Div" }, "right": { "ast_class": "Constant", "col_offset": 62, "end_col_offset": 64, "end_lineno": 14, "lineno": 14, "value": 30 } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 48, "end_lineno": 19, "lineno": 19, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 19, "id": "plafond", "lineno": 19 } ], "value": { "args": [ { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 26, "end_lineno": 19, "id": "plafond", "lineno": 19 }, { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 47, "end_lineno": 19, "id": "plafond_temps_plein", "lineno": 19 } ], "ast_class": "Call", "col_offset": 14, "end_col_offset": 48, "end_lineno": 19, "func": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 19, "id": "min_", "lineno": 19 }, "keywords": [], "lineno": 19 } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 18, "end_lineno": 21, "lineno": 21, "value": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 21, "id": "plafond", "lineno": 21 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 18, "end_lineno": 21, "lineno": 1, "name": "formula" }, "file_path": "openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_prive.py", "parameters": [ "prelevements_sociaux.pss.plafond_securite_sociale_mensuel" ], "source_code": "def formula(individu, period, parameters):\n plafond_temps_plein = parameters(period).prelevements_sociaux.pss.plafond_securite_sociale_mensuel\n quotite = individu('quotite_de_travail', period)\n\n plafond = plafond_temps_plein * quotite\n\n # 2) Proratisation pour mois incomplet selon la méthode des 30èmes\n\n # Pour les salariés entrés ou sortis en cours de mois,\n # le plafond applicable est égal à autant de trentièmes du plafond mensuel\n # que le salarié a été présent de jours calendaires. Source urssaf.fr \"L’assiette maximale\"\n # calcul du nombre de jours calendaires de présence du salarié\n nombre_jours_calendaires = individu('nombre_jours_calendaires', period)\n plafond = plafond * (min_(nombre_jours_calendaires, 30) / 30)\n\n # \"Ce rapport ne peut pas conduire à un résultat supérieur à la valeur mensuelle du plafond de sécurité sociale.\"\n # Source : https://boss.gouv.fr/portail/accueil/regles-dassujettissement/assiette-generale.html#titre-chapitre-6---le-plafond-de-la-se-section-2---determination-de-las-a-principe-de-lajustement-a-due-2-salaries-a-temps-partiel\n # §810\n plafond = min_(plafond, plafond_temps_plein)\n\n return plafond\n", "start_line_number": 914, "stop_line_number": 935, "variables": [ "nombre_jours_calendaires", "quotite_de_travail" ] }, "2023-09-01": { "ast": { "args": { "args": [ { "arg": "individu", "ast_class": "arg", "col_offset": 20, "end_col_offset": 28, "end_lineno": 1, "lineno": 1 }, { "arg": "period", "ast_class": "arg", "col_offset": 30, "end_col_offset": 36, "end_lineno": 1, "lineno": 1 }, { "arg": "parameters", "ast_class": "arg", "col_offset": 38, "end_col_offset": 48, "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": 102, "end_lineno": 2, "lineno": 2, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 23, "end_lineno": 2, "id": "plafond_temps_plein", "lineno": 2 } ], "value": { "ast_class": "Attribute", "attr": "plafond_securite_sociale_mensuel", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 102, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "pss", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 69, "end_lineno": 2, "lineno": 2, "value": { "ast_class": "Attribute", "attr": "prelevements_sociaux", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 65, "end_lineno": 2, "lineno": 2, "value": { "args": [ { "ast_class": "Name", "col_offset": 37, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 2, "id": "period", "lineno": 2 } ], "ast_class": "Call", "col_offset": 26, "end_col_offset": 44, "end_lineno": 2, "func": { "ast_class": "Name", "col_offset": 26, "ctx": { "ast_class": "Load" }, "end_col_offset": 36, "end_lineno": 2, "id": "parameters", "lineno": 2 }, "keywords": [], "lineno": 2 } } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 52, "end_lineno": 3, "lineno": 3, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 3, "id": "quotite", "lineno": 3 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 23, "end_col_offset": 43, "end_lineno": 3, "lineno": 3, "value": "quotite_de_travail" }, { "ast_class": "Name", "col_offset": 45, "ctx": { "ast_class": "Load" }, "end_col_offset": 51, "end_lineno": 3, "id": "period", "lineno": 3 } ], "ast_class": "Call", "col_offset": 14, "end_col_offset": 52, "end_lineno": 3, "func": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 3, "id": "individu", "lineno": 3 }, "keywords": [], "lineno": 3 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 109, "end_lineno": 4, "lineno": 4, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 45, "end_lineno": 4, "id": "renonciation_ajustement_pss_temps_partiel", "lineno": 4 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 57, "end_col_offset": 100, "end_lineno": 4, "lineno": 4, "value": "renonciation_ajustement_pss_temps_partiel" }, { "ast_class": "Name", "col_offset": 102, "ctx": { "ast_class": "Load" }, "end_col_offset": 108, "end_lineno": 4, "id": "period", "lineno": 4 } ], "ast_class": "Call", "col_offset": 48, "end_col_offset": 109, "end_lineno": 4, "func": { "ast_class": "Name", "col_offset": 48, "ctx": { "ast_class": "Load" }, "end_col_offset": 56, "end_lineno": 4, "id": "individu", "lineno": 4 }, "keywords": [], "lineno": 4 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 159, "end_lineno": 6, "lineno": 6, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 6, "id": "plafond", "lineno": 6 } ], "value": { "ast_class": "BinOp", "col_offset": 14, "end_col_offset": 159, "end_lineno": 6, "left": { "ast_class": "BinOp", "col_offset": 14, "end_col_offset": 77, "end_lineno": 6, "left": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 6, "id": "plafond_temps_plein", "lineno": 6 }, "lineno": 6, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Name", "col_offset": 36, "ctx": { "ast_class": "Load" }, "end_col_offset": 77, "end_lineno": 6, "id": "renonciation_ajustement_pss_temps_partiel", "lineno": 6 } }, "lineno": 6, "op": { "ast_class": "Add" }, "right": { "ast_class": "BinOp", "col_offset": 80, "end_col_offset": 159, "end_lineno": 6, "left": { "ast_class": "BinOp", "col_offset": 80, "end_col_offset": 109, "end_lineno": 6, "left": { "ast_class": "Name", "col_offset": 80, "ctx": { "ast_class": "Load" }, "end_col_offset": 99, "end_lineno": 6, "id": "plafond_temps_plein", "lineno": 6 }, "lineno": 6, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Name", "col_offset": 102, "ctx": { "ast_class": "Load" }, "end_col_offset": 109, "end_lineno": 6, "id": "quotite", "lineno": 6 } }, "lineno": 6, "op": { "ast_class": "Mult" }, "right": { "args": [ { "ast_class": "Name", "col_offset": 117, "ctx": { "ast_class": "Load" }, "end_col_offset": 158, "end_lineno": 6, "id": "renonciation_ajustement_pss_temps_partiel", "lineno": 6 } ], "ast_class": "Call", "col_offset": 112, "end_col_offset": 159, "end_lineno": 6, "func": { "ast_class": "Name", "col_offset": 112, "ctx": { "ast_class": "Load" }, "end_col_offset": 116, "end_lineno": 6, "id": "not_", "lineno": 6 }, "keywords": [], "lineno": 6 } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 75, "end_lineno": 14, "lineno": 14, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 28, "end_lineno": 14, "id": "nombre_jours_calendaires", "lineno": 14 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 40, "end_col_offset": 66, "end_lineno": 14, "lineno": 14, "value": "nombre_jours_calendaires" }, { "ast_class": "Name", "col_offset": 68, "ctx": { "ast_class": "Load" }, "end_col_offset": 74, "end_lineno": 14, "id": "period", "lineno": 14 } ], "ast_class": "Call", "col_offset": 31, "end_col_offset": 75, "end_lineno": 14, "func": { "ast_class": "Name", "col_offset": 31, "ctx": { "ast_class": "Load" }, "end_col_offset": 39, "end_lineno": 14, "id": "individu", "lineno": 14 }, "keywords": [], "lineno": 14 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 65, "end_lineno": 15, "lineno": 15, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 15, "id": "plafond", "lineno": 15 } ], "value": { "ast_class": "BinOp", "col_offset": 14, "end_col_offset": 65, "end_lineno": 15, "left": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 21, "end_lineno": 15, "id": "plafond", "lineno": 15 }, "lineno": 15, "op": { "ast_class": "Mult" }, "right": { "ast_class": "BinOp", "col_offset": 25, "end_col_offset": 64, "end_lineno": 15, "left": { "args": [ { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 54, "end_lineno": 15, "id": "nombre_jours_calendaires", "lineno": 15 }, { "ast_class": "Constant", "col_offset": 56, "end_col_offset": 58, "end_lineno": 15, "lineno": 15, "value": 30 } ], "ast_class": "Call", "col_offset": 25, "end_col_offset": 59, "end_lineno": 15, "func": { "ast_class": "Name", "col_offset": 25, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 15, "id": "min_", "lineno": 15 }, "keywords": [], "lineno": 15 }, "lineno": 15, "op": { "ast_class": "Div" }, "right": { "ast_class": "Constant", "col_offset": 62, "end_col_offset": 64, "end_lineno": 15, "lineno": 15, "value": 30 } } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 48, "end_lineno": 20, "lineno": 20, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 11, "end_lineno": 20, "id": "plafond", "lineno": 20 } ], "value": { "args": [ { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 26, "end_lineno": 20, "id": "plafond", "lineno": 20 }, { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 47, "end_lineno": 20, "id": "plafond_temps_plein", "lineno": 20 } ], "ast_class": "Call", "col_offset": 14, "end_col_offset": 48, "end_lineno": 20, "func": { "ast_class": "Name", "col_offset": 14, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 20, "id": "min_", "lineno": 20 }, "keywords": [], "lineno": 20 } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 18, "end_lineno": 22, "lineno": 22, "value": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 18, "end_lineno": 22, "id": "plafond", "lineno": 22 } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 18, "end_lineno": 22, "lineno": 1, "name": "formula_2023_09" }, "file_path": "openfisca_france/model/prelevements_obligatoires/prelevements_sociaux/cotisations_sociales/travail_prive.py", "parameters": [ "prelevements_sociaux.pss.plafond_securite_sociale_mensuel" ], "source_code": "def formula_2023_09(individu, period, parameters):\n plafond_temps_plein = parameters(period).prelevements_sociaux.pss.plafond_securite_sociale_mensuel\n quotite = individu('quotite_de_travail', period)\n renonciation_ajustement_pss_temps_partiel = individu('renonciation_ajustement_pss_temps_partiel', period)\n\n plafond = plafond_temps_plein * renonciation_ajustement_pss_temps_partiel + plafond_temps_plein * quotite * not_(renonciation_ajustement_pss_temps_partiel)\n\n # 2) Proratisation pour mois incomplet selon la méthode des 30èmes\n\n # Pour les salariés entrés ou sortis en cours de mois,\n # le plafond applicable est égal à autant de trentièmes du plafond mensuel\n # que le salarié a été présent de jours calendaires. Source urssaf.fr \"L’assiette maximale\"\n # calcul du nombre de jours calendaires de présence du salarié\n nombre_jours_calendaires = individu('nombre_jours_calendaires', period)\n plafond = plafond * (min_(nombre_jours_calendaires, 30) / 30)\n\n # \"Ce rapport ne peut pas conduire à un résultat supérieur à la valeur mensuelle du plafond de sécurité sociale.\"\n # Source : https://boss.gouv.fr/portail/accueil/regles-dassujettissement/assiette-generale.html#titre-chapitre-6---le-plafond-de-la-se-section-2---determination-de-las-a-principe-de-lajustement-a-due-2-salaries-a-temps-partiel\n # §810\n plafond = min_(plafond, plafond_temps_plein)\n\n return plafond\n", "start_line_number": 936, "stop_line_number": 958, "variables": [ "nombre_jours_calendaires", "quotite_de_travail", "renonciation_ajustement_pss_temps_partiel" ] } }, "json_type": "number", "label": "Plafond de la sécurite sociale", "last_value_still_valid_on": "2023-09-01", "name": "plafond_securite_sociale", "referring_variables": [ "agff_employeur", "arrco_employeur", "arrco_salarie", "ati_atiacl", "contribution_equilibre_technique_employeur", "contribution_equilibre_technique_salarie", "contribution_exceptionnelle_solidarite", "crds_salaire", "csg_deductible_salaire", "csg_imposable_salaire", "exoneration_cotisations_employeur_jei", "exoneration_cotisations_employeur_stagiaire", "exoneration_cotisations_salarie_stagiaire", "fonds_emploi_hospitalier", "ircantec_employeur", "ircantec_salarie", "prevoyance_obligatoire_cadre" ], "set_input": "set_input_divide_by_period", "start_line_number": 906, "stop_line_number": 958, "value_type": "float" }