Inventario
Importación masiva

Importación masiva (CSV)

Cuando arrancas con FinMova o cuando un proveedor te envía un catálogo grande, no quieres capturar productos uno por uno. La importación masiva te permite cargar hasta 2,000 productos por archivo desde un CSV, con validación por fila y reporte de errores.

Ubicación: Inventario → Productos y servicios → Importar.

Cuándo usar la importación masiva

  • Carga inicial del catálogo al adoptar FinMova.
  • Catálogo de proveedor que te llega en Excel.
  • Migración desde otro sistema.
  • Actualización masiva de precios o costos.

Formato del CSV

FinMova espera una fila por producto, con encabezados en la primera fila. Las columnas reconocidas:

ColumnaObligatoriaTipoValor por defecto
codeTexto ≤ 64(vacío)
barcodeTexto ≤ 64(vacío)
nameTexto ≤ 200
descriptionTexto ≤ 2,000(vacío)
typeproduct o serviceproduct
priceNúmero ≥ 0
costNúmero ≥ 00
taxRateNúmero 0 – 10018
taxIncludedtrue / falsefalse
trackInventorytrue / falsetrue
unitOfMeasureTexto ≤ 16UND
categoryNameTexto ≤ 120(vacío)
isActivetrue / falsetrue

Importante. name y price son los únicos campos estrictamente obligatorios. Si una fila no los lleva, se descarta como error.

Idempotencia — usa code como llave

El comportamiento de la importación depende de si la fila tiene code o no:

¿Tiene code?¿code existe en BD?Resultado
✅ Sí✅ SíActualiza el producto existente con los nuevos valores.
✅ Sí❌ NoInserta un producto nuevo con ese code.
❌ NoInserta un producto nuevo (sin código). Genera advertencia.

Buena práctica. Usa siempre code en tus CSV. Te permite reimportar el mismo archivo para actualizar datos sin generar duplicados.

Plantilla CSV

Estructura mínima recomendada:

code,name,price,cost,taxRate,unitOfMeasure,categoryName
P-001,Café molido 1kg,750,500,18,UND,Alimentos
P-002,Té verde 100g,300,180,18,UND,Alimentos
P-003,Servicio consultoría,2500,0,18,HRS,Servicios

Cuidado con Excel. Si abres un CSV en Excel y vuelves a guardar, puede:

  • Cambiar el separador (de coma a punto y coma).
  • Reformatear números (precio "1,000" interpretado como "1" y "000").
  • Corromper UTF-8 (acentos se rompen).

Si vas a editar el CSV, hazlo con un editor de texto (VS Code, Sublime) o usa Google Sheets que respeta CSV mejor.

Categorías

Si el CSV trae categoryName:

  • Si la categoría existe, asigna el producto a ella.
  • Si no existe, FinMova la crea automáticamente (sin padre).

Buena práctica. Si tu catálogo tiene categorías jerárquicas, créalas primero a mano y deja categoryName solo con el nombre de hoja. La importación no maneja "padre/hijo" en el CSV.

Hacer la importación

1 · Abre el flujo

Inventario → Productos y servicios → Importar.

2 · Sube el archivo

Adjunta el CSV. FinMova previsualiza las primeras filas para que confirmes que el formato es el esperado.

3 · Validación por fila

FinMova revisa cada fila:

  • Campos obligatorios.
  • Rangos numéricos.
  • Largos máximos.
  • Coherencia (precio ≥ 0, taxRate 0-100, etc.).

Si hay filas con errores:

  • Las filas válidas se importan.
  • Las filas con errores se reportan en pantalla con el número de fila y la causa.

Buena práctica. Después de la primera importación, revisa el reporte de errores y corrige el CSV antes de reimportar. Reimportar con code correcto actualiza los productos previamente importados.

4 · Confirmación

Al terminar, FinMova muestra:

  • Filas insertadas (productos nuevos).
  • Filas actualizadas (productos con code existente).
  • Filas con error y motivo.

Exportar el catálogo

El flujo inverso también está disponible: Exportar CSV descarga todo tu catálogo en el mismo formato. Útil para:

  • Backup del catálogo.
  • Editar masivamente en Excel / Sheets y reimportar.
  • Compartir con tu contador o ERP externo.

Edición masiva (sin CSV)

Para cambios rápidos sin pasar por archivo, desde la lista de productos puedes:

  1. Seleccionar varios productos con el checkbox.
  2. Elegir acción:
    • price_set — fijar precio absoluto (todos los seleccionados al mismo precio).
    • price_factor — multiplicar por un factor (1.05 = +5 %, 0.9 = −10 %).
    • activate — marca activos.
    • deactivate — marca inactivos.
  3. Aplicar.

Cuidado. La edición masiva no tiene "deshacer". Confirma tu selección antes de aplicar. Para reversiones grandes, mejor exportar antes, hacer la acción, e importar el CSV viejo si algo sale mal.

Límites

LímiteValor
Filas por archivo2,000
Tamaño del archivodepende del plan; típicamente unos pocos MB
Tiempo de procesamientodepende del volumen; ~30 segundos para 1,000 filas

Si tu catálogo supera las 2,000 filas, divídelo en varios archivos. La idempotencia por code te permite combinar sin duplicar.

Existencias no se importan aquí

La importación masiva crea / actualiza productos, no existencias. Para cargar stock inicial masivo:

  • Una pantalla por producto-almacén con Ajustar existencias.
  • O coordina con soporte para una carga inicial asistida.

Quién puede importar

RolImportarExportarEdición masiva
owner / admin
accountant
sales
viewer

Errores comunes

  • "Nombre requerido" — la fila no tiene name.
  • "Precio no puede ser negativo" — revisa el valor.
  • "Sin filas para importar" — el CSV está vacío o el separador es incorrecto.
  • Tildes / ñ aparecen rotas — el CSV no está en UTF-8; re-guardar con codificación UTF-8.
  • "Valor demasiado alto" — precio o costo supera el tope (999,999,999,999).

Siguientes pasos

Manifiesto de capturas

  • assets/inventario/18-importar-csv-upload.png — pantalla para subir el archivo.
  • assets/inventario/19-preview-csv.png — previsualización de las primeras filas.
  • assets/inventario/20-reporte-errores.png — reporte tras importar (insertadas / actualizadas / errores).
  • assets/inventario/21-edicion-masiva-acciones.png — selección múltiple + selector de acción (set / factor / activate / deactivate).
¿Te resultó útil este artículo?

Última actualización: