Version minima | 11.04 |
Theme/Function | HRM/Salaires |
Object | HRM_PAYROLL (Ressources humaines/Salaires/Configuration) |
Introduction
L’objectif est de permettre d’intégrer un calcul par itérations dans les salaires, et de faciliter ainsi et étendre les fonctionnalités de calculs net/brut par itérations.
Plusieurs cas de figures demandent ce genre d’opérations, notamment pour calculer un salaire de base en fonction d’un net contractuel, ou le versement d’une prime nette.
Objectifs et exigences
Réduire les opérations manuelles pour le calcul par itérations
Effectuer le calcul par itération durant le même processus que le calcul des salaires. Cela évite à l’utilisateur d’effectuer cette tâche.
Traiter les primes nettes selon les recommandations Swissdec et être totalement conforme à la législation
Les recommandations Swissdec en termes de gestion des primes nettes préconisent l’utilisation de décomptes de référence (shadow payslip)
Main use cases
Utile pour calculer le salaire brut en cas de :Â
- Charges sociales inhérentes à des primes nettes
- Perception d'indemnités d'assurance (=on évite que le collaborateur ait un salaire net plus important que s'il ne percevait pas ces indemnités)
Résumé des fonctionnalités principales
Calcul
Le calcul des salaires s’effectuent comme avec n’importe quel autre employé ou décompte.
Rien de spécial sinon que le calcul par itération est déclenché lorsque l’employé a une variable impliquant un calcul itératif (voir configurations des modes itératifs ci-dessous).
Configurations des modes itératifs
Pour définir un calcul par itérations, il faut déterminer la variable qui indique la valeur cible à rechercher et la variable à ajuster pour obtenir le résultat souhaité.
Un écran dédié à cette configuration est disponible dans les genres salaires.
Principes de base
L’objectif est de trouver, par itérations, la valeur brute qui permet d’obtenir la valeur nette souhaitée.
Cette valeur nette peut être définie manuellement ou alors est le fruit d’un calcul préalable.
Le calcul par itérations ne se fait que lorsqu’il existe pour l’employé une variable indiquant une valeur cible selon la configuration des modes itératifs. Des exceptions peuvent être gérées, voir extensibilités.
Les scénarios de plusieurs modes itératifs éventuels pour un employé se déroulent dans l’ordre de la séquence.
Si l’utilisateur ne souhaite pas que des itérations soient effectuées, il désactive ou supprime la variable cible pour l’employé.
Lorsque le calcul par itérations ne permet pas d’atteindre la valeur cible dans le montant toléré, le décompte ne peut pas être sauvegardé (erreur affichée : dans ce cas, c’est à l’utilisateur de modifier manuellement le montant net attendu ou d’indiquer la valeur de la variable d’ajustement).
Configuration des modes itératifs
Genres salaires
Dans l'objet des Genres salaires, un bouton dans le ruban permet d'accéder à cette configuration :
La fenĂŞtre de configuration :
- Les modes ont une séquence qui permet d'indiquer l'ordre dans lequel les simulations doivent être effectuées. Il est donc possible d’effectuer plusieurs scénarios à la suite (ex. Calcul net/brut puis versement d’une prime nette).
- Le nom identifie la raison de l'itération à effectuer
- L'Ă©lĂ©ment technique du rĂ©sultat calculĂ© est celui qui porte la valeur qui doit tendre  à la valeur cible   Â
- L'élément technique du résultat calculé négatif est utilisé dans le cas du montant net à payer négatif par exemple. Si aucun tel élément n'existe pour le résultat, indiquer le même élément que le résultat calculé
- L'Ă©lĂ©ment technique indiquant le total des dĂ©ductions est utilisĂ© pour dĂ©terminer le pas d'itĂ©ration. Si ce n'est pas applicable, indiquer un Ă©lĂ©ment dont la valeur est Ă 0  Â
- L'élément indiquant la valeur d'ajustement permet de spécifier l'élément à faire varier pour obtenir le résultat escompté. Cette variable sera mise à jour lors du calcul
- L'élément technique indiquant la valeur cible est typiquement la variable emNetAttendu par exemple
- Le nombre d'itérations max permet de limiter celles-ci de façon à éviter les boucles infinies
- La tolérance max permet d'indiquer la différence au-delà de laquelle le calcul sera bloqué pour éviter que le système ne calcule avec un montant inopportun. Dans ce cas, c'est à l'utilisateur d'indiquer la valeur de la variable d'ajustement pour permettre le calcul du décompte  (le système n'y arrivant pas)
- La pré-calculation doit être sélectionnée lorsque la valeur cible ne peut pas être indiquée manuellement via une variable, mais est le fruit d'un calcul préalable. Dans ce cas, le pré-calcul permet de calculer la valeur de l'élément Cem lié à l'élément technique de la valeur cible (dans l’exemple ci-dessus CemNetAttendu) et de l'indiquer dans celle-ci pour permettre le calcul par itérations.
Deux exemples :
Exemple 1
Le montant du net attendu est connu, on veut que l’employĂ© ait un montant net Ă payer de 10’000.-Â
- La valeur de la variable emNetAttendu pour l’employé indique la valeur cible
- Pas de pré-calculation nécessaire
- Elément technique du résultat calculé = CemMontantPaye
- Elément technique indiquant la valeur cible = emNetAttendu
- Elément technique pour la variable d’ajustement = emCorSalBrutNet
Exemple 2 :
On veut payer une prime nette de déductions sociales, mais que l’employé paie les impôts dessus
- La valeur de la variable emNetPrimeAttendu pour l’employé indique la valeur de la prime, ex. 1000.-
- Pré-calculation nécessaire
- Dans ce calcul, la variable avec la prime doit être remonté à 0 ( la formule de ce GS doit en tenir compte : if(emModeIter=0,emPrimeNette+emCorSalPrimeNette,0)
- Elément technique du résultat calculé = CemSalNet
- En sortie de la précalculation, la valeur de CemSalNet est insérée dans la variable indiquant la valeur cible pour l’employé ( emNetPrimeAttendu )
- Elément indiquant la valeur cible = emNetPrimeAttendu
- Elément technique pour la variable d’ajustement = emCorSalPrimeNette
Genres salaires
...
- Il y a précalculation puisque le système doit d’abord calculer le décompte sans la prime pour connaître le salaire net, puis y ajouter la prime, ce qui donne la valeur cible pour le salaire net à obtenir
- Créer un genre salaire NetPrimeAttendu
- Variable avec cumul
- La formule est : if(emModeIter=0,CemSalNet+emNetPrimeAttendu,0)
- Variable avec cumul
- L’élément indiquant la valeur cible est emNetPrimeAttendu
- L’élément du résultat calculé est CemSalNet
- L’élément technique servant de variable d’ajustement est emPrimeXY
Calcul net/brut
...
Il suffit d’indiquer la variable / constante à ajuster pour obtenir le résultat souhaité.
Corrections sur prestations
Pour le calcul d’une correction sur prestations de manière à éviter qu’un employé percevant des indemnités ne touche un salaire net supérieur à ce qu’il aurait reçu en temps normal.
Dans ce cas, un calcul préalable est nécessaire de manière à identifier le montant auquel il aurait eu droit en temps normal.
Le calcul par itérations se fait ensuite jusqu’à obtenir le résultat souhaité.
Installation
- Créer les genres salaires nécessaires
- Configurer le mode itératif
Configuration et paramètres d’objets
Extensibilité
La commande de recherche qui détermine s'il y a lieu de procéder à une itération pour le décompte est V_HRM_PAY_LIST/ITERATION_CALC/Assist01
Historique des versions
Date
(dd.mm.yyyy)
Auteur des modifications
DĂ©tails
02.08.2022
RSA
Création
base : document Salary gross up Vis220 operation documentation.docx |
Présentation sommaire
View file | ||||
---|---|---|---|---|
|
Documentation opérationnelle
View file | ||||
---|---|---|---|---|
|