BEAR - WooCommerce Bulk Editor and Products Manager Professional

Establecer el precio de WooCommerce desde un campo personalizado: copiar, multiplicar, IVA

Para establecer un precio de WooCommerce a partir de un campo personalizado necesitas un cálculo que lea un campo de cada producto y escriba otro: el precio normal copiado de un campo de precio del proveedor, el precio normal como coste por dos, o un precio de feed que sea el precio normal más un 21 % de IVA. WooCommerce no tiene una operación así, y pasar por una hoja de cálculo con CSV funciona pero es fácil equivocarse. BEAR lo hace en la pestaña Edición masiva (Bulk Edit), producto por producto, con dos herramientas: un bloque de fórmula para los campos numéricos y la variable {meta:key} para los campos de texto. A continuación verás cuál usar, los ajustes exactos para los casos habituales y las trampas: campos de origen vacíos, variaciones y redondeo.

Dos herramientas: una fórmula para números, una variable para texto

El precio normal, el precio rebajado y todos los campos meta de tipo número (number) son campos numéricos. En la pestaña Edición masiva solo aceptan dígitos, así que un cálculo pasa por el bloque situado bajo las filas numéricas, llamado Campos numéricos seleccionados (Selected num fields): un operador (+, -, *, /) y una lista de campos numéricos. Para cada producto, BEAR hace cuatro cosas en este orden:

  1. Aplica la operación propia de la fila al campo que marcaste: establecer nuevo (set new), aumentar en % (increase by %) y así sucesivamente.
  2. Aplica el operador con el valor del campo elegido en Campos numéricos seleccionados (Selected num fields), leído del mismo producto.
  3. Aplica el redondeo elegido en el desplegable bajo las filas numéricas.
  4. Guarda el resultado.

Así, establecer nuevo (set new) 2 con * y un campo de coste da 2 × coste, y establecer nuevo (set new) 0 con + y un campo copia ese campo. La lista de Campos numéricos seleccionados (Selected num fields) muestra el precio normal y el rebajado, los demás números integrados y los campos meta numéricos cuyas columnas están activadas. Por tanto, un campo personalizado tiene que estar asociado como campo meta de tipo número (number) antes de poder ser un origen, como se describe en la documentación de Campos meta (Meta Fields). El tipo solo le indica a BEAR cómo mostrar y editar el valor; pasar un campo de cadena (string) a número (number) no cambia los datos almacenados.

Los campos de texto funcionan de otra manera. En una fila de texto de la pestaña Edición masiva, o en una celda de texto, puedes escribir variables que BEAR sustituye por producto: {meta:_supplier_code} inserta el valor de cualquier clave meta, y el desplegable de variable (variable) junto a la fila añade {REGULAR_PRICE}, {SALE_PRICE}, {SKU} y otras. Esto copia valores pero no calcula, y no se puede usar en campos de precio. La FAQ sobre copiar datos de campos meta muestra la sintaxis.

ObjetivoMarca la filaOperación y valorCampos numéricos seleccionados
Precio normal = campo personalizadoPRECIO NORMAL (regular price)establecer nuevo (set new) 0+ el campo personalizado
Precio normal = coste × 2PRECIO NORMAL (regular price)establecer nuevo (set new) 2* el campo de coste
Precio normal = precio del proveedor + 35 %PRECIO NORMAL (regular price)establecer nuevo (set new) 1.35* el campo del proveedor
Precio de feed = precio normal + 21 %el campo del precio de feedestablecer nuevo (set new) 1.21* PRECIO NORMAL (regular price)
Precio rebajado = campo personalizado de ofertaprecio rebajadoestablecer nuevo (set new) 0+ el campo personalizado

Establecer el precio de WooCommerce a partir de un campo personalizado

  1. En la pestaña Campos meta asocia la clave de origen (encuéntrala con Obtener claves meta de cualquier producto mediante su ID (Get meta keys from any product by its ID)), dale un título como Cost, elige el tipo número (number), pulsa Guardar campos meta (Save meta fields) y activa su columna en la pestaña Ajustes.
  2. En la pestaña Filtros escribe 0.01 en Cost desde (Cost from). Así quedan fuera todos los productos sin valor, y es importante: un origen vacío cuenta como 0, y un precio normal de 0 hace que el producto sea gratuito.
  3. En la pestaña Edición masiva marca solo la fila PRECIO NORMAL (regular price), elige establecer nuevo (set new) e introduce 0 para copiar, o el multiplicador de la tabla anterior.
  4. En Campos numéricos seleccionados (Selected num fields) elige el operador y Cost, comprueba la línea La edición masiva se aplicará a (Bulk editing will be applied to) y pulsa Realizar edición en masa (Do Bulk Edit).

La fórmula se aplica a todas las filas numéricas marcadas, así que no marques nada más en la misma ejecución. Los valores de origen deben usar el punto como separador decimal: un campo que contenga 12,50 se lee como 12. Los mismos pasos rellenan el precio rebajado, con una diferencia: BEAR no escribe un precio rebajado que no sea inferior al precio normal, y un resultado de 0 o menos elimina el precio rebajado.

Variaciones

Los productos variables no tienen precio propio; los precios están en las variaciones. Activa variaciones (variations) en el panel de herramientas antes de la ejecución y BEAR escribirá en las variaciones e ignorará a los padres. La fórmula lee el campo personalizado de la propia variación, así que el origen debe estar rellenado en las variaciones; un campo que existe solo en el producto padre no da a las variaciones nada con lo que calcular.

