Sale Order Update Prices
Ce module permet de faciliter la mise à jour de tarifs sur des bons de commande déjà confirmés.
Contexte & limites Odoo standard
En standard, Odoo empêche de mettre à jour le prix unitaire sur une ligne de vente dès lors que celle-ci a déjà été facturée.
Cela fait sens dans un contexte de vente simple, où le bon de commande est considéré comme clos dès lors que les articles/services vendus ont été livrés & facturés.
Toutefois certains contextes métiers imposent d'avoir des bons de commande qui durent dans le temps (location longue durée, abonnements, etc...).
Si un bon de commande reste "ouvert" pendant plusieurs années, il faut pouvoir appliquer des mises à jour tarifaires. C'est l'objectif de ce module.
Note : Pour les abonnements, Odoo permet de mettre à jour les tarifs via le mécanisme de "Vente Incitative", mais ce n'est pas toujours pratique ni adapté à tous les contextes. En effet, cela peut vite être très fastidieux lorsqu'on doit appliquer une mise à jour générique de tarifs sur plusieurs centaines d'abonnements.
Usage du module
Un wizard est disponible depuis les bons de commande : Action > Mise à jour des tarifs
Le wizard propose 2 méthodes pour mettre à jour les prix :
- Rafraîchir les prix :
- Permet de recharger les tarifs sur la base de la liste de prix existante.
- Ceci a donc du sens si la liste de prix a été mise à jour avec de nouveaux tarifs.
- Note: Comme en standard, si un article dans la commande n'est pas concernée par la liste de prix, alors c'est le prix public qui sera utilisé.
- Appliquer une formule :
- Permet d'appliquer un pourcentage d'augmentation aux prix existants (avec possibilité d'arrondi)
- Le wizard détecte tous les articles présents dans les bons de commande sélectionnés et permet donc d'appliquer des % différents par article
- Possibilité d'appliquer en masse la même formule à tous les articles
- Cette méthode est particulièrement utile dans un contexte où les prix des articles/services vendus sont vraiment spécifiques à chaque contrat client, rendant difficile la normalisation des tarifs pratiqués dans des listes de prix.

Configuration
Le module ne dépend pas techniquement des Abonnements (sale_subscription) pour fonctionner, mais il permet malgré tout la mise à jour des tarifs sur des bons de commande récurrents.
Known issues / Roadmap
- Le module n'a pas été initialement développé avec une vision multi-devises ==> Vérifier les impacts
- Pas de conversion des unités de mesure (si besoin, se référer au standard _compute_price dans les pricelist.item)
- Performances : traitement assez long lorsque wizard appliqué à une grosse volumétrie de données (exécution ~4min pour une maj en appliquant une formule sur 7000 Commandes/220 Articles)
Credits
Authors
SimplicIT https://simplicit.eu