# Cómo crear un sistema de gestión de inventario sin programar

Tu archivo de stock ya sabe lo que tienes; lo que no puede es decírselo a nadie, impedir la edición equivocada ni avisarte antes de que te quedes sin existencias. Un agente de IA lo convierte en un sistema que hace las tres cosas.

URL: https://www.back4app.com/blog/es/como-crear-un-sistema-de-gestion-de-inventario-sin-programar
Publicado: 2026-11-06 · Probado: 2026-09-22
Probado en: Agente: Back4app AI Agent, workspace de borrador · Fuente: libro de inventario de 30 filas (.xlsx, 10 columnas) · Integraciones: OpenRouter, Resend · Local: macOS, Chromium
Publisher: Back4app Engineering

El archivo de stock funciona hasta el día en que deja de hacerlo. Alguien se lleva una copia al almacén, otra persona edita el original y, para el viernes, nadie sabe decir cuántas unidades de nada tienes en realidad.

Todas las soluciones a eso son la misma: dejar de llevar el stock en un archivo y empezar a llevarlo en un sistema. Lo que siempre ha significado una base de datos, un backend, un inicio de sesión, una pantalla y un sitio donde ejecutarlo: meses de trabajo para sustituir un archivo que casi cumple.

Puedes llegar ahí desde el propio archivo. Adjunta tu hoja de cálculo de inventario al Back4app AI Agent, describe lo que necesitas y te devuelve un sistema de stock funcionando con tus artículos ya dentro. Esta guía lleva un libro de 30 artículos hasta el inicio de sesión, las alertas y un asistente de IA.

## Si prefieres verlo

La versión corta, en vídeo: entra una plantilla de inventario y sale un sistema de stock con base de datos, inicio de sesión, un asistente de IA y alertas por email. Siete minutos.

## ¿Qué necesitas para empezar?

