Saltar al contenido

2026

Chat en lenguaje natural que navega dentro del ERP

Un chat que convierte una frase corriente en la pantalla correcta de SAP Business One: un add-on en C# expone un bridge local y un agente fuera del ERP hace la interpretación.

  • C#
  • .NET Framework
  • Python
  • LangGraph
  • MCP
  • Streamlit

Problema

Llegar a una pantalla concreta en un ERP con años de módulos encima es navegación a ciegas: menús anidados, criterios de búsqueda y un orden que solo domina quien lo usa a diario. "Abre el último pedido de ese cliente" es una frase de tres segundos que, a mano, son varios clics y saber de antemano dónde mirar.

Solución

Son tres piezas, separadas a propósito. Un add-on en C# dentro del ERP que expone un bridge HTTP local y entiende únicamente un repertorio cerrado de órdenes verificables. Un servidor intermedio que publica esas órdenes como herramientas MCP. Y un agente conversacional que vive fuera de SAP, interpreta lo que el usuario escribe y decide qué orden emitir.

El reparto no es casual. La parte que decide es la que puede equivocarse, así que la parte que ejecuta es deliberadamente tonta: no interpreta nada. Si le llega una orden que no está en el repertorio, la rechaza en lugar de aproximarla.

Eso también acota el daño posible. El agente no habla con la base de datos ni con el SDK. Solo puede pedir cosas que el add-on ya sabe hacer y que se revisaron una por una.

Arquitectura

Usuario Chat (Streamlit) Agente conversacional (Python + LangGraph) fuera de SAP invoca herramienta Servidor MCP intermedio orden cerrada y verificable (HTTP local) Bridge del add-on (C# / .NET Framework) dentro de SAP orden conocida ? → no → rechazo / si SAP Business One: la pantalla correcta se abre

Por qué está montado así

El lenguaje natural se queda fuera del ERP. Hacia dentro solo viajan órdenes cerradas, y esa frontera es lo único que hace el montaje defendible.

El repertorio de órdenes es finito. Lo que no está definido se rechaza; nunca se aproxima a la orden más parecida.

El bridge escucha solo en local. No hay puerto abierto en red ni ERP expuesto a nada que venga de fuera de la máquina.

Usé LangGraph para el agente porque el flujo de decisión queda como un grafo que se lee y se depura. Encadenar prompts funciona hasta que falla, y entonces no sabes dónde.

Streamlit es solo la interfaz. El chat es presentación y no debía condicionar el diseño de las otras dos piezas.

Resultado

Una petición escrita en lenguaje natural abre la pantalla que corresponde dentro de SAP Business One, y el ERP solo llega a ejecutar órdenes de un repertorio cerrado.

Contacto

Trabajemos juntos en tu próximo proyecto

Si tienes un proyecto de SAP Business One, una integración pendiente o simplemente una duda, escríbeme. Respondo a todos los mensajes.

Ubicación
Palma, Mallorca