Skip to main content
Sign in
Snippets Groups Projects
Commit fed98ba6 authored by BENOIT MICHAUD's avatar BENOIT MICHAUD
Browse files

date fin de l'abattement retraite en 2026

parent 10500a2a
No related branches found
No related tags found
No related merge requests found
Pipeline #21943 passed
%% Cell type:code id:cf548361 tags: %% Cell type:code id:cf548361 tags:
``` python ``` python
from openfisca_france import FranceTaxBenefitSystem from openfisca_france import FranceTaxBenefitSystem
from openfisca_core.simulation_builder import SimulationBuilder from openfisca_core.simulation_builder import SimulationBuilder
from openfisca_france_reforms.plf_plfss_2026 import PlfPlfss2026 from openfisca_france_reforms.plf_plfss_2026 import PlfPlfss2026
import logging import logging
from numpy import busday_count, datetime64, logical_or as or_, logical_and as and_, timedelta64 from numpy import busday_count, datetime64, logical_or as or_, logical_and as and_, timedelta64
from openfisca_core.periods import Period from openfisca_core.periods import Period
from openfisca_france.model.base import * from openfisca_france.model.base import *
from datetime import date from datetime import date
``` ```
%% Cell type:markdown id:d791da20 tags: %% Cell type:markdown id:d791da20 tags:
# Tax benefit system # Tax benefit system
%% Cell type:code id:33b26f25 tags: %% Cell type:code id:33b26f25 tags:
``` python ``` python
tax_benefit_system_plf = PlfPlfss2026(FranceTaxBenefitSystem()) tax_benefit_system_plf = PlfPlfss2026(FranceTaxBenefitSystem())
``` ```
%% Output %% Output
/home/bmichaud/leximpact/openfisca-france-reforms/.venv/lib/python3.11/site-packages/openfisca_france/model/prelevements_obligatoires/taxe_habitation/taxe_habitation_import_baremes_locaux.py:4: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
abattement in node.__dict__: True abattement in node.__dict__: True
node.children: ['abattement', 'abattement_2'] node.children: ['abattement', 'abattement_2']
abattement_2 in node.__dict__: True abattement_2 in node.__dict__: True
node.children: ['abattement', 'abattement_2'] node.children: ['abattement', 'abattement_2']
%% Cell type:markdown id:0d38ad00 tags: %% Cell type:markdown id:0d38ad00 tags:
# Valeur des paramètres # Valeur des paramètres
%% Cell type:code id:6ae24d29 tags: %% Cell type:code id:6ae24d29 tags:
``` python ``` python
temp_period = "2026-01" temp_period = "2026-01"
abattement = tax_benefit_system_plf.get_parameters_at_instant( abattement = tax_benefit_system_plf.get_parameters_at_instant(
temp_period temp_period
).prelevements_sociaux.contributions_sociales.csg.activite.abattement ).prelevements_sociaux.contributions_sociales.csg.activite.abattement
print(f"abattement : {abattement}") print(f"abattement : {abattement}")
abattement_2 = tax_benefit_system_plf.get_parameters_at_instant( abattement_2 = tax_benefit_system_plf.get_parameters_at_instant(
temp_period temp_period
).prelevements_sociaux.contributions_sociales.csg.activite.abattement_2 ).prelevements_sociaux.contributions_sociales.csg.activite.abattement_2
print(f"abattement_2 : {abattement_2}") print(f"abattement_2 : {abattement_2}")
``` ```
%% Output %% Output
abattement : abattement :
abattement_2 : - threshold: 0 abattement_2 : - threshold: 0
rate: 0.5 rate: 0.5
- threshold: 5 - threshold: 5
rate: 0 rate: 0
%% Cell type:code id:ea193ced tags:
``` python
# abattement_retraite_max = tax_benefit_system_plf.get_parameters_at_instant(
# temp_period
# ).impot_revenu.calcul_revenus_imposables.deductions.abatpen.max
# print(f"abattement_retraite_max : {abattement_retraite_max}")
```
%% Output
---------------------------------------------------------------------------
ParameterNotFoundError Traceback (most recent call last)
Cell In[20], line 3
1 abattement_retraite_max = tax_benefit_system_plf.get_parameters_at_instant(
2 temp_period
----> 3 ).impot_revenu.calcul_revenus_imposables.deductions.abatpen.max
4 print(f"abattement_retraite_max : {abattement_retraite_max}")
File ~/leximpact/openfisca-france-reforms/.venv/lib/python3.11/site-packages/openfisca_core/parameters/parameter_node_at_instant.py:34, in ParameterNodeAtInstant.__getattr__(self, key)
32 def __getattr__(self, key):
33 param_name = helpers._compose_name(self._name, item_name=key)
---> 34 raise ParameterNotFoundError(param_name, self._instant_str)
ParameterNotFoundError: The parameter 'impot_revenu.calcul_revenus_imposables.deductions.abatpen[max]' was not found in the 2027-01-01 tax and benefit system.
%% Cell type:code id:389935ad tags: %% Cell type:code id:389935ad tags:
``` python ``` python
# valeurs des paramètres # valeurs des paramètres
smic_mensuel = tax_benefit_system_plf.get_parameters_at_instant( smic_mensuel = tax_benefit_system_plf.get_parameters_at_instant(
temp_period temp_period
).marche_travail.salaire_minimum.smic.smic_b_mensuel ).marche_travail.salaire_minimum.smic.smic_b_mensuel
print(f"smic_mensuel : {smic_mensuel}") print(f"smic_mensuel : {smic_mensuel}")
``` ```
%% Output %% Output
smic_mensuel : 1801.8 smic_mensuel : 1801.8
%% Cell type:code id:7ceef708 tags: %% Cell type:code id:7ceef708 tags:
``` python ``` python
tax_benefit_system_plf.parameters.prelevements_sociaux.contributions_sociales.csg.activite tax_benefit_system_plf.parameters.prelevements_sociaux.contributions_sociales.csg.activite
``` ```
%% Output %% Output
abattement: abattement:
brackets: brackets:
- rate: - rate:
2025-12-31: null 2025-12-31: null
2012-01-01: 0.0175 2012-01-01: 0.0175
2005-01-01: 0.03 2005-01-01: 0.03
1991-02-01: 0.05 1991-02-01: 0.05
threshold: threshold:
2025-12-31: null 2025-12-31: null
1998-01-01: 0 1998-01-01: 0
- rate: - rate:
2025-12-31: null 2025-12-31: null
2011-01-01: 0 2011-01-01: 0
threshold: threshold:
2025-12-31: null 2025-12-31: null
2011-01-01: 4 2011-01-01: 4
abattement_2: abattement_2:
brackets: brackets:
- rate: - rate:
2026-01-01: 0.5 2026-01-01: 0.5
2012-01-01: 0.0175 2012-01-01: 0.0175
2005-01-01: 0.03 2005-01-01: 0.03
1991-02-01: 0.05 1991-02-01: 0.05
threshold: threshold:
2026-01-01: 0 2026-01-01: 0
1998-01-01: 0 1998-01-01: 0
- rate: - rate:
2026-01-01: 0 2026-01-01: 0
2011-01-01: 0 2011-01-01: 0
threshold: threshold:
2026-01-01: 5 2026-01-01: 5
2011-01-01: 4 2011-01-01: 4
deductible: deductible:
taux: taux:
brackets: brackets:
- rate: - rate:
2018-01-01: 0.068 2018-01-01: 0.068
1998-01-01: 0.051 1998-01-01: 0.051
1997-01-01: 0.01 1997-01-01: 0.01
threshold: threshold:
1997-02-01: 0 1997-02-01: 0
imposable: imposable:
taux: taux:
brackets: brackets:
- rate: - rate:
1993-07-01: 0.024 1993-07-01: 0.024
1991-02-01: 0.011 1991-02-01: 0.011
threshold: threshold:
1991-02-01: 0 1991-02-01: 0
indemnite_compensatrice_fonctionnaires: indemnite_compensatrice_fonctionnaires:
taux: taux:
2018-01-01: 0.0076 2018-01-01: 0.0076
taux_global: taux_global:
2018-01-01: 0.092 2018-01-01: 0.092
1998-01-01: 0.075 1998-01-01: 0.075
1997-01-01: 0.034 1997-01-01: 0.034
1993-07-01: 0.024 1993-07-01: 0.024
1991-02-01: 0.011 1991-02-01: 0.011
%% Cell type:markdown id:7639a896 tags: %% Cell type:markdown id:7639a896 tags:
# Cas-type # Cas-type
%% Cell type:code id:911a87c0 tags: %% Cell type:code id:911a87c0 tags:
``` python ``` python
# cas-type # cas-type
smic_annuel = smic_mensuel * 12 smic_annuel = smic_mensuel * 12
cas_type_salaire_de_base = 125/100 * smic_annuel cas_type_salaire_de_base = 125/100 * smic_annuel
cas_type_effectif_entreprise = 20 cas_type_effectif_entreprise = 20
cas_type = { cas_type = {
"familles": {"Famille n°1": {"parents": ["Adulte 1"]}}, "familles": {"Famille n°1": {"parents": ["Adulte 1"]}},
"foyers_fiscaux": {"Déclaration d’impôts n°1": {"declarants": ["Adulte 1"]}}, "foyers_fiscaux": {"Déclaration d’impôts n°1": {"declarants": ["Adulte 1"]}},
"individus": { "individus": {
"Adulte 1": { "Adulte 1": {
"date_naissance": { "date_naissance": {
2026: "1985-11-05" 2026: "1985-11-05"
}, },
"activite": { "activite": {
2024: "actif", 2024: "actif",
2025: "actif", 2025: "actif",
2026: "actif" 2026: "actif"
}, },
"categorie_salarie": { "categorie_salarie": {
2024: "prive_non_cadre", 2024: "prive_non_cadre",
2025: "prive_non_cadre", 2025: "prive_non_cadre",
2026: "prive_non_cadre", 2026: "prive_non_cadre",
}, },
"contrat_de_travail": { "contrat_de_travail": {
2024: "temps_plein", 2024: "temps_plein",
2025: "temps_plein", 2025: "temps_plein",
2026: "temps_plein", 2026: "temps_plein",
}, },
"salaire_de_base": { "salaire_de_base": {
2024: cas_type_salaire_de_base, 2024: cas_type_salaire_de_base,
2025: cas_type_salaire_de_base, 2025: cas_type_salaire_de_base,
2026: cas_type_salaire_de_base 2026: cas_type_salaire_de_base
}, },
"effectif_entreprise": { "effectif_entreprise": {
2024: cas_type_effectif_entreprise, 2024: cas_type_effectif_entreprise,
2025: cas_type_effectif_entreprise, 2025: cas_type_effectif_entreprise,
2026: cas_type_effectif_entreprise 2026: cas_type_effectif_entreprise
} }
} }
}, },
"menages": { "menages": {
"Logement principal n°1": { "Logement principal n°1": {
"enfants": [], "enfants": [],
"personne_de_reference": ["Adulte 1"], "personne_de_reference": ["Adulte 1"],
} }
}, },
} }
``` ```
%% Cell type:markdown id:2528a853 tags: %% Cell type:markdown id:2528a853 tags:
# Simulation # Simulation
%% Cell type:code id:179b6135 tags: %% Cell type:code id:179b6135 tags:
``` python ``` python
simulation = SimulationBuilder() simulation = SimulationBuilder()
simulation_cas_type_plf = simulation.build_from_entities(tax_benefit_system_plf, cas_type) simulation_cas_type_plf = simulation.build_from_entities(tax_benefit_system_plf, cas_type)
``` ```
%% Cell type:markdown id:56d22365 tags: %% Cell type:markdown id:56d22365 tags:
# Résultats # Résultats
%% Cell type:code id:8b0490ac tags: %% Cell type:code id:8b0490ac tags:
``` python ``` python
csg_imposable_salaire = simulation_cas_type_plf.calculate_add("csg_imposable_salaire", "2026") csg_imposable_salaire = simulation_cas_type_plf.calculate_add("csg_imposable_salaire", "2026")
print(f"csg_imposable_salaire : {csg_imposable_salaire}") print(f"csg_imposable_salaire : {csg_imposable_salaire}")
``` ```
%% Output %% Output
csg_imposable_salaire : [-324.32544] csg_imposable_salaire : [-324.32544]
... ...
......
...@@ -94,7 +94,7 @@ values: ...@@ -94,7 +94,7 @@ values:
value: 4321 value: 4321
2024-01-01: 2024-01-01:
value: 4399 value: 4399
2027-01-01: 2026-01-01:
value: null value: null
metadata: metadata:
short_label: Montant maximum de l'abattement, pour le foyer fiscal short_label: Montant maximum de l'abattement, pour le foyer fiscal
... ...
......
...@@ -60,7 +60,7 @@ values: ...@@ -60,7 +60,7 @@ values:
value: 442 value: 442
2024-01-01: 2024-01-01:
value: 450 value: 450
2027-01-01: 2026-01-01:
value: null value: null
metadata: metadata:
short_label: Montant minimum de l'abattement, par pensionné short_label: Montant minimum de l'abattement, par pensionné
... ...
......
...@@ -2,7 +2,7 @@ description: Taux de l'abattement forfaitaire sur les pensions ou retraites ...@@ -2,7 +2,7 @@ description: Taux de l'abattement forfaitaire sur les pensions ou retraites
values: values:
1943-01-01: 1943-01-01:
value: 0.1 value: 0.1
2027-01-01: 2026-01-01:
value: null value: null
metadata: metadata:
last_value_still_valid_on: "2025-02-25" last_value_still_valid_on: "2025-02-25"
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment