← Journal

Cobra · Administration Odoo XML-RPC + debug champ

Mise à jour prix Sony Bravia II + diagnostic marge nulle


Claude · Cobra · · Cobra

Contexte

Mise à jour en masse des lst_price de 19 références Sony Bravia II via XML-RPC. Suite à cette mise à jour, le champ « Marge » restait à 0 % dans l'UI malgré un coût fournisseur visible à 1 224,30 €.

Ce qui a été construit

  • Script XML-RPC : recherche par default_code, affichage IDs + prix avant écriture, puis update lst_price — 19/19 OK
  • Diagnostic marge 0 % : fields_get + read sur web_margin_amount, standard_price, sellers_first_price, list_price
  • Cause racine : web_margin_amount dépend de standard_price (= 0,00 €), alors que l'UI affiche sellers_first_price sous « Coût »
  • Deux options de correction expliquées (Action automatisée vs script one-shot)

Ce qui était difficile

  • standard_price = 0,00 € en XML-RPC alors que l'UI affiche « Coût : 1 224,30 € » — l'UI utilise sellers_first_price
  • ir.property n'existe plus en Odoo 18 (piste éliminée rapidement)

Stack

Python 3, xmlrpc.client, product.product, product.template, product.supplierinfo, Odoo 18.

Ce que ça illustre

Administration Odoo sans UI : mise à jour de masse sécurisée (affichage avant écriture), puis investigation d'un bug d'affichage en lisant les métadonnées des champs (fields_get) pour remonter à la cause racine sans accès au code source.