def formula_2015(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'famille')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(1.4, .031)  # TODO parsing des paramèters pas à jour
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
         + (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
         + (categorie_non_salarie == TypesCategorieNonSalarie.profession_liberale)
         ) * individu('rpns_individu', period)
     taux = (
         0 + (.031) * min_(
             max_(
                 assiette / plafond_securite_sociale_annuel - 1.1,
                 0
                 ),
             (1.4 - 1.1)
             )
         / (1.4 - 1.1)
         )
     return - (
         taux * assiette * (assiette < 1.4 * plafond_securite_sociale_annuel)
         + bareme.calc(assiette)
         )
 def formula(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'maladie_maternite')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(1.1, .065)  # TODO parsing des paramèters IPP pas à jour
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.profession_liberale)
         * individu('rpns_individu', period)
         )
     taux = (
         .015 + (.065 - .015) * min_(
             max_(
                 assiette / plafond_securite_sociale_annuel,
                 0
                 ),
             1.1
             )
         / 1.1
         )
     return - (
         taux * assiette * (assiette < 1.1 * plafond_securite_sociale_annuel)
         + bareme.calc(assiette)
         )
Example #3
0
 def formula_2013(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='retraite_complementaire')
     bareme.add_bracket(0, .09)  # TODO taux à la louche car hétérogène
     bareme.add_bracket(5, 0)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (+(categorie_non_salarie == TypesCategorieNonSalarie.
                   profession_liberale)) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
 def formula_2013(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'retraite_complementaire')
     bareme.add_bracket(0, .09)  # TODO taux à la louche car hétérogène
     bareme.add_bracket(5, 0)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         + (categorie_non_salarie == TypesCategorieNonSalarie.profession_liberale)
         ) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
 def formula(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'formation_profession_liberale')
     taux = parameters(period).prelevements_sociaux.formation_pl.formation_professionnelle.sous_pss
     bareme.add_bracket(0, taux)
     bareme.add_bracket(1, 0)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         + (categorie_non_salarie == TypesCategorieNonSalarie.profession_liberale)
         ) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
 def formula_2015(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'vieillesse')
     assurance_vieillesse = parameters(period).prelevements_sociaux.ret_pl.assurance_vieillesse
     bareme.add_bracket(0, assurance_vieillesse.sous_1_pss)
     bareme.add_bracket(1, assurance_vieillesse.entre_1_et_5_pss)
     bareme.add_bracket(5, 0)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         + (categorie_non_salarie == TypesCategorieNonSalarie.profession_liberale)
         ) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
 def formula_2014(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     vieillesse_artisan_commercant = parameters(period).prelevements_sociaux.ret_ac
     bareme = MarginalRateTaxScale(name = 'vieillesse')
     bareme.add_bracket(0, vieillesse_artisan_commercant.artisans.sous_pss + vieillesse_artisan_commercant.tous_independants.tout_salaire)
     bareme.add_bracket(1, vieillesse_artisan_commercant.tous_independants.tout_salaire)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
         + (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
         ) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
Example #8
0
 def formula_2015(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='vieillesse')
     assurance_vieillesse = parameters(
         period).prelevements_sociaux.ret_pl.assurance_vieillesse
     bareme.add_bracket(0, assurance_vieillesse.sous_1_pss)
     bareme.add_bracket(1, assurance_vieillesse.entre_1_et_5_pss)
     bareme.add_bracket(5, 0)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (+(categorie_non_salarie == TypesCategorieNonSalarie.
                   profession_liberale)) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
    def formula_2015(individu, period, parameters):
        plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
        bareme = MarginalRateTaxScale(name = 'deces')
        deces = parameters(period).prelevements_sociaux.deces_ac.artisans
        bareme.add_bracket(0, deces.sous_pss)
        bareme.add_bracket(1, 0)
        bareme.multiply_thresholds(plafond_securite_sociale_annuel)
        categorie_non_salarie = individu('categorie_non_salarie', period)
        assiette = (
            (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
            + (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
            ) * individu('rpns_individu', period)

        return -bareme.calc(assiette)
Example #10
0
 def formula(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='formation_profession_liberale')
     taux = parameters(
         period
     ).prelevements_sociaux.formation_pl.formation_professionnelle.sous_pss
     bareme.add_bracket(0, taux)
     bareme.add_bracket(1, 0)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (+(categorie_non_salarie == TypesCategorieNonSalarie.
                   profession_liberale)) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
Example #11
0
    def formula_2015(individu, period, parameters):
        plafond_securite_sociale_annuel = parameters(
            period).cotsoc.gen.plafond_securite_sociale * 12
        bareme = MarginalRateTaxScale(name='deces')
        deces = parameters(period).prelevements_sociaux.deces_ac.artisans
        bareme.add_bracket(0, deces.sous_pss)
        bareme.add_bracket(1, 0)
        bareme.multiply_thresholds(plafond_securite_sociale_annuel)
        categorie_non_salarie = individu('categorie_non_salarie', period)
        assiette = (
            (categorie_non_salarie == TypesCategorieNonSalarie.artisan) +
            (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
        ) * individu('rpns_individu', period)

        return -bareme.calc(assiette)
Example #12
0
 def formula(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='maladie_maternite')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(1.1,
                        .065)  # TODO parsing des paramèters IPP pas à jour
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = ((categorie_non_salarie
                  == TypesCategorieNonSalarie.profession_liberale) *
                 individu('rpns_individu', period))
     taux = (.015 + (.065 - .015) * min_(
         max_(assiette / plafond_securite_sociale_annuel, 0), 1.1) / 1.1)
     return -(taux * assiette *
              (assiette < 1.1 * plafond_securite_sociale_annuel) +
              bareme.calc(assiette))
Example #13
0
 def formula_2014(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     vieillesse_artisan_commercant = parameters(
         period).prelevements_sociaux.ret_ac
     bareme = MarginalRateTaxScale(name='vieillesse')
     bareme.add_bracket(
         0, vieillesse_artisan_commercant.artisans.sous_pss +
         vieillesse_artisan_commercant.tous_independants.tout_salaire)
     bareme.add_bracket(
         1, vieillesse_artisan_commercant.tous_independants.tout_salaire)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan) +
         (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
     ) * individu('rpns_individu', period)
     return -bareme.calc(assiette)
 def formula_2017(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'famille')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(.7, .065)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
         + (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
         ) * individu('rpns_individu', period)
     cotisation_sous_1_1_pss = assiette * (
         (assiette < .7 * plafond_securite_sociale_annuel)
         * (
             (.065 - .035) * assiette / (.7 * plafond_securite_sociale_annuel) + .035  # TODO check taux non nul à assiette quasi nulle
             )
         )
     return -(cotisation_sous_1_1_pss + bareme.calc(assiette))
 def formula_2015(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     formation = parameters(period).prelevements_sociaux.formation_ac
     # Artisan
     bareme_artisan = MarginalRateTaxScale(name = 'formation_artisan')
     bareme_artisan.add_bracket(0, formation.artisans_sous_pss)
     bareme_artisan.add_bracket(1, 0)
     bareme_artisan.multiply_thresholds(plafond_securite_sociale_annuel)
     # Comemrcant
     bareme_commercant = MarginalRateTaxScale(name = 'formation_commercant')
     bareme_commercant.add_bracket(0, formation.commercants_industriels.sous_pss)
     bareme_commercant.add_bracket(1, 0)
     bareme_commercant.multiply_thresholds(plafond_securite_sociale_annuel)
     assiette = individu('rpns_individu', period)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     artisan = (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
     commercant = (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
     return -bareme_artisan.calc(assiette * artisan) - bareme_commercant.calc(assiette * commercant)
Example #16
0
 def formula_2017(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='famille')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(.7, .065)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan) +
         (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
     ) * individu('rpns_individu', period)
     cotisation_sous_1_1_pss = assiette * (
         (assiette < .7 * plafond_securite_sociale_annuel) *
         ((.065 - .035) * assiette /
          (.7 * plafond_securite_sociale_annuel) +
          .035  # TODO check taux non nul à assiette quasi nulle
          ))
     return -(cotisation_sous_1_1_pss + bareme.calc(assiette))
Example #17
0
 def formula_2015(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='famille')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(1.4, .031)  # TODO parsing des paramèters pas à jour
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan) +
         (categorie_non_salarie == TypesCategorieNonSalarie.commercant) +
         (categorie_non_salarie
          == TypesCategorieNonSalarie.profession_liberale)) * individu(
              'rpns_individu', period)
     taux = (0 + (.031) *
             min_(max_(assiette / plafond_securite_sociale_annuel - 1.1, 0),
                  (1.4 - 1.1)) / (1.4 - 1.1))
     return -(taux * assiette *
              (assiette < 1.4 * plafond_securite_sociale_annuel) +
              bareme.calc(assiette))
Example #18
0
 def formula_2015(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     formation = parameters(period).prelevements_sociaux.formation_ac
     # Artisan
     bareme_artisan = MarginalRateTaxScale(name='formation_artisan')
     bareme_artisan.add_bracket(0, formation.artisans_sous_pss)
     bareme_artisan.add_bracket(1, 0)
     bareme_artisan.multiply_thresholds(plafond_securite_sociale_annuel)
     # Comemrcant
     bareme_commercant = MarginalRateTaxScale(name='formation_commercant')
     bareme_commercant.add_bracket(
         0, formation.commercants_industriels.sous_pss)
     bareme_commercant.add_bracket(1, 0)
     bareme_commercant.multiply_thresholds(plafond_securite_sociale_annuel)
     assiette = individu('rpns_individu', period)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     artisan = (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
     commercant = (
         categorie_non_salarie == TypesCategorieNonSalarie.commercant)
     return -bareme_artisan.calc(
         assiette * artisan) - bareme_commercant.calc(assiette * commercant)
Example #19
0
 def formula_2018(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(
         period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name='famille')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(1.1, .072)
     bareme.add_bracket(5, .065)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan) +
         (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
     ) * individu('rpns_individu', period)
     cotisation_sous_1_1_pss = assiette * (
         (assiette > .4 * plafond_securite_sociale_annuel) *
         (assiette <= 1.1 * plafond_securite_sociale_annuel) *
         ((.072 - .022) * assiette /
          (1.1 * plafond_securite_sociale_annuel) + .022) +
         (assiette <= .4 * plafond_securite_sociale_annuel) *
         ((.022 - .085) * assiette /
          (0.4 * plafond_securite_sociale_annuel) + .085))
     return -(cotisation_sous_1_1_pss + bareme.calc(assiette))
 def formula_2018(individu, period, parameters):
     plafond_securite_sociale_annuel = parameters(period).cotsoc.gen.plafond_securite_sociale * 12
     bareme = MarginalRateTaxScale(name = 'famille')
     bareme.add_bracket(0, 0)
     bareme.add_bracket(1.1, .072)
     bareme.add_bracket(5, .065)
     bareme.multiply_thresholds(plafond_securite_sociale_annuel)
     categorie_non_salarie = individu('categorie_non_salarie', period)
     assiette = (
         (categorie_non_salarie == TypesCategorieNonSalarie.artisan)
         + (categorie_non_salarie == TypesCategorieNonSalarie.commercant)
         ) * individu('rpns_individu', period)
     cotisation_sous_1_1_pss = assiette * (
         (assiette > .4 * plafond_securite_sociale_annuel) * (assiette <= 1.1 * plafond_securite_sociale_annuel)
         * (
             (.072 - .022) * assiette / (1.1 * plafond_securite_sociale_annuel) + .022
             )
         + (assiette <= .4 * plafond_securite_sociale_annuel)
         * (
             (.022 - .085) * assiette / (0.4 * plafond_securite_sociale_annuel) + .085
             )
         )
     return - (cotisation_sous_1_1_pss + bareme.calc(assiette))