Situation de travaux US — retenue par État, renonciations à privilège en série, facturation et rattachement aux commandes (édition complète)
US Progress Billing complete edition: per-state retainage rules held with their primary source and consultation date, lien waiver campaigns with dated requests and follow-ups, one-click customer invoice from the certified payment application, schedule-of-values import that reads both decimal convent
Captures d'écran
-
Situation de travaux US — retenue par État, renonciations à privilège en série, facturation et rattachement aux commandes (édition complète) — capture 1 -
Situation de travaux US — retenue par État, renonciations à privilège en série, facturation et rattachement aux commandes (édition complète) — capture 2 -
Situation de travaux US — retenue par État, renonciations à privilège en série, facturation et rattachement aux commandes (édition complète) — capture 3 -
Situation de travaux US — retenue par État, renonciations à privilège en série, facturation et rattachement aux commandes (édition complète) — capture 4 -
Situation de travaux US — retenue par État, renonciations à privilège en série, facturation et rattachement aux commandes (édition complète) — capture 5
Situation de travaux US : retenue par État, renonciations en série, facturation
S'installe par-dessus le registre gratuit dyo_situation_travaux_us_lite sans rien redemander. La table de retenue est livrée vide — et c'est le cœur du module.
| Odoo 20 Community — On Premise | ✔ |
| Odoo.sh | ✔ |
| Odoo Online (SaaS) | ✘ |
Le problème
Une demande de paiement périodique américaine n'est pas une facture. C'est une chaîne de neuf lignes dont chacune se reporte sur la suivante, un tableau des valeurs découpé en postes, une retenue de garantie dont le régime change d'un État à l'autre, et un jeu de renonciations à privilège que le maître d'ouvrage exige avant de payer. Une seule ligne recopiée de travers et le montant demandé est faux — le plus souvent au deuxième mois, découvert au solde.
Le registre gratuit tient la chaîne et le tableau. Cette édition ajoute ce qui coûte de l'argent quand il est manqué : la règle de retenue de l'État d'exécution, les renonciations demandées et relancées, la facture, l'import du tableau et le rapprochement avec la commande et les heures.
La table de retenue est livrée vide, et c'est le cœur du module
Cela se dit avant tout le reste, parce que c'est contre-intuitif pour un module payant. La retenue de garantie relève du droit de chaque État : taux plafond, délai de libération, partage entre marché public et privé, substitution d'une sûreté. Cinquante réponses possibles, plus le district fédéral et cinq territoires.
Poser des taux plausibles aurait été la pire livraison possible. Une fausse confirmation éteint la vigilance de celui qui aurait sinon ouvert le code de son État.
Ce que le module apporte n'est donc pas un contenu : c'est une forme opposable. Chaque règle porte son texte, son adresse, la date à laquelle elle a été lue, le nom de qui l'a lue, et sa réserve. Une règle sans source ne peut pas passer en « relevée » : le module le refuse. Et « non relevé » n'est jamais « zéro » — un délai de libération tenu pour connu et valant zéro, c'est une retenue qu'on croit libérable immédiatement.
Les renonciations, demandées en série et relancées
Le registre gratuit dit qui doit signer quoi. Il ne dit pas depuis quand on attend, ni si quelqu'un a relancé — et c'est là que l'argent se perd : une renonciation qu'on a oublié de demander ne se voit nulle part, et le maître d'ouvrage ne libère pas le paiement.
Une seule forme par campagne
Mélanger les formes dans une même demande est la faute la plus chère : une inconditionnelle glissée au milieu de conditionnelles abandonne la sûreté avant l'encaissement. Le module ne le permet pas.
Le module n'envoie rien
Il date les demandes et compte les relances ; le message part de votre main, relu. Une pièce juridique qui part sans être relue est une pièce juridique de trop.
La facture, et l'import qui ne multiplie pas par cent
Une facture, une seule fois
Une situation certifiée engendre une facture client d'une seule ligne, du montant demandé net de retenue et des certificats antérieurs. La seconde est refusée : une situation refacturée deux fois est une situation payée deux fois, et cela se découvre au solde.
« 34 500,50 » n'est pas 3 450 050
Le tableau des valeurs s'importe d'un tableur, et les montants sont lus selon les deux conventions décimales. Lire un fichier français à l'anglo-saxonne enverrait le poste à cent fois sa valeur, sans qu'aucun message le signale.
Le module constate, il ne conclut pas
- Il dit qu'une renonciation attendue n'est pas reçue. Il ne dit pas si le paiement est exigible.
- Il dit que le taux saisi dépasse le plafond relevé. Il ne dit pas si votre contrat est licite : il n'en connaît ni les stipulations ni les exceptions.
- Il affiche les heures imputées à côté de l'avancement. Il ne convertit jamais une heure en montant : un lot au forfait avance sans heures, une reprise consomme des heures sans avancer.
- Il ne fournit aucun formulaire de renonciation : une minorité d'États en impose un dont le texte est fixé par la loi, et un formulaire recopié de mémoire est pire que pas de formulaire du tout.
Gratuit et complet : ce qui change
| Gratuit | Complet | |
|---|---|---|
| Tableau des valeurs, situations, retenue saisie | ✔ | ✔ |
| Registre des quatre formes de renonciation | ✔ | ✔ |
| Impression de la demande de paiement | ✔ | ✔ |
| Règles de retenue par État, avec source et date de lecture | — | ✔ |
| Campagnes de renonciations, relances datées | — | ✔ |
| Facture client depuis la situation certifiée | — | ✔ |
| Import du tableau des valeurs depuis un tableur | — | ✔ |
| Commande de vente, projet et feuilles de temps rapprochés | — | ✔ |
Non éprouvé en production
Aucune demande de paiement produite par ce module n'a été soumise à un maître d'ouvrage, à un architecte ou à un portail de dépôt. Aucune facture engendrée n'a été adressée à un client réel. Aucune règle de retenue n'est livrée.
L'état imprimé n'est pas un formulaire de l'American Institute of Architects. Les documents G702 et G703 sont des œuvres sous droit d'auteur, qui se procurent auprès de l'AIA et ne sont pas reproduites ici. Commencez par une situation d'essai et comparez avec ce que votre maître d'ouvrage attend.
DYONYSOS — welcome@dyonysos.fr — Licence OPL-1. Le registre gratuit dyo_situation_travaux_us_lite est en LGPL-3.
Ce que l'application ne fait pas
L'éditeur n'a pas encore publié la liste de ce que l'application ne fait pas. C'est une règle du magasin : demandez-la au support avant de vous engager.
Applications du magasin nécessaires
- Situation de travaux US Lite — demande de paiement périodique, tableau des valeurs et retenue (gratuit)
dyo_situation_travaux_us_lite
Modules Odoo Community utilisés
accounthr_timesheetsale_project
| Série | Version | État | Publiée le |
|---|---|---|---|
| 20.0 | 20.0.1.0.0 | Disponible | 02/10/2026 |
| 19.0 | 19.0.1.0.0 | Disponible |
Fiche générée depuis le code de l'éditeur (dépôt privé, branche 20.0) : le code source n'est pas publié.
Contrôle automatique du magasin (distinct de l'éditeur), appliqué à toutes les applications. Conforme.
| Contrôle | Résultat | Effet si absent |
|---|---|---|
| Manifeste lisible sans exécution | conforme | bloquant |
| Licence reconnue (OPL-1) | 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 » | absent | info |
| Titre de 70 caractères au plus (140 actuellement) | absent | info |
| Résumé en français | absent | info |
Guide — Situation de travaux US, édition complète
Ce guide suppose que vous savez déjà tenir un projet et une situation dans le registre gratuit. Il ne couvre que les cinq gestes que l'édition complète ajoute.
1. Relever la règle de retenue de votre État
Configuration → Règles de retenue par État. La table est vide, et ce n'est pas un oubli : il n'existe pas de régime de retenue national aux États-Unis, et aucun n'est livré avec le module. Poser un taux plausible à la place du vôtre éteindrait votre vigilance
Le geste, une fois par État et par nature de marché :
- Ouvrez le code de votre État. Le texte lui-même, pas un article de cabinet d'avocats : celui-ci peut vous aider à trouver la section, pas à la citer.
- Créez une règle : l'État, la nature du marché.
- Relevez ce que le texte dit. Cochez « Un plafond a été relevé » seulement si vous en avez lu un. Sans la case, un taux à zéro ne veut rien dire du tout — et c'est exactement ce qu'on veut : « rien n'a été lu » n'est pas « pas de retenue ».
- Renseignez la source primaire, son adresse, la date à laquelle vous l'avez lue et votre nom. Sans la source et la date, le module refuse de passer la règle en « relevé ».
- Ce que la lecture n'a pas tranché va dans Réserve, en clair. Jamais dans une valeur.
Ce que vous voyez ensuite. Sur chaque projet du même État et de la même nature, un constat apparaît : le taux que vous avez saisi dépasse le plafond relevé, ou ne le dépasse pas. Ce n'est pas un avis juridique. Le module ne connaît ni les stipulations de votre contrat ni les exceptions qui pourraient jouer. Il ne bloque rien.
Une règle que vous laissez en « non trouvé » ne produit aucun constat : le module dit qu'il ne connaît pas le plafond, il ne dit pas qu'il n'y en a pas.
2. Demander les renonciations en série
Campagnes de renonciations → Nouveau.
- Choisissez le projet et, le plus souvent, la situation dont le paiement est en jeu.
- Choisissez une seule forme. C'est une contrainte du module, et elle vous protège : mélanger conditionnelles et inconditionnelles dans une même demande est la faute la plus chère du métier — une inconditionnelle signée contre un chèque non compensé abandonne la sûreté avant l'argent.
- Ajoutez les signataires. Le module ne les devine pas : la liste des sous-traitants d'un chantier n'est écrite nulle part dans Odoo, et la déduire des factures fournisseurs donnerait des faux dans les deux sens.
- Lancer la campagne. Une pièce par signataire, la demande datée du jour.
Le module n'envoie rien. Il date les demandes ; le message part de votre main, relu. Une pièce juridique qui part sans être relue est une pièce juridique de trop.
Relancer une campagne ne dédouble pas les demandes : un signataire qui porte déjà une pièce de la même forme sur la même situation est laissé de côté.
Suivre ce qui manque
Constats → Renonciations jamais demandées est l'écran le plus utile du module. Il liste les pièces attendues dont la demande n'est jamais partie — ce n'est pas un retard du signataire, c'est une demande qu'on a oublié de faire, et c'est ainsi qu'un paiement se bloque sans qu'on comprenne pourquoi.
Le bouton Relancer compte et date la relance. Le constat de retard se mesure sur la date de paiement attendue de la situation, pas sur l'ancienneté de la demande : une renonciation reçue après le paiement n'a pas protégé le paiement.
Le délai employé est celui réglé dans Paramètres → Relance des renonciations. Il n'est pas réglementaire : aucun texte ne le fixe, sept jours est un usage de gestion.
3. Facturer une situation
Sur une situation certifiée, bouton Facturer.
Le module crée une facture client d'une seule ligne, du montant demandé — la ligne 8, nette de la retenue de garantie et des certificats antérieurs. Ce n'est ni l'exécuté ni l'acquis net : facturer l'un ou l'autre ferait payer deux fois ce qui l'a déjà été.
Le tableau des valeurs justificatif part avec l'état imprimé, pas avec la facture : ventiler la facture par poste donnerait des lignes négatives à la première reprise, et votre maître d'ouvrage règle un montant.
Une situation ne se facture qu'une fois. Le module refuse la seconde : une situation refacturée deux fois est une situation payée deux fois, et cela se découvre au solde.
Si votre société n'a pas encore de plan comptable, le module vous le dit en clair et ne touche à rien.
4. Importer le tableau des valeurs
Sur la fiche d'un projet, Action → Importer le tableau des valeurs.
Trois colonnes, dans cet ordre : numéro de poste, désignation, valeur prévue. Le séparateur est détecté ; l'en-tête est facultatif.
Les montants sont lus selon les deux conventions décimales. « 34 500,50 » sorti d'un tableur français vaut trente-quatre mille cinq cents dollars cinquante — pas trois millions quatre cent cinquante mille. C'est la faute qui ne se voit nulle part : le fichier est bien formé, le poste part à cent fois sa valeur, et l'écart s'affiche en dollars sans dire d'où il vient.
Rien n'est écrasé. Un numéro de poste déjà présent est laissé tel quel et signalé : réimporter un fichier corrigé ne doit pas effacer un avancement déjà facturé. Les lignes illisibles sont comptées et listées, jamais devinées.
Le compte rendu rappelle le total du tableau après import et l'écart avec le contrat à ce jour.
5. Rapprocher la commande, le projet et les heures
Sur la fiche du projet de construction, bloc Rattachement à ce qu'Odoo porte déjà :
- Commande de vente — le module affiche l'écart entre le montant vendu et le contrat initial. Il constate, il ne corrige ni l'un ni l'autre : acomptes, révisions et lots hors marché font des écarts parfaitement légitimes.
- Projet Odoo — les heures des feuilles de temps sont relevées, et chaque situation affiche celles de sa période à côté de l'avancement saisi.
Le module ne convertit jamais une heure en montant. Un lot sous-traité au forfait avance sans heures ; une reprise consomme des heures sans avancer. L'écart est une question à poser, pas une erreur à corriger.
Ce que le module ne fait jamais
- Il ne dit pas si un paiement est exigible.
- Il ne dit pas si votre contrat est licite.
- Il ne pose aucun taux de retenue à votre place.
- Il ne fournit aucun formulaire de renonciation : une minorité d'États en impose un dont le texte est fixé par la loi, et un formulaire recopié de mémoire est pire que pas de formulaire du tout.
- Il n'envoie rien tout seul.
Non éprouvé en production
Aucune demande de paiement produite par ce module n'a été soumise à un maître d'ouvrage, à un architecte ou à un portail de dépôt, et aucune règle de retenue n'est livrée. L'état imprimé n'est pas un formulaire de l'American Institute of Architects : les documents G702 et G703 sont sous droit d'auteur et se procurent auprès de l'AIA. Commencez par une situation d'essai.
Avis des clients connectés. Un avis noté par client ; l'éditeur peut y répondre. Connectez-vous pour laisser un avis.
- Éditeur
- DYONYSOS
- contact@omnifloo.com
- Clients Omnifloo
- Support inclus selon votre formule : centre d'aide.