10 · Migración desde software legacy

◀ Volver al índice

Factuzam incluye una herramienta independiente, el Factuzam Migrator (FactuzamMigrator.exe), que traslada los datos del ERP anterior (base de datos SQL Server) a la base de datos factuzam (MariaDB). Este capítulo explica qué migra, cómo preparar la base de datos destino y cómo ejecutar y verificar la migración.

Es una operación de administrador, que normalmente se hace una sola vez en la puesta en marcha. Requiere acceso a las dos bases de datos (la antigua y la nueva).


1. Qué es y qué necesita

Pantalla principal del Migrator


2. Qué datos migra

El migrador traslada, respetando el orden de dependencias, los siguientes dominios:

Dominio Qué se migra
Formas de pago, Grupos de IVA, IVAsCatálogos base.
EmpresasEmpresas emisoras.
AlmacenesAlmacenes (y sus cajas, series y contadores).
ClientesFicha completa de clientes.
ProveedoresFicha completa de proveedores.
FamiliasSecciones y familias de artículos (con su jerarquía).
Colores y tallasCatálogos maestros de atributos.
ArtículosCatálogo de artículos.
Colores/tallas por artículo, tallajesAsignaciones de variación por artículo.
SKUsVariantes vendibles + códigos de barras.
InventariosInventarios y sus líneas.
MovimientosMovimientos de almacén (y reconstruye el stock actual).
Ventas (caja)Operaciones de caja, pagos y depósitos de cliente.
FacturasFacturas y sus líneas.
ComprasPedidos, albaranes, devoluciones a proveedor y facturas de compra.
Cartera de pagosEfectos de compra y remesas de pago a proveedor.
EmpleadosOperarios de caja, traspasos y arqueos, separados de los usuarios de login.

La migración corre en paralelo por oleadas: los dominios sin dependencias entre sí se procesan a la vez, y cada oleada espera a que termine la anterior (catálogos → maestros → variantes → documentos).


3. Preparar la base de datos destino

El propio Migrator trae una sección «Preparar BBDD destino» con tres botones, pensada para crear la base nueva sin depender de ficheros externos:

  1. Extraer esqueleto de BBDD viva… — conecta a una base factuzam de referencia y genera un .sql con toda la estructura (tablas, vistas, procedimientos) y los datos de las tablas de sistema (países, tipos de IVA, ventanas, metadatos…). Las tablas de negocio (artículos, clientes, facturas…) van vacías porque las rellenará la migración.
  2. Crear BBDD destino — crea la base de datos indicada en el panel Destino con juego de caracteres utf8mb4 y cotejamiento utf8mb4_spanish_ci.
  3. Cargar esqueleto en destino… — vuelca el .sql del paso 1 en la base recién creada.

Sección Preparar BBDD destino

Alternativa: crear la base destino desde factuzam_original.sql como en la instalación. En ese caso, asegúrate de aplicar también los scripts de esquema requeridos por el migrador si tu dump es anterior a ellos (ampliaciones de códigos de cliente, nombre de proveedor, jerarquía de familias, líneas de inventario, empleados, compras, facturas de compra y cartera de pagos).


4. Ejecutar la migración paso a paso

  1. Copia de seguridad de ambas bases de datos (origen y destino).
  2. Abre FactuzamMigrator.exe.
  3. Configura el panel Origen (SQL Server): host, puerto, base de datos, usuario y contraseña. Pulsa Probar conexión.
  4. Configura el panel Destino (MariaDB) igual, y prueba la conexión.
  5. Marca las migraciones a ejecutar. La lista ya respeta el orden de dependencias; para una migración completa, márcalas todas. En compras, los dominios entran después de maestros y SKUs: pedidos, albaranes, devoluciones a proveedor, facturas de compra, efectos y remesas de pago.
  6. Pulsa Ejecutar migraciones. Durante el proceso:
    • El panel de progreso muestra una línea por dominio activo con su contador X / Y (Z %) en tiempo real.
    • El botón cambia a Cancelar: si lo pulsas, termina el dominio en curso y se detiene (lo ya migrado queda hecho).
  7. Al terminar, revisa el resumen y el panel de errores.

Migración en curso

Re-ejecución segura (idempotencia)

Las migraciones son idempotentes: si un registro ya existe en destino se salta (se contabiliza como «saltado») y se continúa. Cada dominio se ejecuta dentro de una transacción: si algo falla, se deshace ese dominio completo (los demás siguen). Por tanto, ante un fallo puntual se puede corregir la causa y volver a ejecutar sin duplicar datos.

Log de errores

Cada ejecución deja registro en tres sitios:


5. Ajustes manuales después de migrar

La primera versión del migrador aplica algunas heurísticas que conviene repasar a mano una vez terminada la migración:

Dato Qué hace el migrador Qué revisar después
Tipos de IVAEl legacy guarda histórico por fechas; se toma el porcentaje mayor como IVA normal y se dejan a 0 el reducido/súper/exento.Completar los porcentajes reducido, superreducido y exento en Otros ▸ Impuesto IVA.
Código de almacénEl legacy indexa por (empresa, almacén); el destino exige código único global. Se genera E<empresa>-A<almacén>.Renombrar códigos si se prefiere otra nomenclatura.
Tipo de IVA por artículoEl legacy guarda un entero; se migra todo como IVA Normal (N).Marcar los artículos con IVA reducido/súper/exento.
Forma de pago del clienteSe usa el código de efecto del legacy como código de forma de pago.Verificar que las formas de pago migradas tienen la descripción y comportamiento deseados.
FamiliasSecciones y familias del legacy van a la misma tabla, conservando la jerarquía sección → familia.Revisar el árbol de familias resultante.
Conjuntos de tallas por artículoSe migran los catálogos y las asignaciones de color/talla, pero no el conjunto concreto de tallas de cada artículo.Asignar el conjunto de atributos a los artículos que lo necesiten (Archivo ▸ Tablas Auxiliares ▸ Colecciones de Atributos).
Compras históricasLos pedidos, albaranes, devoluciones y facturas se reconstruyen con una línea por SKU y su tallaje pivotado.Abrir muestras en Compras y revisar proveedor, almacén, estado, totales e impuestos.
Efectos de compraLos vencimientos legacy se importan y se concilian cuando ya constan pagados.Revisar efectos pendientes, pagados y remesas antes de empezar a operar.

6. Verificación final

Antes de dar la migración por buena:

  1. Cuadra los totales: nº de clientes, proveedores, artículos, SKUs y facturas entre origen y destino (el resumen del migrador muestra los contadores de insertados/saltados/errores por dominio).
  2. Stock: compara el stock de una muestra de artículos con el sistema antiguo (Almacén ▸ Informes). El migrador reconstruye el stock a partir de los movimientos.
  3. Documentos: abre algunas facturas, operaciones de caja y compras migradas y comprueba importes e impuestos.
  4. Ventas de prueba: haz un ticket de prueba en el TPV y una factura de prueba en Ventas Mayor.
  5. Cartera: revisa efectos y remesas de compra para comprobar vencimientos, estados y bancos.
  6. Aplica los ajustes manuales de la sección anterior.
  7. Haz una copia de seguridad de la base ya migrada: es tu punto de partida oficial.

Hasta completar la verificación, conserva el software y la base de datos antiguos en solo lectura como referencia histórica.


◀ Instalación en Windows · Índice · Siguiente ▶ Verifactu (AEAT)