Introducción
¿Gestionas tu inventario o precios desde Google Sheets y luego tienes que actualizar PrestaShop manualmente? Eso es ineficiente y propenso a errores.
En este artículo aprenderás cómo integrar tu hoja de Google Sheets con PrestaShop para sincronizar stock y precios automáticamente.
Ideal para comerciantes que trabajan con proveedores, listas externas o equipos sin acceso al backoffice.
Índice
- 1. Qué puedes automatizar con esta integración
- 2. Requisitos previos
- 3. Tablas que se verán afectadas
- 4. Estructura de la hoja de Google Sheets
- 5. Script PHP para importar datos desde Sheets
- 6. Automatización con cron
- 7. Buenas prácticas y seguridad
- 8. Conclusión
1. ¿Qué puedes automatizar con esta integración?
| Acción | Resultado |
|---|---|
| Actualizar stock desde Google Sheets | Evitas entrar al backoffice |
| Modificar precios automáticamente | Reduces errores humanos |
| Exportar datos de PrestaShop a Sheets | Visualizas datos sin entrar al panel |
2. Requisitos previos
- Acceso a Google Cloud Console
- Composer instalado en el servidor
- PHP 7.4+ y PrestaShop funcionando
- Una hoja compartida con cabecera y datos bien estructurados
3. Tablas de PrestaShop afectadas
| Tabla | Contenido |
|---|---|
| ps_product | Precios base de productos |
| ps_stock_available | Stock por producto |
4. Estructura de la hoja de cálculo
Tu hoja debe tener columnas como:
| ID producto | Referencia | Stock | Precio |
|---|---|---|---|
| 1 | PS001 | 25 | 49.90 |
| 2 | PS002 | 10 | 29.99 |
5. Script PHP para importar datos desde Sheets
Este script lee datos desde una hoja de cálculo y actualiza productos.
<?php
require 'vendor/autoload.php';
require '../config/config.inc.php';
require '../init.php';
$client = new Google_Client();
$client->setAuthConfig('credenciales.json');
$client->addScope(Google_Service_Sheets::SPREADSHEETS_READONLY);
$service = new Google_Service_Sheets($client);
$spreadsheetId = 'TU_ID_HOJA';
$range = 'Sheet1!A2:D';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
foreach ($values as $row) {
list($id, $ref, $stock, $precio) = $row;
if (!is_numeric($id)) continue;
StockAvailable::setQuantity((int)$id, 0, (int)$stock);
$product = new Product((int)$id);
$product->price = (float)$precio;
$product->update();
echo "Producto $ref actualizado: stock=$stock, precio=$precio\n";
}
?>6. Automatización con cron
Programa este script para que se ejecute automáticamente cada cierto tiempo:
*/30 * * * * /usr/bin/php /ruta/sync-google-prestashop.php
Así se actualiza cada 30 minutos automáticamente.
7. Buenas prácticas y seguridad
- Protege el script con autenticación por token o IP
- No dejes las credenciales de Google visibles en producción
- Valida que los IDs existen antes de hacer cambios
- Guarda logs de cada ejecución por si necesitas depurar
8. Conclusión
Integrar Google Sheets con PrestaShop te permite ahorrar tiempo y errores al mantener actualizado tu catálogo.
¿Quieres que conectemos tu hoja con tu tienda sin depender de plugins de pago? 📩 Escríbenos y lo dejamos funcionando.

