Skip to content
Volver al blog

Cómo restringir un usuario de QuickBooks a sus clientes

Por Joseph Rodriguez2026-07-27Actualizado 2026-08-1811 min de lectura
QuickBooksPermisosHerramientas InternasOperaciones de VentasSoftware a Medida

Contrataste a un segundo vendedor. Ahora los dos entran a QuickBooks, abren la lista de clientes y ven todas las cuentas de la empresa. Pueden leer las facturas del otro, su historial de pagos, su antigüedad de saldos y sus totales. Quieres limitar a cada vendedor a las cuentas que tiene asignadas, así que te pones a buscar la configuración de permisos.

No existe esa configuración. Aquí va la respuesta corta, y después la mecánica.

La respuesta corta

Ningún plan de QuickBooks limita los permisos de usuario a un subconjunto de clientes. Los permisos se definen por área funcional (Clientes y ventas, Proveedores y compras, Informes, Bancos), no por registro individual. Un usuario que puede ver un cliente puede ver todos los clientes.

No es una opción que no encontraste todavía. Es cómo está construido el modelo de permisos. La verificación que hace QuickBooks es "¿puede este usuario abrir el área de ventas?", no "¿qué filas de clientes puede leer este usuario?". No hay una columna de propietario en el registro del cliente contra la cual el sistema de permisos pueda evaluar.

Entonces, si necesitas alcance por vendedor, la regla tiene que aplicarse en otro lado. Lo que sigue cubre qué permite realmente cada plan, cómo confirmarlo en tu propio archivo en un minuto, qué rompe cada solución alternativa común, y qué implica de verdad una capa para vendedores.

Qué permite cada plan de QuickBooks

ProductoGranularidad de permisos¿Puede limitar a clientes específicos?
QBO Simple Start, Essentials, PlusUsuario estándar con acceso activado o desactivado a "Clientes y ventas" y "Proveedores y compras"No. Activado significa todos los clientes
QBO AdvancedRoles personalizados con niveles de acceso por categoría en ventas, gastos, informes, bancosNivel de categoría, no de registro. Verifícalo en tu archivo, ver abajo
QBD Pro y PremierRol asignado por área con ver, crear, modificar, eliminarNo
QBD EnterpriseRoles predefinidos más ajustes por actividad sobre una lista larga de actividadesNo. Enterprise agrega granularidad por actividad, no por registro

Vale la pena nombrar dos cosas, porque son las que la gente confunde con la respuesta.

El campo Rep no es un permiso. QuickBooks Desktop tiene un campo Rep en clientes y formularios de venta. Existe para que puedas correr un informe de ventas por vendedor. Es una dimensión de informes. Un vendedor que abre ese informe puede quitar el filtro y ver a todos. QuickBooks Online no tiene campo Rep nativo; Advanced permite crear un campo personalizado, y un campo personalizado sigue siendo apenas un dato guardado en el registro.

Las clases y ubicaciones tampoco son permisos. Particionan tus informes, no tu acceso. Cualquier usuario puede cambiar el filtro de clase en cualquier informe que tenga permitido correr.

Confírmalo en tu propio archivo en un minuto

No me creas a mí, y tampoco le creas a un proveedor.

En QuickBooks Online: Configuración, después Administrar usuarios, después agregar o editar un usuario y recorrer todas las pantallas de permisos. En Advanced: Configuración, después Administrar usuarios, después Roles, después crear un rol personalizado y abrir cada categoría.

Lo que estás buscando es un control que acepte una lista de clientes, o una regla con la forma "solo los registros donde este campo sea igual a este usuario". Si todo control que encuentras es un nivel (Acceso completo, Solo lectura, Ninguno) aplicado a una categoría entera, entonces es a nivel de categoría y lo de arriba se sostiene.

Esta verificación importa porque Intuit despliega variantes de funciones según plan y región, y algunas páginas de terceros describen los roles personalizados de Advanced con un lenguaje que suena a nivel de registro cuando el control real es a nivel de categoría. Sesenta segundos en tu cuenta lo resuelven. Si encuentras un selector de clientes de verdad, ese es el plan que hay que comprar, y puedes dejar de leer.

Las cuatro soluciones alternativas, y qué cuesta cada una

Un archivo de empresa por vendedor. Funciona, en el sentido de que las paredes son reales. También destruye las cuentas por cobrar consolidadas, rompe los informes a nivel empresa, multiplica el costo de suscripción y empeora bastante el cierre de mes. Proveedores compartidos, plan de cuentas compartido y cualquier cliente que le compre a dos vendedores se vuelven conciliación manual. Casi nadie que lo intenta sigue haciéndolo un año después.

Clases o ubicaciones. Ya explicado. Partición de informes, no control de acceso.

