> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riqra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importa productos desde Excel

> Crea o actualiza productos y variantes en bloque con una plantilla de Excel.

La importación de productos te permite crear y actualizar el catálogo con un archivo de Excel. Cada fila representa una variante. El `handle` identifica al producto y el `sku` identifica a la variante. Las variantes de un mismo producto se agrupan con el mismo `handle`.

Puedes iniciar una importación desde **[Productos](https://app.riqra.com/products)**.

<Note>
  Esta guía corresponde a la nueva plataforma. Si tu panel utiliza archivos CSV, selecciona **Legacy** en el selector de versión.
</Note>

## Antes de empezar

* Descarga la plantilla o exporta tus productos. Las columnas se reconocen por su nombre. Puedes borrar las que no vas a cambiar, pero conserva siempre `handle` y `sku`.
* Guarda el archivo como Excel `.xlsx`, sin contraseña. No se admiten archivos `.xls` ni `.csv`.
* El archivo puede pesar hasta 10 MB y contener hasta 10 000 filas de datos.
* Un producto no puede tener más de 500 variantes.
* Crea primero los tipos de producto, marcas, categorías, impuestos, atributos y opciones que vas a escribir en el archivo. La importación los relaciona por nombre, pero no los crea.
* Si vas a actualizar productos existentes, usa **Exportar** en la página de productos y edita el archivo descargado. La exportación utiliza el mismo formato de la importación.

<Warning>
  Un encabezado que no pertenece a la plantilla, o repetido, rechaza el archivo completo. Si cambias el nombre de una columna, la importación no la reconoce.
</Warning>

## Importa el archivo

<Steps>
  <Step title="Abre la importación">
    En **Productos**, haz clic en **Importar**.
  </Step>

  <Step title="Descarga la plantilla">
    Haz clic en **Descargar plantilla**. Completa ese archivo o copia en él los datos que ya preparaste.
  </Step>

  <Step title="Selecciona el archivo">
    Haz clic en el área de carga y elige el archivo `.xlsx`.
  </Step>

  <Step title="Inicia la importación">
    Haz clic en **Importar**. El archivo se carga, todas las filas se validan y los cambios se aplican en segundo plano.
  </Step>

  <Step title="Revisa el resultado">
    La pantalla de detalle muestra cuántos productos se crearon o actualizaron. También puedes consultar el trabajo desde **Configuración → Transferencia de datos**.
  </Step>
</Steps>

## Organiza productos y variantes

El `handle` es la URL del producto. Corresponde al campo **URL del producto** de la sección SEO del panel y a la última parte de la dirección `/products/{handle}` de tu tienda. Repítelo en todas las filas de las variantes del producto.

Las columnas del producto, como `nombre`, `tipo`, `marca` y `categorias`, pueden ir solo en la primera fila de cada `handle`. De cada columna se usa el primer valor no vacío. Las columnas de la variante, como `precio`, las opciones, las medidas y el inventario, se aplican al `sku` de su fila.

Un producto sin opciones tiene una sola variante, por lo que ocupa una fila. Si un producto tiene opciones, agrega una fila por cada combinación.

Por ejemplo, un producto de tipo **Ropa** con los atributos diferenciadores **Color** y **Talla** puede verse así:

| `handle` | `sku` | `nombre` | `tipo` | `precio` | `opcion1_nombre` | `opcion1_valor` | `opcion2_nombre` | `opcion2_valor` | `inventario` |
| - | - | - | - | - | - | - | - | - | - |
| `camiseta-basica` | `CAM-AZ-M` | Camiseta básica | Ropa | `49.90` | Color | Azul | Talla | M | `20` |
| `camiseta-basica` | `CAM-AZ-L` | | | `49.90` | Color | Azul | Talla | L | `15` |
| `camiseta-basica` | `CAM-NE-M` | | | `49.90` | Color | Negro | Talla | M | `12` |

<Note>
  El tipo de producto debe contener los atributos diferenciadores y las opciones que escribas. Cada variante nueva debe incluir un valor para todos los atributos diferenciadores de ese tipo, y dos variantes de un producto no pueden repetir la misma combinación.
</Note>

## Cómo se resuelve cada fila

| `handle` | `sku` | Resultado |
| - | - | - |
| Vacío | Vacío | Error. |
| Vacío | Nuevo | Crea un producto con una sola variante. Su `handle` se genera a partir del `nombre`. |
| Vacío | Existente | Error: para actualizar una variante indica el `handle` de su producto. |
| Existente | Vacío | Actualiza solo los datos del producto. No cambia ninguna variante. |
| Existente | Existente del mismo producto | Actualiza el producto y esa variante. |
| Existente | Nuevo | Agrega una variante al producto. |
| Existente | Existente de otro producto | Error: una variante no puede cambiar de producto. |
| Nuevo | Nuevo | Crea un producto con exactamente ese `handle`. Las filas con el mismo `handle` son sus variantes. |
| Nuevo | Existente | Error: el `sku` pertenece a otro producto. |

La importación nunca cambia la URL de un producto. Un `handle` existente actualiza ese producto y uno nuevo crea otro. Para cambiar la URL, edita el campo **URL del producto** en el panel.

Cuando el `handle` está vacío, se genera a partir del `nombre`. Si ya lo usa otro producto u otra fila del mismo archivo, se le agrega un número: `polo-azul`, `polo-azul-2`, `polo-azul-3`. Un `handle` que escribes tú se usa tal cual, y si no es válido la fila falla. Así, dos filas con `handle` vacío y el mismo `nombre` crean dos productos distintos.

<Warning>
  Un `handle` mal escrito en una fila con un `sku` nuevo crea un producto nuevo. Revisa el resultado de la importación.
</Warning>

Un producto sin tipo tiene una sola variante, y el tipo de un producto existente no cambia por importación. Para crear un producto con variantes, escribe su `handle` y su `tipo` desde el principio.

### Para crear

* Un producto necesita `nombre` y al menos una fila con `sku`.
* Una variante necesita su `sku`. Si el tipo tiene atributos diferenciadores, también un valor para cada uno.
* `estado` vacío crea el producto como borrador, y `controlar_stock` vacío crea la variante controlando stock, igual que en el panel.

### Para actualizar

* Un producto solo necesita su `handle`.
* Una variante necesita el `handle` de su producto y su `sku`. Si dejas vacías las columnas de opciones, la variante conserva su combinación.
* Las celdas vacías, y las columnas que no están en el archivo, no cambian el valor guardado.
* Una lista llena (`categorias`, `etiquetas`, `sinonimos`) reemplaza la lista completa guardada; vacía la conserva.
* Las variantes que el archivo no menciona se conservan sin cambios.

## Columnas del producto

| Columna | Cómo completarla |
| - | - |
| `handle` | La URL del producto. Usa letras minúsculas, números y guiones, sin espacios ni tildes, por ejemplo `camiseta-basica`. Máximo 255 caracteres. Vacío solo al crear un producto de una variante. |
| `nombre` | Obligatorio al crear un producto. Máximo 200 caracteres. |
| `tipo` | Nombre de un tipo de producto existente. Es necesario cuando el producto usa atributos diferenciadores. No puede cambiar en un producto existente, así que un tipo distinto rechaza la fila. |
| `descripcion` | Descripción del producto. Máximo 10 000 caracteres. |
| `marca` | Nombre de una marca existente. |
| `categorias` | Nombres de categorías activas, de cualquier nivel. Separa varias con una barra vertical. |
| `estado` | Usa `borrador`, `publicado` o `archivado`. Un producto nuevo queda como borrador si dejas la celda vacía. |
| `impuesto` | Nombre de un impuesto de tu tienda. Vacío en un producto nuevo usa el impuesto predeterminado. |
| `etiquetas` | Separa varias con una barra vertical. |
| `sinonimos` | Nombres alternativos para la búsqueda. Separa varios con una barra vertical. Puedes agregar hasta 10. |
| `seo_titulo` | Título para buscadores. Máximo 60 caracteres. |
| `seo_descripcion` | Descripción para buscadores. Máximo 160 caracteres. |
| `imagenes` | Una o más URL públicas de imágenes. Deben usar `https`. Separa hasta 50 con una barra vertical; la primera será la portada. Se admiten imágenes JPEG, PNG y WebP de hasta 10 MB cada una. |

## Columnas de cada variante

| Columna | Cómo completarla |
| - | - |
| `sku` | Identifica la variante. Único dentro del archivo. Máximo 64 caracteres. Conserva esta columna con formato de texto para evitar que Excel cambie los SKU numéricos. Queda vacío en una fila que solo actualiza el producto, y esa fila no admite columnas de variante. |
| `codigo_barras` | Código de barras (EAN) de la variante. Máximo 64 caracteres. Conserva la columna con formato de texto. PedidosIA lo usa para asignar líneas de órdenes de compra. |
| `precio` | Precio de venta fijo en la lista de la política comercial predeterminada; las demás listas se escriben con la [importación de precios](/plataforma/transferencia-de-datos/importar-precios). Usa un número positivo o cero, con punto y como máximo los decimales de tu moneda (2 en soles), sin símbolo de moneda ni separador de miles. |
| `costo` | Lo que te cuesta adquirir o producir la variante. Usa el mismo formato de `precio`. |
| `precio_lista` | Precio de comparación, que la tienda muestra tachado cuando es mayor que el precio de venta. Usa el mismo formato de `precio`. |
| `controlar_stock` | El interruptor **Controlar stock** de la variante. Usa `si` o `no`. Vacío en un pack. |
| `opcion1_nombre` a `opcion3_nombre` | Nombre exacto de un atributo diferenciador existente, por ejemplo `Color` o `Talla`. |
| `opcion1_valor` a `opcion3_valor` | Opción existente para el atributo correspondiente, por ejemplo `Azul` o `M`. Completa siempre el nombre y el valor de cada opción. |
| `peso` | Peso en kilogramos. Usa un número positivo o cero, con punto y hasta tres decimales. |
| `largo`, `ancho`, `alto` | Dimensiones en centímetros. Usa un número positivo o cero, con punto y hasta dos decimales. Si completas una dimensión, debes completar las tres. |
| `inventario` | Existencias en la ubicación predeterminada. Usa un número entero positivo o cero. Solo se acepta en una variante que controla stock, incluida una que la misma fila activa con `controlar_stock`, y no puede quedar por debajo de las unidades comprometidas por pedidos en esa ubicación. Vacío en un pack. La exportación lo deja vacío en los packs y en las variantes que no controlan stock. |
| `imagenes_variante` | Una o más URL públicas de imágenes de esta variante. Deben usar `https`. Separa hasta 10 con una barra vertical; la primera será la portada de la variante. Se admiten los mismos formatos y el mismo tamaño máximo que en `imagenes`. |

<Tip>
  Para varias categorías, etiquetas, sinónimos o imágenes, usa `|` sin comas. Ejemplo: `Polos|Ofertas`.
</Tip>

Una variante sin `sku` no se puede editar por importación. La exportación deja vacías sus columnas de variante, y una fila sin `sku` con alguna columna de variante llena se rechaza con el error "Indica el sku para cambiar los datos de la variante".

### Packs

Los [packs](/plataforma/productos/packs) se crean y se arman solo en el panel: un `handle` nuevo siempre crea un producto normal. La fila de un pack existente actualiza sus columnas de producto y de variante, salvo `controlar_stock` e `inventario`: un pack no tiene stock propio, así que cualquiera de las dos llena rechaza la fila con el error "Los packs no tienen stock propio". La exportación las deja vacías en los packs. Los componentes no están en el archivo y la importación no los cambia.

### Precio fijo y tramos por cantidad

Los tramos por cantidad se editan solo con la [importación de precios](/plataforma/transferencia-de-datos/importar-precios). En esta importación:

* La exportación deja `precio` vacío en una variante con tramos en la lista de la política comercial predeterminada.
* Un `precio` vacío conserva los tramos.
* Un `precio` lleno fija un precio único y borra los tramos, igual que un precio fijo en la importación de precios o en el panel.

## Corrige errores de validación

Si una fila tiene errores, no se aplica ninguna fila del archivo. Descarga el reporte, que es tu mismo archivo con la columna `errores`. Corrige las filas indicadas y vuelve a importarlo. El flujo completo está en [Reporte de errores](/plataforma/transferencia-de-datos/reporte-de-errores).

Los errores más comunes son un encabezado mal escrito, un `handle` con espacios, un `sku` repetido, un `sku` que pertenece a otro producto, una marca o categoría inexistente, una opción que no pertenece al tipo de producto, un precio con más decimales que tu moneda, dimensiones incompletas, un `inventario` en una variante que no controla stock o por debajo de lo comprometido, `controlar_stock` o `inventario` en un pack, o una columna de variante llena en una fila sin `sku`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.