Una de las preguntas más típicas que me hacen los clientes cuando les creo una tienda online es por el formato que deben tener los archivos CSV para importar catálogos de productos de sus proveedores.
Está claro, la alternativa sería dar de alta cientos o miles de productos a mano, y eso no es ni viable ni razonable, a nadie se le ocurre.
Como ya sabrás, WooCommerce tiene su propio sistema de importación de productos, que es bastante fácil de usar, pues es un asistente que te va preguntando la asignación de las cabeceras del archivo que estás importando para que encaje con los campos de producto que reconoce WooCommerce.
Esto ya lo vimos en la guía para importar y exportar productos en WooCommerce, pero te recomiendo que le vuelvas a echar un vistazo, para entender cómo funciona, y verás que es muy intuitivo y sencillo.
Pero ¿esto soluciona el problema de la importación de catálogos de productos de proveedores?
En parte sí, porque siempre puedes desde el asistente ir asignando sus cabeceras de la tabla a los elementos reconocibles por WooCommerce, pero siempre será mejor ofrecerle al proveedor una base de tabla, con las cabeceras que WooCommerce reconoce automáticamente, y cómo deben estar rellenas.
Será mucho más fácil para tu proveedor y perderéis ambos menos tiempo en pruebas, errores e intentos fallidos de importación.
Cómo deben ser las cabeceras de un archivo CSV de importación de WooCommerce
Así que, lo ideal sería que facilites a tu proveedor esta lista de las cabeceras estándar de WooCommerce para los ficheros de importación y de cómo debe rellenarse cada celda correspondiente a cada cabecera para una importación sin errores, rápida, eficaz para ambos.
Directrices generales del CSV
- El CSV debe estar en formato UTF-8.
- Cualquier fecha debe especificarse en la zona horaria local de la tienda.
- Si se importa un valor booleano (verdadero o falso) utiliza 1 o 0 en tu CSV.
- Los valores múltiples en un campo deben separarse con comas.
- Si se hace referencia a un ID de producto ponle al id el prefijo
id:
. Si se hace referencia a un SKU no hace falta prefijo; p.ej.id:100, SKU101
- Las metas personalizadas son posibles y se pueden importar pero solo en texto plano – no se admite ni JSON ni datos serializados.
- La jerarquía de taxonomías de términos se delimitan con
>
, los términos se separan con comas. - No se admiten datos serializados.
- Se deben subir previamente las imágenes o estar disponibles online para almacenarlas en tu tienda.
- Es posible usar URLs externas y se importan en la biblioteca de medios.
- Puedes definir el nombre de la imagen si ya existe en la biblioteca de medios.
Columnas y formatos del CSV
Nombre de columna del CSV | Asignación correcta del producto | Ejemplo | Notas |
---|---|---|---|
ID | id | 100 | Al definir esto se omiten los datos de ese ID al importar. |
Tipo | type | simple , variation, virtual | Tipo de producto. Valores válidos: simple, variable, grouped, external, variation, virtual, downloadable. Puedes separar varios valores con comas. |
SKU | sku | my-sku | Obligatorio. Se genera automáticamente si no se especifica. |
Nombre | name | Nombre de mi producto | Obligatorio. |
Publicado | status | 1 | 1 para publicado, 0 para privado, -1 para borrador. |
¿Es destacado? | featured | 1 | 1 o 0 |
Visibilidad en el catálogo | catalog_visibility | visible | Valores válidos: visible , catalog , search , hidden |
Descripción corta | short_description | Descripción corta del producto. | |
Descripción | description | Descripción completa del producto. | |
La fecha de precio rebajado empieza | date_on_sale_from | 2013-06-07 10:53:15 | Fecha o déjalo en blanco. |
La fecha de precio rebajado termina | date_on_sale_to | 2013-06-07 10:53:15 | Fecha o déjalo en blanco. |
Estado de impuestos | tax_status | taxable | Valores válidos: taxable , shipping , none |
Clase de impuestos | tax_class | standard | Se puede usar cualquier clase de impuesto existente. |
¿Hay existencias? | stock_status | 1 | 1 o 0 |
¿Se permiten reservas? | backorders | 1 | 1, 0, o notify |
¿Vendido individualmente? | sold_individually | 1 | 1 o 0 |
Peso (unidad) | weight | 100 | Solo números. |
Longitud (unidad) | length | 20 | Solo números. |
Ancho (unidad) | width | 20 | Solo números. |
Altura (unidad) | height | 20 | Solo números. |
¿Permitir valoraciones? | reviews_allowed | 1 | 1 o 0 |
Nota de compra | purchase_note | ¡Gracias por tu compra! | |
Precio | price | 20.99 | Puedes configurar el precio normal o rebajado dependiendo de otras columnas. |
Precio normal | regular_price | 24.99 | Precio no rebajado. |
Inventario | manage_stock / stock_quantity | 20 | El nivel de inventario numérico activa la gestión de inventario. Se puede usar parent para las variaciones. En blanco = sin gestión de inventario. |
Categorías | category_ids | Categoría 1, Categoría 1 > Categoría hija de 2 | Lista de las categorías. Se usa > para la jerarquía. |
Etiquetas | tag_ids | Etiqueta 1, Etiqueta 2 | Lista de etiquetas. |
Clase de envío | shipping_class_id | Nombre | Nombre de la clase de envío (si procede) |
Nombre de atributo 1 | attributes | Color | Busca un atributo global o usa texto si no está disponible. Incluye tantos como se necesite. El valor «Usado para variaciones» se aplica automáticamente. |
Attribute 1 Value(s) | attributes | Azul, Rojo, Verde | Lista de valores. Las variaciones solo necesitan 1 valor. Si hay varios se utiliza el primero. |
Attribute 1 Default | default_attributes | Azul | Valor por defecto para los productos variables. |
Attribute 1 Visible | attributes | 1 | 1 o 0. La pantalla de asignación etiqueta esto como «Visibilidad del atributo» |
Attribute 1 Global | attributes | 1 | 1 o 0. La pantalla de asignación etiqueta esto como «¿Es un atributo global?» |
Images | image_id / gallery_image_ids | https://dondesea.com/imagen1.jpg, https://donsesea.com/imagen2.jpg | La primera es la imagen destacada. |
Download 1 Name | downloads | Descarga 1 | |
Download 1 URL | downloads | url.zip | |
Download Limit | download_limit | 1 | n/a o un límite. |
Download Expiry Days | download_expiry | 1 | n/a o un día límite. |
Parent | parent_id | id:100 , SKU-1 | Define el ID padre. Usado para variaciones. Puede ser solo un ID numérico como id:100 o un SKU. La exportación usará el SKU cuando sea posible. |
Upsells | upsell_ids | id:100, id:101 , SKU-1, SKU-2 | Lista de IDs. Puede ser solo un ID numérico como id:100 o un SKU. La exportación usará el SKU cuando sea posible. |
Cross-sells | cross_sell_ids | id:100, id:101 , SKU-1, SKU-2 | Lista de IDs. Puede ser solo un ID numérico como id:100 o un SKU. La exportación usará el SKU cuando sea posible. |
Position | menu_order | 1 | Orden del menú, se utiliza para ordenar. |
CSV de ejemplo
Si quieres, en este enlace puedes descargar un CSV con productos de ejemplo con algunos de los valores que hemos visto, pero ten en cuenta que no están todos.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Hola, gracias por el post.
A la hora de subir el .csv al importador de Woocommerce, la ruta de la imagen en .csv es /wp-content/uploads/2020/09/foto1.jpg (por ejemplo), pero cuando realiza la importación, veo que el producto no ha cogido la imagen. ¿Qué puede pasar?.
Gracias.
Hola Eduardo, te faltaría añadir la ruta completa de la web:
https://www.tupaginaweb.com/wp-content/uploads/2020/09/foto1.jpg
Saludos
Bueno dias como se puede subir un csv delimitado por tabulaciones?
Hola. ¿Cómo puedes hacer para que los productos se importen desde la url externa de un proveedor? ¿Lo permite woocommerce de forma nativa?¿Algún plugin?
Gracias por la ayuda
Hola Fernando, gracias por el post es de gran ayuda. Referente a las categorías:
¿Cómo sería la taxonomía para un producto que pertenece a 2 categorías diferentes?
¿y para otro producto que pertenece a 2 subcategorías bajo una misma categoría?
¿y un producto que pertenece a 2 subcategorías de 2 categorias diferentes?
Gracias!
Buenas tardes. Tengo un problema al Importar los productos por medio de un archivo CSV. Ojala me puedan ayudar!
El problema es que no esta tomando la Imagen de mi URL. en la celda Imágenes puse el URL de la imagen previamente cargada a los medios de mi web.
https://miweb.com.mx/wp-content/uploads/2021/11/P264.png
Cabe destacar que sólo es una la imagen que necesito subir. pero cuando hago la importación todo bien menos el hecho de que el producto se sube sin la imagen.
Hola. He realizado la importación del csv y lo carga bien pero no me aparece el stock ni el precio en la web, ¿cómo puedo solucionarlo?
Gracias de antemano