Checkpoint: Ajout du module Masse salariale SANTINOVA : tables de salariés, rémunérations et évolutions manuelles sécurisées par rôle administrateur ; import contrôlé des bulletins 2025 et janvier–août 2026 ; écran tableau 2025–2027 ; tests d'autorisations, d'agrégats et des quatre états UI ; documentation des sources et de la politique d'import.

This commit is contained in:
Manus
2026-08-27 13:10:47 +00:00
parent 2f4b1f2e8e
commit da407db4de
21 changed files with 4390 additions and 4 deletions

67
docs/masse-salariale.md Normal file
View File

@@ -0,0 +1,67 @@
# 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.