Buy American and BABA domestic content certification for Odoo — declare origin and cost component by component, read the threshold in force for the year of delivery (60 / 65 / 75 percent), the foreign iron and steel five percent test and the Build America Buy America 55 percent test. Dated threshold table with verbatim sources, BABA waiver register. Manual entry, no key, no outside service.
Présentation
Domestic Content Lite — marchés fédéraux américains — DYONYSOS
La version gratuite de la certification de contenu domestique, pour Odoo 19 Community. Gratuite pour de bon : ni limite de durée, ni plafond d'enregistrements, ni bandeau publicitaire dans les écrans de travail.
Le problème, avant la solution
Un fournisseur de l'État fédéral américain signe, avec son offre, une attestation : Buy American Certificate. Elle dit que chacun de ses produits finis est un domestic end product. Derrière ce mot se cache un calcul, et le calcul se fait composant par composant — FAR 25.003 :
« The cost of its components mined, produced, or manufactured in the United States exceeds 60 percent of the cost of all its components, except that the percentage will be 65 percent for items delivered in calendar years 2024 through 2028 and 75 percent for items delivered starting in calendar year 2029 […] Components of unknown origin are treated as foreign. »
Trois choses s'y jouent, et un tableur les rate toutes les trois.
Le seuil n'est pas un nombre, c'est un nombre daté. 60 %, puis 65 %, puis 75 %. Et ce qui tranche, c'est l'année de livraison — FAR 25.101(d)(1) : « shall be required to comply with each increased threshold for the items in the year of delivery ». Un contrat dont l'exécution chevauche 2028 et 2029 relève de deux seuils.
Les composants d'origine inconnue comptent comme étrangers. Ce n'est pas une option prudente, c'est le texte. Une case vide dans un tableur ne compte nulle part ; ici, elle compte contre vous.
Trois tests coexistent, et ils ne se mélangent jamais. 60/65/75 % pour les fournitures ordinaires ; moins de 5 % de fer et d'acier étrangers pour les produits qui consistent majoritairement en fer ou en acier ; plus de 55 % pour les manufactured products d'un projet BABA. Appliquer 55 % à un marché de fournitures est l'erreur la plus coûteuse du sujet.
Ce qu'il fait
Déclarations par produit fini — régime, année de livraison, nature du produit, catégorie BABA le cas échéant. Le régime décide du test, l'année de livraison décide du seuil, et rien n'est deviné.
Composants — une ligne par composant : article ou libellé libre, pays d'origine, coût au sens de FAR 25.003 (transport et droits compris, bénéfice exclu), part de fer et d'acier, marqueur COTS. Les composants sans origine déclarée sont comptés comme étrangers et dénombrés à part, parce que c'est souvent là que se trouve la marge d'un dossier.
Table des seuils DATÉS — seize seuils, chacun avec sa période de validité, sa référence et la citation verbatim du texte qui le fonde. Une méthode unique rend le seuil en vigueur à une date donnée ; tout le calcul du module passe par elle.
Registre des dérogations BABA — les trois motifs de 2 CFR 184.7(a) et rien d'autre, avec les dates de la procédure publique et la période de commentaire.
Les deux cases COTS, et elles sont bien deux. La dispense de contenu s'applique au produit fini COTS ; elle ne s'applique pas aux produits de fer et d'acier, sauf aux COTS fasteners. Une seule case aurait fait passer une charpente pour un boulon.
Le seuil qui naît vide, et qui doit le rester
FAR 25.105, « Critical components and critical items », a été lu intégralement : sa liste est [Reserved]. Aucun article critique, aucun facteur additionnel de préférence n'est en vigueur. Le module livre donc ce seuil sans valeur, avec sa réserve, et ne produit aucun constat de préférence renforcée tant qu'aucune valeur n'est saisie. Poser zéro aurait donné le même résultat arithmétique — mais un zéro affiché se lit comme une valeur vérifiée, et c'est exactement l'inverse de ce qu'il faut.
Ce qu'il ne fait pas
La reprise des composants depuis une nomenclature mrp.bom, avec le coût pris sur l'article et l'origine reprise quand elle existe.
La consolidation multi-niveaux d'une nomenclature de nomenclatures.
L'édition d'un état de certification reprenant la structure de FAR 52.225-2.
Les échéances de commentaire des dérogations, et le signalement d'une période trop courte.
L'analyse de sensibilité : à quel seuil ce produit bascule.
Le connecteur de référentiel, greffé sur la chaîne de sources du socle.
Tout cela appartient à l'édition complète, Domestic Content — Buy American & BABA. Les deux modules s'installent l'un sur l'autre : rien n'est à ressaisir.
Le module constate, il ne conclut pas
Il dit : « le taux calculé est de 61,2 %, le seuil de l'année de livraison 2026 est de 65 % » et « trois composants n'ont pas d'origine déclarée ».
Il ne dit jamais « ce produit n'est pas conforme », ni « la certification peut être signée ». Ce n'est pas une prudence de rédaction : la certification Buy American est une attestation signée par l'offrant, et une fausse certification engage son signataire. Un logiciel qui conclurait à sa place transformerait une faute de saisie en risque pénal.
Non éprouvé en production
Ce module n'a été éprouvé contre aucun dépôt réel, aucun système d'agence, aucun contrôle. Les citations réglementaires qu'il porte ont été relevées sur les textes officiels le 14 septembre 2026 — FAR au FAC 2026-01, 2 CFR à jour au 10 septembre 2026 ; elles ne remplacent pas l'avis de votre agent contractant. Commencez par un dossier d'essai et une dizaine de composants.
Caractéristiques
| Prix | Gratuit |
|---|---|
| Licence | LGPL-3 |
| Séries Odoo | 19.0 : publiée sur l'Odoo Apps Store ; 20.0 : publiée sur l'Odoo Apps Store |
| Version | 1.0.0 |
| Édition | Odoo Community / sur site |
| Nom technique | dyo_contenu_domestique_us_lite |
| Domaine | Achats, stock et logistique |
| Version premium | dyo_contenu_domestique_us |
Prix hors taxes tel qu'affiché sur l'Odoo Apps Store ; l'achat et l'installation se font sur le Store ou via votre instance Omnifloo.