@leximpact/socio-fiscal-openfisca-json
Version:
JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)
4,208 lines • 145 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"entity": "menage",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"formulas": {
"2018-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "menage",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 39,
"end_col_offset": 49,
"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": 12,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 12,
"lineno": 2,
"value": "\n Note Importante : on ne prend pas en compte l'exclusion de ce dégrèvement des hausses de taux et d'abattements depuis 2018.\n Dans les faits :\n - si les variations de taux de taxation et d'abattements votés par les communes et EPCI depuis 2017\n entrainent une baisse ou une non variation de la taxe d'habitation, le dégrèvement s'applique au\n montant de taxe d'habitation avec taux et abattements actualisés;\n - si ces variations entrainent une hausse de la taxe d'habitation, le dégrèvement d'office est\n appliqué à la taxe d'habitation qui aurait été payée en N (avec N>=2018) avec les taux de taxation\n et d'abattements votés par les communes et EPCI en 2017.\n Dans ce code, on suppose qu'on est toujours dans le premier cas.\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 82,
"end_lineno": 15,
"lineno": 15,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 15,
"id": "degrevement_d_office",
"lineno": 15
}
],
"value": {
"ast_class": "Attribute",
"attr": "degrevement_d_office",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 82,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Attribute",
"attr": "taxe_habitation",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 15,
"lineno": 15,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 38,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 15,
"id": "period",
"lineno": 15
}
],
"ast_class": "Call",
"col_offset": 27,
"end_col_offset": 45,
"end_lineno": 15,
"func": {
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 15,
"id": "parameters",
"lineno": 15
},
"keywords": [],
"lineno": 15
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 72,
"end_lineno": 16,
"lineno": 16,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 16,
"id": "isf_ifi_i",
"lineno": 16
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 44,
"end_col_offset": 53,
"end_lineno": 16,
"lineno": 16,
"value": "isf_ifi"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 55,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 55,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 16,
"id": "period",
"lineno": 16
}
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 72,
"end_lineno": 16,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 22,
"end_lineno": 16,
"id": "menage",
"lineno": 16
}
}
},
"keywords": [],
"lineno": 16
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 82,
"end_lineno": 17,
"lineno": 17,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 18,
"end_lineno": 17,
"id": "isf_ifi_menage",
"lineno": 17
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 17,
"id": "isf_ifi_i",
"lineno": 17
}
],
"ast_class": "Call",
"col_offset": 21,
"end_col_offset": 82,
"end_lineno": 17,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 17,
"lineno": 17,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 17,
"id": "menage",
"lineno": 17
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 43,
"end_col_offset": 81,
"end_lineno": 17,
"lineno": 17,
"value": {
"ast_class": "Attribute",
"attr": "DECLARANT_PRINCIPAL",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 17,
"lineno": 17,
"value": {
"ast_class": "Name",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 17,
"id": "FoyerFiscal",
"lineno": 17
}
}
}
],
"lineno": 17
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 64,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 18,
"id": "rfr_i",
"lineno": 18
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 18,
"lineno": 18,
"value": "rfr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 18,
"lineno": 18,
"value": {
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 18,
"id": "period",
"lineno": 18
}
}
],
"ast_class": "Call",
"col_offset": 12,
"end_col_offset": 64,
"end_lineno": 18,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 18,
"lineno": 18,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 18,
"lineno": 18,
"value": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 18,
"id": "menage",
"lineno": 18
}
}
},
"keywords": [],
"lineno": 18
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 74,
"end_lineno": 19,
"lineno": 19,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 19,
"id": "rfr_menage",
"lineno": 19
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 19,
"id": "rfr_i",
"lineno": 19
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 74,
"end_lineno": 19,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 19,
"lineno": 19,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 19,
"id": "menage",
"lineno": 19
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 35,
"end_col_offset": 73,
"end_lineno": 19,
"lineno": 19,
"value": {
"ast_class": "Attribute",
"attr": "DECLARANT_PRINCIPAL",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 73,
"end_lineno": 19,
"lineno": 19,
"value": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 19,
"id": "FoyerFiscal",
"lineno": 19
}
}
}
],
"lineno": 19
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 68,
"end_lineno": 20,
"lineno": 20,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 11,
"end_lineno": 20,
"id": "nbptr_i",
"lineno": 20
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 42,
"end_col_offset": 49,
"end_lineno": 20,
"lineno": 20,
"value": "nbptr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 20,
"lineno": 20,
"value": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 20,
"id": "period",
"lineno": 20
}
}
],
"ast_class": "Call",
"col_offset": 14,
"end_col_offset": 68,
"end_lineno": 20,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 20,
"lineno": 20,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 20,
"lineno": 20,
"value": {
"ast_class": "Name",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 20,
"id": "menage",
"lineno": 20
}
}
},
"keywords": [],
"lineno": 20
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 78,
"end_lineno": 21,
"lineno": 21,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 21,
"id": "nbptr_menage",
"lineno": 21
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 21,
"id": "nbptr_i",
"lineno": 21
}
],
"ast_class": "Call",
"col_offset": 19,
"end_col_offset": 78,
"end_lineno": 21,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 21,
"id": "menage",
"lineno": 21
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 39,
"end_col_offset": 77,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Attribute",
"attr": "DECLARANT_PRINCIPAL",
"col_offset": 46,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 77,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 46,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 21,
"id": "FoyerFiscal",
"lineno": 21
}
}
}
],
"lineno": 21
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 288,
"end_lineno": 22,
"lineno": 22,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 22,
"end_lineno": 22,
"id": "plafond_rfr_degrev",
"lineno": 22
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 288,
"end_lineno": 22,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 190,
"end_lineno": 22,
"left": {
"ast_class": "Attribute",
"attr": "premiere_part",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 22,
"id": "degrevement_d_office",
"lineno": 22
}
}
},
"lineno": 22,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 78,
"end_col_offset": 190,
"end_lineno": 22,
"left": {
"ast_class": "BinOp",
"col_offset": 78,
"end_col_offset": 184,
"end_lineno": 22,
"left": {
"ast_class": "Attribute",
"attr": "deux_premieres_demi_parts_supp",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 145,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 114,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Name",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 98,
"end_lineno": 22,
"id": "degrevement_d_office",
"lineno": 22
}
}
},
"lineno": 22,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "BinOp",
"col_offset": 159,
"end_col_offset": 175,
"end_lineno": 22,
"left": {
"ast_class": "Name",
"col_offset": 159,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 171,
"end_lineno": 22,
"id": "nbptr_menage",
"lineno": 22
},
"lineno": 22,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 174,
"end_col_offset": 175,
"end_lineno": 22,
"lineno": 22,
"value": 1
}
},
{
"ast_class": "Constant",
"col_offset": 177,
"end_col_offset": 178,
"end_lineno": 22,
"lineno": 22,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 154,
"end_col_offset": 179,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 154,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 22,
"id": "max_",
"lineno": 22
},
"keywords": [],
"lineno": 22
},
{
"ast_class": "Constant",
"col_offset": 181,
"end_col_offset": 182,
"end_lineno": 22,
"lineno": 22,
"value": 1
}
],
"ast_class": "Call",
"col_offset": 149,
"end_col_offset": 183,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 149,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 153,
"end_lineno": 22,
"id": "min_",
"lineno": 22
},
"keywords": [],
"lineno": 22
}
},
"lineno": 22,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 187,
"end_col_offset": 190,
"end_lineno": 22,
"lineno": 22,
"value": 0.5
}
}
},
"lineno": 22,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 193,
"end_col_offset": 288,
"end_lineno": 22,
"left": {
"ast_class": "BinOp",
"col_offset": 193,
"end_col_offset": 282,
"end_lineno": 22,
"left": {
"ast_class": "Attribute",
"attr": "autres_demi_parts_supp",
"col_offset": 193,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 252,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev",
"col_offset": 193,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 229,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Name",
"col_offset": 193,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 213,
"end_lineno": 22,
"id": "degrevement_d_office",
"lineno": 22
}
}
},
"lineno": 22,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 261,
"end_col_offset": 277,
"end_lineno": 22,
"left": {
"ast_class": "Name",
"col_offset": 261,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 273,
"end_lineno": 22,
"id": "nbptr_menage",
"lineno": 22
},
"lineno": 22,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 276,
"end_col_offset": 277,
"end_lineno": 22,
"lineno": 22,
"value": 2
}
},
{
"ast_class": "Constant",
"col_offset": 279,
"end_col_offset": 280,
"end_lineno": 22,
"lineno": 22,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 256,
"end_col_offset": 281,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 256,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 260,
"end_lineno": 22,
"id": "max_",
"lineno": 22
},
"keywords": [],
"lineno": 22
}
},
"lineno": 22,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 285,
"end_col_offset": 288,
"end_lineno": 22,
"lineno": 22,
"value": 0.5
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 328,
"end_lineno": 23,
"lineno": 23,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 32,
"end_lineno": 23,
"id": "plafond_rfr_degrev_degressif",
"lineno": 23
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 35,
"end_col_offset": 328,
"end_lineno": 23,
"left": {
"ast_class": "BinOp",
"col_offset": 35,
"end_col_offset": 220,
"end_lineno": 23,
"left": {
"ast_class": "Attribute",
"attr": "premiere_part",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 95,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev_degressif",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 55,
"end_lineno": 23,
"id": "degrevement_d_office",
"lineno": 23
}
}
},
"lineno": 23,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 98,
"end_col_offset": 220,
"end_lineno": 23,
"left": {
"ast_class": "BinOp",
"col_offset": 98,
"end_col_offset": 214,
"end_lineno": 23,
"left": {
"ast_class": "Attribute",
"attr": "deux_premieres_demi_parts_supp",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 175,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev_degressif",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 144,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 118,
"end_lineno": 23,
"id": "degrevement_d_office",
"lineno": 23
}
}
},
"lineno": 23,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "BinOp",
"col_offset": 189,
"end_col_offset": 205,
"end_lineno": 23,
"left": {
"ast_class": "Name",
"col_offset": 189,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 201,
"end_lineno": 23,
"id": "nbptr_menage",
"lineno": 23
},
"lineno": 23,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 204,
"end_col_offset": 205,
"end_lineno": 23,
"lineno": 23,
"value": 1
}
},
{
"ast_class": "Constant",
"col_offset": 207,
"end_col_offset": 208,
"end_lineno": 23,
"lineno": 23,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 184,
"end_col_offset": 209,
"end_lineno": 23,
"func": {
"ast_class": "Name",
"col_offset": 184,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 188,
"end_lineno": 23,
"id": "max_",
"lineno": 23
},
"keywords": [],
"lineno": 23
},
{
"ast_class": "Constant",
"col_offset": 211,
"end_col_offset": 212,
"end_lineno": 23,
"lineno": 23,
"value": 1
}
],
"ast_class": "Call",
"col_offset": 179,
"end_col_offset": 213,
"end_lineno": 23,
"func": {
"ast_class": "Name",
"col_offset": 179,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 183,
"end_lineno": 23,
"id": "min_",
"lineno": 23
},
"keywords": [],
"lineno": 23
}
},
"lineno": 23,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 217,
"end_col_offset": 220,
"end_lineno": 23,
"lineno": 23,
"value": 0.5
}
}
},
"lineno": 23,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 223,
"end_col_offset": 328,
"end_lineno": 23,
"left": {
"ast_class": "BinOp",
"col_offset": 223,
"end_col_offset": 322,
"end_lineno": 23,
"left": {
"ast_class": "Attribute",
"attr": "autres_demi_parts_supp",
"col_offset": 223,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 292,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev_degressif",
"col_offset": 223,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 269,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Name",
"col_offset": 223,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 243,
"end_lineno": 23,
"id": "degrevement_d_office",
"lineno": 23
}
}
},
"lineno": 23,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 301,
"end_col_offset": 317,
"end_lineno": 23,
"left": {
"ast_class": "Name",
"col_offset": 301,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 313,
"end_lineno": 23,
"id": "nbptr_menage",
"lineno": 23
},
"lineno": 23,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 316,
"end_col_offset": 317,
"end_lineno": 23,
"lineno": 23,
"value": 2
}
},
{
"ast_class": "Constant",
"col_offset": 319,
"end_col_offset": 320,
"end_lineno": 23,
"lineno": 23,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 296,
"end_col_offset": 321,
"end_lineno": 23,
"func": {
"ast_class": "Name",
"col_offset": 296,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 300,
"end_lineno": 23,
"id": "max_",
"lineno": 23
},
"keywords": [],
"lineno": 23
}
},
"lineno": 23,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 325,
"end_col_offset": 328,
"end_lineno": 23,
"lineno": 23,
"value": 0.5
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 76,
"end_lineno": 24,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 15,
"end_lineno": 24,
"id": "elig_degrev",
"lineno": 24
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 18,
"end_col_offset": 76,
"end_lineno": 24,
"left": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 37,
"end_col_offset": 38,
"end_lineno": 24,
"lineno": 24,
"value": 0
}
],
"end_col_offset": 38,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 24,
"id": "isf_ifi_menage",
"lineno": 24
},
"lineno": 24,
"ops": [
{
"ast_class": "Eq"
}
]
},
"lineno": 24,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 43,
"comparators": [
{
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 24,
"id": "plafond_rfr_degrev",
"lineno": 24
}
],
"end_col_offset": 75,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 24,
"id": "rfr_menage",
"lineno": 24
},
"lineno": 24,
"ops": [
{
"ast_class": "LtE"
}
]
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 117,
"end_lineno": 25,
"lineno": 25,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 25,
"id": "elig_degrev_degressif",
"lineno": 25
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 28,
"end_col_offset": 117,
"end_lineno": 25,
"left": {
"ast_class": "BinOp",
"col_offset": 28,
"end_col_offset": 70,
"end_lineno": 25,
"left": {
"ast_class": "Compare",
"col_offset": 29,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 47,
"end_col_offset": 48,
"end_lineno": 25,
"lineno": 25,
"value": 0
}
],
"end_col_offset": 48,
"end_lineno": 25,
"left": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 25,
"id": "isf_ifi_menage",
"lineno": 25
},
"lineno": 25,
"ops": [
{
"ast_class": "Eq"
}
]
},
"lineno": 25,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 53,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 68,
"end_col_offset": 69,
"end_lineno": 25,
"lineno": 25,
"value": 0
}
],
"end_col_offset": 69,
"end_lineno": 25,
"left": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 25,
"id": "elig_degrev",
"lineno": 25
},
"lineno": 25,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
"lineno": 25,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 74,
"comparators": [
{
"ast_class": "Name",
"col_offset": 88,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 25,
"id": "plafond_rfr_degrev_degressif",
"lineno": 25
}
],
"end_col_offset": 116,
"end_lineno": 25,
"left": {
"ast_class": "Name",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 25,
"id": "rfr_menage",
"lineno": 25
},
"lineno": 25,
"ops": [
{
"ast_class": "LtE"
}
]
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 143,
"end_lineno": 28,
"lineno": 28,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 63,
"end_lineno": 28,
"id": "taxe_habitation_commune_epci_apres_degrevement_plafonnement",
"lineno": 28
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 73,
"end_col_offset": 134,
"end_lineno": 28,
"lineno": 28,
"value": "taxe_habitation_commune_epci_apres_degrevement_plafonnement"
},
{
"ast_class": "Name",
"col_offset": 136,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 142,
"end_lineno": 28,
"id": "period",
"lineno": 28
}
],
"ast_class": "Call",
"col_offset": 66,
"end_col_offset": 143,
"end_lineno": 28,
"func": {
"ast_class": "Name",
"col_offset": 66,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 28,
"id": "menage",
"lineno": 28
},
"keywords": [],
"lineno": 28
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 109,
"end_lineno": 29,
"lineno": 29,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 29,
"id": "degrev",
"lineno": 29
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 13,
"end_col_offset": 109,
"end_lineno": 29,
"left": {
"ast_class": "Attribute",
"attr": "taux_inf_plaf",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 29,
"lineno": 29,
"value": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 29,
"id": "degrevement_d_office",
"lineno": 29
}
},
"lineno": 29,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 109,
"end_lineno": 29,
"id": "taxe_habitation_commune_epci_apres_degrevement_plafonnement",
"lineno": 29
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 138,
"end_lineno": 30,
"lineno": 30,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 30,
"id": "degrev_degressif",
"lineno": 30
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 23,
"end_col_offset": 138,
"end_lineno": 30,
"left": {
"ast_class": "Name",
"col_offset": 23,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 30,
"id": "degrev",
"lineno": 30
},
"lineno": 30,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 134,
"end_lineno": 30,
"left": {
"ast_class": "BinOp",
"col_offset": 38,
"end_col_offset": 79,
"end_lineno": 30,
"left": {
"ast_class": "Name",
"col_offset": 38,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 66,
"end_lineno": 30,
"id": "plafond_rfr_degrev_degressif",
"lineno": 30
},
"lineno": 30,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 69,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 30,
"id": "rfr_menage",
"lineno": 30
}
},
"lineno": 30,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "BinOp",
"col_offset": 84,
"end_col_offset": 133,
"end_lineno": 30,
"left": {
"ast_class": "Name",
"col_offset": 84,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 112,
"end_lineno": 30,
"id": "plafond_rfr_degrev_degressif",
"lineno": 30
},
"lineno": 30,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 115,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 133,
"end_lineno": 30,
"id": "plafond_rfr_degrev",
"lineno": 30
}
}
},
{
"ast_class": "Constant",
"col_offset": 136,
"end_col_offset": 137,
"end_lineno": 30,
"lineno": 30,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 138,
"end_lineno": 30,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 30,
"id": "max_",
"lineno": 30
},
"keywords": [],
"lineno": 30
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 74,
"end_lineno": 32,
"lineno": 32,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 74,
"end_lineno": 32,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 31,
"end_lineno": 32,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 17,
"end_lineno": 32,
"id": "degrev",
"lineno": 32
},
"lineno": 32,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 32,
"id": "elig_degrev",
"lineno": 32
}
},
"lineno": 32,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 34,
"end_col_offset": 74,
"end_lineno": 32,
"left": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 32,
"id": "degrev_degressif",
"lineno": 32
},
"lineno": 32,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 32,
"id": "elig_degrev_degressif",
"lineno": 32
}
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 74,
"end_lineno": 32,
"lineno": 1,
"name": "formula_2018_01_01"
},
"documentation": "\nNote Importante : on ne prend pas en compte l'exclusion de ce dégrèvement des hausses de taux et d'abattements depuis 2018.\nDans les faits :\n - si les variations de taux de taxation et d'abattements votés par les communes et EPCI depuis 2017\n entrainent une baisse ou une non variation de la taxe d'habitation, le dégrèvement s'applique au\n montant de taxe d'habitation avec taux et abattements actualisés;\n - si ces variations entrainent une hausse de la taxe d'habitation, le dégrèvement d'office est\n appliqué à la taxe d'habitation qui aurait été payée en N (avec N>=2018) avec les taux de taxation\n et d'abattements votés par les communes et EPCI en 2017.\nDans ce code, on suppose qu'on est toujours dans le premier cas.\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"parameters": [
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev.autres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev.deux_premieres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev.premiere_part",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev_degressif.autres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev_degressif.deux_premieres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev_degressif.premiere_part",
"taxe_habitation.degrevement_d_office.taux_inf_plaf"
],
"source_code": "def formula_2018_01_01(menage, period, parameters):\n '''\n Note Importante : on ne prend pas en compte l'exclusion de ce dégrèvement des hausses de taux et d'abattements depuis 2018.\n Dans les faits :\n - si les variations de taux de taxation et d'abattements votés par les communes et EPCI depuis 2017\n entrainent une baisse ou une non variation de la taxe d'habitation, le dégrèvement s'applique au\n montant de taxe d'habitation avec taux et abattements actualisés;\n - si ces variations entrainent une hausse de la taxe d'habitation, le dégrèvement d'office est\n appliqué à la taxe d'habitation qui aurait été payée en N (avec N>=2018) avec les taux de taxation\n et d'abattements votés par les communes et EPCI en 2017.\n Dans ce code, on suppose qu'on est toujours dans le premier cas.\n '''\n\n # Calcul de l'éligibilité en fonction du revenu fiscal de référence et de la perception de l'ISF-IFI\n degrevement_d_office = parameters(period).taxe_habitation.degrevement_d_office\n isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period.last_year)\n isf_ifi_menage = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)\n rfr_i = menage.members.foyer_fiscal('rfr', period.last_year)\n rfr_menage = menage.sum(rfr_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)\n nbptr_i = menage.members.foyer_fiscal('nbptr', period.last_year)\n nbptr_menage = menage.sum(nbptr_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)\n plafond_rfr_degrev = degrevement_d_office.plaf_rfr_degrev.premiere_part + degrevement_d_office.plaf_rfr_degrev.deux_premieres_demi_parts_supp * (min_(max_(nbptr_menage - 1, 0), 1)) / 0.5 + degrevement_d_office.plaf_rfr_degrev.autres_demi_parts_supp * (max_(nbptr_menage - 2, 0)) / 0.5\n plafond_rfr_degrev_degressif = degrevement_d_office.plaf_rfr_degrev_degressif.premiere_part + degrevement_d_office.plaf_rfr_degrev_degressif.deux_premieres_demi_parts_supp * (min_(max_(nbptr_menage - 1, 0), 1)) / 0.5 + degrevement_d_office.plaf_rfr_degrev_degressif.autres_demi_parts_supp * (max_(nbptr_menage - 2, 0)) / 0.5\n elig_degrev = (isf_ifi_menage == 0) * (rfr_menage <= plafond_rfr_degrev)\n elig_degrev_degressif = (isf_ifi_menage == 0) * (elig_degrev == 0) * (rfr_menage <= plafond_rfr_degrev_degressif)\n\n # Calcul du dégrèvement\n taxe_habitation_commune_epci_apres_degrevement_plafonnement = menage('taxe_habitation_commune_epci_apres_degrevement_plafonnement', period)\n degrev = degrevement_d_office.taux_inf_plaf * taxe_habitation_commune_epci_apres_degrevement_plafonnement\n degrev_degressif = degrev * max_((plafond_rfr_degrev_degressif - rfr_menage) / (plafond_rfr_degrev_degressif - plafond_rfr_degrev), 0)\n\n return degrev * elig_degrev + degrev_degressif * elig_degrev_degressif\n",
"start_line_number": 383,
"stop_line_number": 415,
"variables": [
"isf_ifi",
"nbptr",
"rfr",
"taxe_habitation_commune_epci_apres_degrevement_plafonnement"
]
},
"2020-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "menage",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 39,
"end_col_offset": 49,
"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": 5,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 5,
"lineno": 2,
"value": "\n Différence par rapport à la formule précédente : le taux de plafonnement est appliqué à taxe_habitation_commune_epci_avant_degrevement\n (au lieu de taxe_habitation_commune_epci_apres_degrevement_plafonnement)\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 82,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 8,
"id": "degrevement_d_office",
"lineno": 8
}
],
"value": {
"ast_class": "Attribute",
"attr": "degrevement_d_office",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 82,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "taxe_habitation",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 8,
"lineno": 8,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 38,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 27,
"end_col_offset": 45,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 8,
"id": "parameters",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 72,
"end_lineno": 9,
"lineno": 9,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 9,
"id": "isf_ifi_i",
"lineno": 9
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 44,
"end_col_offset": 53,
"end_lineno": 9,
"lineno": 9,
"value": "isf_ifi"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 55,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 9,
"lineno": 9,
"value": {
"ast_class": "Name",
"col_offset": 55,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 9,
"id": "period",
"lineno": 9
}
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 72,
"end_lineno": 9,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 9,
"lineno": 9,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 9,
"lineno": 9,
"value": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 22,
"end_lineno": 9,
"id": "menage",
"lineno": 9
}
}
},
"keywords": [],
"lineno": 9
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 82,
"end_lineno": 10,
"lineno": 10,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 18,
"end_lineno": 10,
"id": "isf_ifi_menage",
"lineno": 10
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 10,
"id": "isf_ifi_i",
"lineno": 10
}
],
"ast_class": "Call",
"col_offset": 21,
"end_col_offset": 82,
"end_lineno": 10,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 10,
"id": "menage",
"lineno": 10
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 43,
"end_col_offset": 81,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Attribute",
"attr": "DECLARANT_PRINCIPAL",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 10,
"id": "FoyerFiscal",
"lineno": 10
}
}
}
],
"lineno": 10
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 64,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 11,
"id": "rfr_i",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 11,
"lineno": 11,
"value": "rfr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 11,
"lineno": 11,
"value": {
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 11,
"id": "period",
"lineno": 11
}
}
],
"ast_class": "Call",
"col_offset": 12,
"end_col_offset": 64,
"end_lineno": 11,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 11,
"lineno": 11,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 11,
"lineno": 11,
"value": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 11,
"id": "menage",
"lineno": 11
}
}
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 74,
"end_lineno": 12,
"lineno": 12,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 12,
"id": "rfr_menage",
"lineno": 12
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 12,
"id": "rfr_i",
"lineno": 12
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 74,
"end_lineno": 12,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 12,
"id": "menage",
"lineno": 12
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 35,
"end_col_offset": 73,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Attribute",
"attr": "DECLARANT_PRINCIPAL",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 73,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 12,
"id": "FoyerFiscal",
"lineno": 12
}
}
}
],
"lineno": 12
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 68,
"end_lineno": 13,
"lineno": 13,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 11,
"end_lineno": 13,
"id": "nbptr_i",
"lineno": 13
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 42,
"end_col_offset": 49,
"end_lineno": 13,
"lineno": 13,
"value": "nbptr"
},
{
"ast_class": "Attribute",
"attr": "last_year",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 13,
"lineno": 13,
"value": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 13,
"id": "period",
"lineno": 13
}
}
],
"ast_class": "Call",
"col_offset": 14,
"end_col_offset": 68,
"end_lineno": 13,
"func": {
"ast_class": "Attribute",
"attr": "foyer_fiscal",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 13,
"lineno": 13,
"value": {
"ast_class": "Attribute",
"attr": "members",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 13,
"lineno": 13,
"value": {
"ast_class": "Name",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 13,
"id": "menage",
"lineno": 13
}
}
},
"keywords": [],
"lineno": 13
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 78,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 14,
"id": "nbptr_menage",
"lineno": 14
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 14,
"id": "nbptr_i",
"lineno": 14
}
],
"ast_class": "Call",
"col_offset": 19,
"end_col_offset": 78,
"end_lineno": 14,
"func": {
"ast_class": "Attribute",
"attr": "sum",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 14,
"id": "menage",
"lineno": 14
}
},
"keywords": [
{
"arg": "role",
"ast_class": "keyword",
"col_offset": 39,
"end_col_offset": 77,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Attribute",
"attr": "DECLARANT_PRINCIPAL",
"col_offset": 46,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 77,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Name",
"col_offset": 46,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 14,
"id": "FoyerFiscal",
"lineno": 14
}
}
}
],
"lineno": 14
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 288,
"end_lineno": 15,
"lineno": 15,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 22,
"end_lineno": 15,
"id": "plafond_rfr_degrev",
"lineno": 15
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 288,
"end_lineno": 15,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 190,
"end_lineno": 15,
"left": {
"ast_class": "Attribute",
"attr": "premiere_part",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 15,
"id": "degrevement_d_office",
"lineno": 15
}
}
},
"lineno": 15,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 78,
"end_col_offset": 190,
"end_lineno": 15,
"left": {
"ast_class": "BinOp",
"col_offset": 78,
"end_col_offset": 184,
"end_lineno": 15,
"left": {
"ast_class": "Attribute",
"attr": "deux_premieres_demi_parts_supp",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 145,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 114,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Name",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 98,
"end_lineno": 15,
"id": "degrevement_d_office",
"lineno": 15
}
}
},
"lineno": 15,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "BinOp",
"col_offset": 159,
"end_col_offset": 175,
"end_lineno": 15,
"left": {
"ast_class": "Name",
"col_offset": 159,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 171,
"end_lineno": 15,
"id": "nbptr_menage",
"lineno": 15
},
"lineno": 15,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 174,
"end_col_offset": 175,
"end_lineno": 15,
"lineno": 15,
"value": 1
}
},
{
"ast_class": "Constant",
"col_offset": 177,
"end_col_offset": 178,
"end_lineno": 15,
"lineno": 15,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 154,
"end_col_offset": 179,
"end_lineno": 15,
"func": {
"ast_class": "Name",
"col_offset": 154,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 15,
"id": "max_",
"lineno": 15
},
"keywords": [],
"lineno": 15
},
{
"ast_class": "Constant",
"col_offset": 181,
"end_col_offset": 182,
"end_lineno": 15,
"lineno": 15,
"value": 1
}
],
"ast_class": "Call",
"col_offset": 149,
"end_col_offset": 183,
"end_lineno": 15,
"func": {
"ast_class": "Name",
"col_offset": 149,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 153,
"end_lineno": 15,
"id": "min_",
"lineno": 15
},
"keywords": [],
"lineno": 15
}
},
"lineno": 15,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 187,
"end_col_offset": 190,
"end_lineno": 15,
"lineno": 15,
"value": 0.5
}
}
},
"lineno": 15,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 193,
"end_col_offset": 288,
"end_lineno": 15,
"left": {
"ast_class": "BinOp",
"col_offset": 193,
"end_col_offset": 282,
"end_lineno": 15,
"left": {
"ast_class": "Attribute",
"attr": "autres_demi_parts_supp",
"col_offset": 193,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 252,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev",
"col_offset": 193,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 229,
"end_lineno": 15,
"lineno": 15,
"value": {
"ast_class": "Name",
"col_offset": 193,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 213,
"end_lineno": 15,
"id": "degrevement_d_office",
"lineno": 15
}
}
},
"lineno": 15,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 261,
"end_col_offset": 277,
"end_lineno": 15,
"left": {
"ast_class": "Name",
"col_offset": 261,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 273,
"end_lineno": 15,
"id": "nbptr_menage",
"lineno": 15
},
"lineno": 15,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 276,
"end_col_offset": 277,
"end_lineno": 15,
"lineno": 15,
"value": 2
}
},
{
"ast_class": "Constant",
"col_offset": 279,
"end_col_offset": 280,
"end_lineno": 15,
"lineno": 15,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 256,
"end_col_offset": 281,
"end_lineno": 15,
"func": {
"ast_class": "Name",
"col_offset": 256,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 260,
"end_lineno": 15,
"id": "max_",
"lineno": 15
},
"keywords": [],
"lineno": 15
}
},
"lineno": 15,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 285,
"end_col_offset": 288,
"end_lineno": 15,
"lineno": 15,
"value": 0.5
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 328,
"end_lineno": 16,
"lineno": 16,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 32,
"end_lineno": 16,
"id": "plafond_rfr_degrev_degressif",
"lineno": 16
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 35,
"end_col_offset": 328,
"end_lineno": 16,
"left": {
"ast_class": "BinOp",
"col_offset": 35,
"end_col_offset": 220,
"end_lineno": 16,
"left": {
"ast_class": "Attribute",
"attr": "premiere_part",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 95,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev_degressif",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 55,
"end_lineno": 16,
"id": "degrevement_d_office",
"lineno": 16
}
}
},
"lineno": 16,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 98,
"end_col_offset": 220,
"end_lineno": 16,
"left": {
"ast_class": "BinOp",
"col_offset": 98,
"end_col_offset": 214,
"end_lineno": 16,
"left": {
"ast_class": "Attribute",
"attr": "deux_premieres_demi_parts_supp",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 175,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev_degressif",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 144,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 118,
"end_lineno": 16,
"id": "degrevement_d_office",
"lineno": 16
}
}
},
"lineno": 16,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "BinOp",
"col_offset": 189,
"end_col_offset": 205,
"end_lineno": 16,
"left": {
"ast_class": "Name",
"col_offset": 189,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 201,
"end_lineno": 16,
"id": "nbptr_menage",
"lineno": 16
},
"lineno": 16,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 204,
"end_col_offset": 205,
"end_lineno": 16,
"lineno": 16,
"value": 1
}
},
{
"ast_class": "Constant",
"col_offset": 207,
"end_col_offset": 208,
"end_lineno": 16,
"lineno": 16,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 184,
"end_col_offset": 209,
"end_lineno": 16,
"func": {
"ast_class": "Name",
"col_offset": 184,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 188,
"end_lineno": 16,
"id": "max_",
"lineno": 16
},
"keywords": [],
"lineno": 16
},
{
"ast_class": "Constant",
"col_offset": 211,
"end_col_offset": 212,
"end_lineno": 16,
"lineno": 16,
"value": 1
}
],
"ast_class": "Call",
"col_offset": 179,
"end_col_offset": 213,
"end_lineno": 16,
"func": {
"ast_class": "Name",
"col_offset": 179,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 183,
"end_lineno": 16,
"id": "min_",
"lineno": 16
},
"keywords": [],
"lineno": 16
}
},
"lineno": 16,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 217,
"end_col_offset": 220,
"end_lineno": 16,
"lineno": 16,
"value": 0.5
}
}
},
"lineno": 16,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 223,
"end_col_offset": 328,
"end_lineno": 16,
"left": {
"ast_class": "BinOp",
"col_offset": 223,
"end_col_offset": 322,
"end_lineno": 16,
"left": {
"ast_class": "Attribute",
"attr": "autres_demi_parts_supp",
"col_offset": 223,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 292,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Attribute",
"attr": "plaf_rfr_degrev_degressif",
"col_offset": 223,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 269,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 223,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 243,
"end_lineno": 16,
"id": "degrevement_d_office",
"lineno": 16
}
}
},
"lineno": 16,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 301,
"end_col_offset": 317,
"end_lineno": 16,
"left": {
"ast_class": "Name",
"col_offset": 301,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 313,
"end_lineno": 16,
"id": "nbptr_menage",
"lineno": 16
},
"lineno": 16,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Constant",
"col_offset": 316,
"end_col_offset": 317,
"end_lineno": 16,
"lineno": 16,
"value": 2
}
},
{
"ast_class": "Constant",
"col_offset": 319,
"end_col_offset": 320,
"end_lineno": 16,
"lineno": 16,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 296,
"end_col_offset": 321,
"end_lineno": 16,
"func": {
"ast_class": "Name",
"col_offset": 296,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 300,
"end_lineno": 16,
"id": "max_",
"lineno": 16
},
"keywords": [],
"lineno": 16
}
},
"lineno": 16,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 325,
"end_col_offset": 328,
"end_lineno": 16,
"lineno": 16,
"value": 0.5
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 76,
"end_lineno": 17,
"lineno": 17,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 15,
"end_lineno": 17,
"id": "elig_degrev",
"lineno": 17
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 18,
"end_col_offset": 76,
"end_lineno": 17,
"left": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 37,
"end_col_offset": 38,
"end_lineno": 17,
"lineno": 17,
"value": 0
}
],
"end_col_offset": 38,
"end_lineno": 17,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 17,
"id": "isf_ifi_menage",
"lineno": 17
},
"lineno": 17,
"ops": [
{
"ast_class": "Eq"
}
]
},
"lineno": 17,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 43,
"comparators": [
{
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 17,
"id": "plafond_rfr_degrev",
"lineno": 17
}
],
"end_col_offset": 75,
"end_lineno": 17,
"left": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 17,
"id": "rfr_menage",
"lineno": 17
},
"lineno": 17,
"ops": [
{
"ast_class": "LtE"
}
]
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 117,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 18,
"id": "elig_degrev_degressif",
"lineno": 18
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 28,
"end_col_offset": 117,
"end_lineno": 18,
"left": {
"ast_class": "BinOp",
"col_offset": 28,
"end_col_offset": 70,
"end_lineno": 18,
"left": {
"ast_class": "Compare",
"col_offset": 29,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 47,
"end_col_offset": 48,
"end_lineno": 18,
"lineno": 18,
"value": 0
}
],
"end_col_offset": 48,
"end_lineno": 18,
"left": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 18,
"id": "isf_ifi_menage",
"lineno": 18
},
"lineno": 18,
"ops": [
{
"ast_class": "Eq"
}
]
},
"lineno": 18,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 53,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 68,
"end_col_offset": 69,
"end_lineno": 18,
"lineno": 18,
"value": 0
}
],
"end_col_offset": 69,
"end_lineno": 18,
"left": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 18,
"id": "elig_degrev",
"lineno": 18
},
"lineno": 18,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
"lineno": 18,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Compare",
"col_offset": 74,
"comparators": [
{
"ast_class": "Name",
"col_offset": 88,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 18,
"id": "plafond_rfr_degrev_degressif",
"lineno": 18
}
],
"end_col_offset": 116,
"end_lineno": 18,
"left": {
"ast_class": "Name",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 18,
"id": "rfr_menage",
"lineno": 18
},
"lineno": 18,
"ops": [
{
"ast_class": "LtE"
}
]
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 45,
"end_lineno": 19,
"lineno": 19,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 19,
"id": "elig_degrev_sup_plaf",
"lineno": 19
}
],
"value": {
"ast_class": "Compare",
"col_offset": 28,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 43,
"end_col_offset": 44,
"end_lineno": 19,
"lineno": 19,
"value": 0
}
],
"end_col_offset": 44,
"end_lineno": 19,
"left": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 19,
"id": "elig_degrev",
"lineno": 19
},
"lineno": 19,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 117,
"end_lineno": 22,
"lineno": 22,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 50,
"end_lineno": 22,
"id": "taxe_habitation_commune_epci_avant_degrevement",
"lineno": 22
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 60,
"end_col_offset": 108,
"end_lineno": 22,
"lineno": 22,
"value": "taxe_habitation_commune_epci_avant_degrevement"
},
{
"ast_class": "Name",
"col_offset": 110,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 22,
"id": "period",
"lineno": 22
}
],
"ast_class": "Call",
"col_offset": 53,
"end_col_offset": 117,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 59,
"end_lineno": 22,
"id": "menage",
"lineno": 22
},
"keywords": [],
"lineno": 22
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 96,
"end_lineno": 23,
"lineno": 23,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 23,
"id": "degrev",
"lineno": 23
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 13,
"end_col_offset": 96,
"end_lineno": 23,
"left": {
"ast_class": "Attribute",
"attr": "taux_inf_plaf",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 23,
"lineno": 23,
"value": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 23,
"id": "degrevement_d_office",
"lineno": 23
}
},
"lineno": 23,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 50,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 96,
"end_lineno": 23,
"id": "taxe_habitation_commune_epci_avant_degrevement",
"lineno": 23
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 138,
"end_lineno": 24,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 24,
"id": "degrev_degressif",
"lineno": 24
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 23,
"end_col_offset": 138,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 23,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 24,
"id": "degrev",
"lineno": 24
},
"lineno": 24,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 134,
"end_lineno": 24,
"left": {
"ast_class": "BinOp",
"col_offset": 38,
"end_col_offset": 79,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 38,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 66,
"end_lineno": 24,
"id": "plafond_rfr_degrev_degressif",
"lineno": 24
},
"lineno": 24,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 69,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 24,
"id": "rfr_menage",
"lineno": 24
}
},
"lineno": 24,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "BinOp",
"col_offset": 84,
"end_col_offset": 133,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 84,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 112,
"end_lineno": 24,
"id": "plafond_rfr_degrev_degressif",
"lineno": 24
},
"lineno": 24,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 115,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 133,
"end_lineno": 24,
"id": "plafond_rfr_degrev",
"lineno": 24
}
}
},
{
"ast_class": "Constant",
"col_offset": 136,
"end_col_offset": 137,
"end_lineno": 24,
"lineno": 24,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 138,
"end_lineno": 24,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 24,
"id": "max_",
"lineno": 24
},
"keywords": [],
"lineno": 24
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 133,
"end_lineno": 25,
"lineno": 25,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 25,
"id": "degrev_sup_plaf",
"lineno": 25
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 133,
"end_lineno": 25,
"left": {
"ast_class": "Attribute",
"attr": "taux_sup_plaf",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 25,
"lineno": 25,
"value": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 42,
"end_lineno": 25,
"id": "degrevement_d_office",
"lineno": 25
}
},
"lineno": 25,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 64,
"end_col_offset": 129,
"end_lineno": 25,
"left": {
"ast_class": "Name",
"col_offset": 64,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 110,
"end_lineno": 25,
"id": "taxe_habitation_commune_epci_avant_degrevement",
"lineno": 25
},
"lineno": 25,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 113,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 129,
"end_lineno": 25,
"id": "degrev_degressif",
"lineno": 25
}
},
{
"ast_class": "Constant",
"col_offset": 131,
"end_col_offset": 132,
"end_lineno": 25,
"lineno": 25,
"value": 0
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 133,
"end_lineno": 25,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 25,
"id": "max_",
"lineno": 25
},
"keywords": [],
"lineno": 25
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 115,
"end_lineno": 27,
"lineno": 27,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 115,
"end_lineno": 27,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 74,
"end_lineno": 27,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 31,
"end_lineno": 27,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 17,
"end_lineno": 27,
"id": "degrev",
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 27,
"id": "elig_degrev",
"lineno": 27
}
},
"lineno": 27,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 34,
"end_col_offset": 74,
"end_lineno": 27,
"left": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 27,
"id": "degrev_degressif",
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 27,
"id": "elig_degrev_degressif",
"lineno": 27
}
}
},
"lineno": 27,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "BinOp",
"col_offset": 77,
"end_col_offset": 115,
"end_lineno": 27,
"left": {
"ast_class": "Name",
"col_offset": 77,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 92,
"end_lineno": 27,
"id": "degrev_sup_plaf",
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 27,
"id": "elig_degrev_sup_plaf",
"lineno": 27
}
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 115,
"end_lineno": 27,
"lineno": 1,
"name": "formula_2020_01_01"
},
"documentation": "\nDifférence par rapport à la formule précédente : le taux de plafonnement est appliqué à taxe_habitation_commune_epci_avant_degrevement\n(au lieu de taxe_habitation_commune_epci_apres_degrevement_plafonnement)\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation.py",
"parameters": [
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev.autres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev.deux_premieres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev.premiere_part",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev_degressif.autres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev_degressif.deux_premieres_demi_parts_supp",
"taxe_habitation.degrevement_d_office.plaf_rfr_degrev_degressif.premiere_part",
"taxe_habitation.degrevement_d_office.taux_inf_plaf",
"taxe_habitation.degrevement_d_office.taux_sup_plaf"
],
"source_code": "def formula_2020_01_01(menage, period, parameters):\n '''\n Différence par rapport à la formule précédente : le taux de plafonnement est appliqué à taxe_habitation_commune_epci_avant_degrevement\n (au lieu de taxe_habitation_commune_epci_apres_degrevement_plafonnement)\n '''\n\n # Calcul de l'éligibilité en fonction du revenu fiscal de référence et de la perception de l'ISF-IFI\n degrevement_d_office = parameters(period).taxe_habitation.degrevement_d_office\n isf_ifi_i = menage.members.foyer_fiscal('isf_ifi', period.last_year)\n isf_ifi_menage = menage.sum(isf_ifi_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)\n rfr_i = menage.members.foyer_fiscal('rfr', period.last_year)\n rfr_menage = menage.sum(rfr_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)\n nbptr_i = menage.members.foyer_fiscal('nbptr', period.last_year)\n nbptr_menage = menage.sum(nbptr_i, role = FoyerFiscal.DECLARANT_PRINCIPAL)\n plafond_rfr_degrev = degrevement_d_office.plaf_rfr_degrev.premiere_part + degrevement_d_office.plaf_rfr_degrev.deux_premieres_demi_parts_supp * (min_(max_(nbptr_menage - 1, 0), 1)) / 0.5 + degrevement_d_office.plaf_rfr_degrev.autres_demi_parts_supp * (max_(nbptr_menage - 2, 0)) / 0.5\n plafond_rfr_degrev_degressif = degrevement_d_office.plaf_rfr_degrev_degressif.premiere_part + degrevement_d_office.plaf_rfr_degrev_degressif.deux_premieres_demi_parts_supp * (min_(max_(nbptr_menage - 1, 0), 1)) / 0.5 + degrevement_d_office.plaf_rfr_degrev_degressif.autres_demi_parts_supp * (max_(nbptr_menage - 2, 0)) / 0.5\n elig_degrev = (isf_ifi_menage == 0) * (rfr_menage <= plafond_rfr_degrev)\n elig_degrev_degressif = (isf_ifi_menage == 0) * (elig_degrev == 0) * (rfr_menage <= plafond_rfr_degrev_degressif)\n elig_degrev_sup_plaf = (elig_degrev == 0)\n\n # Calcul du dégrèvement\n taxe_habitation_commune_epci_avant_degrevement = menage('taxe_habitation_commune_epci_avant_degrevement', period)\n degrev = degrevement_d_office.taux_inf_plaf * taxe_habitation_commune_epci_avant_degrevement\n degrev_degressif = degrev * max_((plafond_rfr_degrev_degressif - rfr_menage) / (plafond_rfr_degrev_degressif - plafond_rfr_degrev), 0)\n degrev_sup_plaf = degrevement_d_office.taux_sup_plaf * max_(taxe_habitation_commune_epci_avant_degrevement - degrev_degressif, 0)\n\n return degrev * elig_degrev + degrev_degressif * elig_degrev_degressif + degrev_sup_plaf * elig_degrev_sup_plaf\n",
"start_line_number": 416,
"stop_line_number": 443,
"variables": [
"isf_ifi",
"nbptr",
"rfr",
"taxe_habitation_commune_epci_avant_degrevement"
]
},
"2023-01-01": null
},
"json_type": "number",
"label": "Dégrèvement d'office de la taxe d'habitation",
"last_value_still_valid_on": "2023-01-01",
"name": "degrevement_office_taxe_habitation",
"reference": {
"0001-01-01": [
{
"href": "https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000036441815&cidTexte=LEGITEXT000006069577&dateTexte=20190513&categorieLien=id&oldAction=&nbResultRech="
}
]
},
"referring_variables": [
"prelevement_base_imposition_elevee_taxe_habitation",
"taxe_habitation"
],
"start_line_number": 375,
"stop_line_number": 443,
"value_type": "float"
}