Advisors (asesores) are the primary service providers in PortalHub. Once an administrator assigns a client to an advisor, the advisor gains a dedicated view of that client’s documents, appointments, and payment activity, and becomes the client’s main point of contact for all accounting matters. This guide covers every workflow an advisor will encounter on the platform.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Nieto2020/portalhub/llms.txt
Use this file to discover all available pages before exploring further.
Capabilities Overview
Client Portfolio
View the full list of clients assigned to you and access each client’s profile and activity.
Appointment Management
Review upcoming appointments, reschedule sessions, and cancel with a documented reason.
Document Review
Browse, download, and validate client-uploaded fiscal documents including CFDI XML files.
Reports
Author Mensual, Trimestral, Anual, and Especial reports that follow the Borrador → Publicado → Archivado lifecycle.
Messaging
Communicate with assigned clients via direct messages, including bulk messages to multiple clients at once.
Profile
Keep your professional profile — specialty, biography, and contact details — up to date.
Client Portfolio
Your client list is automatically populated by administrator-created assignments. You cannot add or remove clients yourself; contact an administrator to update your assignments.Viewing Your Clients
estado = 'activo') cliente_asesor records where id_asesor matches your session. Each record includes the client’s id_usuario, their numero_cliente reference, the assignment start date, and the motivo_cambio recorded at the time of assignment.
nombre_rol, estado, and fecha_registro.
Client assignment fields
Client assignment fields
| Field | Description |
|---|---|
id_asignacion | Unique identifier for the assignment record |
id_cliente | The client’s id_usuario |
id_asesor | Your id_usuario |
motivo_cambio | Reason the admin recorded when making the assignment |
estado | activo — only active assignments are shown in your view |
fecha_asignacion | When the assignment was created |
Appointment Management
All appointments are scoped to your advisor ID. The system only returns citas whereid_asesor matches your session, so you always see a focused view of your own schedule.
Listing Your Appointments
fecha_hora descending. Each record includes:
| Field | Type | Description |
|---|---|---|
id_cita | int | Appointment identifier |
id_cliente | int | Client who booked the appointment |
fecha_hora | datetime | Scheduled date and time |
estado | enum | Programada · Reprogramada · Cancelada |
motivo_cancelacion | text | Populated when an appointment is cancelled |
Rescheduling an Appointment
When a client needs to move their session, use the modify endpoint to updatefecha_hora. The backend automatically checks for scheduling conflicts before accepting the change.
Cancelled appointments (
estado = 'Cancelada') cannot be rescheduled. If a client needs to reinstate a cancelled session, they must book a new appointment from their dashboard.Cancelling an Appointment
motivo_cancelacion field is stored on the record and visible to the client. Provide a clear, professional reason whenever you cancel a session.
Document Review
Clients upload fiscal documents directly through their dashboard. As their advisor, you can browse, validate, and download any document in their expediente.Listing Client Documents
| Field | Description |
|---|---|
id_documento | Unique document ID |
nombre_original | The filename the client uploaded |
id_tipo_doc | FK into cat_tipos_documentos catalog |
version | Integer version counter — increments automatically when a new file with the same name and type is uploaded |
validacion_cfdi | 1 if the file is an XML document (auto-detected); 0 otherwise |
fecha_subida | Upload timestamp |
Document Types
Document types are defined in thecat_tipos_documentos catalog table and determine how documents are categorised in the portal. Common types include tax returns, invoices, supporting receipts, and legal records. Advisors see the human-readable nombre_tipo label resolved from the catalog.
CFDI Validation
When a client uploads an.xml file the system automatically sets validacion_cfdi = 1, flagging it as a potential CFDI electronic invoice. As the advisor, you should review XML documents promptly to confirm they are well-formed CFDI files before processing the client’s returns.
Downloading a Document
Content-Disposition header. Your session must correspond to the assigned advisor of the document’s owner, otherwise the endpoint returns HTTP 403.
Uploading a Document on Behalf of a Client
Advisors can also upload documents to a client’s expediente directly, provided the active assignment exists.Reports
Advisors are the only users who can author reports. Reports follow a defined lifecycle and are visible to administrators once published.Creating a Report
Valid Values
| Field | Accepted values |
|---|---|
tipo | Mensual · Trimestral · Anual · Especial |
estado | Borrador · Publicado |
titulo and descripcion are required. contenido is optional extended text. tipo defaults to Mensual and estado defaults to Borrador if omitted.
Report Lifecycle
Borrador
The initial state. The report is saved but not yet visible to administrators in the reports listing. Use this state while you are still drafting.
Publicado
The report becomes visible to admins in
/backend/modules/reportes/listar.php. Set estado = 'Publicado' when the report is final and ready for review.Viewing Your Reports
id_asesor matches your session. The admin-facing version of this endpoint returns reports from all advisors.
Messaging
Direct Messages
Send a message to any client in your portfolio through the internal inbox:mensajes table with tipo = 'Chat interno'. To retrieve a conversation thread:
Bulk Messages to Multiple Clients
If you need to send the same message to several of your clients simultaneously, use the same endpoint the admin uses but scope theroles to clients only:
Direct bulk-to-all messaging via
enviar_masivo.php is restricted to ROL_ADMIN. To message multiple specific clients, send individual messages to each id_destinatario, or ask an administrator to send a system-wide broadcast.Profile
Your profile is visible to clients and administrators and represents your professional identity in the portal.Updating Your Profile
| Field | Required | Notes |
|---|---|---|
nombre_completo | ✅ | Displayed across all advisor-facing pages |
telefono | ❌ | Contact number shown to assigned clients |
especialidad | ❌ | Your accounting specialisation |
biografia | ❌ | Short professional bio displayed on your profile card |
id_usuario it is created; subsequent calls update the existing record. Upload a profile photo via POST /backend/modules/perfil/actualizar.php using a multipart/form-data request that includes a foto_perfil file field.