PS PrestaShop Intermedio

Precio unitario y venta a peso: documentación DataFirefly Unit Price

Instalación, ajustes, contenido de los productos, venta al peso elegido, piezas a peso real y pesaje, editor masivo, CSV y resolución de problemas.

Actualizado Versión del módulo 1.2.0

Instalación

Instale el módulo desde Módulos > Gestor de módulos > Subir un módulo con el archivo ZIP, o copie la carpeta dfunitprice en el directorio /modules/ de la tienda y haga clic en Instalar.

Al instalarse, el módulo crea tres tablas (contenidos, modos de venta, pesajes de pedidos) y registra sus hooks. No añade ninguna entrada de menú: todo se ajusta desde la página de configuración del módulo, la pestaña Módulos de la ficha de producto y la página del pedido.

Ajustes del módulo

La página de configuración reúne, de arriba abajo, el editor masivo, los ajustes, la lista de piezas por pesar, las herramientas y el informe de conformidad.

Precio unitario de pesos y volúmenes

Elija la expresión por defecto: por 1 kg o por 100 g, por 1 litro o por 100 ml. Las longitudes se expresan siempre por metro, las superficies por m² y los volúmenes a granel por m³. Cada producto puede cambiar esta elección.

Países que imponen 1 kg y 1 litro

Códigos ISO separados por comas, DE por defecto. Para un visitante de estos países, el precio unitario se expresa siempre por 1 kg, 1 l, 1 m, 1 m² o 1 m³, como exige la PAngV alemana, aunque haya elegido 100 g en otros países.

Visualización y posiciones

  • Mostrar en la ficha de producto y Posición en la ficha de producto: el precio unitario pasa por el hook nativo displayProductPriceBlock. La posición after_price (bajo el precio) sirve para Classic y temas derivados. Cámbiela solo si su tema no llama a esa posición.
  • Mostrar en los listados de productos y Posición en los listados: categorías, búsqueda, marcas, carruseles. Posición unit_price por defecto.
  • Mostrar en el carrito: bajo el precio de cada línea.
  • Formato: «12,90 € / kg» o entre paréntesis.
  • Texto antes del precio unitario: opcional y traducible, por ejemplo «Precio por kilo».

Ocultar si es igual al precio de venta

Un paquete de 1 kg vendido por kilo repite el mismo importe. Algunos países permiten no mostrarlo en ese caso: compruebe la norma de su país antes de activar la opción.

Ocultar el precio unitario nativo del tema

Evita el duplicado en la ficha de producto cuando el tema también muestra el campo nativo.

Escribir en los campos nativos de PrestaShop

El módulo actualiza el precio unitario nativo, su etiqueta de unidad (por ejemplo «/ kg») y el impacto por combinación. Los módulos de feeds de Google Shopping o marketplaces que leen estos campos reciben así el valor correcto.

Reembolso mínimo de las piezas a peso real

Por debajo de esta diferencia, IVA incluido, en un pedido, no se crea factura rectificativa. Deje 0 para reembolsar cualquier diferencia.

Categorías en las que el precio unitario es obligatorio

Solo lo usa el informe de conformidad, que lista los productos activos de estas categorías sin contenido.

Introducir el contenido de un producto

Abra la ficha de producto, pestaña Módulos, bloque Precio unitario y modo de venta. El bloque se guarda con su propio botón Guardar el precio unitario, independientemente del formulario del producto.

  • Contenido neto y Unidad: 750 g, 1,5 l, 2,5 m, 12 m² o una pieza. Déjelo vacío para no mostrar precio unitario.
  • Precio unitario expresado por: para pesos y volúmenes, sustituye el ajuste del módulo en este producto.

Bajo los campos, una línea verde muestra el precio unitario calculado con el precio actual mientras escribe. Tras guardar, una vista previa recuerda el precio con IVA sin descuento, el contenido y el precio unitario obtenido.

Combinaciones

