Introducción

PrestaShop permite gestionar precios y stock de forma masiva importando datos desde un CSV externo. Es la mejor opción para actualizar miles de productos sin tener que modificarlos uno a uno desde el panel de administración.

En este artículo aprenderás a sincronizar precios o stock en PrestaShop desde un archivo CSV de forma técnica y segura, incluso si no tienes conocimientos avanzados.

Índice

1. Estructura recomendada del CSV

Tu archivo CSV debería tener un aspecto similar a este:

id_product;reference;price;quantity
101;CAMISA-001;29.95;100
102;PANTALON-002;49.50;35
103;ZAPATO-003;79.00;12

Explicación de campos:

  • id_product: ID interno del producto en PrestaShop.
  • reference: Código de referencia (puede ser único).
  • price: Precio del producto (sin impuestos).
  • quantity: Stock disponible.

2. Tablas implicadas en PrestaShop

Al modificar precios y stock, estas son las tablas que se ven afectadas:

TablaCampoDescripción
ps_productpricePrecio base del producto (sin impuestos).
ps_product_shoppricePrecio en la tienda específica (multitienda).
ps_stock_availablequantityStock disponible para el producto.

3. Script PHP para sincronizar datos

Ejemplo de cómo procesar el CSV con PHP:

<?php
// Datos conexión
$host = 'localhost';
$user = 'usuario_mysql';
$pass = 'clave_mysql';
$db = 'nombre_base_datos';

$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}

$csv = fopen('productos.csv', 'r');
while (($line = fgetcsv($csv, 1000, ";")) !== FALSE) {
    $id_product = (int)$line[0];
    $price = (float)$line[2];
    $quantity = (int)$line[3];

    // Actualizar precio
    $sql1 = "UPDATE ps_product SET price = $price WHERE id_product = $id_product";
    $sql2 = "UPDATE ps_product_shop SET price = $price WHERE id_product = $id_product";

    // Actualizar stock
    $sql3 = "UPDATE ps_stock_available SET quantity = $quantity WHERE id_product = $id_product";

    $conn->query($sql1);
    $conn->query($sql2);
    $conn->query($sql3);
}
fclose($csv);
$conn->close();
?>

Explicación paso a paso:

  • Conecta a la base de datos MySQL.
  • Abre el CSV línea por línea.
  • Lee el ID del producto, precio y stock.
  • Ejecuta las consultas SQL para actualizar precios y stock.

4. Buenas prácticas y SEO

  • 💾 Haz siempre un backup antes de actualizar datos masivos.
  • 📊 Prueba primero en entorno de staging.
  • 🔍 Incluye keywords como “actualizar stock CSV PrestaShop” para SEO.
  • 🛠️ Controla errores y guarda logs del proceso PHP.

5. Conclusión

Automatizar la sincronización de precios o stock desde CSV en PrestaShop es una forma eficiente de mantener el catálogo actualizado sin depender del panel manualmente.

📩 ¿Necesitas que te creemos un script personalizado? ¡Contáctanos!

Ir al contenido