Autenticarse en Oracle NetSuite con un rol personalizado

Prev Next

Este artículo enumera los permisos mínimos de NetSuite necesarios para que un rol personalizado pueda usar los RESTlets de la SuiteApp de Payhawk. La SuiteApp ya no requiere el rol de administrador: puede usarse cualquier rol que tenga acceso a la autenticación basada en tokens (TBA) y los permisos que se indican a continuación.

Documentación de referencia

Crear un rol personalizado

Para crear un rol específico para la integración con Payhawk, sigue estos pasos:

  1. En Oracle NetSuite, ve a Configuración > Usuarios/Roles > Gestionar roles > Nuevo.

  2. Asigna un nombre al rol, por ejemplo, Integración con Payhawk.

  3. En el registro del rol, marca Rol solo para servicios web (recomendado: evita el inicio de sesión en la interfaz de usuario con este rol).

  4. Añade los permisos indicados que se indican a continuación en las subpestañas de Permisos (Configuración, Transacciones, Listas).

  5. Guarda el rol.

  6. Asigna el rol al usuario: Listas > Empleados > [Usuario] > Acceso > Roles.

Permisos

Transacciones

Página del rol → Permisos → subpestaña Transacciones

Permiso

Nivel

Facturas

Completo

Depósito

Crear

Introducir abonos de proveedor

Completo

Informe de gastos

Completo

Buscar transacción

Ver

Crear asiento contable

Completo

Pagar facturas

Completo

Orden de compra

Completo

Informes

Página del rol → Permisos → subpestaña Informes

Permiso

Nivel

Estado de flujo de efectivo

Ver

Listas

Página del rol → Permisos → subpestaña Listas

Permiso

Nivel

Cuentas

Completo

Programas de amortización

Ver

Clases

Ver

Moneda

Completo

Registro de auditoría del complemento de líneas personalizadas del libro mayor (GL)

Ver

Clientes

Ver

Departamentos

Ver

Documentos y archivos

Completo

Registro de empleado

Completo

Empleados

Completo

Artículos

Ver

Ubicaciones

Ver

Proyectos

Ver

Filiales

Ver

Registros fiscales

Ver

Proveedores

Completo

Configuración

Página del rol → Permisos → subpestaña Configuración

Permiso

Nivel

Preferencias de contabilidad

Completo

Información de la empresa

Completo

Campos personalizados del cuerpo

Ver

Campos de columna personalizados

Ver

Campos de entidad personalizados

Ver

Campos personalizados

Ver

Campos de artículo personalizados

Ver

Listas personalizadas

Ver

Tipos de registro personalizados

Ver

Segmentos personalizados

Ver

Campos de transacción personalizados

Ver

Formularios de transacción personalizadas

Ver

Iniciar sesión con tokens de acceso

Completo

Gestionar períodos contables

Ver

Gestionar períodos de declaración de impuestos

Completo

Otros campos personalizados

Ver

SuiteScript

Ver

Configuración de permisos para transacciones, informes, listas, configuración y opciones de registro personalizado.

Permisos globales del usuario

Permiso

Nivel

Gestión de tokens de acceso

Completo

Relación entidad-filial

Completo

SuiteSignOn

Completo

La interfaz muestra los permisos globales y varios niveles de acceso para los roles de usuario.

Notas para desarrolladores

Endpoints genéricos: records-restlet y suiteql-restlet son endpoints genéricos que pueden acceder a cualquier tipo de registro. El rol debe tener permisos para cada tipo de registro consultado a través de ellos. Si falta algún permiso, estos endpoints devolverán un error estructurado.

  • Compatibilidad con versiones anteriores: la SuiteApp sigue funcionando con el rol de administrador. No se requieren cambios para las conexiones existentes que utilizan Administrador.

  • Referencia completa de permisos: para comprender todas las implicaciones de los permisos de NetSuite, descarga el archivo oficial NetSuitePermissionsUsage.xls.

Solución de problemas

Diagnóstico: consulta el registro de auditoría de inicio de sesión en Configuración > Usuarios/Roles > Ver registro de auditoría de inicio de sesión. Añade las columnas Detalle, Nombre del token de acceso basado en tokens y Nombre de la aplicación basada en tokens para ver los motivos detallados de los errores.

INSUFFICIENT_PERMISSION / insufficient-permissions (permisos insuficientes)

Este error significa que la autenticación TBA se realizó correctamente, pero el rol no tiene permisos para el registro u operación específicos. records-restlet y suiteql-restlet devuelven un error estructurado:

{ "errors": [{ "code": "insufficient-permissions", "message": "..." }] }

Añade el permiso que falte de las tablas anteriores. El mensaje de error suele indicar el tipo de registro al que se necesita acceso.

Permission_denied (permiso denegado)

Este error a nivel de TBA significa que no se puede utilizar el rol o la entidad de usuario. Verifica que:

  1. El rol está activo (no deshabilitado).

  2. El usuario no ha marcado el rol como inactivo en su página Ver mis roles.

  3. El rol tiene asignados permisos de TBA.