Cobra · Extension module + déploiement multi-branche
Profil Sogetronic : import stock dropshipping par code fournisseur
Contexte
Le module cobra_import_stock_drop gérait déjà l'import de stock dropshipping pour AVI, Triangle et Dimetel via matching EAN/barcode. Sogetronic ne pouvait pas l'utiliser : leur colonne EAN contient des formules VLOOKUP non résolues. Le matching devait se faire sur leur Code Sage (référence fournisseur interne), déjà présent dans product.supplierinfo.product_code suite à un seeding de 192 produits le 21 mai 2026.
Ce qui a été construit
match_key(Selection barcode/supplier_code) surcobra.dropship.import.profile— défaut barcode, profils existants inchangéssupplier_idetsupplier_code_columnavec visibilité conditionnelle@api.constrainsremplaçant l'ancien_sql_constraints location_unique- Lookup
product.supplierinfosurpartner_id + product_codeau lieu debarcode - Migration 1.0.4 :
ALTER COLUMN ean_column DROP NOT NULL+ XML id partenaire en pré-migrate - Déploiement : preprod3 validé → cherry-pick propre sur main via stash
Ce qui était difficile
- preprod3 à la v1.0.0 (main à 1.0.3) avec fichiers divergents —
git stash popa créé des conflits non triviaux, résolus manuellement - Les nouveaux fichiers untracked ne sont pas inclus dans un
git stashstandard — récupérés viagit checkout preprod3 -- <path>
Stack
Python 3, Odoo 18 ORM, XML-RPC, openpyxl, git (stash + rebase), GitHub (dépôt privé).
Ce que ça illustre
Un développement Odoo complet en une session : lecture du code existant, extension chirurgicale d'un module en prod, migration de schéma, seed XML anti-doublon, déploiement multi-branche avec résolution de conflits — sans réécriture globale.