BEAR - WooCommerce Bulk Editor and Products Manager Professional

Définir le prix WooCommerce à partir d'un champ personnalisé : copier, multiplier, TVA

Pour définir un prix WooCommerce à partir d'un champ personnalisé, il faut un calcul qui lit un champ de chaque produit et en écrit un autre : le prix régulier copié depuis un champ de prix fournisseur, le prix régulier égal au coût multiplié par deux, ou un prix de flux égal au prix régulier plus 21 % de TVA. WooCommerce n'a pas d'opération de ce genre, et un aller-retour CSV par un tableur fonctionne mais se trompe facilement. BEAR le fait dans l'onglet Modification groupée (Bulk Edit), produit par produit, avec deux outils : un bloc de formule pour les champs numériques et la variable {meta:key} pour les champs texte. Voici lequel utiliser, les réglages exacts pour les cas courants, et les pièges : champs source vides, variations et arrondis.

Deux outils : une formule pour les nombres, une variable pour le texte

Le prix régulier, le prix promo et tous les champs meta de type nombre (number) sont des champs numériques. Dans l'onglet Modification groupée, ils n'acceptent que des chiffres : un calcul passe donc par le bloc situé sous les lignes numériques, appelé Champs numériques sélectionnés (Selected num fields) : un opérateur (+, -, *, /) et une liste de champs numériques. Pour chaque produit, BEAR fait quatre choses dans cet ordre :

  1. Il applique l'opération propre à la ligne au champ que vous avez coché : définir une nouvelle valeur (set new), augmenter de % (increase by %), etc.
  2. Il applique l'opérateur avec la valeur du champ choisi dans Champs numériques sélectionnés, lue sur le même produit.
  3. Il applique l'arrondi choisi dans la liste déroulante sous les lignes numériques.
  4. Il enregistre le résultat.

Ainsi, définir une nouvelle valeur 2 avec * et un champ de coût donne 2 × coût, et définir une nouvelle valeur 0 avec + et un champ copie ce champ. La liste de Champs numériques sélectionnés montre le prix régulier et le prix promo, les autres nombres intégrés, et les champs meta numériques dont les colonnes sont activées. Un champ personnalisé doit donc être rattaché comme champ meta de type nombre avant de pouvoir servir de source, comme décrit dans la documentation des champs meta (Meta Fields). Le type indique seulement à BEAR comment afficher et modifier la valeur ; passer un champ de chaîne (string) à nombre ne modifie pas les données enregistrées.

Les champs texte fonctionnent autrement. Dans une ligne de texte de l'onglet Modification groupée, ou dans une cellule de texte, vous pouvez saisir des variables que BEAR remplace produit par produit : {meta:_supplier_code} insère la valeur de n'importe quelle clé meta, et la liste déroulante variable (variable) à côté de la ligne ajoute {REGULAR_PRICE}, {SALE_PRICE}, {SKU} et d'autres. Cela copie des valeurs mais ne calcule pas, et ne peut pas être utilisé dans les champs de prix. La FAQ sur la copie de données depuis les champs meta montre la syntaxe.

ObjectifCochez la ligneOpération et valeurChamps numériques sélectionnés
Prix régulier = champ personnalisétarif régulier (regular price)définir une nouvelle valeur 0+ le champ personnalisé
Prix régulier = coût × 2tarif régulierdéfinir une nouvelle valeur 2* le champ de coût
Prix régulier = prix fournisseur + 35 %tarif régulierdéfinir une nouvelle valeur 1.35* le champ fournisseur
Prix de flux = prix régulier + 21 %le champ du prix de fluxdéfinir une nouvelle valeur 1.21* tarif régulier
Prix promo = champ promo personnalisétarif promodéfinir une nouvelle valeur 0+ le champ personnalisé

Définir le prix WooCommerce à partir d'un champ personnalisé

  1. Dans l'onglet Champs meta (Meta Fields), rattachez la clé source (trouvez-la avec Récupérer les clés meta d'un produit quelconque via son ID (Get meta keys from any product by its ID)), donnez-lui un titre tel que Coût (Cost), choisissez le type nombre, appuyez sur Enregistrer les champs meta (Save meta fields), et activez sa colonne dans l'onglet Paramètres (Settings).
  2. Dans l'onglet Filtres (Filters), saisissez 0.01 dans Coût de (Cost from). Cela écarte tous les produits sans valeur, et c'est important : une source vide compte pour 0, et un prix régulier de 0 rend le produit gratuit.
  3. Dans l'onglet Modification groupée, cochez uniquement la ligne tarif régulier, choisissez définir une nouvelle valeur et saisissez 0 pour copier, ou le multiplicateur du tableau ci-dessus.
  4. Dans Champs numériques sélectionnés, choisissez l'opérateur et Coût, vérifiez la ligne La modification groupée sera appliquée à (Bulk editing will be applied to), puis appuyez sur Effectuer la modification groupée (Do Bulk Edit).

La formule est appliquée à chaque ligne numérique cochée : ne cochez donc rien d'autre dans la même exécution. Les valeurs source doivent utiliser un point comme séparateur décimal : un champ qui contient 12,50 est lu comme 12. Les mêmes étapes remplissent le prix promo, avec une différence : BEAR n'écrit pas un prix promo qui n'est pas inférieur au prix régulier, et un résultat de 0 ou moins supprime le prix promo.

Variations

