Marchés publics — sous-traitants, cotraitants et groupements
Public Tender Partners & Consortia — finds subcontractors and co-contractors from free sources. Identifie et note les partenaires (attributaires BOAMP / TED, contacts Odoo), les consulte, monte groupements et joint-ventures (parts, DC1, DC2, DC4, convention).
Captures d'écran
-
Marchés publics — sous-traitants, cotraitants et groupements — capture 1 -
Marchés publics — sous-traitants, cotraitants et groupements — capture 2 -
Marchés publics — sous-traitants, cotraitants et groupements — capture 3 -
Marchés publics — sous-traitants, cotraitants et groupements — capture 4 -
Marchés publics — sous-traitants, cotraitants et groupements — capture 5
Trouver le sous-traitant ou le cotraitant qui vous manque, et monter le groupement sans tableur
Pour chaque avis, le module propose des partenaires à partir de sources gratuites — attributaires BOAMP et TED, résultats en base, vos contacts — les note, suit leur réponse, puis monte le groupement ou la joint-venture : rôles, parts, pièces DC1, DC2, DC4 et convention générée.
In English — Public Tender Partners & Consortia. Suggests subcontractors, co-contractors and suppliers for each tender from free public sources (past BOAMP / TED awardees, your Odoo contacts), scores and tracks them, then builds the consortium or private joint venture: roles, shares, DC1/DC2/DC4 documents and a generated agreement. Pluggable company-data providers.
| Odoo 19 Community — On Premise | ✔ |
| Odoo.sh | ✔ |
| Odoo Online (SaaS) | ✘ |
Le problème
Beaucoup de marchés se perdent faute d'un partenaire : une certification, une implantation locale, un lot hors de votre métier. On cherche alors dans ses contacts, on relance par courriel, et la répartition des parts du groupement vit dans un tableur que personne ne contrôle — jusqu'au jour où elle ne fait pas 100 %.
Ce que fait le module
Des candidats expliqués
Score de 0 à 100 détaillé ligne à ligne, rôle proposé, zone, exigences couvertes.
Un suivi par statut
Identifié, à contacter, contacté, intéressé, engagé, décliné — en kanban, avis par avis.
Le groupement contrôlé
Parts réparties, part du mandataire, sous-traitance totale : les contrôles passent au vert ou disent ce qui manque.
Aucun contact imposé
Aucun contact Odoo n'est créé sans le bouton « Créer / rattacher le contact ».
Le module en images
Captures prises dans Odoo 19 Community, en français, sur une base de démonstration aux données fictives, avec la suite complète installée : certains onglets ou menus visibles appartiennent à d'autres modules de la suite.





