Relación factura → compra/gasto → stock
Entendiendo cómo las facturas actualizan automáticamente tus registros e inventario
Última actualización: 19 de diciembre de 2024
Cuando registras o validas una factura de proveedor (ya sea manualmente o después de procesarla con IA), el sistema ejecuta automáticamente múltiples acciones para mantener sincronizados tu inventario, registros de compras y gastos.
Proceso automático paso a paso
1. Registro principal de la factura
El sistema crea el registro principal en la tabla invoices
con:
- Información general: Número, proveedor, fechas, totales, estado
- Cálculos automáticos: Subtotal, impuestos, total general
- Vinculación: Referencia al proveedor (creado automáticamente si es nuevo)
2. Procesamiento de proveedores
Si el proveedor no existe:
- Se crea automáticamente en la tabla
providers
- Se usa el nombre exacto de la factura
- El proveedor queda disponible para futuras facturas
Si el proveedor ya existe:
- Se utiliza el registro existente
- No se duplica información
3. Análisis de conceptos por tipo
El sistema analiza cada línea de la factura según el tipo de transacción asignado:
Flujo para conceptos tipo "Compra"
Gestión de productos
Si el producto no existe:
- Creación automática en la tabla
products
- Datos base: Nombre (de la factura), categoría, unidad de medida
- Configuración:
is_active: true
, stock mínimo (si se especifica)
Si el producto ya existe:
- Actualización selectiva: Solo stock mínimo si se proporciona nuevo valor
- Preservación: Mantiene toda la configuración existente
Registro de compra
Se crea un registro en la tabla purchases
:
- Vinculación:
invoice_id
de la factura procesada - Detalles: Producto, cantidad, precio unitario, centro de coste
- Categoría: Asignada según clasificación en la factura
- Impuestos: Porcentaje de IVA aplicado
Actualización de inventario
Se genera un evento automático en inventory_events
:
- Tipo:
event_type: 'compra'
yreference_type: 'purchase'
- Cantidad: Positiva, convertida a unidad base usando factor de conversión
- Precio: Ajustado según factor de conversión para unidad base
- Referencia: Vinculado al registro de compra específico
- Usuario: Automático del usuario que procesó la factura
Cálculo automático de costes
- Precio promedio ponderado: Se actualiza automáticamente con la nueva entrada
- Valoración de inventario: Se recalcula el valor total del stock
- Disponibilidad: El producto queda disponible para recetas y análisis
Flujo para conceptos tipo "Gasto"
Registro de gasto operativo
Se crea un registro en la tabla expenses
:
- Información básica: Título (nombre del concepto), importe, fecha
- Clasificación: Categoría de gasto, centro de coste
- Vinculación:
invoice_id
de la factura origen - Configuración: Recurrencia si está marcada
- Impuestos: Porcentaje aplicado
Sin impacto en inventario
- No se crean productos en el catálogo
- No se generan eventos de inventario
- No afecta stock de ningún producto existente
- Aparece en análisis de gastos operativos
Procesamiento técnico
Función principal: guardar_factura_completa
- Validaciones: Verificación completa de datos obligatorios
- Transaccionalidad: Todo se procesa de manera atómica
- Gestión de errores: Rollback automático si hay problemas
- Logging: Registro detallado para auditoría
Conversión de unidades automática
- Factor de conversión: Aplicado automáticamente entre unidad de compra y unidad base
- Ejemplo: Compras en cajas → Inventario en unidades (1 caja = 12 unidades)
- Cálculo de precio: Precio unitario ajustado a unidad base
- Consistencia: Garantiza uniformidad en el inventario
Gestión de impuestos
- Cálculo individual: Por cada concepto según su porcentaje
- Registro detallado: Tanto en compras como en gastos
- Totales automáticos: Sumatorio para la factura completa
Integración con el resto del sistema
Dashboards actualizados automáticamente:
- Panel de compras: Nuevas compras aparecen inmediatamente
- Panel de gastos: Gastos operativos reflejados al instante
- Panel de inventario: Stock actualizado en tiempo real
- Panel principal: KPIs recalculados automáticamente
Análisis financiero:
- Evolución de gastos: Incluye automáticamente nuevos gastos
- Análisis de compras: Incorpora datos de nuevas compras
- Rentabilidad: Los costes se actualizan en recetas automáticamente
Trazabilidad completa:
- Conexión bidireccional: Desde factura a compra/gasto y viceversa
- Historial completo: Cada cambio queda registrado
- Auditoría: Posibilidad de rastrear el origen de cada movimiento
Ejemplos prácticos
Factura mixta (compras + gastos):
Línea 1: "Tomates frescos" (Compra)
- ✅ Crea/actualiza producto "Tomates frescos"
- ✅ Registra compra de 5kg a 2.50€/kg
- ✅ Añade 5kg al inventario
- ✅ Actualiza precio promedio
Línea 2: "Limpieza oficina" (Gasto)
- ✅ Registra gasto operativo de 150€
- ✅ Categoría: Limpieza, Centro: Otros
- ❌ No afecta inventario
Producto nuevo vs existente:
Producto nuevo: Se crea con configuración base Producto existente: Se mantiene configuración, solo se actualiza stock y precio
💡 Automatización inteligente: El sistema distingue automáticamente entre compras (que afectan inventario) y gastos (que son operativos), procesando cada tipo según su naturaleza específica.
✅ Resultado: Una sola factura procesada actualiza automáticamente proveedores, productos, inventario, compras, gastos y todos los análisis financieros, manteniendo la coherencia total del sistema sin trabajo manual adicional.