Rellene solo las combinaciones cuyo contenido difiere del producto, por ejemplo 250 g, 500 g y 1 kg. Una combinación sin valor usa la del producto. La unidad «Igual que el producto» usa la unidad del producto. Las combinaciones creadas después de abrir la página aparecen al recargarla.

El cálculo

El precio unitario es el precio mostrado al cliente dividido por el contenido, llevado a la referencia elegida. Sigue la visualización con o sin IVA del grupo del cliente, los precios específicos y las promociones. En el carrito, usa el precio de la línea.

Venta al peso elegido por el cliente

Elija el modo El cliente elige la cantidad. El contenido se convierte en el tamaño de un paso y el precio del producto pasa a ser el de un paso. Ejemplo: paso de 100 g a 2,50 €, un cliente que elige 700 g añade 7 pasos al carrito por 17,50 €.

  • Mínimo y Máximo, en la unidad base (g, ml, cm, m², m³): cada valor debe ser múltiplo del paso. El máximo es opcional.
  • Botones de cantidad: valores separados por punto y coma, por ejemplo 250; 500; 1000, cada uno múltiplo del paso y entre el mínimo y el máximo.
  • Permitir una cantidad libre: muestra el selector +/- con entrada directa. Sin botones de cantidad, la entrada libre se muestra siempre.

En la ficha de producto, el campo de cantidad del tema se sustituye por este selector, con los límites y el total en directo. El selector funciona también en la vista rápida de los listados y conserva el peso elegido cuando el cliente cambia de combinación.

Lo que el módulo gestiona por usted

  • La cantidad mínima nativa del producto y de sus combinaciones se sincroniza en número de pasos.
  • El máximo se aplica en el servidor: una cantidad superior añadida al carrito se reduce al máximo.
  • La línea del pedido pasa a ser «Café (700 g)» en el back office, en la factura y en el correo de confirmación.

El stock se sigue contando en pasos, porque PrestaShop no admite cantidades decimales. Con un paso de 100 g, introduzca 50 para 5 kg en stock. El bloque de la ficha de producto recuerda esta conversión.

Pieza a peso real

Elija el modo Pieza a peso real para los productos cuyo peso exacto solo se conoce al prepararlos: carne, queso al corte, pescado.

  • Peso medio de una pieza: es el contenido, por ejemplo 1,2 kg. El precio del producto es el de una pieza de ese peso.
  • Pieza más ligera y Pieza más pesada: opcionales, se muestran al cliente como rango. El rango debe incluir el peso medio.

En la ficha de producto, un recuadro «Se vende a peso real» explica la regla al cliente: una pieza más ligera se reembolsa por la diferencia, una más pesada no cuesta nada más. La línea del pedido pasa a ser «Chuletón (unos 1,2 kg)» o «(2 × unos 1,2 kg)».

Pesar un pedido

En la página del pedido, el panel Pesos reales lista cada línea afectada con el peso estimado y el importe pagado.

  1. Introduzca el peso real total de cada línea, todas las piezas incluidas, en kg (en l para un volumen, en m para una longitud).
  2. El reembolso de cada línea y el total se calculan mientras escribe. Un peso que se aleja más de un 50 % de la estimación muestra un aviso, a menudo un error de unidad (1200 en lugar de 1,2).
  3. Marque o no el envío del correo al cliente y el vale, haga clic en Validar los pesos y confirme.

El reembolso de una línea más ligera es proporcional: importe pagado × (1 − peso real / peso estimado). Una línea más pesada no genera reembolso y nunca se cobra de más.

Lo que se crea

  • Una factura rectificativa de PrestaShop por el total de las diferencias, visible en los documentos del pedido. Su PDF lista las líneas y una tabla «Regularización al peso real».
  • Un vale por el mismo importe si la casilla está marcada, reservado al cliente y válido durante un año.
  • Un correo al cliente en su idioma con los pesos estimados, los pesos reales y el importe reembolsado.

La factura del pedido incluye una mención que explica la venta con peso estimado y la regularización por factura rectificativa. El cliente también ve los pesos reales en el detalle del pedido, en su cuenta.

