Embaucher un travailleur de la construction
Lundi matin, un apprenti charpentier-menuisier commence sur vos chantiers. Avant sa première paie, il faut sa fiche dans Acomba : une fonction par secteur où il travaillera, ses codes CCQ, une vingtaine de taux et autant de cases à cocher. C'est vingt minutes d'écrans, et une seule case oubliée ou un secteur mal saisi se paie au mauvais taux, puis se retrouve dans le rapport mensuel de la CCQ.Dans cette recette, nous allons créer cette fiche à partir de celle d'un collègue du même métier : chaque fonction est copiée d'une fonction modèle (département, codes CCQ, taux, cases), l'employé rejoint son équipe, et nous vérifions le résultat avant sa première paie.Ce que vous allez apprendrelire une fonction modèle avec ses taux, ses index de table et ses cases ;
créer un employé et sa première fonction en un seul appel ;
ajouter les fonctions des autres secteurs et inscrire l'employé dans son groupe ;
vérifier les codes CCQ avant la première paie, et annuler une embauche saisie par erreur.
une clé API en écriture, autorisée aux données sensibles de paie : le NAS est requis à la création (sinon 403 scope_required) ;
le module Paie actif, et le numéro d'employeur CCQ saisi dans la configuration de la paie ;
un collègue du même métier, du même secteur et de la même période d'apprentissage, dont les fonctions serviront de modèles ;
le NAS, la date de naissance et la date d'arrivée du nouvel employé ;
un dossier de test pour le premier essai : cette recette écrit dans Acomba.
Avant d'écrire, regardons ce que nous allons créer. Un employé d'Acomba a de 1 à 20 fonctions, et Acomba refuse un employé sans fonction. Chaque fonction regroupe ce qui détermine la paie d'un type de travail : le département, la combinaison CCQ (métier, secteur, annexe, région, apprentissage, syndicat), les taux par code de paie et les cases « Types de salaires » et « Options ». Un charpentier qui travaille en résidentiel léger et en commercial a donc deux fonctions, une par secteur.
Étape 1 : lire la fonction modèle#
Commençons par le collègue. La liste de ses fonctions donne leurs identifiants et un résumé CCQ ; le détail d'une fonction donne tout ce qu'il faut copier, taux compris.Deux sortes de taux se copient différemment :source: "amount" : un taux saisi ; reprenez amount.
source: "table" : Acomba applique la valeur d'une table de valeurs (salaire minimum, taux CNESST, fonds CCQ…) ; reprenez table_index, pas le montant. Les tables se consultent avec GET /api/payroll/value-tables.
Les cases se copient d'après checked : c'est l'état de la case dans la fonction ; active dit en plus si l'option est active dans la configuration de la paie.
Étape 2 : créer l'employé et sa première fonction#
Le modèle est en main ; créons la fiche. Un seul appel crée l'employé et sa première fonction, parce qu'Acomba n'accepte pas l'un sans l'autre. Tout est vérifié avant l'écriture : département existant, codes de paie utilisés par votre dossier, index dans leur table, codes CCQ, NAS.sin : 9 chiffres avec un numéro de contrôle valide. Il n'est jamais renvoyé ni journalisé en clair. Celui de l'exemple commence par 0, une série que le gouvernement n'attribue pas.
birth_date est requise : Acomba en a besoin pour inscrire une paie.
apprentice : la période d'apprentissage ; omettez-la (ou null) pour un compagnon. Acomba refuse "0".
vacation_calculation_method: 2 : les vacances calculées selon la CCQ.
warnings liste les valeurs qu'Acomba n'a pas conservées : relisez-les, une liste vide veut dire que tout a été écrit tel quel.
Conservez id, et pour chaque fonction function_cp et unique : Acomba réutilise les identifiants libérés, unique confirme qu'il s'agit bien de la même fiche.
Étape 3 : ajouter les autres secteurs et l'équipe#
L'employé existe ; donnons-lui sa fonction commerciale, copiée de la fonction commerciale du même collègue. La référence doit être unique pour l'employé.Puis inscrivons-le dans le groupe de son équipe : les groupes d'employés servent à filtrer les paies et les rapports dans Acomba.
Étape 4 : vérifier avant la première paie#
La fiche est complète ; vérifions-la comme le fera le rapport mensuel de la CCQ. Le détail CCQ de l'employé donne la combinaison de chaque fonction : elle sera copiée sur chacun de ses salaires.Pour aller plus loin dans la vérification, le coût horaire d'une fonction (GET /api/payroll/cost-per-hour?employee_id=57&function_index=1&hours_hourly_wage=40) doit être le même que celui de la fonction modèle : c'est la preuve que taux et cases ont été copiés à l'identique.Une embauche saisie par erreur se retire tant que l'employé n'a reçu aucune paie : DELETE /api/payroll/employees/by-id/57. Après une paie, désactivez plutôt ses fonctions.
Le script complet#
Assemblons l'embauche : ce script lit les fonctions modèles, crée l'employé avec la première, ajoute les suivantes, l'inscrit dans son groupe et affiche les codes CCQ relus.Employé 1187 créé (id 57)
Fonction « Charp Comm 3e » ajoutée
Ajouté au groupe 3
Charp Léger 3e métier 160 secteur D annexe R région 4 apprenti 3 syndicat SQC
Charp Comm 3e métier 160 secteur C annexe C4 région 4 apprenti 3 syndicat SQC
Bon à savoir#
Choisissez bien le modèle. Les taux CCQ dépendent du métier, du secteur, de l'annexe et de la période d'apprentissage : copiez un collègue au même échelon. Quand l'apprenti changera de période, mettez à jour ses fonctions (PATCH /api/payroll/employees/by-id/{id}/functions/by-id/{function_cp}).
Une fiche ouverte dans Acomba est verrouillée. Si quelqu'un consulte la fiche du collègue ou du nouvel employé à l'écran, l'écriture répond 409 card_locked : fermez l'écran et relancez.
Le département des fonctions CCQ doit avoir une fréquence de paie hebdomadaire (exigence d'Acomba pour les employés assujettis à la CCQ).
L'employé est actif tant qu'une fonction l'est. La première fonction est active et inscrite automatiquement aux paies par défaut (is_active, payroll_entry).
Index de table. L'index 1 est accepté même pour une table vide : c'est la valeur qu'Acomba pose lui-même. Un index au-delà de la table est refusé (422 table_index_out_of_range).
Dépôt direct : payment_mode: 2 exige le bloc banking complet (institution, succursale, compte) ; ces numéros ne sont jamais renvoyés.
Données sensibles : le NAS et les coordonnées bancaires ne doivent pas vivre dans votre code ; lisez-les d'une source protégée au moment de l'appel.
Et voilà#
Votre nouvel employé est prêt pour sa première paie : sa fiche créée à partir de celle d'un collègue, une fonction par secteur avec ses codes CCQ, ses taux et ses cases copiés à l'identique, son équipe assignée, et le tout vérifié comme le lira le rapport mensuel de la CCQ. Vous savez aussi distinguer un taux saisi d'une valeur de table, et retirer une embauche saisie par erreur. Modified at 2026-10-11 17:46:40