Skip to content

Commit

Permalink
Ajoute l'abattement cessation d'activité AAH manquant
Browse files Browse the repository at this point in the history
  • Loading branch information
frtomas committed Jun 28, 2023
1 parent 88d1564 commit 68add9c
Show file tree
Hide file tree
Showing 6 changed files with 274 additions and 72 deletions.
30 changes: 26 additions & 4 deletions openfisca_france/model/prestations/minima_sociaux/aah.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ def formula_2022_01_01(individu, period, parameters):
law = parameters(period)
aah = law.prestations_sociales.prestations_etat_de_sante.invalidite.aah

en_activite = ((individu('salaire_imposable', period, options = [ADD]) + individu('rpns_imposables', period.last_year) > 0))
en_activite = individu('activite', period) == TypesActivite.actif

def assiette_conjoint(revenus_conjoint):
af_nbenf = individu.famille('af_nbenf', period)
Expand All @@ -150,7 +150,18 @@ def assiette_revenu_activite_demandeur(revenus_demandeur):
smic_brut_annuel = 12 * law.marche_travail.salaire_minimum.smic.smic_b_horaire * law.marche_travail.salaire_minimum.smic.nb_heures_travail_mensuel
total_tranche1 = min_(aah.travail_ordinaire.tranche_smic * smic_brut_annuel, revenus_demandeur)
total_tranche2 = max_(0, revenus_demandeur - total_tranche1)
return (1 - aah.travail_ordinaire.abattement_30) * total_tranche1 + (1 - aah.travail_ordinaire.abattement_sup) * total_tranche2
revenus_abattus_smic = (1 - aah.travail_ordinaire.abattement_30) * total_tranche1 + (1 - aah.travail_ordinaire.abattement_sup) * total_tranche2

last_month = Period(('month', period.start, 1)).offset(-1)
ressource_interrompue = not_(en_activite + (individu('activite', period) == TypesActivite.etudiant))
has_ressources_substitution = (
individu('chomage_net', last_month)
+ individu('retraite_nette', last_month)
+ individu('rente_accident_travail', last_month)
+ individu('pensions_invalidite', last_month)
) > 0
abattement_cessation_activite = (1 - aah.abattement_cessation_activite * (ressource_interrompue + has_ressources_substitution))
return abattement_cessation_activite * (revenus_abattus_smic)

def base_ressource_eval_trim():
three_previous_months = Period(('month', period.first_month.start, 3)).offset(-3)
Expand Down Expand Up @@ -185,13 +196,24 @@ def formula_2023_10_01(individu, period, parameters):
law = parameters(period)
aah = law.prestations_sociales.prestations_etat_de_sante.invalidite.aah

en_activite = ((individu('salaire_imposable', period, options = [ADD]) + individu('rpns_imposables', period.last_year)) > 0)
en_activite = individu('activite', period) == TypesActivite.actif

def assiette_revenu_activite_demandeur(revenus_demandeur):
smic_brut_annuel = 12 * law.marche_travail.salaire_minimum.smic.smic_b_horaire * law.marche_travail.salaire_minimum.smic.nb_heures_travail_mensuel
total_tranche1 = min_(aah.travail_ordinaire.tranche_smic * smic_brut_annuel, revenus_demandeur)
total_tranche2 = max_(0, revenus_demandeur - total_tranche1)
return (1 - aah.travail_ordinaire.abattement_30) * total_tranche1 + (1 - aah.travail_ordinaire.abattement_sup) * total_tranche2
revenus_abattus_smic = (1 - aah.travail_ordinaire.abattement_30) * total_tranche1 + (1 - aah.travail_ordinaire.abattement_sup) * total_tranche2

last_month = Period(('month', period.start, 1)).offset(-1)
ressource_interrompue = not_(en_activite + (individu('activite', period) == TypesActivite.etudiant))
has_ressources_substitution = (
individu('chomage_net', last_month)
+ individu('retraite_nette', last_month)
+ individu('rente_accident_travail', last_month)
+ individu('pensions_invalidite', last_month)
) > 0
abattement_cessation_activite = (1 - aah.abattement_cessation_activite * (ressource_interrompue + has_ressources_substitution))
return abattement_cessation_activite * (revenus_abattus_smic)

def base_ressource_eval_trim():
three_previous_months = Period(('month', period.first_month.start, 3)).offset(-3)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Taux d'abattement des revenus d'activité du bénéficiaire en cas de cessation d'activité pour bénéficier de l'Allocation aux adultes handicapés (AAH)
values:
2011-05-20:
value: 0.3
metadata:
ux_name: Taux d'abbatement (cessation d'activité)
description_en: Adult disability allowance (AAH)
ipp_csv_id: abbatement_cessation_activite
unit: /1
reference:
2011-05-20:
title: Circulaire n°2011-011 du 20/05/2011
Loading

0 comments on commit 68add9c

Please sign in to comment.