35 Procesamiento de Órdenes de Compra en Laravel Validación, Transacciones e Inventario de Farmacia

Duración: 13 min
Módulo: Módulo Compras Lección 12 de 16

Descripción

🚀 Lección 35: Procesamiento de Órdenes de Compra: Validación, Transacciones y Alimentación de Inventario

En este capítulo desarrollamos el núcleo logístico del sistema farmacéutico: la conversión de una Orden de Compra Pendiente en una Compra Completada y Real, impactando directamente en el stock físico y los almacenes.

🎯 El Objetivo Central

Aprender a procesar la mercadería cuando el proveedor la entrega físicamente, asignando parámetros sanitarios obligatorios (lotes y caducidad), ubicaciones en estanterías y guardando el comprobante para alimentar formalmente el inventario.

📦 El Flujo de Trabajo en el Sistema

  1. Recepción Física: El operador abre la orden pendiente cuando el proveedor llega con la mercadería. El sistema recupera el listado y permite reajustar cantidades o precios en tiempo real por si surgen cambios de última hora.
  2. Asignación de Lotes (Obligatorio por Ley): Para cada medicamento del desglose, se abre una ventana modal donde se digita el código de lote impreso en la caja, registrando su fecha de fabricación y su fecha de vencimiento (clave para bloquear ventas caducadas en el futuro).
  3. Ubicación e Inventariado: Se define en qué parte de la sucursal se almacenará el producto (ej. Estantería Alta), configurando las alertas de stock mínimo (para saber cuándo reordenar) y stock máximo.
  4. Cierre de la Transacción: Se ingresa el número del comprobante físico (recibo o factura) y se finaliza el proceso.

🧠 Impacto en la Base de Datos

Al presionar el botón de finalización, el backend ejecuta un cambio de estado masivo en las tablas transaccionales:

  • La compra matriz cambia su estado de "Pendiente" a "Completado".
  • Las claves foráneas de los detalles de compra se enlazan con los nuevos identificadores de la tabla lotes.
  • Se dispara el llenado automático de la tabla inventarios, consolidando el stock real disponible, precios de costo/venta, porcentajes de ganancia y la ubicación física del medicamento en la sucursal.

Con esta lógica, el módulo de compras queda cerrado y el inventario de la farmacia cobra vida con total trazabilidad. ¡En la siguiente lección revisaremos la pantalla de auditoría avanzada para desglosar detalladamente estas compras completadas!