Première ébauche des entités nécessaires au calcul des cotisations sociales
La notion d'Activité permet d'envisager la pluri-activité, avec notamment le statut d'indépendant (TNS). La notion d'Entreprise permet: - d'introduire la fiscalité des entreprises - d'ordonner les concepts en allégeant l'Individu auquel est aujourd'hui rattaché les propriétés de son entreprise - d'implémenter le calcul de certaines cotisations sociales qui dépendent de l'ensemble des salariés (taxe sur les salaires)pull/1/head
parent
ad87a100db
commit
60684a9dc2
|
@ -0,0 +1,21 @@
|
|||
# Individu est le concept représentant une personne.
|
||||
# C'est un 'record', une collection de champs nommés
|
||||
Individu
|
||||
# Ce concept a des propriétés non calculables.
|
||||
# On peut parler de variables d'entrée, à saisir par l'utilisateur de la simulation.
|
||||
date de naissance: YYYY-MM-JJ
|
||||
# Et d'autres calculables. Mais toujours saisissables.
|
||||
# On parle alors simplement de variables.
|
||||
age = calc(date de naissance): nombre positif
|
||||
# A ce concept est associée une liste d'un autre concept, l'Activité.
|
||||
# La liste dénote le fait qu'elles peuvent se cumuler.
|
||||
activités: liste Activité
|
||||
|
||||
# Lors de l'éxecution du simulateur, ce concept sera instancié avec des données,
|
||||
# potentiellement plusieurs fois pour construire une population :
|
||||
# {
|
||||
# date de naissance: 1989-08-01,
|
||||
# activités: [a1, a2]
|
||||
# }
|
||||
|
||||
# -------> allez voir le concept Activité
|
|
@ -0,0 +1,14 @@
|
|||
Activité
|
||||
# L'activité d'un individu, souvent rémunérée.
|
||||
|
||||
Salariat
|
||||
| Indépendant
|
||||
| Fonction publique
|
||||
| Stage
|
||||
| Demandeur Emploi
|
||||
|
||||
# Cette syntaxe indique que l'activité est une alternative entre plusieurs autres concepts incompatibles : c'est ce que l'on appelle une variante.
|
||||
# Ce qui ne veux pas dire que le cumul de plusieurs activités est impossible (etc. Salariat et Indépendant), mais celui-ci est défini en amont dans le concept d'Individu.
|
||||
|
||||
# C'est aux TODO fonctions de contrôle que revient la tâche de vérifier la cohérence des données
|
||||
# Par exemple, un on peut cumuler un emploi dans la fonction publique et une activité d'indépendant que sous certaines conditions.
|
|
@ -0,0 +1,52 @@
|
|||
Salariat
|
||||
# Sur ce concept de Salariat sont définies une liste de propriétés.
|
||||
# Le salarié est embauché dans un établissement, lui même rattaché à une entreprise
|
||||
établissement: Établissement
|
||||
salaire de base: nombre positif (0)
|
||||
salaire brut: salaire de base + primes + indemnités
|
||||
salaire net: calc()
|
||||
cout du travail: calc()
|
||||
terme Contrat: CDI | CDD
|
||||
statut: Cadre | Non cadre
|
||||
# Cette propriété a pour type une énumération, mais peut-être calculée.
|
||||
régime géographique:
|
||||
calc() :
|
||||
| Alsace-Moselle
|
||||
| Outre-Mer
|
||||
|
||||
# les variables contenues dans le concept Régime Alsace Moselle (précisé plus loin) servent au calcul ci-dessus
|
||||
régime alsace moselle: Régime Alsace Moselle
|
||||
|
||||
# Une instance de Salariat peut préciser le type de contrat.
|
||||
|
||||
contrat: Contrat
|
||||
Aidé:
|
||||
| Contrat unique insertion
|
||||
| Contrat professionnalisation
|
||||
| Emploi avenir
|
||||
| Étudiant apprenti professeur
|
||||
| CDD sénior
|
||||
Alternance:
|
||||
| Apprentissage
|
||||
| Contrat professionnalisation
|
||||
|
||||
# Ce type Contrat n'est pas exactement une hiérarchie : on observe que Contrat Professionnalisation est à la fois un contrat aidé et un contrat d'alternance. Ce type de définition revient à combiner ces deux tâches :
|
||||
# - écrire une liste de possibilités exclusives pour les contrats
|
||||
# - définir des variables de calcul d'appartenance à une catégorie : aidé = contrat est (CUI ou Contrat Pro ou ...)
|
||||
Contrat
|
||||
Aidé:
|
||||
| Contrat unique insertion
|
||||
| Contrat professionnalisation
|
||||
| Emploi avenir
|
||||
| Étudiant apprenti professeur
|
||||
| CDD sénior
|
||||
Alternance:
|
||||
| Apprentissage
|
||||
| Contrat professionnalisation
|
||||
|
||||
# Il aurait été possible d'attacher ces propriétés directement au concept Salariat, mais la définition de sous-concepts nous donne de l'ordre. C'est en quelque sorte un espace de nom ('namespace').
|
||||
Régime Alsace Moselle
|
||||
affiliation 2012 conservée: Booléen
|
||||
département activité salarié: code département
|
||||
itinérance en Alsace Moselle: Booléen
|
||||
itinérance en Alsace Moselle contractualisée: Booléen
|
|
@ -0,0 +1,22 @@
|
|||
# Le nom de ce fichier n'est qu'un guide : plusieurs concepts sont ici définis
|
||||
|
||||
Établissement
|
||||
Entreprise
|
||||
effectif: nombre positif
|
||||
code INSEE: entier à 5 chiffres
|
||||
code Postal = calc(code INSEE) : entier à 5 chiffres
|
||||
compte AT/MP: Compte AT/MP
|
||||
|
||||
Compte AT/MP
|
||||
code risque: caractères
|
||||
appréciation du risque: très élevé | élevé | moyen | bureau
|
||||
taux de risque: calc(code risque) nombre positif
|
||||
|
||||
Entreprise
|
||||
# l'effectif est par défaut automatiquement rempli de cette façon
|
||||
effectif: (sum(Établissements.effectif)): nombre positif
|
||||
employés: liste Individus
|
||||
établissements: liste Établissements
|
||||
nombre apprenti: nombre positif
|
||||
|
||||
taxe sur les salaires(Cotisation, Impôt) = sum(Employés.Taxe sur les salaires)
|
|
@ -0,0 +1,16 @@
|
|||
# Réflection sur la notion de haut niveau permettant d'implémenter les cotisations sociales
|
||||
|
||||
Malheureusement Contrat n'est pas adapté à toutes les situations: il est possible d'employer quelqu'un sans emploi:
|
||||
- particuliers employeurs : plus de 8 heures par semaine ou de plus de 4 semaines consécutives dans l'année.
|
||||
- La signature d’un contrat de travail n’est pas obligatoire dans certains cas. C’est le cas du Contrat de travail à Durée Indéterminée, considéré comme la forme normale et générale de la relation de travail entre un salarié et un employeur (Art. L1221-2 du Code du travail).
|
||||
- un assimilé salarié peut sûrement ne pas avoir de contrat
|
||||
|
||||
Cela dit, un contrat pourrait être noté "virtuel" pour ces cas là.
|
||||
|
||||
On pourrait alors se tourner vers le concept de "Salarié" (en y incluant tout ce qui y est assimilé).
|
||||
Ce qui nous donnerait deux autres catégories : TNS (travailleur non salarié) et Fonction publique.
|
||||
Mais !
|
||||
- c'est étrange de se dire qu'un agent de la fonction publique, notamment contractuel, n'est pas salarié
|
||||
- un stagiaire (et d'autres exceptions) n'est pas un salarié !
|
||||
|
||||
Autre possibilité : l'Activité.
|
|
@ -1,76 +0,0 @@
|
|||
# Malheureusement Contrat n'est pas adapté à toutes les situations: il est possible d'employer quelqu'un sans emploi
|
||||
# - particuliers employeurs : plus de 8 heures par semaine ou de plus de 4 semaines consécutives dans l'année.
|
||||
# - La signature d’un contrat de travail n’est pas obligatoire dans certains cas. C’est le cas du Contrat de travail à Durée Indéterminée, considéré comme la forme normale et générale de la relation de travail entre un salarié et un employeur (Art. L1221-2 du Code du travail).
|
||||
# - un assimilé salarié peut sûrement ne pas avoir de contrat
|
||||
#
|
||||
# Cela dit, un contrat pourrait être noté "virtuel" pour ces cas là.
|
||||
#
|
||||
# On pourrait alors se tourner vers le concept de "Salarié" (en y incluant tout ce qui y est assimilé).
|
||||
# Ce qui nous donnerait deux autres catégories : TNS (travailleur non salarié) et Fonction publique.
|
||||
# Mais !
|
||||
# - c'est étrange de se dire qu'un agent de la fonction publique, notamment contractuel, n'est pas salarié
|
||||
# - un stagiaire (et d'autres exceptions) n'est pas un salarié !
|
||||
#
|
||||
# Autre possibilité : l'Activité.
|
||||
|
||||
Individu
|
||||
date de naissance: YYYY-MM-JJ
|
||||
age = calc(date de naissance): nombre positif
|
||||
liste Activité
|
||||
|
||||
Activité
|
||||
# Une activité d'un individu, souvent rémunérée et cumulable.
|
||||
Salariat
|
||||
| Indépendant
|
||||
| Fonction publique
|
||||
| Stage
|
||||
|
||||
|
||||
Salariat
|
||||
# Sur ce concept de Salariat sont définies une liste de propriétés
|
||||
Établissement
|
||||
salaire de base: nombre positif (0)
|
||||
salaire brut: salaire de base + primes + indemnités
|
||||
salaire net: calc()
|
||||
cout du travail: calc()
|
||||
Rémunérations: liste Prime
|
||||
Contrat:
|
||||
| Apprentissage
|
||||
| CDD Sénior
|
||||
| Contrat Professionnalisation
|
||||
| Contrat Unique Insertion
|
||||
| Contrat Aidé
|
||||
|
||||
Terme Contrat: CDI | CDD
|
||||
Contrat aidé:
|
||||
| Contrat unique insertion
|
||||
| Contrat de professionnalisation
|
||||
| Emploi avenir
|
||||
| Étudiant apprenti professeur
|
||||
| CDD sénior
|
||||
|
||||
Alternance:
|
||||
| Apprentissage
|
||||
| Contrat professionnalisation
|
||||
|
||||
Statut: Cadre | Non cadre
|
||||
|
||||
|
||||
Établissement
|
||||
Entreprise
|
||||
effectif: nombre positif
|
||||
code INSEE: entier à 5 chiffres
|
||||
code Postal = calc(code INSEE) : entier à 5 chiffres
|
||||
Compte AT/MP
|
||||
|
||||
Compte AT/MP
|
||||
code risque AT/MP: caractères
|
||||
taux de risque AT/MP: nombre positif
|
||||
|
||||
Entreprise
|
||||
effectif = sum(Etablissements.effectif)
|
||||
employés: liste Individus
|
||||
nombre apprenti: nombre positif
|
||||
établissements: liste Établissements
|
||||
|
||||
taxe sur les salaires(Cotisation, Impôt) = sum(Employés.Taxe sur les salaires)
|
|
@ -1,7 +0,0 @@
|
|||
classe: Individu
|
||||
|
||||
date de naissance: Date
|
||||
contrats de travail: [Contrat]
|
||||
|
||||
|
||||
# famille: Famille etc
|
Loading…
Reference in New Issue