Certified Payroll Lite — Davis-Bacon, registre hebdomadaire et formulaire WH-347 (gratuit)
Certified Payroll Lite for Davis Bacon and Davis-Bacon federal construction: weekly certified payroll register by job and labor classification, prevailing wage check against the wage determination, and the WH-347 form with its Statement of Compliance. Free, manual entry, no key and no outside servic
Screenshots
-
Certified Payroll Lite — Davis-Bacon, registre hebdomadaire et formulaire WH-347 (gratuit) — capture 1 -
Certified Payroll Lite — Davis-Bacon, registre hebdomadaire et formulaire WH-347 (gratuit) — capture 2 -
Certified Payroll Lite — Davis-Bacon, registre hebdomadaire et formulaire WH-347 (gratuit) — capture 3 -
Certified Payroll Lite — Davis-Bacon, registre hebdomadaire et formulaire WH-347 (gratuit) — capture 4 -
Certified Payroll Lite — Davis-Bacon, registre hebdomadaire et formulaire WH-347 (gratuit) — capture 5
Certified Payroll Lite — Davis‑Bacon
Le registre de paie hebdomadaire par chantier fédéral et par classification de métier, le constat de taux en vigueur, et l’impression du formulaire WH‑347. Saisie manuelle, sans clé ni service extérieur.
| ✔ Odoo 20 Community | ✔ Odoo.sh | ✔ Odoo Online | ✔ Sans dépendance externe |
Le problème avant la solution
Un entrepreneur qui a un seul chantier fédéral doit produire un registre certifié chaque semaine travaillée, et le remettre dans les sept jours suivant la date de paiement. Chaque ouvrier y figure avec la classification du travail qu’il a réellement exécuté, ses heures jour par jour, son taux, ses avantages sociaux, son brut et son net. Quinze colonnes, sept jours, cinquante‑deux semaines.
Le tableur y arrive, une semaine. Il n’y arrive plus quand le numéro de contrat diverge d’une semaine à l’autre, quand un taux a été recopié de travers, ou quand il faut retrouver, deux ans après, d’où venait un chiffre.
L’application en marche
Ce que fait la version gratuite
Le chantier fédéral, saisi une fois
Nom du projet, numéro de contrat, lieu, comté, numéro de détermination de salaire, agence contractante, rôle d’entrepreneur principal ou de sous‑traitant. Ces informations se recopient sur chaque semaine plutôt que de diverger d’un registre à l’autre.
Les classifications et leurs taux en vigueur
Un taux de base horaire et un montant d’avantages sociaux, recopiés de la détermination incorporée au contrat, avec la trace de leur origine et de leur date de relevé. Écrire d’où vient le chiffre coûte une minute et fait gagner une heure au contrôle.
Le registre hebdomadaire, colonne par colonne
Les heures jour par jour en normales et en supplémentaires, la rémunération horaire, les avantages sociaux en crédit ou en espèces, le brut du chantier et le brut toutes activités, les retenues nommées et le net.
Le constat de taux
Trois états, et trois seulement : au niveau du taux en vigueur saisi, au‑dessous, ou non comparable faute de taux saisi. Une ligne qu’on n’a pas pu comparer n’est jamais déclarée conforme.
Le formulaire WH‑347, recto et verso
Un état PDF qui reprend, case par case, le formulaire dans sa révision de janvier 2025 — celle dont le verso a été refondu, et que la plupart des modèles en circulation n’ont pas suivie.
La date limite de dépôt
Calculée à partir de la date de paiement, pas de la fin de semaine — c’est de là que court le délai. Le nombre de jours se règle.
Les écrans
Non éprouvé en production. Ce module n’a été éprouvé contre aucun dépôt réel auprès d’une agence fédérale ni contre aucun portail. L’état WH‑347 qu’il imprime reprend les cases du formulaire officiel ; ce n’est pas le formulaire officiel, qui se télécharge sur dol.gov. Commencez par une semaine d’essai et comparez.
Le module constate, il ne conclut pas. Il dit qu’une ligne est sous le taux en vigueur saisi ; il ne dit jamais que l’entreprise est en infraction. Cette qualification appartient à l’agence contractante et à la Wage and Hour Division.
Les valeurs réglementaires ne sont pas devinées
Chaque seuil, chaque délai, chaque coefficient est un paramètre de société qui porte, dans son infobulle, la source primaire d’où sa valeur par défaut est tirée.
| Valeur | Par défaut | Source |
|---|---|---|
| Seuil du contrat couvert | 2 000 $ | 40 U.S.C. 3142(a), 29 CFR 5.5(a), 29 CFR 3.3(c) |
| Délai de dépôt | 7 jours | 29 CFR 3.4(a) — pas la partie 5, qui ne chiffre aucun délai |
| Heures supplémentaires | 40 h — ×1,5 | 29 CFR 5.5(b)(1) |
| Conservation | 3 ans | 29 CFR 5.5(a)(3)(ii)(G), 29 CFR 3.4(b) |
| Périodicité | Hebdomadaire | 29 CFR 5.5(a)(3)(ii)(A), 29 CFR 3.3(b) |
Ce que les sources ne disent pas est écrit « non trouvé », jamais comblé par une valeur plausible.
Cette version, et l’édition complète
| Lite (ce module) | Édition complète | |
|---|---|---|
| Chantiers, classifications, registres, lignes | ✔ | ✔ |
| Constat de taux en vigueur | ✔ | ✔ |
| Impression du WH‑347, recto et verso | ✔ | ✔ |
| Date limite de dépôt, valeurs réglementaires paramétrables | ✔ | ✔ |
| Déterminations de salaire par comté et classification | — | ✔ |
| Avantages sociaux détaillés par régime (verso du WH‑347) | — | ✔ |
| Apprentis, paliers et ratios | — | ✔ |
| Constat de majoration des heures supplémentaires | — | ✔ |
| Reprise des feuilles de temps | — | ✔ |
| Dépôt, export et suivi de l’accusé | — | ✔ |
| Connecteur SAM.gov sur la chaîne de sources | — | ✔ |
| — | ✔ |
Les deux modules s’installent l’un sur l’autre : les chantiers, les registres et les lignes déjà saisis restent en place, rien n’est à ressaisir.
Gratuit veut dire gratuit
- Ni limite de durée, ni plafond d’enregistrements.
- Aucun bandeau publicitaire dans les écrans de travail.
- Licence LGPL‑3.
- Aucune dépendance à un service extérieur, aucune clé à obtenir.
Ce que ce module ne fait pas
- Il ne calcule pas la paie. Il enregistre ce que la paie a produit, dans la forme que le registre certifié exige.
- Il ne décide pas si un contrat est couvert par le Davis‑Bacon : c’est l’agence contractante qui incorpore la détermination.
- Il ne produit aucune signature : 29 CFR 5.5(a)(3)(ii)(E) exige une signature manuscrite d’origine ou une signature électronique juridiquement valable.
- Il n’offre aucun champ pour un numéro de sécurité sociale complet, une adresse ou un téléphone d’ouvrier : 29 CFR 5.5(a)(3)(ii)(B) les exclut du registre transmis, et offrir le champ reviendrait à fabriquer la fuite.
Fiche technique
| Version | 20.0.1.0.0 |
| Dépendances | base, mail — rien d’autre que le standard |
| Licence | LGPL‑3 |
| Modèles ajoutés | dyo.dbra.chantier, dyo.dbra.classification, dyo.dbra.registre, dyo.dbra.ligne, dyo.dbra.retenue |
| Modèles étendus | res.company, res.config.settings |
| Langue | Français, avec les libellés de formulaire en anglais là où le WH‑347 les impose |
| Rôles | Saisir les registres · Certifier et déposer |
DYONYSOS — welcome@dyonysos.fr
What this app does not do
- Il ne calcule pas la paie. Il enregistre ce que la paie a produit, dans la forme que le registre certifié exige.
- Il ne décide pas si un contrat est couvert par le Davis‑Bacon : c’est l’agence contractante qui incorpore la détermination.
- Il ne produit aucune signature : 29 CFR 5.5(a)(3)(ii)(E) exige une signature manuscrite d’origine ou une signature électronique juridiquement valable.
- Il n’offre aucun champ pour un numéro de sécurité sociale complet, une adresse ou un téléphone d’ouvrier : 29 CFR 5.5(a)(3)(ii)(B) les exclut du registre transmis, et offrir le champ reviendrait à fabriquer la fuite.
Store apps required
None.
Odoo Community modules used
basemail
Apps that complement it
| Series | Version | Status | Published on |
|---|---|---|---|
| 20.0 | 20.0.1.0.0 | Available | 02/10/2026 |
| 19.0 | 19.0.1.0.0 | Available |
Listing generated from the publisher's code (private repository, branch 20.0): the source code is not published.
Automatic store check (separate from the publisher's), applied to all apps. Conforme.
| Check | Result | Effect if absent |
|---|---|---|
| Manifeste lisible sans exécution | conforme | bloquant |
| Licence reconnue (LGPL-3) | conforme | bloquant |
| Aucune dépendance vers Odoo Enterprise | conforme | bloquant |
| Aucun import de code Enterprise | conforme | bloquant |
| Aucun en-tête de licence Enterprise | conforme | bloquant |
| Icône static/description/icon.png | conforme | déclasse |
| Description (static/description/index.html ou README) | conforme | déclasse |
| Tests automatisés (tests/test_*.py) | conforme | déclasse |
| Traduction française (i18n/fr.po) | conforme | info |
| Section « Ce que le module ne fait pas » | conforme | info |
| Titre de 70 caractères au plus (90 actuellement) | absent | info |
| Résumé en français | absent | info |
Guide utilisateur — Certified Payroll Lite (Davis-Bacon, version gratuite)
Tenir son registre de paie certifié semaine après semaine, et l'imprimer au format WH-347.
Avant toute mise en production. Les seuils, les délais et les coefficients livrés avec ce module sont des valeurs par défaut sourcées, réglables société par société. Chaque champ porte, dans son infobulle, la référence réglementaire dont sa valeur par défaut est tirée. Ce ne sont pas des citations opposables : le contrat prime, et une agence contractante peut exiger davantage. Ce module est livré « non éprouvé en production » : il n'a été déposé auprès d'aucune agence fédérale, et l'état WH-347 qu'il imprime n'est pas le formulaire officiel.
Ce que dit le régime, en quatre phrases
Un contrat fédéral de construction dont le montant excède 2 000 $ oblige à payer chaque ouvrier au taux en vigueur de la classification du travail qu'il a réellement exécuté. Chaque semaine où un travail couvert est exécuté, un registre de paie certifié est produit, accompagné d'une déclaration de conformité signée. Il est remis dans les sept jours suivant la date de paiement. Les registres se conservent trois ans après l'achèvement de tous les travaux du contrat principal.
1. Régler les paramètres de la société
Menu Paramètres → Paramètres généraux → Paie certifiée US.
| Paramètre | Ce qu'il commande | Source de la valeur par défaut |
|---|---|---|
| Seuil du contrat couvert | Le montant au-delà duquel un chantier n'est plus signalé comme sous le seuil | 40 U.S.C. 3142(a), 29 CFR 5.5(a) |
| Devise des seuils | Les seuils sont en dollars, même si votre comptabilité est en euros | — |
| Délai de dépôt | Le nombre de jours ajoutés à la date de paiement pour obtenir la date limite | 29 CFR 3.4(a) |
| Seuil et coefficient des heures supplémentaires | Le seuil hebdomadaire et la majoration | 29 CFR 5.5(b)(1) |
| Conservation des registres | La durée après la fin des travaux du contrat principal | 29 CFR 5.5(a)(3)(ii)(G) |
| Réserve sur les valeurs réglementaires | Ce qui n'a pas pu être confirmé, écrit en clair | — |
Ne changez ces valeurs que si votre agence contractante exige autre chose, ou si un texte a bougé. Dans ce cas, notez-le dans la réserve : la personne qui reprendra le dossier dans deux ans n'aura pas votre mémoire.
2. Ouvrir le chantier fédéral
Menu Paie certifiée US → Chantiers fédéraux → Nouveau.
Recopiez du contrat : le nom du projet, le numéro de projet ou de contrat, le lieu, l'État, le comté, le numéro de détermination de salaire, et l'agence contractante. Cochez si vous êtes entrepreneur principal ou sous-traitant — le WH-347 le demande en tête de formulaire.
Ces informations se recopient ensuite sur chaque semaine. C'est tout l'intérêt de les saisir ici : un numéro de contrat qui diverge d'une semaine à l'autre est une des remarques les plus fréquentes au dépôt.
Le montant du contrat ne sert qu'au constat de seuil. Si vous le saisissez et qu'il n'excède pas le seuil, un bandeau le signale — et dit expressément que la couverture du contrat est décidée par l'agence, pas par le module.
3. Saisir les classifications et leurs taux
Onglet Classifications et taux en vigueur du chantier, ou menu Configuration → Classifications et taux.
Pour chaque métier présent sur le chantier, recopiez de la détermination de salaire incorporée au contrat :
- le libellé exact de la classification — c'est lui qui ira dans la colonne (3) du WH-347 ;
- le taux de base horaire ;
- le montant d'avantages sociaux horaire.
Deux montants séparés, toujours. Le formulaire les sépare en colonnes 6A et 6B, et le module compare leur somme à la rémunération horaire.
Renseignez « D'où vient le chiffre ». Le numéro et la révision de la détermination, sa date de publication. Cela coûte une minute et fait gagner une heure au contrôle.
Une classification sans taux reste utilisable : ses lignes ressortiront « non comparables », jamais « au niveau ». Le module ne déclare pas conforme ce qu'il n'a pas comparé.
4. Créer le registre de la semaine
Menu Paie certifiée US → Registres certifiés → Nouveau.
Choisissez le chantier, la date de fin de semaine, et la date de paiement. La date limite de dépôt se calcule alors toute seule.
L'erreur à ne pas faire. Le délai de sept jours court de la date de paiement, pas de la fin de semaine — 29 CFR 3.4(a). Tant que la date de paiement n'est pas saisie, le module laisse la date limite vide plutôt que de la déduire de la fin de semaine. Ce n'est pas un oubli : le point de départ n'est pas le même, et l'écart peut être de plusieurs jours.
5. Saisir les lignes
Onglet Lignes de paie. Une ligne par personne et par classification : quelqu'un qui a posé du carrelage lundi et conduit une pelle mardi relève de deux classifications, donc de deux lignes. C'est 29 CFR 5.5(a)(1)(i) qui l'impose, et le même texte l'autorise « Provided, That the employer's payroll records accurately set forth the time spent in each classification ».
Sur chaque ligne, la vue en liste suffit pour l'essentiel. Ouvrez la ligne (icône d'expansion) pour la saisie détaillée des sept jours.
| Colonne WH-347 | Champ |
|---|---|
| (1B) (1C) (1D) | Nom, Prénom, Initiale |
| (1E) | N° identifiant — voir l'encadré ci-dessous |
| (2) | Statut : Journeyworker (J) ou Apprenti enregistré (RA) |
| (3) | Classification |
| (4) | Heures normales et supplémentaires, jour par jour |
| (5) | Total heures de la semaine, calculé |
| (6A) | Taux horaire normal, et taux horaire supplémentaire |
| (6B) | Crédit d'avantages sociaux horaire |
| (6C) | Avantages sociaux payés en espèces |
| (7A) (7B) | Brut du chantier, brut toutes activités |
| (8) | Retenue à la source, FICA, autres retenues nommées |
| (9) | Net versé, calculé |
Ne cherchez pas le champ « numéro de sécurité sociale » : il n'existe pas. 29 CFR 5.5(a)(3)(ii)(B) interdit de porter le numéro complet, l'adresse, le téléphone et le courriel de l'ouvrier sur le registre transmis, et n'y demande qu'« an individually identifying number for each worker (e.g., the last four digits of the worker's Social Security number) ». Offrir le champ reviendrait à fabriquer la fuite : quelqu'un le remplirait, et il partirait au dépôt. Les données complètes restent à vos registres réguliers, hors de ce module.
Les « autres retenues »
La colonne (8) du formulaire porte « OTHER (MUST SPECIFY) », et la certification du verso fait attester qu'aucune retenue n'a été opérée hors de celles que permet le 29 CFR partie 3. Chaque autre retenue se nomme donc, et se rattache à un cas : la liste déroulante reprend les paragraphes de 29 CFR 3.5 (retenues permises sans autorisation) et le cas du 29 CFR 3.6 (autorisation préalable du Secretary of Labor). Le cas « autre » exige une précision écrite.
Le module enregistre le cas invoqué ; il ne juge pas s'il est fondé.
6. Lire les constats
Le bandeau en haut du registre résume ce que le module a relevé. Trois états par ligne :
- au niveau du taux en vigueur saisi — la rémunération horaire (taux payé + crédit d'avantages sociaux + avantages en espèces) atteint le total publié ;
- sous le taux en vigueur saisi — elle ne l'atteint pas, avec l'écart au cent près ;
- non comparable — la classification n'a pas de taux relevé.
Le module constate, il ne conclut pas. Il ne dit jamais que l'entreprise est en infraction. Cette qualification appartient à l'agence contractante et à la Wage and Hour Division. Un constat est un point à regarder, pas un verdict.
Menu Constats → Lignes à regarder rassemble, tous chantiers confondus, les lignes sous le taux et les lignes non comparables.
7. Certifier
Onglet Certification : le nom et la fonction du signataire, son téléphone, son courriel. Puis le bouton Certifier.
Ce que la certification atteste est repris sur l'écran : les trois points de 29 CFR 5.5(a)(3)(ii)(C), dont 5.5(a)(3)(ii)(D) précise qu'une exécution régulière du verso du WH-347 y suffit.
Odoo n'appose aucune signature. 29 CFR 5.5(a)(3)(ii)(E) exige une signature manuscrite d'origine ou une signature électronique juridiquement valable. Ce que le module enregistre — qui a certifié dans Odoo, et quand — est une trace interne, pas la signature exigée. Elle s'appose sur le formulaire imprimé.
Le module refuse de certifier un registre vide, et un registre sans signataire.
8. Imprimer le WH-347
Bouton Imprimer le WH-347, ou menu d'impression de la liste.
Le document sort en deux pages : le recto avec ses quinze colonnes et ses sept jours datés, le verso avec les six certifications, la zone de remarques et la ligne de signature.
Ce n'est pas le formulaire officiel. C'est un état qui en reprend les cases, l'ordre des colonnes et le texte des certifications, dans la révision de janvier 2025 (OMB 1235-0008, expire le 31/01/2028). Le formulaire officiel se télécharge sur dol.gov. 29 CFR 5.5(a)(3)(ii)(B) admet expressément « any other format desired » dès lors que l'information exigée y figure — mais c'est vous qui restez juge de ce que vous déposez.
Deux blocs du verso sont laissés à remplir à la main dans cette version : le tableau des programmes d'apprentissage, et le tableau des crédits horaires d'avantages sociaux par régime. Ils appartiennent à l'édition complète.
9. Marquer déposé
Une fois le registre remis, bouton Marquer déposé et date de dépôt.
Un registre déposé ne se remet pas en brouillon. Une correction se dépose en registre corrigé, pour que l'agence voie ce qui a changé.
10. Ce qui vous manquera, et quand
Au premier de ces moments, l'édition complète devient utile :
- quand vous avez plus d'un chantier, et que les taux changent par comté ;
- quand vous revendiquez un crédit d'avantages sociaux : le verso du formulaire en demande le détail par régime, nom, type, numéro de plan et caractère financé ou non ;
- quand vous employez un apprenti : le verso fait certifier nommément son programme et l'organisme qui l'a enregistré ;
- quand vous dépassez quarante heures et voulez un contrôle de la majoration ;
- quand vous tenez des feuilles de temps dans Odoo et ne voulez plus ressaisir les heures ;
- quand vous déposez sur un portail et devez suivre les accusés.
Les deux rôles
| Rôle | Ce qu'il peut faire |
|---|---|
| Saisir les registres | Créer et remplir les registres et leurs lignes. Lecture seule sur les chantiers et les taux. Ne certifie pas, ne dépose pas. |
| Certifier et déposer | Tout ce qui précède, plus les chantiers, les taux, la certification et le dépôt. |
La certification engage le signataire au sens de 29 CFR 5.5(a)(3)(ii)(C), et sa falsification expose à des poursuites civiles ou pénales (18 U.S.C. 1001, 31 U.S.C. 3729). Ce droit se donne à peu de monde.
Reviews from signed-in customers. One rated review per customer; the publisher can reply. Sign in to leave a review.
- Publisher
- DYONYSOS
- contact@omnifloo.com
- Omnifloo customers
- Support included with your plan: help centre.