Fonctionnalités
Identification sans service payant
Attributaires de marchés similaires (BOAMP, TED), résultats en base, contacts sous-traitants d'Odoo.
Fournisseurs de données branchables
Point d'extension pour un annuaire d'entreprises (SIREN, taille, activité) — par exemple le connecteur Propecto, vendu à part.
Consultation
Envoi du tableau des exigences aux partenaires retenus, en brouillon par défaut ; le statut passe à « contacté ».
Groupements et joint-ventures
Conjoint, conjoint avec mandataire solidaire, solidaire, joint-venture privée, sous-traitance déclarée ; avis facultatif.
Membres
Rôle, part %, lots, exigences prises en charge, montant, interlocuteur, état des pièces.
Documents
Convention de groupement et accord de joint-venture générés depuis des modèles modifiables.
Ce que le module ne fait pas
- Ne démarche personne automatiquement : la consultation part en brouillon, vous l'envoyez.
- Sans fournisseur de données entreprises installé, pas de SIREN, pas de taille, pas de recherche par activité.
- La table CPV → activité est indicative et à compléter.
- Les modèles de convention sont des trames neutres : ils ne remplacent pas un conseil juridique.
Prérequis et dépendances
- Odoo 19 Community ou Enterprise, On Premise ou Odoo.sh (les modules Python tiers ne s'installent pas sur Odoo Online).
- Dépend de « Marchés publics — analyse IA des appels d'offres et tableau des exigences » (dépendances incluses dans le prix affiché par l'Apps Store).
| Nom technique | marches_publics_partenaires |
| Version | 19.0.1.0.0 |
| Licence | OPL-1 (Odoo Proprietary License v1.0) |
| Dépendances directes | marches_publics_ia |
| Éditeur | DYONYSOS |
Support
Questions, installation, paramétrage : welcome@dyonysos.fr. Le guide utilisateur en français est livré dans le module (doc/GUIDE_UTILISATEUR.md). DYONYSOS, éditeur d’applications Odoo 19 Community. Licence OPL-1, une base de production par achat.
Ce que l'application ne fait pas
- Ne démarche personne automatiquement : la consultation part en brouillon, vous l'envoyez.
- Sans fournisseur de données entreprises installé, pas de SIREN, pas de taille, pas de recherche par activité.
- La table CPV → activité est indicative et à compléter.
- Les modèles de convention sont des trames neutres : ils ne remplacent pas un conseil juridique.
Applications du magasin nécessaires
- Marchés publics — analyse IA des appels d'offres et tableau des exigences
marches_publics_ia
Modules Odoo Community utilisés
Aucun.
Applications qui la complètent
| Série | Version | État | Publiée le |
|---|---|---|---|
| 19.0 | 19.0.1.0.0 | Disponible | 02/10/2026 |
Fiche générée depuis le code de l'éditeur (dépôt privé, branche 19.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 » | conforme | info |
| Titre de 70 caractères au plus (60 actuellement) | conforme | info |
| Résumé en français | conforme | info |
Marchés publics — partenaires, sous-traitants et groupements
Guide d'utilisation du module marches_publics_partenaires (Odoo 19).
Ce module trouve, note et consulte les entreprises avec qui répondre à un avis (sous-traitants, cotraitants, fournisseurs, partenaires locaux), puis monte le groupement ou la joint-venture (marché public ou client privé).
Il fonctionne sans aucun service payant : il lit les attributaires publiés (BOAMP, TED, vos résultats en base) et vos contacts. Un fournisseur de données entreprises optionnel (par exemple le module « connecteur Propecto ») ajoute SIREN, taille et activité. Rien n'est envoyé à l'extérieur, aucun contact n'est créé sans votre clic.
1. Réglages
Marchés publics → Configuration → Paramètres, bloc Partenaires et groupements :
| Réglage | Effet | Défaut |
|---|---|---|
| Zones de recherche | local (département de l'acheteur, puis sa région), national (France), be (Belgique), ue (autres pays de l'UE), monde (hors UE) |
local,national,be |
| Taille des sous-traitants | Tranches d'effectif INSEE admises (01 = 1–2 salariés … 32 = 250–499) |
1 à 499 salariés |
| Taille des cotraitants | Idem ; vide = toutes tailles | toutes tailles |
| Candidats gardés par avis | Les mieux notés | 25 |
| Part minimale du mandataire | Contrôle de prudence des groupements (alerte orange) | 20 % |
Une taille inconnue n'écarte jamais un candidat : elle est affichée « Taille inconnue ».
Configuration → CPV → activité : table indicative (55 lignes livrées, à compléter) qui dit dans quels codes d'activité NAF chercher les entreprises capables d'exécuter un marché d'un CPV donné. Le préfixe le plus long l'emporte (« 7226 » avant « 72 »).
2. Identifier les partenaires d'un avis
Ouvrez un avis. Boutons d'en-tête : Identifier les partenaires, Consulter, Monter un groupement ; bouton statistique Partenaires. L'onglet Partenaires montre, pour chaque candidat : score, nom, taille, ville/pays, marchés similaires gagnés, rôle proposé, statut, et les boutons.
Cliquez sur Identifier les partenaires (aussi en action groupée dans la liste des avis). Comptez quelques secondes à une minute. Un message dans le fil de l'avis dit combien de candidats viennent de chaque origine, et les erreurs éventuelles des fournisseurs de données.
2.1 D'où viennent les candidats
a) Attributaires de marchés similaires (gratuit)
- Mots-clés = objet nettoyé de l'avis, sans mots vides (« Maintenance du
logiciel de gestion financière » → maintenance, logiciel, gestion, financiere).
L'objet nettoyé est l'objet de l'avis, à défaut celui de l'avis structuré, à
défaut le titre — toujours sans l'en-tête « Pays – libellé CPV – » des avis
TED (« France – Prestations de services pour la collectivité – Prestations de
sonorisation » → « Prestations de sonorisation ») : chercher sur l'en-tête
ramenait des attributaires sans rapport (assureurs, réseaux d'eau). Les mots
administratifs (collectivité, renouvellement, équipements, mission,
externalisation…) sont des mots vides. Le secteur et les intitulés de lots
élargissent la ressemblance mesurée, sans interroger BOAMP. Le fil de l'avis
dit « Recherche sur : … ». CPV principal, sinon les CPV de l'avis.
- BOAMP : résultats de marché des 3 dernières années dont l'objet contient
les deux premiers mots-clés (puis le premier seul). Chaque titulaire compte
(un résultat peut en avoir plusieurs).
- TED : avis d'attribution (can-standard) du même CPV, acheteurs France et
Belgique ; si la zone ue ou monde est ouverte, une seconde requête sans
restriction de pays ramène les titulaires du reste de l'Europe. Un montant
n'est rattaché qu'à un titulaire unique (jamais réparti).
- Résultats en base (menu Résultats) dont l'objet contient un mot-clé.
- Regroupement par nom normalisé (majuscules, sans accents, sans SAS, SARL,
SA, BV, NV, SPRL…) : nombre de marchés, derniers objets et acheteurs, montants
connus, pays.
b) Résolution et enrichissement (si un fournisseur de données est installé) : recherche du nom (correspondance floue ≥ 0,85, société active de préférence), puis fiche complète : SIREN, tranche d'effectif, activité, ville, site.
c) Entreprises de même activité (fournisseur de données) : CPV → codes NAF, puis recherche par zone : département de l'acheteur → région → France → Belgique (→ UE → monde si le fournisseur les couvre), filtrée par la taille des sous-traitants.
d) Vos contacts cochés « Sous-traitant » dont le nom, les capacités, les références ou les niches recoupent l'objet.
Exclus : sociétés inactives, votre société (SIREN, TVA ou nom), l'acheteur, les doublons, les tailles hors des tranches réglées.
Sans fournisseur de données : les candidats a) et d) sont listés, sans SIREN ni taille (« Taille inconnue ») ; le message de l'avis le signale.
2.2 Le score (0–100), détaillé dans « Pourquoi ce partenaire »
| Ligne | Points |
|---|---|
| Marchés similaires gagnés | 25 pour le nombre (5 et plus = plein) + 15 pour la ressemblance des objets |
| Proximité | même département 20, même région 16, même pays 12 (Belgique pour un avis belge 16), frontalier 8, UE 5, monde 2 |
| Taille adaptée au rôle | PME 15 dans tous les rôles ; en sous-traitance micro employeuse 12, ETI 8, grand groupe 2 ; en cotraitance ETI 15, grand groupe 8 ; inconnue 5 |
| Activité | NAF dans la correspondance du CPV 15, même division 8 |
| Vie de l'entreprise | active 6, site web 4 |
Filtre de pertinence : un candidat est pertinent s'il partage au moins un mot-clé métier avec l'objet nettoyé, s'il a été trouvé par un CPV de l'avis (attribution TED sur ces CPV, activité correspondant au CPV) ou par ses capacités déclarées (contact Odoo). Sinon (homonyme de mot : « réseaux » informatiques et réseaux d'assainissement), il reste visible mais son score est divisé par 2, le motif le dit (« Pertinence faible ») et il est classé après tous les candidats pertinents. Aucun contact Odoo n'est jamais créé automatiquement.
Rôle proposé : fournisseur si la prestation est une fourniture ; partenaire local si l'avis est dans un autre pays (ou une langue que vous ne produisez pas) et le candidat de ce pays ; cotraitant s'il a déjà gagné un marché similaire et que sa taille suffit au montant (PME jusqu'à 1 M€, ETI au-delà) ; sous-traitant sinon.
Exigences couvertes : les exigences de l'avis dont le responsable n'est pas votre société et que les marchés gagnés, l'activité ou les capacités du candidat recouvrent.
2.3 Relancer
Relancer met à jour les candidats « Identifié » (score, taille, marchés…) et ne touche jamais au statut, au contact rattaché, au devis, ni aux candidats que vous avez fait avancer. Les candidats automatiques encore « Identifiés » qui ne sont plus retenus sont retirés ; les ajouts manuels et les membres d'un groupement ne le sont jamais.
2.4 Ensuite
- Statuts : À contacter, Contacté, Intéressé, Engagé, Décliné.
- Créer / rattacher le contact : cherche d'abord un contact existant (identifiant du fournisseur de données, registre, TVA, puis nom) ; sinon crée la société. C'est le seul endroit où un contact est créé.
- Enrichir : relit la fiche chez les fournisseurs de données installés.
- Consulter : ouvre l'assistant de transmission (module d'analyse) pré-rempli avec les contacts des candidats À contacter / Intéressé / Engagé. Après un envoi réel, ils passent « Contacté » (un brouillon ne change rien).
- Menu Marchés publics → Partenaires candidats : kanban par statut, liste, tableau croisé zone × taille.
2.5 Tâche planifiée (facultative)
Marchés publics : identification des partenaires, livrée inactive : toutes les 2 heures, 5 avis analysés, encore ouverts, jamais identifiés.
3. Groupements et joint-ventures
Menu Marchés publics → Groupements & joint-ventures (kanban par état, liste).
3.1 Créer
- Depuis un avis : bouton Monter un groupement. Votre société devient mandataire ; les candidats Engagés (à défaut Intéressés) entrent comme cotraitants (cotraitants, partenaires locaux) ou sous-traitants ; les fournisseurs n'entrent pas. Les candidats doivent avoir un contact (le message dit lesquels rattacher). Le montant d'un devis connu est repris.
- Joint-venture privée : créez un groupement de type « Joint-venture privée », sans avis, avec le client privé visé.
3.2 Types
| Type | Ce que ça veut dire |
|---|---|
| Groupement conjoint | chaque membre n'est engagé que pour sa part |
| Conjoint, mandataire solidaire | idem, le mandataire répond aussi des autres |
| Groupement solidaire | chacun est engagé pour la totalité |
| Joint-venture privée | coentreprise contractuelle pour un client privé |
| Titulaire seul + sous-traitants | vous êtes seul titulaire, sous-traitants déclarés (DC4) |
3.3 Membres et répartition
Chaque membre : entreprise, rôle (mandataire / cotraitant / sous-traitant), part % (barre de progression), montant (calculé part × montant total, modifiable), lots, exigences prises en charge, interlocuteur, pièces DC1, DC2, DC4, attestations (Sans objet / À fournir / Reçu / Vérifié). Les pièces attendues se règlent seules selon le rôle ; une pièce Reçue n'est jamais remise à « À fournir ».
3.4 Contrôles (en haut de la fiche, colorés)
- Rouge (incohérent) : parts du mandataire et des cotraitants ≠ 100 % (à 0,5 point près) ; aucun mandataire ; sous-traitance totale (« à vérifier : le code de la commande publique ne permet pas au titulaire de sous-traiter la totalité du marché »).
- Orange (à vérifier) : part du mandataire sous votre minimum ; groupement sans cotraitant ; cotraitants dans un type « titulaire seul » ; client absent d'une JV privée ; membre en double ; pièces à fournir une fois constitué.
- Barrières : un seul mandataire ; un sous-traitant n'a pas de part du groupement (sa part est refusée).
États : Brouillon → Constitué (refusé tant qu'un contrôle est rouge) → Signé (date de signature posée), Dissous.
3.5 Convention / accord
Onglet Convention / accord, bouton Générer la convention / l'accord :
le modèle livré (convention de groupement pour un marché public, accord de
joint-venture pour un client privé) est rempli avec l'avis, l'acheteur, le
client, le mandataire, le tableau des membres et parts, le montant. Toute valeur
inconnue apparaît en [À COMPLÉTER]. Le texte reste éditable. Les modèles se
modifient dans Configuration → Modèles de conventions de groupement
(variables {{ … }} listées sur la fiche du modèle).
4. Pour un intégrateur : brancher un fournisseur de données
Étendez marche.avis._fournisseurs_donnees_entreprises() par super() et
ajoutez un objet (ou un dictionnaire de fonctions) qui expose nom,
rechercher_par_nom(nom, pays), fiche(identifiant) et
rechercher_par_activite(naf_codes, zone, tranches, limite) ; voir
tools/fournisseurs.py. Une exception portant bloquante = True coupe ce
fournisseur pour le reste du passage.
5. Limites connues
- La table CPV → activité est indicative et à compléter.
- La recherche BOAMP plein texte est tolérante ; TED ne cherche que les CPV exacts (les 3 premiers de l'avis).
- Sans fournisseur de données, pas de SIREN, pas de taille, pas de recherche par activité.
- Les modèles de convention sont des trames neutres : ils ne remplacent pas un conseil juridique.
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.