Conectar NetSuite: recibir pedidos y sincronizar clientes, facturas y productos
Encuentre su Account ID en NetSuite, pegue en Integration un token de acceso OAuth2 ya emitido con el alcance rest_webservices, pruebe, mapee y active: entran los pedidos de venta y clientes, facturas y productos se sincronizan en ambos sentidos.
El conector de NetSuite conecta su ERP Oracle NetSuite mediante el servicio SuiteTalk REST Record. Trae pedidos de venta, clientes, facturas y productos desde NetSuite y devuelve clientes, facturas y productos a NetSuite. No puede leer ni enviar cantidades de inventario, así que úselo para pedidos y para registros de clientes, facturas y productos, no para sincronizar cantidades de stock.
Requisitos previos#
- Una cuenta de NetSuite y un acceso que pueda abrir Setup → Company → Company Information para leer el Account ID.
- Un rol con permiso de REST Web Services: el token debe llevar el alcance rest_webservices y su rol debe poder leer registros de clientes, porque la prueba de conexión lee un cliente.
- Un token de acceso OAuth2 ya emitido, obtenido mediante un registro de integración (integration record) de NetSuite por el flujo de credenciales de cliente o de código de autorización. Tenga el token listo antes de empezar el asistente.
- Sepa qué cuenta va a conectar: un Account ID de sandbox se ve como 1234567_SB1, con el sufijo _SB1.
Obtener credenciales#
- Encuentre el Account ID: en NetSuite vaya a Setup → Company → Company Information y copie el Account ID tal como aparece; en una cuenta sandbox incluye el sufijo _SB1, por ejemplo 1234567_SB1.
- Obtenga el token de acceso OAuth2: el token debe llevar el alcance rest_webservices y se obtiene desde un registro de integración de NetSuite mediante el flujo de credenciales de cliente o de código de autorización. Integration no abre una ventana de inicio de sesión de NetSuite por usted: usted pega un token que ya ha sido emitido.
- Verifique el rol detrás del token: necesita permiso de REST Web Services y permiso para leer registros de clientes, o la prueba de conexión fallará con MISSING_SCOPE (403).
Completar en Integration#
- Abra Integration → Marketplace → NetSuite → Nueva conexión.
- account_id: obligatorio. Introdúzcalo en el campo Account ID: el Account ID de NetSuite → Setup → Company → Company Information, copiado carácter por carácter, incluido el sufijo _SB1 en una cuenta sandbox (por ejemplo 1234567_SB1).
- token: obligatorio. Introdúzcalo en el campo OAuth2 access token: pegue el token de acceso OAuth2 completo con el alcance rest_webservices (su valor suele empezar por eyJ). No hay un campo aparte para Client ID o Client Secret. El token se guarda cifrado y nunca se vuelve a mostrar.
Probar la conexión#
Haga clic en Probar la conexión. Si account_id está vacío, la prueba se detiene con MISSING_ACCOUNT_ID; si token está vacío, se detiene con MISSING_TOKEN: en ambos casos no se envía ninguna solicitud. En caso contrario, la prueba envía su token como Bearer en una única sonda de solo lectura: lee la lista de clientes con límite 1 desde https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/customer (tiempo de espera de 12 segundos). Una respuesta 200 significa que la prueba pasó y el resultado muestra su account_id. Una respuesta 401 vuelve como INVALID_TOKEN y una 403 como MISSING_SCOPE: vea en las preguntas frecuentes qué corregir en cada caso; cualquier otro fallo se informa como CONNECTION_FAILED.
Mapping / elegir plantilla#
Elija la plantilla estándar de NetSuite. Mapea los pedidos de venta —incluido el detalle de líneas de cada pedido, que el conector lee pedido por pedido—, además de clientes, facturas y productos (artículos de inventario de NetSuite), entre NetSuite y los documentos estándar. Antes de activar, revise en la vista previa los campos que le importan y asegúrese de que cada producto de NetSuite esté vinculado al producto correcto de este lado. Las cantidades de inventario no forman parte de este mapping: esta conexión no lee ni envía cantidades de stock, así que no mapee campos de cantidad disponible esperando que se sincronicen.
Activar#
Tras activar, Integration trae nuevos pedidos de venta, clientes, facturas y productos desde NetSuite según la frecuencia definida y devuelve a NetSuite las actualizaciones de clientes, facturas y productos. Las cantidades de inventario no fluyen en ningún sentido por esta conexión. Vigile los primeros documentos en Runs / Logs antes de dejarlo sin supervisión, y cuando su token OAuth2 caduque, sustitúyalo por uno recién emitido y pruebe de nuevo.
Preguntas frecuentes#
La prueba se detiene con MISSING_ACCOUNT_ID o MISSING_TOKEN
Uno de los dos campos obligatorios está vacío, así que la prueba se detiene antes de enviar cualquier solicitud a NetSuite.
Complete ambos campos: account_id desde NetSuite → Setup → Company → Company Information, y token con el token de acceso OAuth2 completo. Guarde y pruebe de nuevo.
La prueba falla con INVALID_TOKEN (401)
NetSuite rechazó el token: no es válido o ha caducado, se pegó de forma incompleta, o lo pegado es una credencial de autenticación basada en tokens (TBA) y no un token de acceso OAuth2.
Obtenga un token de acceso OAuth2 nuevo con el alcance rest_webservices desde su registro de integración de NetSuite, péguelo completo en el campo token, guarde y pruebe de nuevo. Recuerde que las credenciales TBA no se pueden usar con esta conexión.
La prueba falla con MISSING_SCOPE (403)
El token llegó a NetSuite pero no tiene permiso para hacer lo que hace la prueba: le falta el alcance rest_webservices, o el rol detrás de él no tiene permiso para leer registros de clientes, y la sonda de la prueba lee clientes.
Pida a su administrador de NetSuite que revise el alcance en el registro de integración y el permiso de clientes del rol. Si el alcance cambia, emita un token nuevo, péguelo en la conexión, guarde y pruebe de nuevo.
La prueba falla con CONNECTION_FAILED
La sonda llegó a NetSuite pero obtuvo una respuesta distinta de éxito, 401 o 403. Una causa común es un account_id que no coincide con la cuenta a la que pertenece el token: la dirección de la sonda se construye con su account_id, así que un solo carácter erróneo la envía al lugar equivocado.
Vuelva a copiar account_id desde NetSuite → Setup → Company → Company Information, carácter por carácter —incluido el sufijo _SB1 si es una cuenta sandbox— y confirme que el token fue emitido para esa misma cuenta. Guarde y pruebe de nuevo.
¿Dónde introduzco el Client ID y el Client Secret?
En ningún sitio de esta conexión: no tiene campo de Client ID ni de Client Secret. Toma el token de acceso OAuth2 ya emitido: el intercambio por credenciales de cliente o código de autorización ocurre del lado del registro de integración de NetSuite para producir ese token, y usted pega el token resultante en el campo token aquí.
Por eso tampoco hay aquí un flujo de renovación del token: el token que pega es la credencial terminada. Si caduca, repita el intercambio del lado de NetSuite con el mismo Client ID y Client Secret, pegue el nuevo token en esta conexión y pruebe de nuevo.
¿Puede esta conexión sincronizar cantidades de inventario?
No. Esta conexión no puede leer cantidades de inventario desde NetSuite ni enviar cantidades de inventario a NetSuite. Úsela para pedidos de venta, clientes, facturas y productos, y mantenga las cantidades de stock en el sistema que las gestiona hoy.
Los registros de producto sí circulan en ambos sentidos: nombre, SKU y demás campos del producto se sincronizan con NetSuite. Lo que nunca viaja es la cifra de cantidad: un producto sincronizado no trae consigo su existencia.