Les produits variables n'ont pas de prix propre ; les prix sont sur les variations. Activez variations dans le panneau d'outils avant l'exécution, et BEAR écrit sur les variations en ignorant les parents. La formule lit le champ personnalisé de la variation elle-même : la source doit donc être renseignée sur les variations ; un champ qui n'existe que sur le produit parent ne donne aux variations rien à partir de quoi calculer.

La vérification de source vide de l'étape 2 ne fonctionne pas ici : les filtres de champs meta regardent le produit parent, pas l'intérieur de ses variations. Avec variations activé, parcourez plutôt la colonne source avant l'exécution. Une variation dont la source est vide reçoit un prix régulier de 0.

Avec variations activé, l'onglet Modification groupée propose aussi Sélectionner une combinaison d'attributs (select combination of attributes). Sélectionnez les attributs sur lesquels reposent les variations, par exemple Taille, appuyez sur Ajouter la combinaison d'attributs à appliquer (Add attributes combination to apply on) et réglez Taille sur XL dans la ligne qui apparaît : l'exécution ne modifie alors que les variations XL, ce qui convient à un prix fournisseur valable pour une seule taille. La documentation sur les variations couvre ce mode.

Remplir un champ de prix personnalisé à partir du prix régulier

Les flux et les places de marché ont souvent besoin d'un champ de prix distinct, par exemple le prix avec 21 % de TVA lorsque la boutique enregistre les prix hors taxes. Rattachez ce champ comme champ meta de type nombre (un champ texte ne peut pas recevoir de formule), puis :

  1. Cochez uniquement la ligne du prix de flux, choisissez définir une nouvelle valeur et saisissez 1.21.
  2. Dans Champs numériques sélectionnés, choisissez * et tarif régulier, puis lancez. Un produit à 100 reçoit un prix de flux de 121.

Si le flux doit porter le prix que les clients paient réellement, promotions comprises, utilisez plutôt le prix courant de WooCommerce comme source. WooCommerce le conserve dans la clé _price : le prix promo tant qu'une promotion est en cours, le prix régulier sinon. Récupérer les clés meta d'un produit quelconque via son ID ne liste pas les clés propres à WooCommerce : ajoutez donc _price avec Ajouter une clé personnalisée à la main (Add Custom key by hands) comme champ nombre, activez sa colonne, et choisissez-la dans Champs numériques sélectionnés à la place de tarif régulier. N'utilisez cette colonne que comme source et ne la modifiez jamais : WooCommerce calcule _price à partir du prix régulier et du prix promo, et une valeur saisie dedans est écrasée à la prochaine sauvegarde du produit.

Exécutez les produits variables avec variations activé, pour la même raison que plus haut. Si le champ du flux doit rester un champ texte, nouveau (new) avec {REGULAR_PRICE} y copie le prix sans le modifier ; la TVA doit alors être ajoutée par l'outil de flux.

Les calculs en deux étapes

Une exécution combine une opération avec un champ. Tout ce qui est plus long se fait en plusieurs exécutions, et l'ordre compte car chaque exécution part du résultat de la précédente :

  • Coût × 2 + 5. Exécution 1 : tarif régulier, définir une nouvelle valeur 2, * coût. Exécution 2 : tarif régulier, augmenter de la valeur (increase by value) 5, avec Champs numériques sélectionnés remis sur la ligne vide.
  • (Coût + 3) × 1,5. Exécution 1 : définir une nouvelle valeur 3, + coût. Exécution 2 : augmenter de % 50, formule désactivée.

N'oubliez pas de vider Champs numériques sélectionnés pour la deuxième exécution ; sinon la formule est appliquée une nouvelle fois par-dessus le nouveau prix. Certaines relations ne demandent aucune formule : la ligne du prix promo propose tarif régulier moins % (regular price minus %), la ligne du prix régulier propose tarif promo plus % (sale price plus %), et doubler un prix revient à augmenter de % 100, comme l'explique la FAQ sur la multiplication des prix. Pour le sens inverse, un coût calculé comme une part du prix régulier, voir modifier en masse le coût des marchandises.

Arrondir le résultat

Les multiplicateurs produisent des fractions comme 47.6345. La liste déroulante d'arrondi sous les lignes numériques s'applique au résultat de la formule avant son enregistrement : 00 arrondit à l'entier, 5 et 10 arrondissent au 0,05 ou 0,10 supérieur, et 9 à 99 fixent les centimes sur cette terminaison (47.99). Les options sont décrites dans arrondi des prix ; elles ne fonctionnent que si la boutique affiche les prix avec des décimales. Les prix régulier et promo sont de toute façon enregistrés avec le nombre de décimales de la boutique, mais les champs meta numériques conservent toute la fraction si vous ne les arrondissez pas.

Tester d'abord, annuler si nécessaire

  • Filtrez deux ou trois produits par SKU ou par titre, lancez l'opération et comparez le résultat avec le champ source dans l'éditeur de produit et sur la page du produit.
  • Vérifiez que seule la ligne cible est cochée et que Champs numériques sélectionnés affiche le bon opérateur et le bon champ.
  • Excluez les produits sans valeur source avant chaque exécution sur les prix.
  • Produits variables : variations activé, source renseignée sur les variations.
  • Une exécution erronée peut être annulée dans l'onglet Historique (History) ; annulez-la plutôt que de lancer une formule inverse.

Si un calcul dont vous avez besoin ne peut pas être construit avec ces étapes, décrivez-le avec un exemple de produit sur le forum de support de BEAR.