25 Módulo de Inventarios en Laravel Control de Stock, Precios y Ubicaciones 📊📦Sistema de Farmacia

Duración: 18 min
Módulo: Módulo Compras Lección 2 de 16

Descripción

📊 Lección 25: El Módulo de Inventarios y el Corazón del Stock

En esta lección, diseñamos e implementamos el Módulo de Inventarios. Esta tabla no trabaja sola; es el nodo central donde confluyen los productos, los lotes y el control financiero, permitiendo una trazabilidad exacta de la mercadería disponible en cada sucursal.

🧠 1. El Concepto de Inventario en un Entorno Relacional

A diferencia de otros sistemas simples donde el stock es solo un número dentro de la tabla de productos, en un software farmacéutico profesional el inventario es una entidad independiente. Esto permite que un mismo producto pueda existir en diferentes lotes, con distintos precios de compra y diferentes fechas de vencimiento. [00:06:25 - Video 23]

🏗️ 2. Estructura y Migración de la Tabla inventarios

Diseñamos una migración robusta que contempla el control logístico y financiero de los medicamentos:

  • Llaves Foráneas (Relaciones):
    • producto_id: Conecta con la tabla maestra de productos.
    • lote_id: Vincula el stock a un lote de fabricación específico para su trazabilidad.
    • sucursal_id: Define físicamente dónde está guardado el medicamento.
  • Campos de Control Logístico:
    • stock: Cantidad actual disponible.
    • stock_minimo y stock_maximo: Parámetros clave que utilizaremos más adelante para disparar alertas de reabastecimiento.
    • fecha_vencimiento: Campo crítico de tipo date para la gestión de caducidad.
  • Campos Financieros:
    • precio_compra: El costo real pagado al proveedor.
    • precio_venta: El precio final al público, permitiendo calcular el margen de utilidad neta en tiempo real.

💻 3. Implementación del Backend (Artisan y Eloquent)

Aceleramos la infraestructura del código generando el modelo, el controlador con recursos y la migración correspondiente:

Bash

php artisan make:model Inventario -mcr

En el modelo configuramos la propiedad $fillable para habilitar la asignación masiva de forma segura, resguardando la integridad de los datos de inventario frente a vulnerabilidades como Mass Assignment.

🧭 4. Ubicación Física del Medicamento

Dentro de la estructura de inventarios, añadimos campos dedicados a la ubicación interna (como Estante, Pasillo o Casillero). En una farmacia, encontrar un medicamento de forma inmediata es vital para la agilidad de la atención en caja; esta data le permite al sistema decirle al vendedor exactamente dónde buscar.

💡 Conclusión de la Lección

El módulo de inventario une el catálogo de productos con la realidad física de las sucursales. Al estructurarlo de forma relacional, el sistema queda completamente preparado para actualizar automáticamente las existencias cada vez que se consolide una Compra o se procese una Venta.