DOC
Accueil/ Projets/ Gestion RH/ ADR-0005 - Le planning est la source de vérité de la paie

ADR-0005 - Le planning est la source de vérité de la paie

  • Statut : ✅ Accepté (état de fait) - bonne décision à sécuriser par des tests
  • Date : 2026-07-10 (constat)
  • Tags : métier, paie, planning

Contexte

La paie d'un réseau de boutiques repose surtout sur des éléments variables : heures réellement travaillées, heures supplémentaires, dimanches, primes de vente, transport. Ressaisir ces éléments manuellement est source d'erreurs.

Décision

Calculer automatiquement les éléments variables du mois à partir des plannings hebdomadaires (weekly_schedules, créneaux slots) :

  • hours_worked = somme des créneaux du mois (computeHoursFromPlanning).
  • hours_overtime = au-delà des heures contractuelles du mois (weekly_hours × semaines).
  • sunday_hours = bonus +7 h par dimanche travaillé.
  • sale_bonus = sale_count × sale_bonus_amount.
  • transport_reimbursement = 50 % de l'abonnement si justificatif déposé.

Les valeurs calculées sont pré-remplies puis ajustables manuellement avant enregistrement dans monthly_payroll (1 ligne par salarié et par mois).

Conséquences

Positives

  • Cohérence planning ↔ paie, gain de temps, moins d'erreurs.
  • La version de contrat en vigueur au mois est prise en compte (contractAsOf), ce qui gère les changements de temps de travail en cours d'année.

Négatives / compromis

  • Le calcul dépend de la qualité du planning (créneaux bien saisis, semaine publiée). Un planning incomplet fausse la paie.
  • weeksInMonth = daysInPayMonth / 7 est une approximation (≈ 4,43 semaines) - à valider avec le comptable / la convention collective.
  • Logique non testée et sensible aux dates UTC/local.

Alternatives envisagées

Option Avantages Inconvénients Retenue ?
Saisie manuelle des EVP Simple Chronophage, erreurs
Dérivation depuis le planning Automatique, cohérent Dépend du planning
Pointeuse / badgeuse Réel mesuré Matériel, intégration

Décision cible (proposée)

Extraire le calcul dans domain/payroll.js et le couvrir de tests (cas mois à cheval, dimanche, heures sup, changement de contrat en cours de mois). Clarifier la règle des semaines/mois avec le cabinet comptable.

Références

  • gestionrh-github/src/App.jsx : computeHoursFromPlanning, payrollData, contractAsOf
  • supabase-payroll.sql : monthly_payroll