Tu archivo de stock, ordenado en una fila de encabezado y una fila por artículo. Si no tienes uno, las [plantillas de inventario](https://excel.cloud.microsoft/create/en/inventory-templates/) de Microsoft son una forma razonable de empezar: descarga una o reproduce sus columnas en una hoja propia.

Las columnas merecen un minuto de reflexión, porque el agente construye funcionalidades a partir de lo que significan. Las nuestras eran SKU, nombre del artículo, categoría, proveedor, ubicación, precio unitario, cantidad en stock, nivel de reposición, cantidad de reposición y un indicador de descatalogado.

Ese último par es lo que convierte una lista en un sistema. El nivel de reposición le dice a la app cuándo preocuparse; el indicador de descatalogado, qué dejar de contar.

![La pantalla de inicio del Back4app AI Agent con un libro de inventario adjunto y un prompt que pide un sistema de gestión de inventario con los datos de ejemplo importados](/blog/blog-assets/build-an-inventory-management-system-without-code/01-attach-template.jpg)

## ¿Cómo conviertes el archivo en un sistema?

Adjúntalo y di en qué quieres que se convierta. Haz clic en **Attach**, elige **Attachment**, selecciona tu `.xlsx` y describe el resultado en lugar de la mecánica.

Minuto y medio después, la vista previa contiene un sistema de stock funcionando. El nuestro se abrió con cuatro cifras (valor del inventario, SKU activos, unidades disponibles, artículos por reponer) sobre una tabla con búsqueda y filtros, y botones de más y menos en cada fila.

![El sistema de stock generado mostrando el valor del inventario, los SKU activos, las unidades disponibles y el recuento de reposición sobre una tabla de inventario con búsqueda y controles de stock por fila](/blog/blog-assets/build-an-inventory-management-system-without-code/02-inventory-app.jpg)

## ¿Qué deduce sin que se lo pidas?

El significado que hay detrás de tus columnas. Nada en el prompt mencionaba la lógica de reposición, las categorías ni el stock descatalogado, y las tres cosas dieron forma a la app.

Comparó la cantidad con el nivel de reposición en cada fila y mostró el faltante como un chip de estado. Convirtió la columna de categoría en filtros y añadió dos más que los datos implicaban: *Needs reorder* y *Discontinued*. Leyó el indicador de descatalogado, marcó ese artículo como **Retired** y lo dejó fuera del recuento de SKU activos.

Los totales eran correctos. Contra nuestro libro: valor del inventario de £23.351, 957 unidades disponibles, 11 artículos por debajo de su línea de reposición y 29 SKU activos de 30 filas; todas las cifras coincidían, calculadas sin que nadie las pidiera.

La moneda es lo único que conviene indicar de entrada. El nuestro eligió libras sin que nadie se lo dijera; si vendes en dólares o en euros, dilo en el prompt.

## ¿Dónde viven ahora tus datos de stock?

En una clase de base de datos gestionada que puedes abrir en la pestaña **Database**, un registro por artículo, con cuatro campos que el archivo nunca tuvo: un id que sobrevive a cualquier ordenación, marcas de tiempo de creación y actualización, y una ACL que decide por fila quién puede leerla o escribirla.

Los nombres de tus columnas llegan normalizados de snake_case a camelCase: `unit_price` pasa a ser `unitPrice` y `quantity_in_stock`, `quantityInStock`. Léelos aquí una vez antes de escribir prompts o código contra ellos.

![La pestaña Database mostrando la clase InventoryItem con todos los registros y sus columnas](/blog/blog-assets/build-an-inventory-management-system-without-code/03-database.jpg)

Esos registros no están atrapados en la interfaz. Delante de ellos hay APIs REST y GraphQL, así que un punto de venta, un escáner o un sistema existente pueden leer y escribir el mismo stock.

## ¿Cómo impides que la persona equivocada cambie el stock?

Pídelo, y habla de usuarios *autorizados*, no solo con la sesión iniciada. La redacción importa: decide cuánto cubren las reglas generadas.

En 1 minuto y 24 segundos el nuestro produjo una pantalla de acceso con inicio de sesión con Google y registro por email, verificación de la dirección, un flujo de recuperación de contraseña y sus páginas de verificación correspondientes; y, en Cloud Code, una guarda sobre las tres operaciones:

```js
// Stack: Parse Server 7.5.2 | File: cloud/main.js
const requireUser = request => {
  if (!request.user && !request.master) {
    throw new Parse.Error(Parse.Error.SESSION_MISSING, "Authentication required");
  }
};
Parse.Cloud.beforeFind("InventoryItem", requireUser);
Parse.Cloud.beforeSave("InventoryItem", requireUser);
Parse.Cloud.beforeDelete("InventoryItem", requireUser);
```

Esa es la ventaja de un backend real frente a un archivo compartido: la comprobación se ejecuta en el servidor antes de cada lectura, escritura y borrado, para todos los clientes, así que nadie llega a tu stock abriendo las herramientas de desarrollo.

![La pantalla de acceso generada con inicio de sesión con Google y registro por email](/blog/blog-assets/build-an-inventory-management-system-without-code/05-auth-screen.jpg)

## ¿Cómo conectas la IA y el email?

Desde la pestaña **Connections**, con una clave de tu propia cuenta. Haz clic en **Connect**, elige *I already have a key*, pega la clave y espera a que la fila indique **ACTIVE**; la clave se guarda como secreto, enmascarada, y se configura por separado para borrador y producción.

![La pestaña Connections con OpenRouter y Resend marcados como ACTIVE y sus claves enmascaradas](/blog/blog-assets/build-an-inventory-management-system-without-code/04-connections.jpg)

Después describe los dos trabajos en un solo mensaje: el agente los resuelve juntos.

## ¿Cómo le haces preguntas a tu stock en lenguaje natural?

A través de un asistente que lee los registros en vivo. El nuestro llegó como un panel **Ask inventory** marcado como *read-only*, respaldado por una Cloud Function: la llamada al modelo ocurre en el servidor, así que tu clave de IA nunca llega al navegador, y cada usuario tiene un tope de 50 preguntas al día.

Fija el modelo. La conexión usa por defecto `openrouter/free`, un router que elige cualquier modelo gratuito disponible: lo llamamos cuatro veces y obtuvimos dos respuestas vacías, un bloque de razonamiento en bruto y una sola palabra, que en la app apareció como *"I couldn't form an answer."*

Nombrar `google/gemini-2.5-flash-lite` lo resolvió en 43 segundos.

![El asistente de inventario listando todos los artículos de un proveedor con sus niveles de stock, y después rechazando una petición de borrar un artículo y cambiar un nivel de stock](/blog/blog-assets/build-an-inventory-management-system-without-code/06-chatbot.jpg)

Una vez fijado, respondió desde la tabla en vivo: al pedirle los artículos de un proveedor, devolvió los seis con los niveles de stock correctos. Al pedirle que borrara un SKU y pusiera el stock de otro en 999, se negó, y la base de datos confirmó que los dos registros seguían intactos, porque la función solo puede consultar.

## ¿Cómo te avisa antes de que te quedes sin stock?

Describe el disparador y el destinatario en una frase. Resend ya está conectado, así que el prompt trata del *cuándo*, no del *cómo*.

El nuestro enviaba un email con cada artículo nuevo; la misma forma sirve para un nivel de stock que cruza su línea de reposición. Añadir un producto generó un mensaje titulado **New inventory item: Laser Level 360**, entregado con su categoría, proveedor, ubicación y stock inicial.

El disparador solo se activa en la creación, así que editar un artículo existente no repite la alerta.

## ¿Cómo lo pones delante de tu equipo?

Pulsa **Publish**. Todo lo anterior vive en un workspace de borrador pensado para iterar; publicar lo copia a un servidor de producción con sus propios datos y sus propios secretos, y el diálogo cuenta los archivos, registros y secretos que viajan para que lo compruebes antes de confirmar.

A partir de ahí los dos están separados, que es la idea. Sigues cambiando el borrador mientras tu equipo trabaja con la app publicada, y vuelves a publicar cuando un cambio está listo.

## ¿Cuándo no es un sistema generado la respuesta?

Cuando las reglas de stock son el producto. La trazabilidad por número de serie, la caducidad por lote, el papeleo aduanero o un método de costeo que tu contable tenga que aprobar son la parte difícil, y generar una tabla más rápido no los toca.

Cuando los números deben vivir en un ERP. Una app de stock que posee una segunda copia crea un problema de conciliación peor que la hoja de cálculo que sustituyó.

Y cuando nadie va a hacerse cargo. Sigue necesitando a alguien que guarde las claves, revise quién tiene acceso y lea lo que escribió el agente antes de que gestione stock real.

## ¿Qué deberías hacer primero?

Adjunta tu archivo de stock real, no una muestra. La distancia entre leer sobre esto y saber si encaja con tu operación es de un prompt, y lo que vuelve es un sistema por el que puedes navegar, no un plan que tengas que imaginar.

Después añade el inicio de sesión, fija el modelo y configura una alerta. En ese punto, aquello de lo que depende tu negocio ya no es un archivo que alguien podría sobrescribir; y el patrón se generaliza: el agente elimina el tecleo y deja cada decisión sobre cómo debe comportarse tu stock exactamente donde estaba.
