Saltar al contenido
← Volver al Journal
Guías
7 min de lectura

Valida tu catálogo CSV antes de importar diez mil filas

Prueba diez filas de catálogo y detecta SKU duplicados, variantes incompletas, precios y texto dañados antes de importar. Ejemplo con resultados comprobables.

Por Equipo Frihet
Valida tu catálogo CSV antes de importar diez mil filas

TL;DR: Para validar un CSV de catálogo, comprueba primero cómo lo interpreta el destino; después revisa columnas, identificadores, variantes y valores. Ensaya una muestra con errores conocidos y valida el archivo completo antes de cargarlo. Que diez filas pasen no demuestra que las demás estén bien ni que una actualización conserve todos los datos.

Contenidos

Validar un CSV de catálogo empieza por saber qué cambiará al importarlo. Después vienen las columnas, los identificadores y los valores. Una hoja que se abre sin avisos puede contener dos productos con el mismo SKU o una talla sin valor. Un archivo aceptado también puede actualizar el producto equivocado.

La prueba siguiente sirve para aprender a distinguir esos fallos. Son diez filas inventadas, con resultados comprobables. No es una muestra de una tienda real ni un archivo preparado para Shopify o Frihet: es un esquema didáctico propio que tendrás que sustituir por el del destino.

Empieza por el destino, no por el archivo del proveedor

Descarga una plantilla vigente o exporta un producto representativo desde la herramienta que recibirá los datos. Anota si vas a crear, actualizar o combinar ambas operaciones; qué identifica un registro; qué campos exige; y qué significa dejar una celda vacía. Conserva esa definición junto al archivo de trabajo.

En Shopify, por ejemplo, la sobrescritura se basa en el identificador de URL, llamado handle. Su documentación también exige revisar las dependencias entre campos de variante y opciones. Nuestra regla de SKU no describe cómo identifica productos ese importador. Formato de productos de Shopify.

Si mueves datos entre sistemas, separa esta revisión de la conexión entre tienda y gestión. Un conector disponible no demuestra que acepte las columnas de tu proveedor.

Define unas reglas que puedas comprobar

En el ejercicio, cada fila representa una referencia vendible. product_key agrupa sus variantes; sku debe estar presente y ser único. name es obligatorio. Una variante necesita option_name y option_value; ambos vacíos significan que no declaramos una opción. Si están completos, su combinación con product_key no puede repetirse.

El archivo utiliza UTF-8, comas entre campos y ocho columnas en el orden mostrado. price admite números no negativos con punto y dos decimales, sin separador de miles. En currency exigimos EUR para esta prueba. Son condiciones elegidas para esta prueba, no reglas universales ni precios comerciales. No hay conversión de moneda ni cálculo fiscal.

Los SKU se conservan como texto: 001 no se convierte en 1. Microsoft explica cómo evitar conversiones automáticas al cargar identificadores en Excel. Define el tipo de columna antes de transformar los datos; cambiar su apariencia después no reconstruye el original. Conservar ceros iniciales en Excel.

Diez filas, incluida una que parece correcta

Copia el bloque como texto para examinarlo. La última fila tiene una columna menos de forma deliberada. row_id es el identificador de la prueba; R01 está en la segunda línea del archivo, porque la primera contiene las cabeceras.

row_id,product_key,sku,name,option_name,option_value,price,currency
R01,P01,001,Taza,Color,Natural,19.90,EUR
R02,P01,002,Taza,Color,Ink,19.90,EUR
R03,P02,001,Bolsa,,,29.00,EUR
R04,P03,,Cuaderno,,,8.50,EUR
R05,P04,005,Café,,,6.00,EUR
R06,P05,006,Vaso,,,"12,50",EUR
R07,P06,007,Camiseta,Size,,24.00,EUR
R08,P01,008,Taza,Color,Natural,19.90,EUR
R09,P07,009,,,,15.00,EUR
R10,P08,010,Bandeja,,,25.00
FilaResultado esperadoQué investigar
R01Bloquear: SKU y variante duplicadosComparar con R03 y R08; esta fila tampoco queda aprobada.
R02Pasa las reglas del ejercicioConservar como control; no demuestra compatibilidad con el destino.
R03Bloquear: SKU duplicado001 identifica también la taza de R01.
R04Bloquear: falta SKUPedir la referencia; no inventarla a partir del nombre.
R05Revisar textoContrastar Café con el original del proveedor.
R06Bloquear: formato de precioLa coma decimal contradice la regla elegida.
R07Bloquear: variante incompletaHay Size sin valor.
R08Bloquear: variante duplicadaP01 + Color + Natural ya aparece en R01, aunque cambie el SKU.
R09Bloquear: falta nombreIdentificar el producto antes de continuar.
R10Bloquear: estructura incompletaHay siete campos; se esperaba también la columna de moneda.

