🔄 Importar y exportar datos CSV
La importación y exportación CSV es la herramienta fundamental para gestionar catálogos grandes en PrestaShop. Permite crear o actualizar miles de productos, categorías y clientes de forma masiva, ahorrando horas de trabajo manual. Sin embargo, requiere entender el formato esperado y seguir unas reglas para evitar errores.
#El sistema de importación de PrestaShop
La herramienta de importación se encuentra en Parámetros avanzados → Importar. Soporta los siguientes tipos de datos:
| Tipo de dato | Descripción | Campos clave |
|---|---|---|
| Categorías | Estructura del catálogo | ID, nombre, padre, descripción, activa |
| Productos | Artículos del catálogo | ID, nombre, categorías, precio, cantidad, descripción, imágenes |
| Combinaciones | Variantes de producto | ID producto, grupo atributo, valor atributo, referencia, stock, precio |
| Clientes | Base de datos de clientes | ID, nombre, email, contraseña, grupo |
| Direcciones | Direcciones de clientes | ID, cliente, alias, dirección, ciudad, país |
| Fabricantes | Marcas de productos | ID, nombre, descripción, imagen |
| Proveedores | Proveedores del catálogo | ID, nombre, descripción |
| Alias de búsqueda | Sinónimos del buscador | Alias, búsqueda |
| Pedidos (datos de tienda) | Información de pedidos | ID pedido, referencia, etc. |
#Importar productos
La importación de productos es la más utilizada y la más compleja. Estos son los campos principales:
| Campo | Obligatorio | Descripción | Ejemplo |
|---|---|---|---|
| ID | No* | Identificador del producto. Si no se indica, crea uno nuevo | 142 |
| Activo | No | Si el producto está visible (0/1) | 1 |
| Nombre | Sí | Nombre del producto | Camiseta Algodón Premium |
| Categorías | Sí | Ruta de categorías separadas por > | Inicio > Mujer > Camisetas |
| Precio sin IVA | Sí | Precio base antes de impuestos | 16.53 |
| ID regla IVA | Sí | ID de la regla de impuesto aplicable | 1 |
| Precio de coste | No | Coste del producto | 8.50 |
| Cantidad | No | Stock disponible | 100 |
| Descripción corta | No | Texto breve (puede contener HTML) | Camiseta de algodón 100% |
| Descripción | No | Texto largo detallado (HTML) | Descripción completa... |
| Referencia | No | Código de referencia interno | CAM-ALG-001 |
| EAN-13 | No | Código de barras | 8412345678901 |
| URL de imagen | No | URL pública de la imagen para importar | https://ejemplo.com/img/cam001.jpg |
| Peso | No | Peso en kg | 0.250 |
| URL amigable | No | Slug para SEO | camiseta-algodon-premium |
| Meta título | No | Title tag SEO | Camiseta Algodón Premium - Tu Tienda |
| Meta descripción | No | Description tag SEO | Compra tu camiseta de algodón premium... |
| Características | No | Formato nombre:valor:posición | Material:Algodón:1,Temporada:Verano:2 |
ID;Activo;Nombre;Categorías;Precio sin IVA;ID regla IVA;Cantidad;Referencia;Descripción corta;URL imagen;Peso;URL amigable
;1;"Camiseta Algodón Blanca";"Inicio > Mujer > Camisetas";16.53;1;100;CAM-BLA-001;"<p>Camiseta 100% algodón orgánico</p>";"https://tutienda.com/img/import/cam-bla.jpg";0.200;camiseta-algodon-blanca
;1;"Pantalón Vaquero Slim";"Inicio > Mujer > Pantalones";33.06;1;75;PAN-VAQ-001;"<p>Vaquero slim fit elástico</p>";"https://tutienda.com/img/import/pan-vaq.jpg";0.450;pantalon-vaquero-slim
;1;"Vestido Floral Verano";"Inicio > Mujer > Vestidos";24.79;1;50;VES-FLO-001;"<p>Vestido ligero estampado floral</p>";"https://tutienda.com/img/import/ves-flo.jpg";0.180;vestido-floral-verano
PrestaShop espera punto (.) como separador decimal en los precios, no coma. Si tu Excel usa coma, asegúrate de convertirlo antes de importar. Un precio de «16,53» con coma se interpretará incorrectamente.
#Importar categorías
Importar las categorías antes que los productos es fundamental. Si las categorías no existen cuando importas productos, se crearán automáticamente pero sin descripciones, imágenes ni configuración SEO.
| Campo | Obligatorio | Descripción | Ejemplo |
|---|---|---|---|
| ID | No | ID de la categoría | 42 |
| Activa | No | Visible en la tienda (0/1) | 1 |
| Nombre | Sí | Nombre de la categoría | Camisetas |
| Categoría padre | Sí | ID o nombre de la categoría superior | Mujer (o ID 3) |
| Descripción | No | Texto HTML descriptivo | Nuestra colección de camisetas... |
| Meta título | No | SEO title | Camisetas Mujer | Tu Tienda |
| Meta descripción | No | SEO description | Descubre nuestras camisetas para mujer... |
| URL amigable | No | Slug | camisetas |
| URL de imagen | No | Imagen de la categoría | https://ejemplo.com/img/cat-camisetas.jpg |
ID;Activa;Nombre;Categoría padre;Descripción;Meta título;URL amigable
;1;"Mujer";"Inicio";"<p>Moda para mujer</p>";"Ropa Mujer | Tu Tienda";mujer
;1;"Camisetas";"Mujer";"<p>Camisetas para mujer</p>";"Camisetas Mujer | Tu Tienda";camisetas
;1;"Pantalones";"Mujer";"<p>Pantalones para mujer</p>";"Pantalones Mujer | Tu Tienda";pantalones
;1;"Vestidos";"Mujer";"<p>Vestidos para mujer</p>";"Vestidos Mujer | Tu Tienda";vestidos
#Importar clientes y direcciones
La importación de clientes es útil cuando migras desde otra plataforma o necesitas cargar una base de datos existente.
| Campo | Obligatorio | Descripción |
|---|---|---|
| ID | No | ID del cliente (para actualizar existentes) |
| Activo | No | Cuenta activa (0/1) |
| Título (Mr/Mrs) | No | ID del tratamiento (1=Mr, 2=Mrs) |
| Sí | Dirección de email (debe ser única) | |
| Contraseña | Sí* | Contraseña en texto plano (PS la encriptará) o hash MD5 |
| Nombre | Sí | Nombre de pila |
| Apellidos | Sí | Apellidos |
| Fecha de nacimiento | No | Formato YYYY-MM-DD |
| Newsletter | No | Suscrito al newsletter (0/1) |
| Grupo por defecto | No | ID del grupo de cliente |
Si migras desde otra plataforma, las contraseñas no se pueden transferir directamente (están encriptadas de forma diferente). La práctica habitual es importar los clientes con una contraseña temporal y forzar un cambio de contraseña en el primer login, o bien enviar un email de «restablecer contraseña» a todos.
Las direcciones se importan por separado y se asocian al cliente por email:
Email cliente;Alias;Dirección;Código postal;Ciudad;País;Teléfono
juan@email.com;"Casa";"Calle Mayor 15, 2ºA";28001;"Madrid";"España";"612345678"
juan@email.com;"Oficina";"Av. Diagonal 500";08006;"Barcelona";"España";"934567890"
#Formato CSV requerido
El formato correcto del archivo CSV es crítico para una importación exitosa:
| Parámetro | Valor recomendado | Nota |
|---|---|---|
| Codificación | UTF-8 (sin BOM) | Imprescindible para caracteres especiales (ñ, tildes, €) |
| Separador de columnas | Punto y coma (;) | También soporta coma, tabulador y pipe |
| Delimitador de texto | Comillas dobles (") | Obligatorio para campos con el separador dentro del texto |
| Separador decimal | Punto (.) | 16.53, no 16,53 |
| Formato de fecha | YYYY-MM-DD | 2026-04-05 |
| Valores booleanos | 0 o 1 | 0 = No/Inactivo, 1 = Sí/Activo |
| Valores múltiples | Coma (,) | Para categorías múltiples: 3,5,12 |
| Jerarquía de categorías | Mayor que (>) | Inicio > Mujer > Camisetas |
| Primera fila | Encabezados | Los nombres de columna para mapear |
Opción 1 — Desde LibreOffice Calc (recomendado):
Archivo → Guardar como → Tipo: CSV
Opciones: Conjunto de caracteres = UTF-8
Separador de campo = ; (punto y coma)
Delimitador de texto = " (comilla doble)
Opción 2 — Desde Microsoft Excel:
Archivo → Guardar como → CSV UTF-8 (delimitado por comas)
NOTA: Excel usa coma como separador. Tendrás que seleccionar
«coma» como separador en la pantalla de importación de PS,
o convertir comas a punto y coma con buscar/reemplazar.
Opción 3 — Con Google Sheets:
Archivo → Descargar → CSV
Google Sheets usa coma por defecto y UTF-8.
PrestaShop incluye archivos CSV de ejemplo para cada tipo de importación. En la pantalla de importación, haz clic en «Descargar archivos de muestra» para obtener plantillas con los campos correctos ya preparados. Úsalas como base.
#Exportar el catálogo completo
PrestaShop no incluye una herramienta de exportación tan completa como la de importación en su versión nativa. Las opciones para exportar son:
| Método | Qué exporta | Cómo acceder |
|---|---|---|
| Exportar desde Stock | Lista de productos con cantidades | Catálogo → Stock → botón Exportar |
| Exportar pedidos | Lista de pedidos en CSV | Pedidos → Pedidos → botón Exportar |
| Exportar clientes | Lista de clientes | Clientes → Clientes → botón Exportar |
| Módulo de exportación | Todo tipo de datos con opciones avanzadas | Instalar módulo específico de exportación |
| phpMyAdmin | Cualquier tabla de la BD | Acceso directo a la base de datos (avanzado) |
Para una exportación completa del catálogo con todas las columnas (nombre, descripción, precios, imágenes, categorías, atributos, características), la mejor opción es usar un módulo de exportación dedicado. Algunos populares:
| Módulo | Funcionalidad | Precio |
|---|---|---|
| Product Catalog Export (CSV, Excel, XML) | Exporta productos con todas las columnas, filtros avanzados | 40-60 € |
| Import/Export Tool Pro | Importar y exportar todos los tipos de datos, perfiles guardados | 70-100 € |
| Store Commander | Herramienta completa de gestión con importación/exportación masiva | Desde 240 €/año |
#Errores comunes de importación
La importación CSV es propensa a errores si no se prepara cuidadosamente el archivo. Estos son los problemas más frecuentes y sus soluciones:
| Error | Causa | Solución |
|---|---|---|
| Caracteres extraños (ñ, tildes mal) | Codificación incorrecta (no UTF-8) | Guardar como UTF-8 sin BOM desde el editor |
| Columnas desplazadas | El texto contiene el separador (;) sin comillas | Asegurar que todos los campos con texto libre están entre comillas dobles |
| Precios incorrectos | Coma como separador decimal en lugar de punto | Reemplazar , por . en columnas de precio antes de importar |
| Productos duplicados | No se indicó ID para actualizar, se crearon nuevos | Incluir columna ID y marcar «Forzar todos los IDs» o usar la opción de actualizar por referencia |
| Categorías creadas vacías | Las categorías del CSV no existían previamente | Importar categorías antes que productos |
| Imágenes no importadas | URL de imagen inaccesible o formato no soportado | Verificar que las URLs son accesibles públicamente y en formato JPG/PNG |
| Stock a 0 tras importar | No se incluyó la columna de cantidad | Añadir columna 'Cantidad' al CSV o importar stock por separado |
| Timeout / error 500 | Archivo CSV demasiado grande | Dividir en archivos de 1000-2000 filas máximo |
| HTML roto en descripciones | Comillas dentro del HTML interfieren con el delimitador CSV | Escapar comillas dobles dentro del HTML con doble comilla ("") |
| Producto no visible en el FO | Campo 'Activo' a 0 o categoría inactiva | Verificar que Activo=1 y la categoría también está activa |
Antes de cualquier importación masiva, haz una copia de seguridad completa de la base de datos. Un error en el CSV puede crear miles de registros incorrectos que son difíciles de revertir. Ve a Parámetros avanzados → Base de datos → Backup o usa phpMyAdmin.
#Buenas prácticas
| Práctica | Motivo |
|---|---|
| Importar primero categorías, luego productos, luego combinaciones | Respetar dependencias — los productos necesitan categorías, las combinaciones necesitan productos |
| Hacer una prueba con 5-10 filas antes de importar todo | Detectar errores de formato sin afectar miles de registros |
| Usar la opción 'Borrar todas las ___ antes de importar' con precaución | Solo usar si estás seguro de querer empezar desde cero |
| Mapear las columnas en la pantalla de importación | Verificar visualmente que cada columna del CSV corresponde al campo correcto |
| Incluir siempre una columna ID o referencia | Para poder actualizar productos existentes en futuras importaciones |
| Limpiar datos en Excel antes de importar | Eliminar espacios extra, estandarizar formato, verificar IDs de categoría |
| Guardar el CSV de importación para referencia | Si necesitas reimportar o depurar errores, tendrás el archivo original |
| Reindexar búsqueda tras importar | Los nuevos productos no aparecerán en búsquedas hasta reindexar |
Paso 1: Preparar datos
└── Crear CSV de categorías
└── Crear CSV de productos
└── Crear CSV de combinaciones (si aplica)
└── Verificar formato UTF-8, separadores, decimales
Paso 2: Backup
└── Parámetros avanzados → Base de datos → Backup
Paso 3: Importar categorías
└── Parámetros avanzados → Importar → Categorías
└── Verificar en Catálogo → Categorías
Paso 4: Importar productos (primero 5-10 filas de prueba)
└── Parámetros avanzados → Importar → Productos
└── Verificar en el FO que se ven correctamente
└── Si OK, importar el resto
Paso 5: Importar combinaciones
└── Parámetros avanzados → Importar → Combinaciones
└── Verificar stock y precios por combinación
Paso 6: Post-importación
└── Reindexar búsqueda (Parámetros de la tienda → Buscar)
└── Regenerar imágenes si es necesario (Diseño → Imágenes)
└── Verificar una muestra de productos en el FO
Si necesitas actualizar precios o stock frecuentemente desde un ERP o proveedor, considera un módulo de importación automática que lea un CSV desde una URL o FTP a intervalos regulares. Esto elimina el trabajo manual y reduce errores.