Es la petición número uno de cualquier titular: «que mire mis compras y mis ventas y me haga el pedido, o me lo proponga y yo le doy el OK». Se puede hacer, funciona muy bien, y la mitad de lo que la gente imagina está al revés.
Por qué la cuenta no la puede hacer el modelo
Un modelo de lenguaje mirando una tabla de ventas te dará un número. El problema es que te dará otro mañana con los mismos datos, no te avisará de que se ha equivocado, y te cobrará cada vez. Para un pedido diario de 200 líneas eso es caro, lento e irreproducible — y cuando falle no sabrás por qué.
La reposición es un problema resuelto desde hace décadas y cabe en cuatro variables: demanda media, plazo del almacén, variabilidad de la demanda y cobertura objetivo. Es determinista, se puede comprobar con una hoja de cálculo y cuesta cero.
| Esto lo hace la aritmética | Esto lo hace la IA |
|---|---|
| Cuántas unidades faltan | Por qué este mes se dispara la demanda |
| Punto de pedido y stock de seguridad | «Esto es estacional, ojo en octubre» |
| Días de cobertura | Redactar la reclamación al almacén |
| Qué sobra y qué va a caducar | Resumir el pedido en tres frases para el titular |
| Qué artículo no rota | Proponer alternativa ante un desabastecimiento |
Qué datos necesita — y dónde está el límite
Por artículo: stock actual, ventas por periodo (semanas suele bastar), lo pendiente de recibir, el tamaño de envase, y las banderas que cambian la decisión: depósito, desabastecido, controlado, caducidad próxima. Todo eso sale del programa de gestión.
Pruébalo
Abajo tienes un catálogo de ejemplo con las situaciones que de verdad aparecen en una farmacia. Cambia el plazo del almacén o la cobertura objetivo y mira cómo se mueve todo. Los datos son ficticios y el cálculo corre en tu navegador.
Lo que el agente no pide nunca solo
- Estupefacientes y psicótropos. Van por receta oficial y libro de contabilidad. Colarlos en un pedido automático no es un problema de stock: es un problema legal con tu nombre encima.
- Lo desabastecido. Pedir más no lo trae antes. Lo útil es avisar una vez y buscar alternativa, no repetir la línea cada día.
- Lo que está en depósito. Lo repone el laboratorio; pedirlo es pagar algo que ya tienes.
- Lo que no rota. Con historial y cero ventas, la respuesta no es reponer: es mirar si sobra. Un agente que repone lo que no se vende es una máquina de inmovilizar caja.
- Lo que se comporta de forma errática. Ahí el número existe pero no es de fiar, y el agente tiene que decirlo en vez de disimularlo.
Cómo se aprueba
Tú pediste «que me lo sugiera y yo le doy el OK». Ése es exactamente el diseño correcto: el agente propone y aprueba una persona. Con un matiz que decide si el sistema es seguro o sólo lo parece:
Es la misma regla que sigue el agente de brechas SEO de esta web: propone y no publica nunca. Cambia el dominio, no la forma. Un agente bien hecho reduce el trabajo de revisar de doscientas líneas a cuatro; no lo elimina.
Las sugerencias que sí aporta la IA
Una vez la aritmética ha hecho su parte, hay cosas que sólo salen leyendo el conjunto — y ahí un modelo sí aporta:
- «Llevas tres semanas subiendo en antigripales: la campaña ha arrancado antes que el año pasado.»
- «Estos cuatro artículos son del mismo laboratorio; agrupando el pedido llegas al porte pagado.»
- «Este genérico lleva dos meses sin rotar desde que entró el del otro laboratorio.»
- «De lo que va a caducar, esto tiene salida en promoción y esto habría que devolverlo ya.»
- «El desabastecido tiene dos alternativas con la misma composición; te dejo el texto para avisar al médico.»
Todo eso son frases, no cantidades. Ésa es la línea.
Cómo montarlo de verdad
- Exporta del programa de gestión el stock, las ventas por semana y lo pendiente. Agregado por artículo, sin un solo dato de paciente.
- Calcula la propuesta con la cuenta, no con un modelo. Es la parte que tiene que ser aburrida y reproducible.
- Pásale a la IA sólo el resumen —líneas, totales, lo que requiere revisión— y pídele el comentario. No le mandes la tabla entera: pagas por tokens que no aportan.
- Enséñalo para aprobar, con lo que no se pide incluido.
- Guarda lo que aprobaste. Sin histórico de propuestas contra pedidos reales no puedes saber si el agente acierta, y en tres meses no te acordarás.
La fórmula, entera y sin IA
Antes de meter un modelo en esto hay que tener clara una cosa: la cantidad que se pide es aritmética. No hay nada que razonar. Y si la calcula el modelo, has introducido la posibilidad de equivocarse en lo único que no puede fallar.
function sugerir(p, cubrirDias) {
const ventaDiaria = p.venta_mes / 30;
const diasDeReposicion = p.proveedor_dias ?? 2;
// Lo que hace falta para cubrir el periodo + lo que tarda en llegar
const objetivo = ventaDiaria * (cubrirDias + diasDeReposicion);
// Menos lo que ya tienes y lo que viene de camino
let unidades = objetivo - p.stock - (p.en_transito || 0);
// Y se ajusta al formato de compra: si viene en cajas de 6, van cajas
unidades = Math.ceil(unidades / p.multiplo) * p.multiplo;
return Math.max(0, unidades);
}en_transito y
diasDeReposicion. Sin la primera, cada vez que ejecutas el agente
vuelve a pedir lo que ya pediste ayer y no ha llegado — y así es como se acumula el triple
del stock objetivo sin que nada parezca ir mal. Sin la segunda, el pedido cubre exactamente
hasta el día en que se agota, que es un día tarde.
multiplo es lo que separa una lista teórica de un pedido que se
puede mandar. «Pide 7 unidades» de algo que viene en cajas de 6 no es una
instrucción: es un número que alguien tiene que traducir a mano, y en cuanto hay que
traducir 40 líneas a mano el agente no ha ahorrado nada.
Los datos que hacen falta, y qué pasa cuando falta cada uno
| Dato | Si no lo tienes |
|---|---|
stock | No hay agente. Es el mínimo absoluto |
venta_mes | Puedes tirar con el mínimo fijo del programa, pero pides igual en agosto que en enero |
en_transito | Pides doble. Es el fallo más caro de la lista |
multiplo | La lista no se puede mandar sin retocarla a mano |
caducidad | Puedes pedir de más justo lo que va a caducar sin venderse |
desabastecido | Pides una y otra vez algo que nadie te va a servir |
Los seis casos que rompen la fórmula
Aquí es donde deja de ser aritmética. Todos estos casos tienen en común que la cifra que sale de la fórmula es correcta y la decisión es mala:
-
El pico que no se repite
Una residencia se llevó 40 unidades el martes. La media mensual se dispara y el agente pide para una demanda que no existe. Se detecta comparando la venta del último mes con la de los tres anteriores: si es más del doble, la línea se marca.
-
Lo estacional
Antigripales en mayo. La media anual dice que se venden; la realidad dice que no se venderán hasta noviembre. Sin histórico por meses no hay forma de verlo, y con él la regla es sencilla: comparar con el mismo mes del año pasado, no con la media.
-
El desabastecido
Se pide, no llega, y al día siguiente se vuelve a pedir porque el stock sigue bajo. El agente entra en bucle contra el mundo real. Sugerido 0, motivo escrito, y la línea se queda visible para que alguien decida si buscar un sustituto.
-
Lo que caduca antes de venderse
Quedan 20 unidades que caducan en dos meses y vendes 4 al mes. Pedir más es tirar dinero dos veces. Si tienes fechas de caducidad, esta regla sola paga el trabajo de montar el agente.
-
La promoción y la novedad
Un producto que acabas de meter no tiene histórico: la fórmula pide 0 y se agota el primer día. Un producto en promoción venderá más de lo que dice su media. Los dos casos necesitan una decisión humana, y lo único que puede hacer el agente es señalarlos.
-
Lo controlado
Estupefacientes y todo lo que tenga trámite propio. Sugerido 0 siempre, y no por prudencia: es que ese pedido no se hace por esta vía.
La pantalla de aprobación, que es el producto
Todo lo anterior acaba en una pantalla. Y esa pantalla es, literalmente, lo que decide si el agente se usa: puede tener el mejor cálculo del mundo y no servir para nada si aprobar cuesta más que hacer el pedido a mano.
| Tiene que enseñar | Por qué |
|---|---|
| Las líneas con sus cantidades y el importe total | Aprobar sin ver el importe no es aprobar |
| De dónde sale cada cantidad | «12 uds — quedan 4, vendes 71/mes, cubre 14 días». Sin esto, a la tercera vez se aprueba sin mirar |
| Las líneas marcadas, arriba y en otro color | Son las únicas que necesitan tu criterio. Mezcladas con las 38 buenas, no se miran |
| Poder cambiar una cantidad sin rehacerlo todo | Si corregir obliga a empezar de cero, se hace el pedido a mano |
| Un botón de aprobar que no se puede pulsar con líneas marcadas sin resolver | Es el único sitio donde una barrera está justificada |
Qué pinta la IA aquí, exactamente
Con la fórmula en código y los seis avisos en código, la pregunta legítima es qué queda para el modelo. Quedan tres cosas, y son las tres que no se pueden escribir como reglas:
| Lo hace el código | Lo hace el modelo |
|---|---|
| Calcular cada cantidad | Explicar una línea rara en una frase que se lee de un vistazo |
| Marcar los seis casos | Investigar por qué pasó algo: «¿por qué se agotó esto?» encadenando consultas |
| Aplicar topes y múltiplos | Entender lo que le pides en lenguaje normal: «prepara sólo lo del frigorífico para dos semanas» |
Cómo se pone en marcha sin arriesgar nada
| Fase | Qué haces | Cuánto dura |
|---|---|---|
| 1. En seco | Genera la propuesta y la comparas con el pedido que ibas a hacer tú | Dos semanas |
| 2. Asistido | Partes de la propuesta y la corriges. Apunta qué corriges | Un mes |
| 3. Aprobado | La revisas y la apruebas tal cual casi siempre | Cuando las correcciones bajen solas |
Cómo se mide si está funcionando
Un agente de pedidos se juzga con cuatro números, y ninguno de ellos es «cuántos pedidos ha preparado». Los cuatro se pueden sacar comparando lo aprobado con lo que pasó después:
| Número | Qué dice | Qué hacer si va mal |
|---|---|---|
| Líneas que corriges | Lo lejos que está la fórmula de tu criterio | Cada corrección repetida es una regla que falta. Escríbela |
| Roturas de stock | Si te quedas corto | Subir los días de cobertura o el tiempo de reposición |
| Lo que caduca sin vender | Si te pasas | Bajar la cobertura, y mirar la regla de caducidad |
| Minutos por pedido | Si de verdad ahorra | Si no baja, el problema es la pantalla de aprobación, no el cálculo |
Antes de pasar a la siguiente lección
- Sé decir qué parte del agente es aritmética y cuál es IA.
- Puedo enumerar cinco cosas que no debe pedir solo.
- Entiendo por qué «aprobar todo» tiene que poder desaparecer.
- Sé qué datos exporto y cuáles no salen del programa de gestión.
- Tengo una familia pequeña con la que empezar en paralelo.