Muchos de nuestros clientes, que ya tienen un amplio catálogo de productos, nos piden una forma de subirlos a la tienda online de forma masiva, si tener que subir uno a uno desde el panel de administración. Prestashop ofrece un sistema de importación de productos mediante un archivo CSV que tiene que tener unas columnas determinadas. En este artículo os indicamos cómo hacerlo.
1. En primer lugar nos tenemos que bajar el archivo CSV modelo. Podemos hacerlo de 2 formas:
a) Accediendo a Parámetros avanzados > Importar CSV
b) Accediendo a Catálogo > Productos y, en la esquina superior derecha, dar a «Importar».
Ambos enlaces nos llevan al mismo sitio. En la columna derecha de esa página, veremos un listado de archivos CSV de ejemplo para descargar. Descargaremos el «Archivo de ejemplo por productos».
2. Una vez tengamos el archivo de ejemplo, lo podremos abrir con distintos programas. Os damos las instrucciones para abrirlo con dos de los más usados:
a) Microsoft Excel: Al intentar abrirlo nos saldrán 3 mensajes de error a los que hay que responder en este orden: Sí – No – Aceptar.
b) LibreOffice Calc (la hoja de cálculo de LibreOffice, un programa gratuito para aquellos que no tengan el Office de Microsoft): Saldrá una ventana en la que se podrán elegir diversas opciones. En la sección de «Opciones de separador» es importante dejar seleccionada la de «Punto y coma» y deseleccionadas el resto.
3. Ahora que ya tenemos abierto el archivo, veremos que hay varias columnas. En la primera fila podemos ver el nombre de esas columnas. Aquí explicamos para qué sirve cada una de ellas:
-
- COLUMNA A (ID): es el identificador de cada producto. En principio, recomendamos dejarla vacía para que Prestashop lo asigne automáticamente.
- COLUMNA B (Activo): Indica si el producto es visible en la tienda de cara a lso clientes (0 = NO; 1 = SÍ). Es olbigatorio elegir una de las dos opciones.
- COLUMNA C (Nombre): Nombre del producto. Debería ser único. Columna obligatoria.
- COLUMNA D (Categorías): Categorías a las que pertenece el producto separadas por comas (sin espacio). Se puede poner el nombre o el ID de la categoría, pero si se pone el nombre deberá estar escrito exactamente igual que en el panel de administración (respetando mayúsculas/minúsculas). Por eso, es más fácil poner el ID, que podemos ver en el panel de administración en Catálogo > Categorías. Columna obligatoria.
- COLUMNA E (Precio SIN IVA): Precio del producto SIN IMPUESTOS. Columna obligatoria.
- COLUMNA F (ID regla de impuestos): Rellenar incluyendo el ID del impuesto (IVA) según esté incorporado en Localización > Impuestos. Si no gestionáis distintos impuestos, generalmente será el ID = 1. Columna obligatoria.
- COLUMNA G (Precio de coste de nuestro producto): Columna opcional. Se puede dejar vacía.
- COLUMNA H (En rebaja): Indicar si este producto está en rebaja y mostrará un cartel de “En rebaja” en la visualización del producto (0 = NO; 1 = SÍ). Si el producto no está en rebaja, marcar 0. Si se encuentra con rebaja, marcar 1. Columna obligatoria.
- COLUMNA I (Valor del descuento si es una cantidad fija): Valor neto a descontar del producto. Se debe dejar vacío si el producto no está en rebajas o si el descuento es un %. Columna opcional.
- COLUMNA J (Valor si el descuento es un %): Porcentaje a descontar del producto en rebajas. Por ejemplo, se deberá poner un 20 si el descuento es de un 20%. Se deberá dejar vacío si el producto no está en rebajas. Columna opcional.
- COLUMNA K (Descuento desde AAAA-MM-DD): Campo opcional que sólo se debe rellenar si el descuento debe ser efectivo desde una fecha determinada. Por ejemplo, si quieres que tenga lugar cuando empiecen las rebajas de Enero, podrías 2016-01-07.
- COLUMNA L (Descuento hasta AAAA-MM-DD): Campo opcional que sólo se debe rellenar si el descuento debe ser efectivo hasta una fecha determinada.Por ejemplo, hasta el 31 de diciembre de 2016, podríamos 2016-12-31.
- COLUMNA M (Referencia del producto): Es el nº de referencia del producto dentro de nuestra tienda. Columna opcional.
- COLUMNA N (referencia del proveedor): La referencia que usa tu proveedor para el producto. Columna opcional.
- COLUMNA O (Proveedor): ID del proveedor. Columna opcional. Si hemos introducido los proveedores en nuestra tienda, podremos asignar el producto a un proveedor, indicando su ID, que podemos ver en Catálogo > Proveedores.
- COLUMNA P (Fabricante o marca): ID del fabricante o de la marca. Columna opcional. Si hemos introducido los fabricantes en nuestra tienda, podremos asignar el producto a un fabricante, indicando su ID, que podemos ver en Catálogo > Fabricantes.
- COLUMNA Q (EAN-13): El número del código de barras de 13 dígitos si el producto es europeo. Columna opcional.
- COLUMNA R (UPC): El número del código de barras de 13 dígitos si el producto es americano. Columna opcional.
- COLUMNA S (Ecotasa): Rellenar con las tasas o impuestos ecológicos. Columna opcional.
- COLUMNA T (Ancho): Anchura del paquete del producto en centímetros. Utiliza un punto para separar los decimales.
- COLUMNA U (Alto): Altura del paquete del producto en centímetros. Utiliza un punto para separar los decimales.
- COLUMNA V (Profundidad): Profundidad del paquete del producto en centímetros. Utiliza un punto para separar los decimales.
- COLUMNA W (Peso): Peso del paquete del producto en Kg. Utiliza un punto para separar los decimales.
- COLUMNA X (Cantidad): Inventario total que tenemos del producto en todas sus combinaciones. Por ejemplo, si tenemos 30 iPod azules y 20 iPod grises, tendremos que poner 50. Stock que tenemos de este producto. Columna obligatoria.
- COLUMNA Y (Cantidad mínima): Cantidad mínima del producto que se tiene que comprar. Por defecto se debe poner 1. Columna obligatoria.
- COLUMNA Z (Visible en): Para especificar dónde mostrar este producto dentro de la tienda: Toda la tienda (both), catálogo (catalog), sólo búsquedas (search) u oculto (none). Por defecto dejar columna vacía. Columna opcional.
- COLUMNA AA (Coste adicional de envío). Para añadir un coste adicional al envío de este producto. Por defecto, dejadla vacía. Columna opcional.
- COLUMNA AB (Unidad): Al vender un pack de artículos, indicar el nombre unitario de cada artículo del pack. Por ejemplo, “por botella” o “por libra”. Columna opcional.
- COLUMNA AC (Precio Unidad). Al vender un pack de artículos, puede indicar el precio unitario de cada artículo del pack. Columna opcional.
- COLUMNA AD (Descripción corta): Descripción corta del producto. Tiene un límite de 155 caracteres. Columna opcional.
- COLUMNA AE (Descripción): Descripción más extendida del producto. Columna opcional.
- COLUMNA AF (Etiquetas): Palabras claves del producto. Columna opcional.
- COLUMNA AG (Meta-título): El meta título de tu producto. Muy útil para el SEO. Columna opcional.
- COLUMNA AH (Meta-palabras clave): Las palabras clave de tu producto, separadas por comas. Muy útil para el SEO. Columna opcional.
- COLUMNA AI (Meta-descripción): Descripción del producto para posicionarlo en los buscadores. Columna opcional.
- COLUMNA AJ (URL amigable): Se generan automáticamente con el nombre del producto separado por guiones si no lo rellenas. Se recomienda no tocar.
- COLUMNA AK (Texto para cuando haya stock): Texto a mostrar cuando el artículo está disponible. Columna opcional.
- COLUMNA AL (Texto para cuando se permiten pedidos aunque no haya stock): Texto a mostrar cuando el artículo está sin stock. Columna opcional.
- COLUMNA AM (Disponible para pedidos): Indicar si este producto está disponible para su venta (0 = NO; 1 = SÍ). Hay que escribir un 0 si no está disponible o un 1 si está disponible para la venta. Columna obligatoria.
- COLUMNA AN (Fecha de disponibilidad del producto): Es una columna opcional. Se dejará vacía en el caso de que esté disponible actualmente. Pero si quieres que el producto no se pueda comprar hasta una determinada fecha, puedes indicarlo. Por ejemplo, si no quieres que esté disponible hasta el 31 del 12 del 2016, pondrás 2016-12-31.
- COLUMNA AO (Fecha de creación del producto): En esta columna pondríamos la fecha actual en formato AAAA-MM-DD, como en el caso anterior.
- COLUMNA AP (Mostrar Precio): Pondremos 1 si queremos que se vea el precio y 0 si no queremos que se vea. Columna obligatoria.
- COLUMNA AQ (URLs de las imágenes): Dirección web de la imagen que queramos incluir para representar el producto. Se pueden incluir varias imágenes separadas por coma y sin espacio. Primero deberemos subirlas por FTP a una carpeta que creemos, por ejemplo upload2 y, una vez subidas, escribiremos su ruta en este campo. En muchos manuales hemos visto que se puede poner la ruta relativa (../upload/NombreDeLaImagenConSuExtensión), pero a nosotros nos daba error, por lo que lo hacemos con la ruta absoluta (http://www.nombredeldominio/nombreDeLaCarpetaDondeEstáNuestraTiendaSiNoEstáEnElRaíz/NombreDeLaImagenConSuExtensión), por ejemplo: https://www.tictacsoluciones.com/mitienda/upload2/dscf1940.jpg). Esta columna es opcional, por lo que si no sabemos subirlas por FTP, también podremos dejarla vacía y subirlas luego manualmente desde el panel de adminsitración.
- COLUMNA AR (Eliminar imágenes existentes): Si el producto ya existía y no se ha borrado en la importación, se pueden añadir nuevas imágenes o quitar las ya existentes (0 = NO; 1 = SÍ). Columna opcional. Generalmente la dejaremos a 0 porque no importaremos productos que ya teníamos.
- COLUMNA AS (Característica): Se pueden incluir varias características separadas por coma sin espacio. Formato: Nombre:Valor:Posición. Por ejemplo: Color:Azul:0. Columna opcional.
- COLUMNA AT (Sólo disponible por internet): Si queremos destacar que solo se vende en la tienda online, ponemos 1. Saldrá un texto en el producto indicando que sólo está en venta online. (0 = NO; 1 = SÍ). Columna opcional.
- COLUMNA AU (Estado): Se puede indicar si el producto es NUEVO (new), USADO (used) o RECICLADO (refurbished). Se puede dejar vacío. Columna opcional.
- COLUMNA AV (Personalización): Indicar 1 si es un producto personalizable o “0” si es un producto no personalizable. Dejar vacío si el producto no es personalizable. Si el producto es personalizable, se mostrará una caja de texto en la ficha del producto para que el cliente incluya el texto a personalizar. Columna opcional.
- COLUMNA AW (Archivo adjunto): Si se permite añadir un fichero adjunto el producto (0 = No, 1 = Si). Columna opcional.
- COLUMNA AX (Campos de texto): Indicaremos 1 si queremos mostrar campos de texto para que el cliente pueda escribirnos o “0” si no queremos que el cliente añada ningún comentario (0 = No, 1 = Si). También se puede dejar en blanco. Columna opcional.
- COLUMNA AY (Fuera de stock): Permitir pedidos fuera de Stock. Indicar 0 si no se quiere permitir. Columna opcional.
- COLUMNA AZ (ID / Nombre de la tienda): Si disponemos de multitienda, hay que indicar para qué tienda es este producto. Dejar en blanco por defecto si no se tiene multitienda. Columna opcional.
- COLUMNA BA (Control de existencias avanzado): Se pondrá a 1 si se permite el control de existencias avanzado para este producto. Por defecto, dejar en blanco.
- COLUMNA BB (Cantidad de Stock): Indicar el stock exacto si se dispone de un control de existencias avanzado. Por defecto, dejar en blanco. Columna opcional.
- COLUMNA BC (Almacén): Indicar el ID del almacén que gestiona el stock del producto. Por defecto, dejar en blanco. Columna opcional.
Ahora qué sabemos como rellenar el archivo CSV que tenemos de prueba, borraremos todas las filas que tienen los datos de ejemplo. La primera fila no la borraremos porque contiene el nombre de las columnas.
a) Accediendo a Parámetros avanzados > Importar CSV
b) Accediendo a Catálogo > Productos y, en la esquina superior derecha, dar a «Importar».Una vez ahí, seguiremos estos pasos:
– Se nos preguntará que tipo de entidad deseamos importar. En este caso, son productos.
– Seleccionaremos el archivo a subir desde nuestro ordenador.
– Indicaremos el idioma del archivo. En principio, será Español.
– Codifiación ISO 8859-1: NO
– Separador de filas: «;»
– Separador de valor múltiple: «,»
– En el próximo apartado, elegiremos la configuración de los productos e imágenes. En principio, dejaremos todos los parámetros en NO.
– Haremos clic sobre el botón «Próximo paso» y especificaremos que se debe saltar sólo la primera línea del archivo (Líneas a saltar: 1). Veremos una tabla en la que aparecerán las distintas columnas y valores que habíamos incluido en nuestro archivo CSV.
– Haremos clic sobre el botón «Importar datos CSV».
5. Si no ha surgido ningún problema, tendremos los productos importados en nuestro catálogo. Puede tomarse su tiempo, no recarguéis la página hasta que no muestre un mensaje de que la importación se ha realizado.
6. Si ha surgido algún problema, se puede deber a lo siguiente:
– Habéis indicado separadores distintos de columnas y de elementos en el CSV que en la configuración de la importación en Prestashop.
– Habéis importado más productos de los que os permite el servidor (o productos con muchas imágenes).
– Las imágenes eran muy grandes. Tenéis que tener en cuenta que aunque las imágenes las hayáis subido antes al FTP, luego prestashop regenera las miniaturas de cada una de ellas para mostrarlas en los distintos módulos o partes de la web. Cada una de las imágenes no debería pesar más de 400kb y no debería tener una dimensiones superiores a 800x800px, pero ésto ya depende de las dimensiones que haya definido tu plantilla para la imagen más grande que utilice.
– Las imágenes subidas por FTP y que referenciamos en nuestro fichero .csv pueden estar dando problemas si su nombre contiene espacios, acentos o caracteres especiales. Si hay varias imágenes para un mismo producto, deben estar separadas por comas y sin espacios.
– Si os da problemas con las imágenes, aseguraros que la carpeta donde las estáis subiendo tiene permisos de escritura (podéis darle permisos 777). Aseguraros también de poner la ruta absoluta, porque poniendo la ruta relativa a nosotros nos daba problemas.
– Las categorías a las que hacemos referencia en el .csv han debido ser creadas previamente en el panel de administración de Prestashop y os recomendamos referenciarlas con su ID y no su nombre.
– Cabe la posibilidad de que os dé un error en los campos de tipo fecha. Puede que el programa que estéis utilizando para editar el CSV os cambie el formato de la fecha automáticamente al incluirla. Aseguraros de que la fecha está en formato AAAA-MM-DD (2016-06-01 para el 1 de Junio del 2016).
– No sería lo normal, pero cabe la posibilidad de que no estéis guardando el archivo de EXCEL en .csv, lo que os daría problemas, obviamente.
Si tenéis algún otro problema, podéis dejarnos un comentario a ver si podemos echaros una mano, pero muy posiblemente se deba a limitaciones del servidor. Probad a ver si importando sólo un producto con una imagen podéis hacerlo y, entoces, sabréis que lo estáis haciendo bien, pero estáis subiendo demasiados productos o demasiadas imágenes.
Importa todos los productos con descripciones y fotos?
Muy buena explicacion! yo me encontre un video bien explicado sobre este tema de importación de productos masivamente en prestashop. lo dejo por si alguien le interesa soportefluido.es/home/28-productos-prestashop-masivamente.html
Hola… Muy buena explicación… Pero estoy atorado hace mucho en esto:
Mi producto (id:xxx) cannot be saved
Donde xxx sin importar el valor me dice que no se pudo salvar
Cuando te dice el error lo habitual es que te diga porque se da el error. En general es la segunda línea del texto del error. Si solucionas eso, todo funciona.
Si puedes imprimir la pantalla de error, igual puedo echarte un cable.
Estoy intentando subir un archivo de csv que me mando mi proveedor y no hay manera, cuando intenta cargar pone: el nombre del archivo:6 , tal cual. He intentado cargar el csv de productos de prestashop y me pone lo mismo: products_import.csv : 6 . He borrado la primera linea y nada, me falta llamar a la nasa. A ver si a alguien le paso lo mismo y me podeis echar una mano ;)
Lo cierto es que el importador integrado de PrestaShop resulta frustrante, yo te recomendaría buscar algún módulo o herramienta mejor preparada para importar los productos de CSV a tu tienda.
Hola,
En Prestashop subimos todos nuestros productos a través de CSV, es la mejor forma.
Cuando se han subido los .csv, ¿Se puedo borrar del sistema ese archivo?
Es decir, public_html/adminwe/import ahí se encuentran todos los csv subidos, ¿si los borro, se borran también los productos?
Gracias.
Hola, una vez procesados los .csv la información que contienen queda guardada en la base de datos, por tanto se pueden eliminar esos archivos sin problema.
Cómo puedo importar un pack de 4 productos?
Los amo, ensayaré todas instrucciones! Gracias por existir!
Estoy intentando hacer una importación, pero tengo problemas con las tildes, me elimina las letras con tilde de la descripción.
¿Algún truco o solución?
Dentro de las descripciones puedes trabajar con HTML puro y duro, osea que si le metes una etiqueta con la tilde te la va a respetar seguro
Asegúrate de tener tus CSV guardados con el juego de caracteres UTF-8.
Microsoft Excel creo que no te permite elegir el juego de caracteres, puedes usar Open Office, o abrir el archivo con Notepad++ que te permitirá comprobar y cambiar el juego de caracteres.
Yo puedo actualizar cualquier dato, pero cuando quiero que el stock cambie a 0 se queda igual.
Cualquier cambio que no sea 0 si se guarda y no se que hacer.
Yo puedo actualizar cualquier dato, pero cuando quiero que el stock cambie a 0 se queda igual.
Cualquier cambio que no sea 0 si se guarda y no se que hacer.
Eso es un bug ya conocido del importador de PrestaShop, no sé si en la versión más reciente estará solucionado, pero me temo que no.
Buen post! me podrías hacer llegar los archivos de las categorías? intento descargarlas desde el plugin pero no hay manera.Gracias
Hola, después de estar subiendo algunos csv satisfactoriamente, de pronto me aparece este error y desde entonces, a veces suben bien y otras aparece el mismo error. estoy algo desesperado.
Gracias, Rafa,
[PrestaShopDatabaseException]
Duplicate entry '461-3549' for key 'PRIMARY'
INSERT INTO `ps_category_product` (`id_category`, `id_product`, `position`) VALUES ('461', '3549', '316'), ('461', '3549', '316'), ('517', '3549', '0'), ('518', '3549', '0'), ('519', '3549', '0'), ('519', '3549', '0')
Hola, ese error te está diciendo que no ha podido registrar una asociación categoría-producto porque ya hay un registro con la misma categoría y el mismo producto. Si todos los errores son iguales (duplicate sobre la tabla category_product) los puedes obviar, no es grave.
Más técnicamente: date cuenta de que en la instrucción insert aparece el mismo par 461-3549 dos veces. También aparecen dos veces otros, como el 519-3549.
Seguramente, los tienes repetidos en el CSV (o entre distintos CSVs).
Saludos.
Muchas gracias por tu atención, el problema lo tengo porque se corta la importación y de unos 4000 artículos solo importa unos 100 o 150 y tengo que volver a empezar para que suba otros pocos y así unas pocas veces, con el riesgo de que los duplique o los triplique como ya me ha pasado alguna vez, mi pregunta es que si tiene alguna solución solución, el mensaje es más largo, antes solo puse el principio para no cargar demasiado, lo adjunto completo por si da alguna pista de como se puede solucionar, gracias de nuevo, Rafa.
Lo siento pero no me permite insertar el mensaje completo, aparece este mensaje.
Su HTML no es aceptable: Etiqueta no permitida: PRE
Hola, para procesar muchos artículos como es tu caso con el importador nativo de PrestaShop, la solución es partir el archivo en varios archivos que tenga cada uno 100 ó 150 líneas (que son los que dices que te importa). El importador nativo es muy deficiente para trabajar con archivos grandes, te recomiendo una solición mejor como es PrestaImport, un importador especializado para PrestaShop.
Saludos.
Muchas gracias, tomo nota y le echaré un vistazo.
No hace falta que partas los archivos en varios .CSV , bastaría con que hablaras con tu hosting o cambiaras tu mismo el valor del max_exec_time para que no se corte el script que realiza el backoffice al servidor.
Si deseas cambiarlo tu mismo, tan solo tienes que entrar en tu FTP, en la carpeta de administración y buscar el archivo php.ini y dentro de este buscar el valor max_exec_time y modificarlo a tu gusto, el número que introduzcas es el número de segundos, es decir, para 10 minutos deberás introducir 600
buenas tardes.
yo tengo muchas dudas, no se si soy torpe o no me entero bien lo he intentado de mil maneras y ya me tiene cansada.
para empezar subo las imágenes desde filezilla me meto en mi servidor busco public_html y luego a upload como indicais, meto las imágenes tal cual sin carpeta osea así: literal eh! /public_html/upload
eso es correcto o lo estoy haciendo mal. para mas información tengo un tema instalado nose si por tener un meta hay que ponerlas en otro sitio.
despues me voy al csv y pongo esto literal: http://www.nombredemitienda.es/upload/nombre-de-la-imagen.jpg
pruebo la url y funciona, se ve la imagen estupendamente
cual leñes es el fallo??????
de verdad que me tiene desesperada.
gracias
Hola
Si puedes concretar el fallo que te devuelve prestashop cuando realizas esa subida se puede intentar mirar a ver que pasa.
Por cierto, a parte de upload, también puedes colgar las imágenes en la carpeta que se llama "img" que es donde están todas las imágenes
vale era por una estupidez, tenia que cambiar el campo de la url al subir el csv ya que estaba según la plantilla de prestashop asociado a otra columna y yo la tenia en otra.
no soy tan torpe parece ser.. despistada…
Hola, intento subir mi fichero csv a prestashop y sube correctamente pero sólo me detecta las 8 primeras líneas. Lo he intentado con diferentes ficheros y siempre me pasa lo mismo, las primeras 8 líneas perfectas pero del resto nada de nada. ¿Por qué puede ser?
Hola, pudiste solucionar el problema?? a mi me ocurre lo mismo, si tienes la solución te lo agradecería :)
Hola
Aunque visualmente solo se muestran de 8 a 10 líneas cuando introduces el csv y pasas al campo para elegir que quieres en cada columna, sí que detecta todas las líneas.
Concretar un poco si os pasa despues de haber pedido a prestashop que finalmente suba el csv o si ha sido antes de que ejecutarais el script de subida
Holaaa,me ocurre lo mismo que le pasa a Unknown…. la importación solo me toma las primeras 8 líneas :(
En PrestaShop 1.6 importa algunas imágenes y al finalizar muestra 377 notificaciones con: "error durante la copia de imagen". Ya probé dividir el CSV, dar los permisos respectivos de escritura a las carpetas, revisar reglas de htaccess, configuración de php.ini y sigue apareciendo este error. Ya no sé qué más hacer. Si alguien me puede ayudar, lo agradecería.
Hola, es posible que las imágenes que no puede copiar sea porque son enlaces rotos, osea las urls no llevan a la imagen, por lo que sea. No sé cuántos productos estás importando, si son muchísimos es normal que algunos tenga mal la imagen. También podría ser que te quedes sin espacio web, o alcances el límite de consumo de inodos.
Buenos días, lo que quiero es modificar uno de los campos de todos los productos. Lo que ocurre, que en el csv hay algunos productos que no tengo en la web y que no quiero subir. En cambio si quiero modificar los productos que si tengo tanto en csv como en web. ¿Es esto posible?
Hola,
ya he probado todo y no hay forma…me sale este error
No Name (ID: No ID) no se puede guardar
Property Category->name is empty
subo el archivo y bien,pero luego solo me sale una columna con un desplegable en vez de todas para relacionarlas entre sí,alguien sabe a que se debe esto?
mil gracias
Me pasa lo mismo adjunto el XML que le envio a PrestaShop