La factura rectificativa registra el reembolso, pero no devuelve el dinero. Salvo que entregue un vale, devuelva el importe con su proveedor de pago. Un pesaje validado es definitivo. La factura rectificativa conserva la cantidad de la línea para que el PDF nativo muestre el importe correcto: PrestaShop considera por tanto esas piezas como ya reembolsadas, y un reembolso posterior de esas líneas se hace por importe con su proveedor de pago.

Pedidos por pesar

La página de configuración lista los pedidos que aún contienen piezas por pesar, de los más antiguos a los más recientes, con un enlace directo a cada pedido. Los pedidos cancelados, con error o reembolsados no aparecen.

Editor masivo

En la parte superior de la página de configuración, el editor masivo muestra sus productos en páginas de 50, filtrables por categoría, por nombre, referencia o ID, y limitados por defecto a los que aún no tienen contenido.

  • Los contenidos escritos en el nombre o la referencia se detectan y se rellenan, con la mención «Detectado». Los packs se multiplican («6 x 33 cl» da 198 cl) y las dimensiones como «40×60 cm» se ignoran.
  • Modificar un valor marca la línea. El precio unitario se calcula en directo.
  • Seleccionar los tamaños detectados marca de una vez todas las líneas rellenadas de la página.
  • Completar también las combinaciones cuyo nombre contiene un tamaño: una combinación «Peso – 500 g» recibe 500 g, sin sobrescribir un valor ya introducido.

Vaciar el contenido de una línea marcada elimina el contenido del producto. Los productos vendidos a peso o a peso real son de solo lectura en la tabla: edítelos desde su ficha.

Importación y exportación CSV

El bloque Exportar CSV genera una línea por producto y por combinación, para todo el catálogo o una categoría. Columnas: id_product, id_product_attribute, reference, name, net_quantity, unit, reference_unit.

La importación acepta el separador ; o ,. Las columnas net_quantity y unit son obligatorias, junto con id_product o reference (referencia del producto o de la combinación). Unidades: g, kg, ml, cl, l, mm, cm, m, m2, m3, unit. reference_unit acepta 1kg, 100g, 1l o 100ml. Una net_quantity vacía elimina la línea. Los errores se listan con su número de línea sin bloquear las demás.

Herramientas e informe de conformidad

Resincronizar ahora recalcula los campos nativos y las cantidades mínimas de todos los productos configurados. Úselo tras una importación masiva de precios, o si empleados sin acceso al módulo editan productos: PrestaShop no ejecuta los hooks de un módulo para un perfil que no tiene permiso para verlo.

El informe de conformidad indica el número de productos configurados y lista hasta 300 productos activos sin contenido en las categorías obligatorias, con un enlace a su ficha.

Resolución de problemas

El precio unitario no aparece en la ficha de producto

Compruebe que el producto tiene contenido y que la visualización en la ficha está activada. Si el tema no llama a la posición after_price, elija price o weight en los ajustes.

El precio unitario aparece dos veces

Active Ocultar el precio unitario nativo del tema. Si el duplicado persiste, su tema usa otra clase CSS para ese bloque: contáctenos con el nombre del tema.

El campo de cantidad sigue visible en un producto vendido a peso

El tema usa un marcado de cantidad no estándar. El peso elegido se sigue respetando en el servidor (mínimo y máximo). Contáctenos con el nombre del tema para una adaptación.

El precio nativo no está actualizado tras una importación de precios

Haga clic en Resincronizar ahora.

Compatibilidad

  • PrestaShop 8.0 a 9.x, el mismo ZIP cubre ambas ramas.
  • Visualización mediante el hook nativo displayProductPriceBlock, probado con el tema Classic.
  • Arquitectura ModuleAdminController, sin dependencia de Composer, PHP 7.2 o superior.
  • Interfaz y correos en español, francés, inglés, alemán, italiano, neerlandés, polaco y portugués.
¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte