def formula(individu, period, parameters): taille_entreprise = individu('taille_entreprise', period) TypesTailleEntreprise = taille_entreprise.possible_values cotisation_0_9 = (taille_entreprise == TypesTailleEntreprise.moins_de_10) * apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'formprof_09', variable_name = 'formation_professionnelle', ) cotisation_10_19 = (taille_entreprise == TypesTailleEntreprise.de_10_a_19) * apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'formprof_1019', variable_name = 'formation_professionnelle', ) entreprise_eligible = ( (taille_entreprise == TypesTailleEntreprise.de_20_a_249) + (taille_entreprise == TypesTailleEntreprise.plus_de_250) ) cotisation_20 = entreprise_eligible * apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'formprof_20', variable_name = 'formation_professionnelle', ) return cotisation_0_9 + cotisation_10_19 + cotisation_20
def formula(individu, period, parameters): redevable_taxe_apprentissage = individu('redevable_taxe_apprentissage', period) salarie_regime_alsace_moselle = individu('salarie_regime_alsace_moselle', period) cotisation_regime_alsace_moselle = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'apprentissage_alsace_moselle', variable_name = 'taxe_apprentissage', ) cotisation_regime_general = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'apprentissage', variable_name = 'taxe_apprentissage', ) cotisation = np.where( salarie_regime_alsace_moselle, cotisation_regime_alsace_moselle, cotisation_regime_general, ) return cotisation * redevable_taxe_apprentissage
def formula_2015_01_01(individu, period, parameters): exposition_penibilite = individu('exposition_penibilite', period) TypesExpositionPenibilite = exposition_penibilite.possible_values multiplicateur = parameters(period).cotsoc.cotisations_employeur.prive_cadre.penibilite_multiplicateur_exposition_multiple cotisation_base = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "penibilite_base", variable_name = 'penibilite', ) cotisation_additionnelle = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "penibilite_additionnelle", variable_name = 'penibilite', ) cotisation = switch( exposition_penibilite, { TypesExpositionPenibilite.nulle: cotisation_base, TypesExpositionPenibilite.simple: cotisation_base + cotisation_additionnelle, TypesExpositionPenibilite.multiple: cotisation_base + cotisation_additionnelle * multiplicateur, } ) return cotisation
def formula(individu, period, parameters): cotisation_minimale = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "arrco", variable_name = 'arrco_employeur', ) arrco_tranche_a_taux_employeur = individu('arrco_tranche_a_taux_employeur', period) assiette_cotisations_sociales = individu('assiette_cotisations_sociales', period, options = [ADD]) plafond_securite_sociale = individu('plafond_securite_sociale', period, options = [ADD]) categorie_salarie = individu('categorie_salarie', period) # cas où l'entreprise applique un taux spécifique cotisation_entreprise = - ( min_(max_(assiette_cotisations_sociales, 0), plafond_securite_sociale) * arrco_tranche_a_taux_employeur ) public = ( (categorie_salarie == TypesCategorieSalarie.prive_non_cadre) + (categorie_salarie == TypesCategorieSalarie.prive_cadre) ) return ( cotisation_minimale * (arrco_tranche_a_taux_employeur == 0) + cotisation_entreprise ) * public
def function(self, simulation, period): cotisation = apply_bareme( simulation, period, cotisation_type = "employeur", bareme_name = "chomfg", variable_name = self.__class__.__name__, ) return period, cotisation
def function(self, simulation, period): cotisation = apply_bareme( simulation, period, cotisation_type = "employeur", bareme_name = "apec", variable_name = self.__class__.__name__, ) return period, cotisation # TODO: check public notamment contractuel
def function(self, simulation, period): cotisation = apply_bareme( simulation, period, cotisation_type = 'salarie', bareme_name = 'cet', variable_name = self.__class__.__name__, ) return period, cotisation
def function(self, simulation, period): cotisation = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'famille', variable_name = self.__class__.__name__, ) return period, cotisation
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') cotisation = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'vieillesse_plafonnee', variable_name = self.__class__.__name__, ) return period, cotisation
def function(self, simulation, period): cotisation = apply_bareme( simulation, period, cotisation_type = "employeur", bareme_name = "agirc", variable_name = self.__class__.__name__ ) categorie_salarie = simulation.calculate('categorie_salarie', period) return period, cotisation * (categorie_salarie == 1)
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "apec", variable_name = 'apec_employeur', ) return cotisation # TODO: check public notamment contractuel
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') categorie_salarie = simulation.calculate('categorie_salarie', period) cotisation = apply_bareme( simulation, period, cotisation_type = "salarie", bareme_name = "apec", variable_name = self.__class__.__name__, ) return period, cotisation * (categorie_salarie == 1) # TODO: check public notamment contractuel
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'maladie', variable_name = 'mmid_employeur', ) return cotisation
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') cotisation = apply_bareme( simulation, period, cotisation_type = 'salarie', bareme_name = 'maladie', variable_name = self.__class__.__name__, ) return period, cotisation
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = "salarie", bareme_name = "agff", variable_name = "agff_salarie" ) return cotisation
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'cet', variable_name = 'cotisation_exceptionnelle_temporaire_employeur', ) return cotisation
def function(self, simulation, period): categorie_salarie = simulation.calculate('categorie_salarie', period) cotisation = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'financement_organisations_syndicales', variable_name = self.__class__.__name__, ) return period, cotisation * or_(categorie_salarie <= 1, categorie_salarie == 6)
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'vieillesse_plafonnee', variable_name = 'vieillesse_plafonnee_employeur', ) return cotisation
def function(self, simulation, period): taille_entreprise = simulation.calculate('taille_entreprise', period) cotisation = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'fnal2', variable_name = self.__class__.__name__, ) return period, cotisation * (taille_entreprise > 2)
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "assedic", variable_name = "chomage_employeur", ) return cotisation
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "csa", variable_name = 'contribution_solidarite_autonomie', ) return cotisation
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') cotisation = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'maladie', variable_name = self.__class__.__name__, ) contribution_solidarite_autonomie = simulation.calculate('contribution_solidarite_autonomie', period) return period, cotisation + contribution_solidarite_autonomie
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'maladie', variable_name = 'mmida_employeur', ) contribution_solidarite_autonomie = individu('contribution_solidarite_autonomie', period) return cotisation + contribution_solidarite_autonomie
def formula(individu, period, parameters): cotisation = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "agirc", variable_name = 'agirc_employeur' ) categorie_salarie = individu('categorie_salarie', period) return cotisation * (categorie_salarie == TypesCategorieSalarie.prive_cadre)
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') cotisation = apply_bareme( simulation, period, cotisation_type = "salarie", bareme_name = "agirc", variable_name = self.__class__.__name__ ) categorie_salarie = simulation.calculate('categorie_salarie', period) return period, cotisation * (categorie_salarie == 1)
def formula(individu, period, parameters): categorie_salarie = individu('categorie_salarie', period) cotisation = apply_bareme( individu, period, parameters, cotisation_type = "salarie", bareme_name = "apec", variable_name = 'apec_salarie', ) return cotisation * (categorie_salarie == TypesCategorieSalarie.prive_cadre) # TODO: check public notamment contractuel
def function(self, simulation, period): redevable_taxe_apprentissage = simulation.calculate('redevable_taxe_apprentissage', period) cotisation = apply_bareme( simulation, period, cotisation_type = "employeur", bareme_name = "apprentissage_add", variable_name = self.__class__.__name__, ) return period, cotisation * redevable_taxe_apprentissage
def formula(individu, period, parameters): redevable_taxe_apprentissage = individu('redevable_taxe_apprentissage', period) cotisation = apply_bareme( individu, period, parameters, cotisation_type = "employeur", bareme_name = "apprentissage_add", variable_name = "contribution_developpement_apprentissage", ) return cotisation * redevable_taxe_apprentissage
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') redevable_taxe_apprentissage = simulation.calculate('redevable_taxe_apprentissage', period) cotisation = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'apprentissage', variable_name = self.__class__.__name__, ) return period, cotisation * redevable_taxe_apprentissage
def function(self, simulation, period): salarie_regime_alsace_moselle = simulation.calculate( 'salarie_regime_alsace_moselle', period) cotisation_regime_general = apply_bareme( simulation, period, cotisation_type='salarie', bareme_name='maladie', variable_name=self.__class__.__name__, ) cotisation_regime_alsace_moselle = apply_bareme( simulation, period, cotisation_type='salarie', bareme_name='maladie_alsace_moselle', variable_name=self.__class__.__name__, ) cotisation = cotisation_regime_general + salarie_regime_alsace_moselle * cotisation_regime_alsace_moselle return cotisation
def function(self, simulation, period): taille_entreprise = simulation.calculate('taille_entreprise', period) cotisation_0_9 = (taille_entreprise == 1) * apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'formprof_09', variable_name = self.__class__.__name__, ) cotisation_10_19 = (taille_entreprise == 2) * apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'formprof_1019', variable_name = self.__class__.__name__, ) cotisation_20 = (taille_entreprise > 2) * apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'formprof_20', variable_name = self.__class__.__name__, ) return period, cotisation_0_9 + cotisation_10_19 + cotisation_20
def function(self, simulation, period): taille_entreprise = simulation.calculate('taille_entreprise', period) cotisation_0_9 = (taille_entreprise == 1) * apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'formprof_09', variable_name = self.__class__.__name__, ) cotisation_10_19 = (taille_entreprise == 2) * apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'formprof_1019', variable_name = self.__class__.__name__, ) cotisation_20 = (taille_entreprise > 2) * apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'formprof_20', variable_name = self.__class__.__name__, ) return period, cotisation_0_9 + cotisation_10_19 + cotisation_20
def formula(individu, period, parameters): taille_entreprise = individu('taille_entreprise', period) TypesTailleEntreprise = taille_entreprise.possible_values cotisation_0_9 = (taille_entreprise == TypesTailleEntreprise.moins_de_10) * apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='formprof_09', variable_name='formation_professionnelle', ) cotisation_10_19 = (taille_entreprise == TypesTailleEntreprise.de_10_a_19) * apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='formprof_1019', variable_name='formation_professionnelle', ) entreprise_eligible = ( (taille_entreprise == TypesTailleEntreprise.de_20_a_249) + (taille_entreprise == TypesTailleEntreprise.plus_de_250)) cotisation_20 = entreprise_eligible * apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='formprof_20', variable_name='formation_professionnelle', ) return cotisation_0_9 + cotisation_10_19 + cotisation_20
def formula(individu, period, parameters): salarie_regime_alsace_moselle = individu('salarie_regime_alsace_moselle', period) cotisation_regime_general = apply_bareme( individu, period, parameters, cotisation_type = 'salarie', bareme_name = 'maladie', variable_name = 'mmid_salarie', ) cotisation_regime_alsace_moselle = apply_bareme( individu, period, parameters, cotisation_type = 'salarie', bareme_name = 'maladie_alsace_moselle', variable_name = 'mmid_salarie', ) cotisation = cotisation_regime_general + salarie_regime_alsace_moselle * cotisation_regime_alsace_moselle return cotisation
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') salarie_regime_alsace_moselle = simulation.calculate( 'salarie_regime_alsace_moselle', period) cotisation_regime_general = apply_bareme( simulation, period, cotisation_type='salarie', bareme_name='maladie', variable_name=self.__class__.__name__, ) cotisation_regime_alsace_moselle = apply_bareme( simulation, period, cotisation_type='salarie', bareme_name='maladie_alsace_moselle', variable_name=self.__class__.__name__, ) cotisation = cotisation_regime_general + salarie_regime_alsace_moselle * cotisation_regime_alsace_moselle return period, cotisation
def formula(individu, period, parameters): taille_entreprise = individu('taille_entreprise', period) TypesTailleEntreprise = taille_entreprise.possible_values cotisation = apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='fnal2', variable_name='fnal_tranche_a_plus_20', ) entreprise_eligible = ( (taille_entreprise == TypesTailleEntreprise.de_20_a_249) + (taille_entreprise == TypesTailleEntreprise.plus_de_250)) return cotisation * entreprise_eligible
def formula(individu, period, parameters): effectif_entreprise = individu('effectif_entreprise', period) bareme = apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='construction', variable_name='participation_effort_construction', ) seuil = parameters(period).cotsoc.pat.commun.construction_node.seuil cotisation = bareme * (effectif_entreprise >= seuil) return cotisation
def formula_2015_01_01(individu, period, parameters): categorie_salarie = individu('categorie_salarie', period) cotisation = apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='financement_organisations_syndicales', variable_name='financement_organisations_syndicales', ) contrat_de_droit_prive = ( +(categorie_salarie == TypesCategorieSalarie.prive_non_cadre) + (categorie_salarie == TypesCategorieSalarie.prive_cadre) + (categorie_salarie == TypesCategorieSalarie.public_non_titulaire)) return cotisation * contrat_de_droit_prive
def formula_2018(individu, period, parameters): """ La cotisation maladie (hors Alsace-Moselle) disparaît à partir du 1er janvier 2018 """ salarie_regime_alsace_moselle = individu('salarie_regime_alsace_moselle', period) cotisation_regime_alsace_moselle = apply_bareme( individu, period, parameters, cotisation_type = 'salarie', bareme_name = 'maladie_alsace_moselle', variable_name = 'mmid_salarie', ) cotisation = salarie_regime_alsace_moselle * cotisation_regime_alsace_moselle return cotisation
def formula(individu, period, parameters): taille_entreprise = individu('taille_entreprise', period) TypesTailleEntreprise = taille_entreprise.possible_values cotisation = apply_bareme( individu, period, parameters, cotisation_type='employeur', bareme_name='fnal1', variable_name="fnal_tranche_a", ) entreprise_eligible = ( (taille_entreprise == TypesTailleEntreprise.non_pertinent) + (taille_entreprise == TypesTailleEntreprise.moins_de_10) + (taille_entreprise == TypesTailleEntreprise.de_10_a_19)) return cotisation * entreprise_eligible
def formula(self, simulation, period): effectif_entreprise = simulation.calculate('effectif_entreprise', period) bareme = apply_bareme( simulation, period, cotisation_type='employeur', bareme_name='construction', variable_name=self.__class__.__name__, ) # TODO : seuil passé de 10 à 20 avec l'Ordonnance n° 2005-895 du 2 août 2005 cotisation = (bareme * (effectif_entreprise >= 20) + self.zeros() * (effectif_entreprise < 20)) return cotisation
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') effectif_entreprise = simulation.calculate('effectif_entreprise', period) bareme = apply_bareme( simulation, period, cotisation_type = 'employeur', bareme_name = 'construction', variable_name = self.__class__.__name__, ) # TODO : seuil passé de 10 à 20 avec l'Ordonnance n° 2005-895 du 2 août 2005 cotisation = ( bareme * (effectif_entreprise >= 20) + self.zeros() * (effectif_entreprise < 20) ) return period, cotisation
def formula(individu, period, parameters): effectif_entreprise = individu('effectif_entreprise', period) bareme = apply_bareme( individu, period, parameters, cotisation_type = 'employeur', bareme_name = 'construction', variable_name = 'participation_effort_construction', ) # TODO : seuil passé de 10 à 20 avec l'Ordonnance n° 2005-895 du 2 août 2005 cotisation = ( bareme * (effectif_entreprise >= 20) + individu.filled_array(0) * (effectif_entreprise < 20) ) return cotisation
def formula(self, simulation, period): cotisation_minimale = apply_bareme( simulation, period, cotisation_type = "employeur", bareme_name = "arrco", variable_name = self.__class__.__name__, ) arrco_tranche_a_taux_employeur = simulation.calculate('arrco_tranche_a_taux_employeur', period) assiette_cotisations_sociales = simulation.calculate_add('assiette_cotisations_sociales', period) plafond_securite_sociale = simulation.calculate_add('plafond_securite_sociale', period) categorie_salarie = simulation.calculate('categorie_salarie', period) # cas où l'entreprise applique un taux spécifique cotisation_entreprise = - ( min_(max_(assiette_cotisations_sociales, 0), plafond_securite_sociale) * arrco_tranche_a_taux_employeur ) return ( cotisation_minimale * (arrco_tranche_a_taux_employeur == 0) + cotisation_entreprise ) * (categorie_salarie <= 1)
def function(self, simulation, period): period = period.start.period(u'month').offset('first-of') cotisation_minimale = apply_bareme( simulation, period, cotisation_type="salarie", bareme_name="arrco", variable_name=self.__class__.__name__, ) arrco_tranche_a_taux_salarie = simulation.calculate( 'arrco_tranche_a_taux_salarie', period) assiette_cotisations_sociales = simulation.calculate_add( 'assiette_cotisations_sociales', period) plafond_securite_sociale = simulation.calculate_add( 'plafond_securite_sociale', period) categorie_salarie = simulation.calculate('categorie_salarie', period) # cas où l'entreprise applique un taux spécifique cotisation_entreprise = -(min_(max_(assiette_cotisations_sociales, 0), plafond_securite_sociale) * arrco_tranche_a_taux_salarie) return period, (cotisation_minimale * (arrco_tranche_a_taux_salarie == 0) + cotisation_entreprise) * (categorie_salarie <= 1)