Escaneo de Facturas — Flujo completo
La pantalla permite subir PDFs o imágenes de facturas de compra, analizarlas con IA, revisar y corregir el resultado, y finalmente importarlas como FacturaProveedor + asiento contable + recibo. Puedes procesar varias a la vez.
Paso 1 — Subida del documento Formatos admitidos: PDF, JPG, PNG, WEBP (configurable en ajustes) Tamaño máximo configurable (por defecto 10 MB) Se pueden subir hasta 5 en paralelo (configurable) El archivo se guarda temporalmente en MyFiles/qpiscantmp/ con un token único para adjuntarlo después a la factura Paso 2 — Análisis por IA (action=analyze) La IA extrae del documento:
Campo Descripción Proveedor (nombre, CIF) Para casar automáticamente con la BD Número de factura Para detectar duplicados Fecha Fecha de la factura Bases imponibles Una o varias (el plugin soporta hasta 3 tipos de IVA) Tipos de IVA 21%, 10%, 4%, exento… IRPF Si hay retención Canon LPI Si aplica Líneas de detalle Referencia, descripción, cantidad, precio unitario Inversión del sujeto pasivo Flag especial si aplica Proveedores de IA disponibles (solo los que tienen API key configurada):
Google Gemini (predeterminado) Claude (Anthropic) OpenAI / ChatGPT Mistral Groq DeepSeek Cualquier API compatible con OpenAI Análisis enriquecido con historial: si la IA casó el proveedor en la primera pasada, hace una segunda llamada a la IA con el contexto de las últimas facturas de ese proveedor (subcuentas, referencias habituales) para mejorar la extracción.
Paso 3 — Revisión en pantalla Aquí es donde puedes corregir todo antes de importar. El resultado de la IA se muestra en un formulario editable:
3a. Proveedor Si la IA lo identificó, aparece marcado con su codproveedor Si no lo encontró → buscador en tiempo real para casarlo manualmente Botón "Crear proveedor" si no existe en la BD 3b. Cabecera de factura Fecha, número de factura, forma de pago La forma de pago se preselecciona según la del proveedor Se puede cambiar el modo de importación: por líneas (cada producto) o por total (una sola línea global) 3c. Líneas de productos ← la parte que te interesa Cada línea extraída muestra:
Referencia del artículo Descripción Cantidad y precio unitario Importe total Indicador visual: si la referencia existe en el catálogo (verde) o no (naranja/rojo) Lo que puedes hacer con cada línea:
Acción Cómo Editar cualquier campo Directamente en la celda Buscar imagen del producto Botón Google Custom Search (requiere API key configurada) Adjuntar imagen desde catálogo Si tienes el CSV de tarifas subido, se sugiere automáticamente Crear el producto Botón "Crear" por línea → llama a action=createproduct Crear todos de golpe Botón "Crear todos los productos nuevos" → action=createproducts Eliminar una línea Borrar del listado antes de importar createProduct hace:
Crea el Producto + Variante con la referencia, descripción y precio de coste Si ya existe, no lo duplica Si tienes imagen adjuntada desde Google o catálogo, la asocia al producto 3d. Alertas automáticas ⚠️ Factura duplicada: si ya existe una factura con ese número para ese proveedor ⚠️ Archivo ya importado: hash del PDF comparado contra importaciones previas (detecta si subes el mismo PDF dos veces) ⚠️ Cuadre de totales: verifica que base + IVA = total Paso 4 — Importación (action=import_batch) Al pulsar "Importar", el sistema:
Crea un QpiImportBatch (lote) para trazabilidad Por cada factura del lote: Genera el asiento contable Crea la FacturaProveedor con todas sus líneas Crea el ReciboProveedor con el vencimiento calculado Si el plugin Trazabilidad está activo y algún producto tiene trazabilidad=true: genera automáticamente N números de serie (uno por unidad) antes del save() para que el hook los consuma Adjunta el PDF original como fichero adjunto de la factura Guarda el registro en QpiImportDoc con estado imported / failed / duplicate El resultado aparece en pantalla: Badge verde "Importada como F-2025/123" con enlace a la factura Badge códigos de barras "N etiquetas" si hubo trazabilidad → abre ImprimirEtiquetasTraza Badge rojo con el error si falló Modo asíncrono opcional: si está activado en ajustes, encola en WorkQueue y devuelve inmediatamente, el worker procesa en segundo plano.
Catálogo de tarifas (complemento) Si subes el CSV/Excel de tarifas de tu proveedor (desde la misma pantalla), el sistema construye un índice en memoria que durante la revisión:
Muestra la imagen del producto desde el catálogo del proveedor Sugiere el precio de coste y el EAN Marca visualmente qué referencias existen y cuáles son nuevas Resumen del flujo PDF/imagen ↓ IA extrae datos ↓ Revisión en pantalla ├─ Corregir proveedor ├─ Editar líneas └─ Crear productos nuevos ← aquí creas los artículos que faltan ↓ Importar ├─ FacturaProveedor ├─ Asiento contable ├─ ReciboProveedor ├─ PDF adjunto └─ Series de trazabilidad (si aplica)