68 lines
3.7 KiB
Markdown
68 lines
3.7 KiB
Markdown
# Module Masse salariale Santinova
|
||
|
||
## Périmètre et accès
|
||
|
||
Le module stocke des **données de rémunération à caractère sensible**. L'accès
|
||
au menu, à la page et à toutes les procédures de lecture ou d'écriture est
|
||
réservé au rôle `admin`. Les sources de paie importées ne sont pas conservées
|
||
dans le code source ni dans le stockage applicatif ; seuls les champs métier
|
||
nécessaires au tableau sont enregistrés en base.
|
||
|
||
## Champs du tableau
|
||
|
||
Chaque salarié est identifié par son matricule paie. Le tableau comprend le
|
||
nom, le prénom, le poste et la date d'embauche ainsi que, pour 2025, 2026 et
|
||
2027 : salaire annuel brut hors primes, salaire annuel brut avec primes,
|
||
salaire mensuel brut hors primes, taux de charge et évolution salariale.
|
||
|
||
| Champ | Origine | Règle de traitement |
|
||
|---|---|---|
|
||
| Salaire mensuel brut hors primes | Ligne « Salaire de base » | Montant de la paie source. |
|
||
| Salaire annuel brut hors primes | Salaire mensuel brut hors primes | Calcul : montant mensuel × 12. |
|
||
| Salaire annuel brut avec primes | Synthèse « Annuel — Brut » | Montant cumulé annuel fourni par la paie. Pour une année non clôturée, le statut indique le mois de référence. |
|
||
| Taux de charge | Synthèse « Annuel — Charges patronales » | Calcul : charges patronales ÷ brut annuel avec primes. |
|
||
| Évolution salariale | Saisie utilisateur | Pourcentage manuel, stocké séparément des montants importés ; il peut donc être renseigné pour 2027 sans créer de rémunération fictive. |
|
||
|
||
## Sources analysées
|
||
|
||
Les bulletins de décembre 2025 fournissent un cumul annuel complet. Les
|
||
bulletins 2026 reçus couvrent janvier à août ; le relevé le plus récent par
|
||
salarié sera associé à son mois de référence afin de ne pas présenter un cumul
|
||
partiel comme une année clôturée (`cumul_provisoire`). Les années ou salariés
|
||
sans bulletin ne seront jamais créés avec des données fictives : le tableau
|
||
affichera une valeur absente et un statut de donnée à compléter.
|
||
|
||
## Règles de sécurité et d'intégrité
|
||
|
||
Le couple `(matricule, année)` est unique. Une importation est idempotente : la
|
||
dernière source validée remplace les valeurs extraites du même salarié pour la
|
||
même année, sans écraser une évolution salariale saisie manuellement. Les
|
||
montants sont stockés en centimes et les pourcentages en points de base pour
|
||
éviter toute erreur d'arrondi.
|
||
|
||
## Contrôle de l'interface
|
||
|
||
La page de connexion est disponible sur l'environnement de développement. Le
|
||
contrôle du tableau Masse salariale est réalisé avec un compte administrateur,
|
||
afin de vérifier simultanément l'affichage des données et leur cloisonnement
|
||
par rôle.
|
||
|
||
Un accès direct à `/masse-salariale` sans session est redirigé vers `/login`.
|
||
La connexion avec le compte administrateur de test est acceptée et le menu
|
||
SANTINOVA devient accessible dans la barre latérale.
|
||
|
||
Le contrôle visuel confirme que le tableau s'affiche sous SANTINOVA avec les
|
||
19 salariés importés, les cumuls 2025 et 2026 correctement signalés, ainsi
|
||
qu'une colonne 2027 vide plutôt qu'un total salarial fictif.
|
||
Une cellule d'évolution 2027 devient éditable au clic et peut être annulée par
|
||
la touche Échap, sans modifier la base de données.
|
||
|
||
## Modalité d'import
|
||
|
||
L'import initial des bulletins transmis est réalisé par un outil contrôlé hors
|
||
de l'interface. Cette mesure évite d'exposer des documents de paie ou leurs
|
||
données brutes dans le navigateur. Les procédures d'import tRPC existent et
|
||
sont réservées aux administrateurs pour une future intégration d'import interne
|
||
après validation du format de fichier et des règles de conservation. Aucun
|
||
fichier de paie n'est versionné dans le dépôt applicatif.
|