Formule de calcul
Prime pour l'emploi brute
Ce dispositif est peut-être obsolète !
La dernière date de relecture du dispositif est vendredi 1 janvier 2016.
Formule de calcul OpenFisca à compter du 2016-01-01 :
Formule initiale de calcul OpenFisca :
Notes : Prime pour l'emploi (avant éventuel dispositif de cumul avec le RSA) Cf. http://travail-emploi.gouv.fr/informations-pratiques,89/fiches-pratiques,91/remuneration,113/la-prime-pour-l-emploi-ppe,1034.html
def formula(foyer_fiscal, period, parameters): ''' Prime pour l'emploi (avant éventuel dispositif de cumul avec le RSA) Cf. http://travail-emploi.gouv.fr/informations-pratiques,89/fiches-pratiques,91/remuneration,113/la-prime-pour-l-emploi-ppe,1034.html ''' ppe_elig = foyer_fiscal('ppe_elig', period) ppe_coef = foyer_fiscal('ppe_coef', period) nb_pac = foyer_fiscal('nb_pac', period) maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period) celibataire_ou_divorce = foyer_fiscal('celibataire_ou_divorce', period) veuf = foyer_fiscal('veuf', period) caseT = foyer_fiscal('caseT', period) caseL = foyer_fiscal('caseL', period) nbH = foyer_fiscal('nbH', period) ppe = parameters(period).impot_revenu.credits_impots.ppe ppe_seuils = parameters(period).impot_revenu.credits_impots.ppe.seuils_revenu_activite eliv = foyer_fiscal.declarant_principal('ppe_elig_individu', period) elic = foyer_fiscal.conjoint('ppe_elig_individu', period) eligible_i = foyer_fiscal.members('ppe_elig_individu', period) basevi = foyer_fiscal.declarant_principal('ppe_rev', period) baseci = foyer_fiscal.conjoint('ppe_rev', period) basev = foyer_fiscal.declarant_principal('ppe_base', period) basec = foyer_fiscal.conjoint('ppe_base', period) base_i = foyer_fiscal.members('ppe_base', period) coef_tpv = foyer_fiscal.declarant_principal('ppe_coef_tp', period) coef_tpc = foyer_fiscal.conjoint('ppe_coef_tp', period) coef_tp_i = foyer_fiscal.members('ppe_coef_tp', period) nb_pac_ppe = max_(0, nb_pac - foyer_fiscal.sum(eligible_i, role = FoyerFiscal.PERSONNE_A_CHARGE)) ligne2 = maries_ou_pacses & xor_(basevi >= ppe_seuils.minimum, baseci >= ppe_seuils.minimum) ligne3 = (celibataire_ou_divorce | veuf) & caseT & not_(veuf & caseT & caseL) ligne1 = not_(ligne2) & not_(ligne3) base_monact = ligne2 * (eliv * basev + elic * basec) base_monacti = ligne2 * (eliv * basevi + elic * baseci) def ppe_bar1(base): # cond1 = ligne1 | ligne3 # cond2 = ligne2 # return 1 / ppe_coef * ((cond1 & (base <= ppe_seuils.pour_taux_plein_cas_general)) * (base) * ppe.taux.phase_in + # (cond1 & (base > ppe_seuils.pour_taux_plein_cas_general) & (base <= ppe_seuils.maximum_cas_general)) * (ppe_seuils.maximum_cas_general - base) * ppe.taux.phase_out_cas_general + # (cond2 & (base <= ppe_seuils.pour_taux_plein_cas_general)) * (base * ppe.taux.phase_in) + # (cond2 & (base > ppe_seuils.pour_taux_plein_cas_general) & (base <= ppe_seuils.maximum_cas_general)) * ((ppe_seuils.maximum_cas_general - base) * ppe.taux.phase_out_cas_general) + # (cond2 & (base > ppe_seuils.pour_taux_plein_couples_mono_revenus) & (base <= ppe_seuils.max_couples_mono_emploi_parents_isoles)) * (ppe_seuils.max_couples_mono_emploi_parents_isoles - base) * ppe.taux.phase_out_couples_mono_emploi) return ( (base <= ppe_seuils.pour_taux_plein_cas_general) * (base) * ppe.taux.phase_in + (base > ppe_seuils.pour_taux_plein_cas_general) * (base <= ppe_seuils.maximum_cas_general) * (ppe_seuils.maximum_cas_general - base) * ppe.taux.phase_out_cas_general + ligne2 * (base > ppe_seuils.pour_taux_plein_couples_mono_revenus) * (base <= ppe_seuils.max_couples_mono_emploi_parents_isoles) * (ppe_seuils.max_couples_mono_emploi_parents_isoles - base) * ppe.taux.phase_out_couples_mono_emploi ) def ppe_bar2(base): return ( (base <= ppe_seuils.pour_taux_plein_cas_general) * (base) * ppe.taux.phase_in + ((base > ppe_seuils.pour_taux_plein_cas_general) & (base <= ppe_seuils.maximum_cas_general)) * (ppe_seuils.maximum_cas_general - base) * ppe.taux.phase_out_cas_general) # calcul des primes individuelles. ppev = eliv * (1 / ppe_coef) * ppe_bar1(basev) ppec = elic * (1 / ppe_coef) * ppe_bar1(basec) # Primes de monoactivité ppe_monact_vous = (eliv & ligne2 & (basevi >= ppe_seuils.minimum) & (basev <= ppe_seuils.pour_taux_plein_couples_mono_revenus)) * ppe.supplements.couples_mono_emploi ppe_monact_conj = (elic & ligne2 & (baseci >= ppe_seuils.minimum) & (basec <= ppe_seuils.pour_taux_plein_couples_mono_revenus)) * ppe.supplements.couples_mono_emploi # Primes pour enfants à charge maj_pac = ppe_elig * (eliv | elic) * ( (ligne1 & maries_ou_pacses & ((ppev + ppec) != 0) & (min_(basev, basec) <= ppe_seuils.maximum_cas_general)) * ppe.supplements.par_personne_charge * (nb_pac_ppe + nbH * 0.5) + (ligne1 & (celibataire_ou_divorce | veuf) & eliv & (basev <= ppe_seuils.maximum_cas_general)) * ppe.supplements.par_personne_charge * (nb_pac_ppe + nbH * 0.5) + (ligne2 & (base_monacti >= ppe_seuils.minimum) & (base_monact <= ppe_seuils.maximum_cas_general)) * ppe.supplements.par_personne_charge * (nb_pac_ppe + nbH * 0.5) + (ligne2 & (base_monact > ppe_seuils.maximum_cas_general) & (base_monact <= ppe_seuils.max_couples_mono_emploi_parents_isoles)) * ppe.supplements.par_personne_charge * ((nb_pac_ppe != 0) + 0.5 * ((nb_pac_ppe == 0) & (nbH != 0))) + (ligne3 & (basevi >= ppe_seuils.minimum) & (basev <= ppe_seuils.maximum_cas_general)) * ( (min_(nb_pac_ppe, 1) * 2 * ppe.supplements.par_personne_charge + max_(nb_pac_ppe - 1, 0) * ppe.supplements.par_personne_charge) + (nb_pac_ppe == 0) * (min_(nbH, 2) * ppe.supplements.par_personne_charge + max_(nbH - 2, 0) * ppe.supplements.par_personne_charge * 0.5)) + (ligne3 & (basev > ppe_seuils.maximum_cas_general) & (basev <= ppe_seuils.max_couples_mono_emploi_parents_isoles)) * ppe.supplements.par_personne_charge * ((nb_pac_ppe != 0) * 2 + ((nb_pac_ppe == 0) & (nbH != 0)))) def coef(coef_tp): return (coef_tp <= 0.5) * coef_tp * 1.45 + (coef_tp > 0.5) * (0.55 * coef_tp + 0.45) ppe_vous = ppe_elig * (ppev * coef(coef_tpv) + ppe_monact_vous) ppe_conj = ppe_elig * (ppec * coef(coef_tpc) + ppe_monact_conj) ppe_pac = ppe_elig * (1 / ppe_coef) * foyer_fiscal.sum( eligible_i * ppe_bar2(base_i) * coef(coef_tp_i), role = FoyerFiscal.PERSONNE_A_CHARGE) ppe_tot = ppe_vous + ppe_conj + ppe_pac + maj_pac ppe_tot = (ppe_tot != 0) * max_(ppe.montant_minimum, ppe_tot) return ppe_tot
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- impot_revenu.credits_impots.ppe.montant_minimum
- impot_revenu.credits_impots.ppe.seuils_revenu_activite.max_couples_mono_emploi_parents_isoles
- impot_revenu.credits_impots.ppe.seuils_revenu_activite.maximum_cas_general
- impot_revenu.credits_impots.ppe.seuils_revenu_activite.minimum
- impot_revenu.credits_impots.ppe.seuils_revenu_activite.pour_taux_plein_cas_general
- impot_revenu.credits_impots.ppe.seuils_revenu_activite.pour_taux_plein_couples_mono_revenus
- impot_revenu.credits_impots.ppe.supplements.couples_mono_emploi
- impot_revenu.credits_impots.ppe.supplements.par_personne_charge
- impot_revenu.credits_impots.ppe.taux.phase_in
- impot_revenu.credits_impots.ppe.taux.phase_out_cas_general
- impot_revenu.credits_impots.ppe.taux.phase_out_couples_mono_emploi
Variables utilisées par le cas type :
Situation pouvant donner droit à une demi-part supplémentaire: vous vivez seul au 1er janvier de l'année de perception des revenus et vous avez élevé un enfant pendant au moins 5 ans durant la période où vous viviez seul (définition depuis 2009) - Un au moins de vos enfants à charge ou rattaché est issu du mariage avec votre conjoint décédé (définition avant 2008)
Déclaration d’impôts n°1
Variables et dispositifs influencés par la formule :
La formule du dispositif "Prime pour l'emploi brute" peut avoir une influence sur d'autres dispositifs et variables :