Migrar datos de Excel y Access a SuiteCRM: guía de importación masiva

Migración Excel a SuiteCRM

Muchas pymes y departamentos comerciales gestionan sus contactos, clientes y oportunidades en hojas de Excel o bases de datos Access. Cuando el negocio crece y estas herramientas se quedan cortas, la migración a un CRM profesional como SuiteCRM es el paso lógico. Pero pasar de una hoja de cálculo con miles de filas (a menudo con datos inconsistentes) a un CRM estructurado requiere un proceso cuidadoso. En esta guía explicamos cómo hacerlo correctamente.

Los problemas típicos de datos en Excel/Access

Antes de importar nada, hay que ser consciente de los problemas habituales en datos gestionados manualmente:

  • Duplicados: el mismo contacto aparece con variaciones (David García, D. García, david garcia).
  • Formatos inconsistentes: teléfonos con y sin prefijo, fechas en diferentes formatos, direcciones abreviadas.
  • Datos vacíos o incompletos: campos obligatorios para el CRM que no existen en el Excel.
  • Relaciones implícitas: en Excel, la empresa aparece como texto en una columna del contacto. En un CRM, empresa y contacto son entidades separadas relacionadas.
  • Múltiples hojas o tablas: datos dispersos entre varias hojas de Excel o tablas de Access sin relaciones explícitas.

Fase 1: Auditoría y limpieza de datos

Esta fase es la más importante y la que más tiempo ahorra a largo plazo. Pasos recomendados:

Inventario de datos

Lista todas las fuentes de datos (archivos Excel, bases Access, otros) y documenta qué contiene cada una: columnas, tipos de datos, volumen de registros.

Deduplicación

Antes de importar al CRM, elimina duplicados en el origen. Herramientas útiles:

  • En Excel: función QUITAR.DUPLICADOS o Power Query para coincidencia fuzzy.
  • En Python: librería pandas con drop_duplicates() y la librería fuzzywuzzy para matching aproximado.
  • OpenRefine: herramienta gratuita excelente para limpieza y deduplicación de datos.

Normalización

  • Estandarizar formatos de teléfono (formato E.164: +34612345678).
  • Normalizar nombres de empresa (decidir si «S.L.», «SL», «S. L.» son lo mismo).
  • Unificar formatos de fecha (ISO 8601: YYYY-MM-DD).
  • Validar emails con expresión regular.
  • Rellenar campos obligatorios con valores por defecto donde sea necesario.

Fase 2: Mapeo a la estructura de SuiteCRM

SuiteCRM organiza los datos en módulos interrelacionados. El mapeo típico desde una hoja de Excel de clientes:

Columna ExcelMódulo SuiteCRMCampo SuiteCRM
Nombre empresaAccountsname
CIF/NIF empresaAccountssic_code o campo custom
Dirección empresaAccountsbilling_address_street
Nombre contactoContactsfirst_name + last_name
Email contactoContactsemail1
Teléfono contactoContactsphone_work
CargoContactstitle
OportunidadOpportunitiesname
Valor oportunidadOpportunitiesamount
Estado oportunidadOpportunitiessales_stage

El punto crítico es que una sola fila de Excel a menudo contiene datos que en SuiteCRM pertenecen a módulos diferentes (empresa + contacto + oportunidad). Hay que separarlos en archivos CSV independientes para importar por módulo.

Fase 3: Preparar los CSVs de importación

Desde Excel o Access, genera CSVs separados:

  1. Accounts.csv: un registro por empresa única (deduplicada).
  2. Contacts.csv: un registro por contacto, con una columna que referencia el nombre de la empresa (para vincular con el Account).
  3. Opportunities.csv: si tienes datos de oportunidades comerciales, un registro por oportunidad referenciando empresa y contacto.

Asegúrate de que los CSVs usen codificación UTF-8 y separador de coma o punto y coma (configurable en el importador de SuiteCRM).

Desde Access

Microsoft Access permite exportar tablas y consultas a CSV directamente. Para relaciones complejas, crea una consulta que combine las tablas necesarias y exporta el resultado. Alternativamente, usa Python con la librería pyodbc para conectar directamente a la base Access:

import pyodbc
import pandas as pd

conn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\datos\clientes.accdb;')
df = pd.read_sql('SELECT * FROM Clientes', conn)
df.to_csv('contacts.csv', index=False, encoding='utf-8')

Fase 4: Importar en SuiteCRM

Importador nativo

SuiteCRM tiene un importador CSV integrado accesible desde cada módulo (Accounts → Import). El asistente permite:

  1. Subir el archivo CSV.
  2. Configurar delimitador, codificación y formato de fecha.
  3. Mapear columnas del CSV a campos de SuiteCRM (se puede guardar el mapeo para reutilizar).
  4. Configurar detección de duplicados (por email, nombre o campo custom).
  5. Previsualizar antes de confirmar la importación.
  6. Ejecutar y revisar el log de errores.

API REST para volúmenes grandes

Para importaciones de más de 10.000 registros, el importador web puede ser lento. En estos casos, usar la API REST V8 con un script que procese los datos en lotes es más eficiente y permite mejor gestión de errores.

Fase 5: Verificación y configuración post-importación

  • Verificar conteos: ¿coincide el número de registros importados con el esperado?
  • Muestreo aleatorio: revisar 20-30 registros al azar verificando que todos los campos están correctos.
  • Relaciones: verificar que los contactos están vinculados a sus empresas correctas.
  • Configurar vistas y filtros que el equipo necesitará.
  • Crear dashboards básicos para que el equipo empiece a ver valor inmediato.

Errores comunes a evitar

  • Importar sin limpiar: la basura que entra es basura que queda. Limpia ANTES de importar.
  • Importar todo de golpe: empieza con una muestra pequeña (100 registros) para verificar el mapeo y detectar problemas antes de importar todo.
  • Olvidar las relaciones: importar contactos sin vincularlos a empresas pierde información valiosa.
  • No formar al equipo: de nada sirve tener datos perfectos en el CRM si el equipo no sabe usarlo.

Conclusión

Migrar de Excel o Access a SuiteCRM es una inversión que transforma la gestión comercial de una empresa. La clave del éxito está en la limpieza previa de datos y en un mapeo riguroso a la estructura del CRM. Una vez completada la migración, el equipo dispondrá de un CRM profesional sin costes de licencia que escala con el negocio.

En Keliam gestionamos migraciones de datos a SuiteCRM, incluyendo limpieza, transformación e importación. Contáctanos para empezar.

Scroll al inicio