# PRD (borrador) — Inventario + Cultivo + Costeos + Integración CRM

**Estado**: borrador inicial a partir de la transcripción (Parte 1).  
**Criterio**: documento compartible sin datos sensibles.

## 1) Objetivo
Reducir al mínimo el error humano y lograr **stock confiable en tiempo real**, con trazabilidad completa (auditoría), integrado al CRM (datos sensibles encriptados) y habilitando costeo operativo.

## 2) Alcance
### En alcance (MVP + 90 días)
- **Inventario**: contenedores, códigos, movimientos, stock por genética, merma, auditoría.
- **Operación mobile-first**: flujos rápidos para cosecha/manicura, fraccionamiento y entregas.
- **Integración con balanzas**: captura automática de peso (cuando el hardware lo soporte).
- **Samplers**: operación por lote para reducir cantidad de registros manuales.
- **Cultivo**: tracking de plantas desde el punto de individualización (post‑trasplante) + estados.
- **Costeos**: registro y prorrateo (mano de obra, insumos, energía, EPP/preventivos, depreciación, nutrientes/agua).
- **Activos**: inventario de equipos (luces/sensores) con código y depreciación.
- **Integración CRM**: disponibilidad de genéticas para portal + registro interno de entregas/pedidos.

### Fuera de alcance (por ahora)
- Facturación/contabilidad general (ERP clásico).
- Gestión completa de “gastos” (hay un Excel aparte): solo integrar si se define como parte del costeo.
- Productos fuera del marco regulatorio vigente (p.ej., extracciones/edibles) como líneas de distribución (validar con compliance).

## 3) Usuarios, roles y permisos (mínimo)
- **Superadmin**: administración completa + configuración.
- **Admin/Operaciones**: alta/baja/edición de catálogos; supervisión; correcciones con trazabilidad.
- **Cultivo**: eventos de cultivo (riego, trasplantes, cambios de etapa) + generación de inventario en cosecha.
- **Staff/Atención**: fraccionamiento y entregas; acceso acotado a lo operativo.

Principios:
- Mínimo privilegio por rol.
- Datos sensibles (pacientes) accesibles solo por roles habilitados.

## 4) Requerimientos funcionales (RF)

### Inventario
- **RF‑01 Contenedores**: crear y administrar contenedores con tipo (bolsa stock, frasco, bolsita) y **código único**.
- **RF‑02 Stock por contenedor**: visualizar stock actual por contenedor (genética, peso, conteo si aplica).
- **RF‑03 Movimientos (ledger)**: registrar ingresos/salidas/traspasos/ajustes con:
  - origen/destino (contenedor),
  - genética,
  - peso (idealmente desde balanza),
  - merma (si aplica),
  - usuario y timestamp,
  - motivo/observación (opcional, obligatorio para overrides).
- **RF‑04 Transacción consistente**: un traspaso debe impactar origen y destino sin “doble carga” manual.
- **RF‑05 Validaciones anti‑error**:
  - control de decimales y unidades,
  - límites por operación,
  - confirmación explícita antes de cerrar un movimiento.
- **RF‑06 Auditoría inmediata**: generar un registro inmutable del movimiento al completarlo.
- **RF‑07 Inventario por genética**: vista consolidada por genética (stock total, distribución por contenedores).
- **RF‑08 Etiquetado de bolsitas**: soporte para codificar bolsitas individuales (para contar disponibilidad real).

### Samplers
- **RF‑09 Operación por lote**: crear “samplers” permitiendo:
  - extraer cantidades pequeñas de múltiples genéticas,
  - registrar en bloque múltiples salidas/entradas,
  - minimizar el número de interacciones en pantalla.

### Cultivo
- **RF‑10 Lotes de esquejes**: registrar lote agrupado (pre‑trasplante) con entradas/salidas/éxitos.
- **RF‑11 Individualización post‑trasplante**: al trasplantar (con raíces) asignar **código de planta** y comenzar tracking individual.
- **RF‑12 Estados/etapas**: vegetativo → flora → secado → curado (mínimo), con fechas y eventos relevantes.
- **RF‑13 Cosecha → inventario**: al finalizar manicura/pesada, generar contenedores de inventario (flores, descarte/merma, subproductos definidos) con log.

### Costeos y transformaciones (definir)
- **RF‑14 Mano de obra**: registrar horas por tarea/proceso y asociarlas a un lote/etapa.
- **RF‑15 Insumos**: registrar consumos (turba/sustrato/macetas/nutrientes/agua/EPP/preventivos) y prorratear.
- **RF‑16 Energía**: calcular consumo por kWh según potencia y horas (por sala/equipo).
- **RF‑17 Activos y depreciación**: alta de equipos con código + método de depreciación + asignación a procesos.
- **RF‑18 Costo unitario**: calcular costo por gramo por genética/lote (con supuestos explícitos).
- **RF‑19 Transformaciones**: modelar procesos de transformación interna solo si se aprueba alcance legal/operativo (por defecto: “pendiente”).

### Integración con CRM
- **RF‑20 Disponibilidad**: exponer disponibilidad por genética (y quizá por formato) al portal del CRM, con datos no sensibles.
- **RF‑21 Entregas/pedidos**: registrar internamente qué genética y cuánto se entrega por paciente/pedido, manteniendo trazabilidad.
- **RF‑22 Separación de datos**: el inventario no debe necesitar PII para operar; el CRM administra PII (ideal).

## 5) Requerimientos no funcionales (RNF)
- **RNF‑01 Mobile‑first**: experiencia pensada para celular, sin depender de notebook en sala.
- **RNF‑02 Usabilidad con guantes/resina**: pocos campos, botones grandes, escaneo de códigos, mínima escritura.
- **RNF‑03 Offline/Sincronización (deseable)**: si se corta internet, permitir registrar y sincronizar luego (con reglas de conflicto).
- **RNF‑04 Precisión**: manejo consistente de decimales (definir escala mínima, p.ej. 0.001g).
- **RNF‑05 Seguridad**: cifrado en reposo, control por roles, logs de acceso, backup/restore, principio de mínimo privilegio.
- **RNF‑06 Auditoría**: trazabilidad completa; correcciones solo vía “ajustes” con motivo (no sobrescritura silenciosa).

## 6) Reportes mínimos
- Stock actual por genética y por contenedor.
- Historial de movimientos por rango de fechas (con filtros por usuario/genética/operación).
- Merma por etapa/operación.
- Entregas por paciente (desde integración con CRM, según permisos).
- Costos por lote/genética (cuando el módulo esté habilitado).

## 7) Métricas de éxito (propuesta)
- Reducción de discrepancias detectadas en arqueos.
- Tiempo medio de detección de errores (ideal: inmediato o <24h).
- % de movimientos con peso capturado por balanza vs manual.
- Adopción: % de operaciones registradas en el momento (no “a fin de día”).

## 8) Riesgos / dependencias
- Integración con balanzas depende de modelos/protocolos disponibles.
- Definiciones regulatorias pueden limitar “transformaciones”.
- Etiquetado/codificación de bolsitas puede requerir cambios de proceso (tiempo y materiales).
- Si el CRM y el inventario no coordinan contratos de datos, se duplicarán registros.