La comprobación de origen vacío del paso 2 no funciona aquí: los filtros de campos meta miran el producto padre, no el interior de sus variaciones. Con variaciones (variations) activado, revisa en su lugar la columna de origen antes de la ejecución. Una variación con el origen vacío recibe un precio normal de 0.

Con variaciones (variations) activado, la pestaña Edición masiva ofrece además Seleccionar combinación de atributos (select combination of attributes). Selecciona los atributos sobre los que se construyen las variaciones, por ejemplo Talla, pulsa Añadir combinación de atributos a aplicar (Add attributes combination to apply on) y pon Talla en XL en la fila que aparece: la ejecución cambiará entonces solo las variaciones XL, lo que viene bien para un precio de proveedor que se aplica a una sola talla. La documentación de variaciones trata este modo.

Rellenar un campo de precio personalizado a partir del precio normal

Los feeds y los marketplaces suelen necesitar un campo de precio aparte, por ejemplo el precio con un 21 % de IVA cuando la tienda guarda los precios sin impuestos. Asocia ese campo como campo meta de tipo número (number) (un campo de texto no admite una fórmula) y después:

  1. Marca solo la fila del precio de feed, elige establecer nuevo (set new) e introduce 1.21.
  2. En Campos numéricos seleccionados (Selected num fields) elige * y PRECIO NORMAL (regular price), y ejecuta. Un producto a 100 recibe un precio de feed de 121.

Si el feed debe llevar el precio que los clientes pagan realmente, ofertas incluidas, usa como origen el precio actual de WooCommerce. WooCommerce lo guarda en la clave _price: el precio rebajado mientras dura una oferta, y el precio normal en caso contrario. Obtener claves meta de cualquier producto mediante su ID (Get meta keys from any product by its ID) no lista las claves propias de WooCommerce, así que añade _price con Añadir clave personalizada a mano (Add Custom key by hands) como campo de tipo número (number), activa su columna y elígelo en Campos numéricos seleccionados (Selected num fields) en lugar de PRECIO NORMAL (regular price). Usa esa columna solo como origen y no la edites nunca: WooCommerce calcula _price a partir de los precios normal y rebajado, y un valor escrito en ella se sobrescribe en el siguiente guardado del producto.

Ejecuta los productos variables con variaciones (variations) activado, por la misma razón que antes. Si el campo del feed tiene que seguir siendo de texto, nuevo (new) con {REGULAR_PRICE} copia el precio en él sin cambios; el IVA tendrá entonces que añadirlo la herramienta del feed.

Cálculos que necesitan dos pasos

Una ejecución combina una operación con un campo. Todo lo más largo se hace en varias ejecuciones, y el orden importa porque cada ejecución parte del resultado de la anterior:

  • Coste × 2 + 5. Ejecución 1: precio normal, establecer nuevo (set new) 2, * coste. Ejecución 2: precio normal, aumentar en valor (increase by value) 5, con Campos numéricos seleccionados (Selected num fields) de vuelta en la línea vacía.
  • (Coste + 3) × 1,5. Ejecución 1: establecer nuevo (set new) 3, + coste. Ejecución 2: aumentar en % (increase by %) 50, fórmula desactivada.

No olvides vaciar Campos numéricos seleccionados (Selected num fields) para la segunda ejecución; de lo contrario, la fórmula se aplica de nuevo sobre el precio nuevo. Algunas relaciones no necesitan ninguna fórmula: la fila del precio rebajado tiene precio normal menos % (regular price minus %), la fila del precio normal tiene precio rebajado más % (sale price plus %), y duplicar un precio es aumentar en % (increase by %) 100, como se explica en la FAQ sobre multiplicar precios. Para la dirección contraria, un coste calculado como parte del precio normal, consulta edición masiva del coste de los productos.

Redondear el resultado

Los multiplicadores producen fracciones como 47.6345. El desplegable de redondeo bajo las filas numéricas se aplica al resultado de la fórmula antes de guardarlo: 00 (00) redondea a números enteros, 5 (5) y 10 (10) redondean hacia arriba al siguiente 0,05 o 0,10, y de 9 (9) a 99 (99) fijan los céntimos con esa terminación (47,99). Las opciones se describen en redondeo de precios; solo funcionan cuando la tienda muestra los precios con decimales. Los precios normal y rebajado se guardan de todos modos con el número de decimales de la tienda, pero los campos meta numéricos conservan la fracción completa si no los redondeas.

Prueba primero y revierte si hace falta

  • Filtra dos o tres productos por SKU o título, ejecuta la operación y compara el resultado con el campo de origen en el editor de producto y en la página del producto.
  • Comprueba que solo está marcada la fila de destino y que Campos numéricos seleccionados (Selected num fields) muestra el operador y el campo correctos.
  • Excluye los productos sin valor de origen antes de cada ejecución de precios.
  • Productos variables: variaciones (variations) activado, origen rellenado en las variaciones.
  • Una ejecución errónea se puede deshacer en la pestaña Historial (History); revierte en lugar de ejecutar una fórmula contraria.

Si un cálculo que necesitas no se puede construir con estos pasos, descríbelo con un producto de ejemplo en el foro de soporte de BEAR.