Un usuario de solo informes más reportes programados. Le mandas a cada vendedor un informe filtrado por correo, en un horario fijo. Es la opción más barata y a algunos equipos les sirve de verdad. Los límites son obvios: datos viejos entre envíos, sin búsqueda, sin profundizar, solo lectura.

Complementos de terceros. Existen varios. Evalúa a todos con una sola pregunta: ¿dónde se aplica el filtro? La mayoría se conecta con un token a nivel de empresa, baja todo y aplica el filtro por vendedor dentro de su propia interfaz. Es una arquitectura legítima, y es exactamente la arquitectura que se describe abajo, con un proveedor externo sosteniendo tu token. Júzgalos por precio, soporte y encaje con tu flujo de trabajo, no por creer que hacen algo que los permisos de QuickBooks no pueden.

Lo que sí funciona: una capa para vendedores encima de QuickBooks

QuickBooks sigue siendo el sistema contable de registro, y nada cambia en tus libros. Una aplicación separada, deliberadamente pequeña, se hace cargo de las dos cosas que QuickBooks no modela: quién es dueño de qué cliente, y la regla de que un vendedor solo ve lo suyo. Los vendedores entran a esa capa. Contabilidad, contadores y dueños siguen trabajando en QuickBooks con acceso completo.

El modelo de datos

La tabla de propiedad es toda la idea, y conviene que sea de muchos a muchos desde el primer día:

  • customer_qbo_id, el Id de QuickBooks, no el nombre visible
  • rep_user_id
  • role, porque vendedor principal y secundario en una misma cuenta es común
  • effective_from y effective_to, porque las cuentas se reasignan y vas a tener que responder preguntas sobre el trimestre pasado

Todo lo demás es una copia en caché de los datos de QuickBooks más un filtro.

Qué te da la API de QuickBooks y qué no

Esta es la parte que define el diseño, así que vale la pena ser preciso.

Una conexión con QuickBooks se autoriza contra una empresa, no contra un usuario. El token OAuth 2.0 que recibe tu aplicación está atado a un realm, que es el archivo de la empresa. No hay forma de emitir un token más acotado que devuelva solo los clientes de un vendedor. Cada lectura que hace tu aplicación vuelve sin filtrar, para toda la empresa.

Ese solo hecho significa que el filtro de alcance es responsabilidad de tu aplicación en cada consulta, cada lista, cada exportación, cada desplegable y cada total. No hay red de seguridad atrás. Una cláusula WHERE faltante en un solo handler filtra la cartera entera.

Leer es lo fácil. La Accounting API expone un endpoint de consulta con una sintaxis parecida a SQL contra entidades como Customer e Invoice, paginado con una posición de inicio y un máximo de resultados. Bajar la lista completa de clientes no es la parte difícil.

Mantener la sincronización es lo que se subestima. Los webhooks de QuickBooks son solo notificaciones: el evento te dice el tipo de entidad, el Id del registro, la operación y una marca de tiempo. No trae el registro. Ese lo buscas tú. También tienes que asumir que vas a perder eventos, así que planea un camino de reconciliación usando el endpoint de captura de cambios para traer todo lo modificado desde una fecha dada después de cualquier caída.

No llames a Intuit en cada carga de página. La API está limitada por empresa. Guarda clientes y facturas en caché local, sírveles a los vendedores desde tu propio almacén, y reconcilia por webhook más un horario fijo. Esa es la diferencia entre una herramienta que se siente instantánea y una que se cae a las 9 de la mañana cuando entran todos.

Prueba el viaje de ida y vuelta de los campos personalizados antes de diseñar alrededor de ellos. Si tu plan es guardar el nombre del vendedor en un campo personalizado de QuickBooks y leerlo de vuelta por la API, verifica ese viaje exacto en tu propio plan primero. La cobertura de campos personalizados en la API ha sido históricamente más angosta de lo que sugiere la interfaz web.

Las fallas que de verdad muerden

Estas son las que aparecen después del lanzamiento, no durante la demostración:

  1. Los clientes sin asignar se vuelven invisibles. Cada filtro necesita un comportamiento definido para los registros sin fila de propietario, o las cuentas nuevas desaparecen en silencio de la vista de todos. Elige un propietario por defecto o una fila explícita de no asignados.
  2. La reasignación borra el historial. Cuando una cuenta pasa de un vendedor a otro, ¿el nuevo ve tres años de facturas viejas, y el anterior las pierde al instante? La propiedad con fechas de vigencia responde esto. Una sola columna owner_id en el cliente no.
  3. Las cuentas compartidas son de muchos a muchos. La cuenta que comparten dos vendedores va a existir. Modélala el primer día o adáptala dolorosamente después.
  4. Los agregados filtran lo que las listas esconden. La lista de clientes filtra bien, y después un panel muestra el total de ingresos de la empresa. Cada conteo, suma y gráfico tiene que pasar por el mismo filtro que la lista.
  5. El autocompletado filtra. El selector de cliente en el formulario de factura nueva también es una consulta. Es la que más se olvida.
  6. Fusionar clientes en QuickBooks destruye un Id. Tu fila de propiedad ahora apunta a un registro que ya no existe. Detéctalo y manéjalo, en vez de dejar que la sincronización falle en silencio.

