3. OCA (Odoo Community Association) :
◦ Soutenir le développement collaboratif des caractéristiques d’Odoo.
◦ Pour ajouter/modifier un module dans la branche OCA :
Réalisation de l’ajout ou la modification dans une branche de modification,
Proposition d’intégration sur la branche OCA,
S’il y a une approbation de la part d’ au moins de 2 personnes et que
personne n’a formulé d’objection valable,
Fusionnement de la branche de développement dans la branche OCA
10/10/2015 3
4. Les types des modules :
◦ Les modules officiels de l'éditeur : disponibles dans la branche
Launchpad lp:openobject-addons
◦ Les modules OCA : disponibles dans les branches Launchpad gérés par
OCA
◦ Les autres modules communautaires : qui ne sont pas maintenus par
OCA
10/10/2015 4
5. Migration des modules standards : (moins d’une semaine)
◦ Avoir un contrat de l’Entreprise Odoo https://migration.odoo.com
Ou
◦ Utiliser Openupgrade
Migration des modules spécifiques : (plus d’un mois)
◦ Modifier quelques instructions du code source,
◦ Adapter à la structure de la vue de la nouvelle version.
10/10/2015 5
6. ORM (Object-Relational Mapping) :
◦ Technique de programmation informatique qui permet d’avoir une
couche d’abstraction par rapport à la BD,
◦ Il crée l'illusion d'une base de données orientée objet à partir
d'une base de données relationnelle
◦ Il gère les droits d'accès, les traductions et évite d'avoir à écrire le code
SQL dans lequel il faut refaire toutes les relations entre les tables avec
des JOIN.
10/10/2015 6
7. L'ORM d'OpenERP ne fonctionne qu'avec PostgreSQL et
beaucoup de requêtes SQL dans les modules utilisent le
dialecte PostgreSQL.
Même si l'éditeur avait ajouté à une époque dans une
branche de test le support de MySQL (dans le cadre
d'un partenariat avec Sun Microsystem) mais cette branche
n'a jamais été fusionnée avec la branche officielle
10/10/2015 7
8. Gestion des RH dans Odoo
Gestion de la paie marocaine
Inconvénients de l’existant et le besoin
Exemple d’un module de la gestion de paie marocaine
Idée sur la méthode de résolution
10/10/2015 8
9.
10. 10/10/2015 10
Gestion
des RH
Gestion administrative des employés
Recrutement
Formations
Notes de frais
Evaluations
Organigramme
Demandes administratives
Suivi des prestations
Intégration Paie
Tableaux de bord
11. Gestion de feuilles de présence :
Le module de gestion de feuilles de présence, hr_timsheet,
sous Odoo permet de saisir et de vérifier le temps consacré par
les employés sur un projet ou une activité particulière.
Ce module est entièrement personnalisé, il donne plusieurs
aperçus (par jour, par semaine, …)
10/10/2015 11
15. Gestion de congé:
• Les demandes de congés peuvent être enregistrées par les employés et
validées par leur responsable.
• Une fois la demande du congé est validée, elle apparait
automatiquement dans l’agenda de l’employé. D’une autre coté, les
responsables peuvent déterminer, au préalable, les différents types
de congés (congés payés, maladie, …) et gérer les allocations par
type.
• Un employé peut demander aux responsables de lui attribuer plus
de jours de congés en faisant une nouvelle demande d’attribution.
10/10/2015 15
18. Gestion de recrutement:
Le recrutement est une opération concordance entre un poste
et un candidat : c’est-à-dire assurer la meilleure adéquation
entre les compétences et les besoins de la société.
Pour créer un poste pour le recrutement, on va au menu
Ressources humaines > recrutement > job position
10/10/2015 18
23. Gestion des dépenses:
Odoo permet de gérer les dépenses quotidiennes des
employés. Que se soient les frais de déplacement ou tous
autres frais, il permet d'accéder aux notes de frais des
employés et il donne le droit de compléter et de valider ou de
refuser ces notes. Après validation, on peut crée une facture
pour l'employé.
10/10/2015 23
24. Pour ajouter un type de dépense:
Ressources humaines> configuration> type de dépense
10/10/2015 24
27. Gestion de la paie :
Le module de la paie hr_payroll comprend un moteur de paie générique,
qui permet de calculer des bulletins des salaires. Vous pouvez gérer la
paie de votre entreprise à l’aide de ce module.
Odoo propose les fonctionnalités suivantes pour un processus très
efficace :
Règles salariales: sont utilisées pour calculer les données liées au calcul
du salaire telles que les déductions, les primes …
Structure de salaire: permet de choisir l’ensemble des règles salariales
qui vont entrer en jeu pour calculer les bulletins du salaire.
10/10/2015 27
28. Gestion des catégories de règles pour le salaire:
C’est un moyen pour regrouper les règles salariales selon des
classes, par exemple : on peut créer une catégorie des primes, des
déductions, des indemnités, … etc.
10/10/2015 28
29. Ressources humaines > Configuration > Paye > Catégories de règles pour le salaire
10/10/2015 29
30. Gestion des règles salariales:
Les règles de salaires définissent l’ensemble de données qui
permettent le calcul de bulletins de paie.
10/10/2015 30
32. 10/10/2015 32
Gestion des structures des salaires:
Ressources humaines > Configuration > Paye > Structure des salaires
33. Gestion des contrats:
On doit définir un contrat pour chaque employé, ce contrat
sera utilisé lors de la génération des bulletins de salaire.
10/10/2015 33
35. 10/10/2015 35
Gestion des bulletins de l’employé:
Ressources humaines > Paye > bulletin de l’employé
36.
37. Malgré la présence d’un module hr_payroll destiné à gérer la paie
au sein de l’entreprise, il s’avère que ce module tout seul ne peut
pas répondre aux besoins des sociétés dans le monde entier, car
chaque pays, voire chaque entreprise, a sa manière de gérer la paie.
Cela est dû à la différence:
Des lois et des législations entre les pays du monde entier
Des rapports de paie et des déclarations
De la manière dont il faut comptabiliser les salaires
10/10/2015 37
38. le vrai rôle du module hr_payroll c’est juste de créer la
base sur laquelle chacun peut construire le modèle de
paie qu’il lui convient. C’est pour cette raison qu’on
trouve des pays qui ont déjà crée des modules de paie
convenables à leurs lois de législations.
10/10/2015 38
39. Le besoin majeur est de créer un module pour gérer la paie pour le
contexte marocain. Pour cela il faut:
Établir une étude détaillée, afin de comprendre la logique du
métier de la paie
Créer toutes les règles salariales qui vont en pair avec la loi et les
législations marocaines
Ajouter les différents champs et données qui manquent pour
s’adapter au contexte marocain
Gérer les différents rapports et déclarations liés à la paie
Permettre la comptabilisation de la paie
10/10/2015 39
40.
41. 10/10/2015 41
Totale des gains (salaire
brut global)
Salaire de base
Heures
supplémentaires
Primes
d’ancienneté
Indemnités
Avantages
(nature+argent)
Allocations
familiales
Total des retenues
Cotisations
salariales
Impôt général sur
le retenu
Avances et
acomptes
Cessions de salaire
Oppositions
Autres retenues
Salaire net à
payer
42. 10/10/2015 42
Les éléments constitutifs du salaire :
Salaire de base :
Salaire de base = Nombre d’heures normale * Taux horaire
normal
Les heures supplémentaires :
Taux horaire supplémentaire = Taux horaire normal * (1 + Taux
horaire de majoration)
Jours de travail
habituels
Repos hebdomadaires
et jours fériés
De 6:00 à 21:00 25% 50%
De 21:00 à 6:00 50% 100%
43. 10/10/2015 43
Primes d’ancienneté :
Les indemnités :
L’indemnité de résidence, indemnité de licenciement...etc.
Taux d’ancienneté ( % du salaire )
2 ans de travail 5%
De 2 ans à 5 ans 10%
De 5 ans à 12 ans 15%
De 12 ans à 20 ans 20%
Après 25 ans de travail 25%
44. 10/10/2015 44
Les allocations familiales :
200 DH par mois pour chacun des trois premiers enfants
36 DH par mois pour chacun des trois suivants
Les avantages :
En Argent : loyer du logement personnel, frais médicaux,
frais des séjours ...etc.
En nature : (dépenses de domesticité, logement,
dotations en produits fabriqués par l'employeur...etc.
45. 10/10/2015 45
Les cotisations sociales salariales :
Les cotisations salariales de la CNSS :
Cotisation salariale à la CNSS = 4,29 % * Salaire brut <= 6000 DH
Assurance maladie obligatoire (AMO) :
Cotisation salariale d’AMO = 2% * Salaire brut
Les cotisations salariales à la CIMR :
Cotisation salariale à la CIMR = entre (3% et 6%) * Salaire brut
imposable
46. 10/10/2015 46
Les charges patronales :
Les cotisations patronales de la CNSS :
Cotisations pour la couverture des allocations familiales
= 7,5 % * Salaire brut
Cotisations pour la couverture des prestations sociales
= 8,6 % * Salaire brut <= 6000
Participation au financement de la formation
professionnelle = 1,6 % * Masse salariale brut
47. 10/10/2015 47
Les charges patronales :
Les cotisations patronales de l’AMO :
Assurance Maladie Obligatoire (AMO) = 2 % * Salaire brut
Cotisation de solidarité (AMO) = 1,5 % * Salaire brut
Les cotisations patronales à la CIMR :
Cotisation patronale de CIMR = 1,3 * Taux de cotisation salariale
de CIMR * salaire brut imposable
Les cotisations patronales à d’autres organismes
48. 10/10/2015 48
L’impôt général sur le revenu :
Détermination du salaire
brut (SB)
salaire de base, primes, indemnités et
avantages...etc.
Détermination du salaire
imposable (SBI)
SBI = SB – Exonérations
Détermination du salaire
net imposable (SNI)
SNI = SBI - Déductions
Calcul de l’IR brut IR (brut) = (SNI * Taux) – (Somme à déduire)
Calcul de l’IR net
IR (net) = IR (brut) – Déductions pour charges
familiales
49. 10/10/2015 49
Calcul de l’IR brut :
IR (brut) = (SNI * Taux) – (Somme à déduire)
Tranche de revenu
mensuel (DHS)
Taux Somme à déduire
De 0 à 2500 0% 0,00
De 2005 à 4166,67 10% 250,00
De 4166,67 à 5000 20% 666,67
De 5000 à 6666,67 30% 1166,67
De 6666,67 à 15000 34% 1433,33
Au-delà de 15000 38% 2033,33
57. 10/10/2015 57
On devrait développer un module qui va
étendre les fonctionnalités du module de
ressources humaines, sans toucher au module
standard, ceci doit être fait par héritage parce
que les vues existantes devraient être
modifiées à travers des vues héritées, jamais
directement.
58. 10/10/2015 58
Création d’un nouveau module (Odooopenerpaddons)
• Hérite d’un autre module
Ajouter des fichiers nécessaires
• Fichiers .py et .xml
Mise à jour des modules dans l’interface Odoo
Installer le nouveau module
59. 10/10/2015 59
Fichiers obligatoires :
◦ __init__.py : Initialisation du package Python
Charger le nouveau module
import nouveau_module
60. 10/10/2015 60
Fichiers obligatoires :
◦ __openerp__.py : La fiche descriptive du module
• name : le nom de votre module ;
• version : la version du module ;
• category : la catégorie dans laquelle vous classez votre module ;
• sequence : le un nombre qui permet de définir l’ordre de votre module
dans la liste des modules.
• author : l'auteur du module ;
• description : la description complète du module ;
• depends : les dépendances votre module ;
• data : les fichiers à charger ;
• installable : si votre module est installable ou non ;
• auto_install : laissez à False, nous l'installerons à la main.
61. 10/10/2015 61
Fichiers obligatoires :
◦ Nouveau_module.py : Les classes Python, les objets du module
from openerp.osv import fields, osv
class hr_employee_ma(osv.osv):
_inherit = 'hr.employee‘
_columns = {
'CIN': fields.char('CIN'),
}
nom : c’est le nom de la structure
Référence : le code de cette structure, il doit être unique
Régles salariales : ajouter les règles salariales qui vont constituer cette structure