Se rendre au contenu

Comment vendre du carrelage avec Odoo

En utilisant Odoo Studio et un règle d'automatisation

Un vendeur de carrelage nous a posé une colle. Il vend des boîtes de carrelage mais à la vente il n'est pas question pour lui d'ouvrir ses boîtes pour faire l'appoint de carrelage afin de donner à ses clients la surface exacte demandée.


Chez STELLARIUS, nous aimons bien ce type de problématique et savons pertinemment qu'il est possible de répondre à la demande du client au travers d'un petit développement spécifique.


Toutefois nous avons trouvé intéressant d'essayer de répondre à la demande de notre prospect sans code ou presque...


1. Le paramétrage des unités de mesures


Pour cela, une nouvelle unité de mesure a été créée. Nous l'appelons "boite de 1,44 m2" et l'avons configuré comme ci-dessous:



  • l'unité de mesure de référence est le mètre carré
  • Ici nous indiquons que le coefficient est de 1,44 (c'est à dire qu'1 boite correspond à 1,44 mètre carré de carreaux)


2. Le paramétrage de l'article


Nous avons créé un article "CARRELAGE TEST SURFACE" et nous avons défini son unité de mesure d'achat et de vente avec l'unité créée précédemment.




3. La modification de l'interface de saisie des devis


À l'aide d'Odoo Studio nous avons ajouté une nouvelle colonne (x_studio_surface) à la ligne des devis. Cette colonne permettra à notre prospect de saisir la surface demandée par ses clients.





4. L'ajout d'une règle d'automatisation


Ce que nous souhaitons c'est qu'à la saisie d'une surface, la quantité d'article soit mise à jour en respectant la contrainte de notre prospect. Par exemple, si je saisis 2,88 dans la colonne surface, il faut que Odoo affiche 2 dans la colonne quantité. Il s'agit de faire le calcul suivant:


  • Quantité = ARRONDI(Surface / surface de carreaux dans la boîte)


ARRONDI est une fonction qui arrondit à l'entier supérieur en fonction de la valeur de son paramètre.







Nous paramétrons notre règle d'automatisation comme suit:

  • "Modèle" : nous mettons à jour la ligne d'un devis
  • "Déclencheur" : nous précisons à Odoo que la mise à jour se fera sur une action sur l'interface utilisateur
  • "Appliquer sur" : est positionné sur l'ID = 0 pour prendre l'enregistrement courant
  • "Lors de la mise à jour" : nous précisons à Odoo le champ de l'interface utilisateur qui va déclencher la modification
  • "Action à effectuer" : nous ajoutons le code python à exécuter


Ci-dessous le code python



try:
	​record["product_uom_qty"] = -(-record.x_studio_surface // record.product_template_id.uom_id.factor_inv)
except Exception as err:
	​log("perhaps a divide by zero error")


Nous avons dû feinter un peu pour gérer l'arrondi à l'entier supérieur car on ne peut pas importer de librairies python à ce niveau pour des raisons de sécurité.


5. Le résultat





Comment installer Odoo sur Windows?
It is super easy