Los puntos 2 y 6 son en realidad el mismo requisito: necesitas un registro de qué cambió y cuándo. Esa es una de las razones por las que los registros de auditoría pertenecen a las herramientas internas desde el arranque, en lugar de agregarse después de la primera disputa.

El sistema de pedidos que construí para un distribuidor mayorista de telefonía aplica los permisos así. Los roles controlan qué acciones puede hacer un usuario, y cada consulta que devuelve registros aplica el filtro de alcance en el servidor antes de que algo llegue al navegador. El patrón es idéntico ya sea que los registros con alcance sean pedidos o clientes.

Qué tan grande es este proyecto

El alcance se parte limpio en una sola línea: solo lectura o escritura de vuelta.

Una vista de solo lectura para vendedores (inicio de sesión, lista de clientes asignados, detalle del cliente con facturas y saldo, búsqueda básica y una pantalla de administración de propiedad) es una herramienta interna pequeña y bien acotada. La sincronización con QuickBooks es el grueso del trabajo, no la interfaz.

Una capa donde los vendedores además crean presupuestos o facturas que se escriben de vuelta en QuickBooks es otro proyecto. Ahí ya estás escribiendo en el sistema contable, lo que implica validación, protección contra duplicados y una respuesta real para qué pasa cuando un envío falla a la mitad. Haz la comparación entre construir y comprar con honestidad antes de comprometerte, porque a este tamaño un complemento de terceros puede ser la decisión correcta.

La calculadora de costos te da un rango útil antes de hablar con nadie.

De todos modos, el próximo paso útil es más pequeño que un proyecto. Dedica los sesenta segundos en Administrar usuarios y confirma la limitación en tu propio archivo. Si se sostiene, anota cuántos vendedores tienes, cuántos clientes, y si los vendedores necesitan crear algo o solamente leer. Esas tres respuestas determinan todo lo demás.

Preguntas frecuentes

¿Se puede restringir un usuario de QuickBooks a solo sus propios clientes?

No con los permisos nativos de QuickBooks. QuickBooks limita el acceso por área funcional, como Clientes y ventas o Proveedores y compras, no por registro individual de cliente. Un usuario con acceso al área de ventas puede ver todos los clientes del archivo de la empresa. Restringir a un vendedor a un subconjunto de clientes exige aplicar esa regla fuera de QuickBooks, en una aplicación separada que guarde las asignaciones y filtre cada consulta.

¿QuickBooks Online Advanced permite permisos a nivel de cliente?

QuickBooks Online Advanced agrega roles personalizados, que dan más control que los tipos de usuario estándar: se pueden fijar niveles de acceso por categoría en ventas, gastos, informes, bancos y otras áreas. La propia documentación de Intuit describe esas restricciones por área de funciones y por ubicación, no por registro individual de cliente. Como Intuit varía las funciones según el plan y la región, confirme el comportamiento actual en su propia cuenta en Configuración, Administrar usuarios, Roles antes de diseñar algo alrededor de eso.

¿QuickBooks Desktop Enterprise puede limitar a un vendedor a sus propias cuentas?

QuickBooks Desktop Enterprise ofrece los permisos nativos más granulares de todos los productos QuickBooks, con roles predefinidos y ajustes por actividad para ver, crear, modificar, eliminar e imprimir. Esa granularidad es por actividad, no por registro. Enterprise también tiene un campo Rep en clientes y formularios de venta, pero Rep es una dimensión de informes que sirve para filtrar reportes, no una regla de control de acceso, y el usuario puede quitar el filtro.

¿Cómo se le da a los vendedores una vista de solo sus clientes?

Construyendo una capa delgada para vendedores encima de QuickBooks. QuickBooks sigue siendo el sistema contable de registro. Una aplicación separada guarda qué vendedor es dueño de qué cliente, sincroniza los datos de clientes y facturas desde la API de QuickBooks, y aplica el filtro de propiedad en cada consulta, lista, exportación y total. Los vendedores entran a esa capa en vez de a QuickBooks, y el equipo contable conserva acceso completo dentro de QuickBooks.

¿Tienes un proyecto como este en mente?

Cuéntanos qué quieres construir y te damos una respuesta directa sobre alcance, costo y tiempos.

end of postall posts