Skip to content

Commit

Permalink
Factorize _not(association) in apprentissage
Browse files Browse the repository at this point in the history
Into redevable_taxe_apprentissage, which becomes a computed variable.
  • Loading branch information
laem committed Jun 27, 2016
1 parent e359436 commit 5ee6f9b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@ def function(self, simulation, period):
return period, cotisation


class redevable_taxe_apprentissage(Variable):
column = BoolCol
entity_class = Individus
label = u"Entreprise redevable de la taxe d'apprentissage"

def function(self, simulation, period):
# L'association a but non lucratif ne paie pas d'IS de droit commun article 206 du Code général des impôts
# -> pas de taxe d'apprentissage
association = simulation.calculate('entreprise_est_association_non_lucrative', period)

return period, not_(association)


class contribution_developpement_apprentissage(Variable):
column = FloatCol
entity_class = Individus
Expand Down Expand Up @@ -73,10 +86,6 @@ def function(self, simulation, period):
effectif_entreprise = simulation.calculate('effectif_entreprise', period)
taux = simulation.legislation_at(period.start).cotsoc.contribution_supplementaire_apprentissage

# L'association a but non lucratif ne paie pas d'IS de droit commun article 206 du Code général des impôts
# -> pas de taxe d'apprentissage
association = simulation.calculate('entreprise_est_association_non_lucrative', period)

if period.start.year > 2012:
taux_contribution = (
(effectif_entreprise < 2000) * (ratio_alternants < .01) * taux.moins_2000_moins_1pc_alternants +
Expand All @@ -89,7 +98,7 @@ def function(self, simulation, period):
else:
taux_contribution = (effectif_entreprise >= 250) * taux.plus_de_250
# TODO: gestion de la place dans le XML pb avec l'arbre des paramètres / preprocessing
return period, - taux_contribution * assiette_cotisations_sociales * redevable_taxe_apprentissage * not_(association)
return period, - taux_contribution * assiette_cotisations_sociales * redevable_taxe_apprentissage


class cotisations_employeur_main_d_oeuvre(Variable):
Expand Down Expand Up @@ -262,18 +271,14 @@ def function(self, simulation, period):
period = period.start.period(u'month').offset('first-of')
redevable_taxe_apprentissage = simulation.calculate('redevable_taxe_apprentissage', period)

# L'association a but non lucratif ne paie pas d'IS de droit commun article 206 du Code général des impôts
# -> pas de taxe d'apprentissage
association = simulation.calculate('entreprise_est_association_non_lucrative', period)

cotisation = apply_bareme(
simulation,
period,
cotisation_type = 'employeur',
bareme_name = 'apprentissage',
variable_name = self.__class__.__name__,
)
return period, cotisation * redevable_taxe_apprentissage * not_(association)
return period, cotisation * redevable_taxe_apprentissage


class taxe_salaires(Variable):
Expand Down
8 changes: 1 addition & 7 deletions openfisca_france/model/revenus/activite/salarie.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class ppe_tp_sa(Variable):
QUIFOY['pac2']: u"1DX",
QUIFOY['pac3']: u"1QX",
}

column = BoolCol
entity_class = Individus
label = u"Prime pour l'emploi des salariés: indicateur de travail à temps plein sur l'année entière"
Expand Down Expand Up @@ -407,12 +407,6 @@ class ratio_alternants(Variable):
label = u"Ratio d'alternants dans l'effectif moyen"


class redevable_taxe_apprentissage(Variable):
column = BoolCol(default = True)
entity_class = Individus
label = u"Entreprise redevable de la taxe d'apprentissage"


class remboursement_transport_base(Variable):
column = FloatCol()
entity_class = Individus
Expand Down

0 comments on commit 5ee6f9b

Please sign in to comment.