El resultado es ocho filas bloqueadas, una pendiente de revisión y una que pasa. Son estados de filas, no ocho errores independientes: R01 tiene dos conflictos. Puedes comprobar cada resultado comparando las claves entre filas y los campos con las reglas anteriores.

Un duplicado no se resuelve eligiendo la primera fila

R01 parece completa cuando se lee sola. El conflicto aparece al recorrer todo el conjunto: comparte SKU con una bolsa y combinación de variante con otra taza. Por eso la comprobación debe marcar a todos los miembros del grupo, no aprobar al primero y rechazar al último.

Pide a quien mantiene el catálogo que confirme si hay una referencia equivocada, un producto repetido o una variante mal descrita. Guarda la decisión con el valor anterior, el nuevo y su motivo. No borres R08 solo porque su nombre coincida; un catálogo real puede distinguir material, tamaño u otras opciones que esta hoja simplificada no incluye.

Para tu lote real, compara también con las referencias que ya existen en el destino. Un SKU único dentro del CSV todavía puede coincidir con otro producto fuera del archivo. Define además cómo tratar espacios y diferencias de mayúsculas antes de normalizar: limpiar un identificador puede unir referencias que debían seguir separadas.

Separa formato, texto y significado

R06 contiene "12,50": las comillas mantienen el precio en una sola celda. Contar comas a mano daría un diagnóstico incorrecto; utiliza un lector CSV. El RFC 4180 describe esta convención de comillas, pero no define qué columnas necesita un catálogo ni cómo interpretar un precio. La sintaxis de R06 es válida; falla nuestra regla del campo.

No hagas una sustitución global de comas por puntos: cambiarías tanto separadores como contenido. Identifica primero el campo, confirma el formato de origen y convierte su valor de forma controlada. Un vacío tampoco equivale a cero; registrar precio cero sería una decisión comercial que nadie ha confirmado.

R05 exige otra comprobación. El texto Café está guardado con bytes UTF-8 válidos; eso no demuestra que el nombre sea correcto. El aviso de este ejercicio está preparado para ese valor concreto, no es un detector universal de codificación. Contrasta el nombre con la fuente y revisa en qué paso se deformó. Volver a guardar texto ya dañado como UTF-8 no recupera automáticamente sus caracteres.

Antes de actualizar, comprueba qué se conserva

Una columna ausente y una celda vacía pueden producir cambios distintos. Shopify documenta que, al sobrescribir, un campo opcional incluido vacío puede vaciar el existente; omitir su columna puede conservarlo. También advierte que una importación iniciada no se puede cancelar y recomienda una copia previa. Condiciones de importación de Shopify.

La identidad de una variante también puede cambiar: Shopify advierte que modificar valores de opciones elimina sus identificadores anteriores y crea otros nuevos. Revisa las conexiones que dependan de ellos antes de corregir una opción mediante CSV. Opciones e identificadores de variantes.

Prepara una comparación entre estado anterior, cambio previsto y resultado observado. Incluye los campos que deben permanecer iguales. Ensaya en un entorno de prueba disponible y conserva juntas las filas relacionadas de un producto; diez líneas consecutivas no siempre representan diez productos completos.

En una operación real, elegirías casos distintos: producto simple, varias opciones, caracteres acentuados, precio vacío y actualización de una referencia existente. Esa muestra prueba el recorrido. Después aplica las reglas al archivo completo: los duplicados pueden estar separados por miles de filas. Consulta las integraciones para identificar las herramientas de tu flujo, y confirma el contrato de cada una.

Deja una decisión que otra persona pueda revisar

Antes de cargar, anota versión del archivo, destino, responsable, reglas aplicadas, incidencias resueltas y comparación del ensayo. Si falta una confirmación, conserva el lote pendiente; un mensaje de «importado» no sustituye esa revisión.

Frihet admite importación CSV de productos, dentro de sus funciones de gestión. El esquema y las comprobaciones manuales de este artículo son independientes: no prueban campos admitidos ni validaciones automáticas de Frihet. Usa la plantilla de tu importador y empieza por resolver las filas que todavía no puedes explicar.

Compartir

¿Te ha sido útil este artículo?

Preguntas frecuentes

¿Estas comprobaciones sustituyen las reglas del importador?

No: el esquema y las comprobaciones manuales son un ejercicio independiente. Usa la plantilla vigente del destino y verifica sus reglas de creación, actualización y campos vacíos.

¿Validar diez filas garantiza que el resto del catálogo está bien?

No. La muestra sirve para ensayar el flujo; después aplica las reglas al archivo completo y compara con las referencias existentes en el destino, porque puede haber duplicados fuera de la muestra.

Compara con

Frihet — Gestión sin drama

Empieza gratis