Integraciones
Conectar Sage 200 o Business Central con tu transportista: por qué el seguimiento acaba escribiéndose a mano
La página del transportista dice que se integra con tu ERP, y es verdad. Lo que no dice es dónde vive esa integración: no en la API estándar de tu ERP, porque ahí el transportista no existe como campo. Este artículo abre las dos especificaciones publicadas —Business Central y Sage 200 España—, cuenta lo que llevan y explica qué consecuencia tiene para el dato que más falta hace, que es el que vuelve.
Publicado el 21 de septiembre de 2026 · 11 min de lectura
En resumen
salesShipment de la API v2.0 expone un solo método —GET— y ninguna de sus propiedades es la agencia ni el número de seguimiento. En Sage 200, la especificación publicada del albarán de venta no contiene ni una vez las palabras carrier, transport, tracking o shipping, y la entidad Tracking que sí existe tiene exactamente una propiedad: Id. La consecuencia práctica es que toda conexión entre tu ERP y tu agencia está construida fuera de esas dos superficies, y lo que se queda fuera es el camino de vuelta: el estado, la incidencia y la prueba de entrega no tienen dónde aterrizar. Comprobado el 21 de septiembre de 2026 en la documentación de los dos fabricantes, con sus URL al final.Lo que hay que retener
- El campo
Package Tracking No.de Business Central existe en la aplicación y se rellena a mano: el procedimiento que documenta Microsoft es abrir el albarán registrado y escribir el número. - El botón
Track Packageabre la web del transportista. No trae el estado al ERP, así que tu sistema sigue sin saber qué pasó. - No se puede añadir un campo a una API estándar de Business Central. Microsoft documenta que hay que copiar el código AL y publicar una API propia — o sea, un desarrollo con su despliegue, no una casilla de configuración.
- El recurso de albaranes de Sage 200 España admite
GETyPOST, y no publica método de actualización: no es la vía para escribir un dato sobre un albarán que ya existe. - «Sage 200» son dos productos distintos — el británico y el español — y el propio portal de Sage los lista por separado. Mira siempre de cuál habla la documentación que te enseñan.
¿Qué guarda tu ERP cuando el pedido sale por la puerta, y qué se queda sin dueño?
Cuando el bulto sale, tu ERP registra un hecho documental: el albarán. Ese documento lleva el cliente, la dirección, las líneas servidas y la fecha. Lo que no lleva por sí solo es nada de lo que ocurre después, porque después el control ha pasado a un tercero y tu ERP no tiene forma de enterarse salvo que alguien se lo cuente.
En Business Central sí hay dónde anotarlo. El albarán de venta registrado tiene código de transportista, nivel de servicio y un campo llamado Package Tracking No. Eso resuelve la mitad del problema: hay un sitio. Lo que no resuelve es quién pone el dato ahí, y la respuesta no hay que suponerla: está documentada por Microsoft, y es la siguiente sección.
En Sage 200 España, el recurso de albaranes de la API de ventas ni siquiera tiene el sitio. Se puede comprobar en un minuto y sin credenciales, porque la especificación es pública: en los 132.864 caracteres del documento del recurso SalesDeliveryNotes no aparece ni una vez carrier, ni transport, ni tracking, ni shipping, ni courier, ni delivered. Sí aparecen, y muchas veces, cliente, fecha e identificador — que es la forma de saber que la búsqueda funciona y que el cero es un cero de verdad.
¿Por qué el número de seguimiento se acaba tecleando a mano aunque tengas la integración puesta?
Porque el propio manual lo describe así. El procedimiento que Microsoft publica para seguir un paquete desde Business Central tiene cinco pasos, y los dos del medio son literales: abrir el albarán registrado y elegir la acción de actualizar el documento es el segundo, y el tercero es escribir en el campo Package Tracking No. el número que has recibido del transportista. No hay ninguna llamada de por medio. El número llega por donde llegue —un correo, un portal, el software de etiquetado— y lo teclea una persona.
El quinto paso completa el cuadro: elegir la acción Track Package abre el servicio de seguimiento del transportista. Es un hipervínculo construido con la dirección de internet que configuraste para esa agencia. Funciona, es útil y no es una sincronización: nada de lo que se vea en esa pestaña vuelve a Business Central. Tu ERP te ha llevado a la web de otro y se ha quedado igual de ciego que estaba.
Así que cuando una agencia o un integrador te dicen que «se integra con Business Central», lo que están describiendo no puede ser esa función nativa. Es algo que han construido: una extensión, un conector suyo, o un intermediario que escribe en el ERP por otra vía. No es malo — es la única forma de hacerlo. Lo que hay que saber es que estás comprando software a medida, y el software a medida hay que mantenerlo cuando cambie cualquiera de los dos extremos.
¿Qué te deja hacer la API estándar de cada ERP, y qué te obliga a construir por fuera?
Esta tabla no sale de ninguna comparativa ni de un informe: sale de abrir las dos especificaciones publicadas y contar. Cada fila se puede volver a comprobar con las URL del final, y conviene hacerlo, porque son documentos de terceros que cambian.
| Criterio | Business Central · API v2.0 | Sage 200 España · Sales API v1.0 |
|---|---|---|
| Recurso del documento de salida | salesShipment — el albarán de venta registrado | SalesDeliveryNotes — el albarán de venta |
| Métodos que expone | Solo GET. Desde la API no se crea ni se modifica. | GET y POST. No publica método de actualización. |
| ¿Lleva el transportista? | No. Lleva shipmentMethodCode, que es la forma de envío —el término de entrega—, no la agencia. | No. Cero apariciones de carrier, transport, shipping o courier en toda la especificación del recurso. |
| ¿Lleva el número de seguimiento? | No en la API, aunque el campo Package Tracking No. sí existe en la aplicación. | No. Hay una entidad Tracking aparte, y tiene una sola propiedad: Id. |
| ¿Puedes añadirle un campo? | No a la API estándar. Microsoft documenta que hay que copiar el código AL y publicar una API propia. | La especificación consultada no se pronuncia. Lo que sí declara es que expone datos de instalaciones on-premise, que es el dato que conviene tener delante si estás valorando una conexión en la nube. |
La fila que más decide es la última. En una integración, la pregunta «¿puedo llevar este campo de aquí a allá?» parece una pregunta de configuración y no lo es: es una pregunta sobre si existe una superficie donde ese campo quepa. Cuando la respuesta es que hay que publicar una API propia, el campo que falta ha dejado de ser una casilla y ha pasado a ser un proyecto con su código, su despliegue y su mantenimiento.
¿Por qué «integramos con Sage 200» no te dice con cuál de los dos Sage 200?
Porque hay dos productos con ese nombre y el propio Sage los publica por separado. En su portal de desarrollador aparecen como entradas distintas: 200 (UKI), descrito como un ERP de mercado medio de Reino Unido e Irlanda, y 200c (España), con su propia documentación y su propia API. No son versiones del mismo software con otra bandera a efectos de integración: son dos superficies técnicas que no se pueden usar la una por la otra.
La consecuencia es incómoda porque afecta a cómo buscas. Lo que vas a encontrar escrito sobre «la API de Sage 200» —foros, artículos técnicos, listados de conectores— puede ser del producto británico, que lleva más tiempo con documentación pública en inglés. Leerlo y planificar sobre ello es una forma silenciosa de empezar un proyecto con premisas del producto equivocado, y el descubrimiento llega tarde: no cuando se lee, sino cuando alguien intenta llamar a un endpoint que en tu instalación no existe.
Y hay un dato que la API española declara de sí misma y que conviene leer antes de diseñar nada: su cometido es exponer los datos de venta de instalaciones on-premise. Eso no impide conectar nada, pero sí determina dónde tiene que estar quien llama y qué conversación hay que tener con sistemas antes que con el integrador.
¿Qué hay que exigir por escrito antes de dar por cerrada la conexión con el transportista?
Cinco preguntas. Ninguna necesita que sepas programar y todas se contestan en una reunión, que es justo lo que las hace útiles: lo que no se contesta en una reunión no se va a contestar en producción.
- 1
Pregunta en qué campo concreto del ERP queda el número de seguimiento, y quién lo escribe
Si la respuesta es «en un campo personalizado», pregunta qué pasa con ese campo cuando actualicéis el ERP. Si la respuesta es «lo mete una persona», ya tienes la cifra que importa: no es el precio del proyecto, es el minuto por envío multiplicado por tus envíos del año. - 2
Pregunta qué vuelve del transportista, a qué campo y con qué frecuencia
Estado, incidencia, segundo intento, dirección errónea, rehúse, prueba de entrega. De cada uno: si vuelve, dónde aterriza y cada cuánto. Lo que no tenga destino no vuelve, aunque el transportista lo publique en su portal. - 3
Exige el caso de fallo, no la demo
Qué ocurre si el alta del envío falla después de que la etiqueta se haya impreso. Quién se entera, en qué pantalla y cuánto tarda. Una demo siempre enseña el camino bueno; el trabajo perdido vive entero en el otro. - 4
Comprueba de qué producto habla la documentación que te están enseñando
Con Sage 200, cuál de los dos. Con Business Central, si es la API estándar o una API publicada por ellos, porque no cuestan lo mismo de mantener ni se rompen en los mismos momentos. - 5
Acuerda quién mira la cola de lo que no cuadró
Ésta no es una pregunta técnica y es la que decide si el proyecto sirve. Una conexión mueve datos; no decide si un envío que lleva cuatro días sin escanear merece una llamada. Si nadie tiene esa lista asignada, la conexión funcionará y los casos seguirán descubriéndose por teléfono.
Si al terminar la reunión las cinco tienen respuesta y está escrita, el proyecto es evaluable. Si tres de ellas se responden con «eso lo vemos en la implantación», lo que te están vendiendo es el camino de ida, y el de vuelta lo vas a seguir haciendo tú con un albarán delante y el cliente al teléfono.
Qué hace Pliuz con esto, y qué no
Pliuz no es un conector de transportistas y no va a sustituir al software que imprime tus etiquetas. Ese trabajo está resuelto y lo hace bien quien lo hace. Lo que no está resuelto —y es de lo que hablamos— es lo que pasa con el envío cuando el dato de vuelta no llega, llega tarde o llega diciendo algo que nadie estaba esperando.
Hacia dónde va esto, dicho en condicional porque el motor de casos se está construyendo y no sería honesto contarlo en presente: un envío sin escaneo desde hace días, o con una incidencia del transportista, tendría un expediente con objetivo, plazo y responsable, en vez de un aviso que alguien lee y se olvida. Y lo que se hace con él —a partir de cuántos días se llama, qué incidencia se escala y cuál se resuelve sola— lo definirían reglas tuyas, escritas por ti, porque depende del cliente y de la mercancía.
Lo que sí está construido hoy es la parte de la que nadie quiere hablar hasta que toca: el control de qué puede leer y escribir un sistema automático dentro de tu ERP, con límites por operación y registro de lo que hizo. Está explicado, con sus bordes, en qué permisos se le dan a una IA sobre el ERP, y en la página de cómo se conectan el ERP, el almacén y el transporte están las cuatro formas de conexión y lo que deja fuera cada una.
Fuentes y para seguir leyendo
- Microsoft Learn — salesShipment resource type, API v2.0 de Business Central (métodos: solo GET; lista completa de propiedades, sin transportista ni número de seguimiento)
- Microsoft Learn — Welcome to the API (v2.0) for Business Central («Extending APIs with additional fields isn’t currently possible»; las API online vienen activadas por defecto y las on-premise hay que activarlas)
- Microsoft Learn — Track packages (el procedimiento documentado: escribir el número en Package Tracking No. y que Track Package abra el servicio del transportista)
- Sage Developer Portal — catálogo de productos, donde 200 (UKI) y 200c (España) figuran como dos entradas distintas
- Sage Developer Portal — Sage 200 Sales API v1.0.0 (alcance declarado: datos de venta de instalaciones on-premise; catálogo de recursos)
- Sage Developer Portal — recurso SalesDeliveryNotes de la Sage 200 Sales API (métodos GET y POST; especificación completa del albarán de venta)
- Sage Developer Portal — recurso Tracking de la Sage 200 Sales API (una única propiedad, Id, de 128 caracteres)
Preguntas frecuentes
¿Business Central guarda el número de seguimiento del transportista?
Sí, en el campo «Package Tracking No.» del albarán de venta registrado, junto al código de transportista y al nivel de servicio. Lo que conviene saber es cómo llega ahí: el procedimiento que documenta Microsoft consiste en abrir el albarán registrado, elegir la acción «Update Document» y escribir el número que te ha dado el transportista. Es entrada manual. Y la acción «Track Package» que hay al lado no trae el estado a Business Central: abre el servicio de seguimiento del transportista, es decir, su página web. El ERP guarda el número y te lleva a la web de otro; no vigila nada por su cuenta.
¿Se puede leer el número de seguimiento desde la API estándar de Business Central?
No en el recurso de albaranes de la API v2.0. El recurso «salesShipment» documenta un único método, GET, y su lista de propiedades no incluye ni el transportista ni el número de seguimiento; lo más cercano es «shipmentMethodCode», que es la forma de envío y no la agencia. Y hay un segundo límite que decide el coste de arreglarlo: Microsoft documenta que extender una API estándar con campos adicionales no es posible hoy en Business Central, y que si lo necesitas tienes que copiar el código AL de esa API y publicar una API propia. O sea que el campo existe en la aplicación, no en la superficie estándar, y llevarlo hasta ahí es un desarrollo con su despliegue.
¿Qué expone la API de ventas de Sage 200 en España?
La Sage 200 Sales API publica alrededor de cuarenta recursos de datos de venta: clientes, productos, stock, pedidos, albaranes, facturas, cobros, rutas, zonas y almacenes, entre otros. Ella misma declara su alcance: exponer los datos de venta de instalaciones de Sage 200 on-premise. Sobre el albarán de venta, el recurso «SalesDeliveryNotes» admite GET y POST —se puede leer y crear— y no publica método de actualización, así que no es la vía para escribir un dato sobre un albarán que ya existe.
¿La entidad «Tracking» de Sage 200 sirve para seguir un envío?
No es lo que el nombre sugiere. La entidad «Tracking» de la Sage 200 Sales API tiene exactamente una propiedad, «Id», descrita como identificador único de seguimiento y limitada a 128 caracteres. No lleva estado, ni fechas, ni transportista, ni eventos. Es un identificador, no un historial de envío. Y es un buen recordatorio de una regla que sale cara cuando se olvida: en una integración, el nombre de un campo no es su definición. Lo único que zanja qué hay dentro es abrir la especificación y leer sus propiedades.
¿Es lo mismo Sage 200 en España que en Reino Unido?
No, y es la confusión más barata de evitar y más cara de arrastrar. El portal de desarrollador de Sage lista «200 (UKI)» y «200c (España)» como dos productos separados, con documentación separada. Cuando un integrador, un foro o un transportista te enseñan documentación de «la API de Sage 200», lo primero que hay que mirar es de cuál de los dos habla. Un conector que funciona sobre el producto británico no te sirve, y el tiempo perdido en descubrirlo se paga entero en el proyecto.
¿Por qué el estado del transportista no llega a mi ERP si ya tengo la integración puesta?
Porque lo que se vende como «integración con el transportista» resuelve el camino de ida, y el de vuelta hay que pedirlo aparte. La ida tiene dueño evidente y se nota si falla: dar de alta el envío, imprimir la etiqueta y obtener un número. La vuelta —el estado, la incidencia, el segundo intento, la dirección errónea, la prueba de entrega— no rompe nada cuando no llega: simplemente no aparece, y una ausencia no dispara ninguna alarma. Súmale que el documento de salida de las dos API estándar no tiene dónde guardar ese estado, y el resultado es que el camino de vuelta hay que construirlo aparte, pedirlo aparte y pagarlo aparte.
¿Qué hay que preguntar antes de contratar una conexión entre el ERP y el transportista?
Cuatro cosas, y ninguna es técnica del todo. En qué campo concreto del ERP queda el número de seguimiento y quién lo escribe, porque si la respuesta es «una persona» ya sabes que es un coste que se repite. Qué información vuelve del transportista, a qué campo y con qué frecuencia. Qué pasa cuando la llamada de alta del envío falla después de que la etiqueta se haya impreso, que es el caso feo y el que nadie enseña en la demo. Y de qué producto habla la documentación que te están enseñando, que en el caso de Sage 200 son dos productos distintos con el mismo nombre.
Seguir leyendo
El pilar del que cuelga este artículo: qué sincroniza de verdad cada forma de conectar y qué se queda fuera de todas ellas.
Lo que pasa cuando el dato no volvió y hay un cliente esperando: las cinco realidades que caben en ese estado y el orden en que se preguntan.
La factura de no tener el camino de vuelta: una entrega sin prueba no se factura, o se factura sin nada con que defenderla.
Dos sesiones para ver qué campos viajan hoy entre tus sistemas y tu agencia, y cuáles los está escribiendo una persona.