Conectar Sage Intacct: sincronizar clientes, facturas y productos
Obtenga un Client ID y un Client Secret en Sage Developer Portal, autorice un usuario dedicado de Web Services, pegue los valores en Integration, pruebe, mapee y active: clientes, facturas y productos se sincronizan en ambos sentidos.
El conector de Sage Intacct sincroniza clientes, facturas y productos entre Sage Intacct y su sistema en ambos sentidos: puede traer cada uno y devolverlo. Los pedidos de venta y el inventario no forman parte de esta conexión hoy: lo que puede sincronizar ahora es clientes, facturas y productos. Un detalle importa desde el inicio: las credenciales están vinculadas a un usuario de integración de Web Services dedicado, e iniciar sesión en la interfaz web con ese usuario invalidará el token (REST-2102).
Requisitos previos#
- Una empresa de Sage Intacct, más una app en Sage Developer Portal para esa empresa.
- Un usuario de integración de Web Services dedicado, autorizado explícitamente en la configuración de la empresa. Use un usuario creado solo para esta conexión, no el acceso diario de una persona.
- Nunca inicie sesión en la interfaz web de Sage Intacct con ese usuario de integración. Hacerlo invalida el token y las sincronizaciones posteriores fallan con REST-2102.
- Si su empresa usa varias entidades, tenga listo el Entity ID: lo ingresará en el campo company_id. Las empresas de una sola entidad pueden dejar ese campo vacío.
Obtener credenciales#
- Vaya a Sage Developer Portal → su app y copie el Client ID que se muestra allí.
- En el mismo lugar, copie el Client Secret. El secret se muestra una sola vez: guárdelo en un lugar seguro antes de salir de la página.
- Asegúrese de que estas credenciales estén vinculadas al usuario de Web Services autorizado explícitamente en la configuración de su empresa de Sage Intacct. Autorice allí a su usuario de integración dedicado: el paso del token será rechazado si la app no está autorizada en la configuración de Web Services de la empresa.
Completar en Integration#
- Abra Integration, cree una conexión nueva y elija Sage Intacct. El formulario tiene los tres campos siguientes: complételos en este orden.
- client_id (Client ID): obligatorio, campo de texto. Pegue el Client ID que copió de Sage Developer Portal → su app.
- client_secret (Client Secret): obligatorio, campo de contraseña. Pegue el Client Secret de la misma página de la app. Se guarda como secreto y no se vuelve a mostrar después de guardar.
- company_id (Company ID (optional)): opcional, campo de texto, por ejemplo mycompany. Complételo solo si trabaja con varias entidades: ingrese allí el Entity ID. En este formulario, Company ID y Entity ID son el mismo valor: no hay un campo de entidad aparte, y las empresas de una sola entidad lo dejan vacío.
- No hay ningún campo de dirección del servidor para completar. La conexión usa siempre la dirección de la REST API v1 de Sage Intacct: https://api.intacct.com/ia/api/v1.
Probar la conexión#
Haga clic en Probar la conexión y el sistema ejecuta dos pasos reales. Paso uno: intercambia su Client ID y Client Secret por un token en la dirección de token de Sage Intacct (POST https://api.intacct.com/ia/api/v1/oauth2/token). Si falta cualquiera de los campos obligatorios, la prueba se detiene de inmediato con MISSING_CLIENT_SECRET y no envía ninguna solicitud. Si Sage Intacct responde 401 en este paso, el resultado es INVALID_CREDENTIALS: los valores son incorrectos o la app no está autorizada en la configuración de Web Services de la empresa.
Paso dos: con ese token, el sistema hace una pequeña prueba por el servicio de consultas (POST /services/core/query) pidiendo un cliente: objeto customer, campos id y name, tamaño 1. Una respuesta 200 significa que la conexión funciona de extremo a extremo. Si la prueba responde 401, el resultado es INVALID_TOKEN y el mensaje trae el recordatorio REST-2102: iniciar sesión en la interfaz web con el usuario autorizado invalida el token. La prueba espera hasta 12 segundos antes de declarar un tiempo agotado.
Mapping / elegir plantilla#
Mapee los tres tipos de objeto que lleva esta conexión: clientes, facturas (el objeto arinvoice en Sage Intacct) y productos. Para cada tipo, vincule los campos de Sage Intacct con los campos de su lado —como mínimo el id y el nombre del registro— y revise la vista previa con un registro real antes de activar. Si completó company_id, confirme que los registros de la vista previa pertenecen a esa entidad.
Activar#
Tras activar, los flujos que habilitó sincronizan clientes, facturas y productos entre Sage Intacct y su sistema: los registros nuevos y modificados se traen, y los que usted crea o actualiza en su lado se devuelven a Sage Intacct. Vigile las primeras ejecuciones en Runs / Logs. Si las sincronizaciones empiezan de repente a fallar con REST-2102, no cambie primero el mapping: compruebe si alguien inició sesión en la interfaz web con el usuario de integración, haga emitir un token nuevo y asegúrese de que ese usuario no vuelva a entrar en la interfaz web.
Preguntas frecuentes#
La sincronización falla de repente con REST-2102, o la prueba devuelve INVALID_TOKEN
El token ha sido invalidado. La causa habitual es que alguien inició sesión en la interfaz web de Sage Intacct con el usuario de integración de Web Services autorizado: ese inicio de sesión invalida el token del que depende esta conexión.
Haga emitir un token nuevo para la conexión, pruebe de nuevo y mantenga a ese usuario de integración fuera de la interfaz web para siempre: debe existir solo para esta conexión.
La prueba devuelve INVALID_CREDENTIALS (401 al obtener el token)
O el Client ID o el Client Secret que pegó es incorrecto, o la app no está autorizada en la configuración de Web Services de su empresa de Sage Intacct: Sage Intacct rechaza la solicitud de token en ambos casos.
Vuelva a copiar ambos valores desde Sage Developer Portal → su app (el secret se muestra una sola vez: use la copia que guardó), péguelos de nuevo sin espacios extra y confirme en la configuración de la empresa que la app está autorizada para su usuario dedicado de Web Services. Luego pruebe de nuevo.
La prueba devuelve MISSING_CLIENT_SECRET
Uno de los dos campos obligatorios —client_id o client_secret— está vacío en el formulario de conexión. La prueba comprueba esto primero y no envía ninguna solicitud a Sage Intacct hasta que ambos estén completos.
Complete client_id y client_secret con los valores de Sage Developer Portal → su app, guarde y ejecute la prueba de nuevo.
Los pedidos de venta o el inventario no llegan
No es un error de mapping. Esta conexión sincroniza solo clientes, facturas y productos: los pedidos de venta y el inventario no los lleva, así que no llega nada de esos dos tipos por mucho que ajuste el mapping.
Limite los flujos de esta conexión a clientes, facturas y productos, y gestione por ahora los pedidos de venta y el inventario con su otro proceso existente.