DataImport — Importador avanzado para FacturaScripts

DataImport — Importador avanzado para FacturaScripts

Plugin de importación de datos robusto, completo y standalone para FacturaScripts. Wizard de 4 pasos, simulación con rollback transaccional, detección de duplicados, validación avanzada, historial completo, scheduling programado, multi-formato y 13 plantillas predefinidas + importación libre a cualquier modelo del sistema.


✨ Características principales

🧙 Wizard guiado de 4 pasos

  1. Subir archivo — drag-and-drop (CSV / TSV / JSON / XML, opcional XLS/XLSX/ODS)
  2. Mapear columnas — auto-mapping con algoritmo Levenshtein + sinónimos
  3. Vista previa (dry-run) — simula toda la importación dentro de una transacción y la revierte automáticamente
  4. Ejecutar — importación real por batches con barra de progreso AJAX

🛡️ Robustez

  • Dry-run con rollback: DataBase::beginTransaction() → import normal → rollback() forzado. Captura errores reales (constraints, FKs, triggers) sin modificar nada.
  • Detección de duplicados: configurable por campos clave compuestos.
  • Validación por campo: required, type (int/float/email/date/url/bool), min, max, regex, in (lista).
  • Modo insert / update / insert-update.
  • Procesamiento por batches (200 filas) — no bloquea el servidor con archivos grandes.

📋 Plantillas predefinidas (13)

Categoría Plantillas
Personas Clientes, Proveedores, Contactos
Catálogo Productos
Ventas Facturas, Presupuestos, Pedidos, Albaranes
Compras Facturas, Presupuestos, Pedidos, Albaranes

🪄 Importación libre (sin plantilla)

Selecciona cualquier modelo del sistema (Cliente, Asiento, Empresa, Subcuenta, Stock, Variante, etc.) y mapea los campos manualmente. Los campos se detectan automáticamente vía getModelFields() con sus tipos, longitudes y reglas.

📑 Documentos comerciales con líneas

Las plantillas de facturas/presupuestos/pedidos/albaranes manejan documentos con múltiples líneas. Formato esperado:

  • Una fila = una línea.
  • Filas con el mismo codigo se agrupan en el mismo documento.
  • La primera fila crea el header (cliente/proveedor, fecha, serie...).
  • Todas las filas añaden su línea con cálculo automático de totales vía Calculator.

🕐 Importaciones programadas

  • Tabla dataimport_schedules con frecuencia configurable (horas/días/semanas)
  • URL pública del archivo a descargar
  • Cron job ejecuta en intervalos definidos
  • Cada ejecución crea un job en el historial

📊 Historial y auditoría

  • Tabla dataimport_jobs con cabecera de cada import (usuario, fecha, plantilla, filas, estado, duración)
  • Tabla dataimport_job_errors con cada error: fila, severidad (error/warning/skip/info), campo, valor, motivo, raw row
  • Detalle por job con tabla paginada y exportación CSV de errores
  • Botón "Re-ejecutar" para reintentar con el mismo archivo

🎓 Tour guiado integrado

Modal navegable con 12 capítulos que explican cada pantalla del plugin con spotlight (resaltado del elemento) y auto-navegación entre páginas.


📦 Instalación

  1. Descarga el plugin desde el repositorio o el panel.
  2. Panel de control → Plugins → Subir plugin → archivo ZIP.
  3. Activar DataImport.
  4. Pulsa Reconstruir (icono herramienta amarillo) para crear las 3 tablas BD.

🔧 Requisitos

  • FacturaScripts 2025 o superior
  • PHP 8.0 o superior
  • Extensiones PHP: json, simplexml (estándar)
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2026 FacturaScripts
0.05143s

Soporte