Apariencia
9. MANUAL DEL OPERADOR
¿Quién debe leer este capítulo? El Operador es el usuario interno que captura y gestiona la información del día a día: crea actividades, elabora cotizaciones, atiende tickets y mantiene actualizada la información de clientes.
9.1 Crear una Actividad de Servicio
Ruta: Menú lateral → Actividades → + Nueva Actividad
Formulario de Nueva Actividad
| Campo | Descripción | Obligatorio |
|---|---|---|
| Interna (sin cliente) | Casilla para tareas de su propia empresa, sin cliente (9.1.2) | No |
| Servicio | Tipo de servicio a realizar (del catálogo). Cada opción indica si requiere confirmación del cliente o se confirma sola; si no existe, créelo ahí mismo con + Crear tipo de servicio (7.7.3 en la guía de Administrador) | ✅ Sí (opcional en internas) |
| Cliente | Cliente para quien se realiza el servicio | ✅ Sí (salvo internas) |
| Título | Nombre de la actividad; se propone solo con el servicio, el cliente y el sitio | ✅ Sí |
| Sitio | Ubicación donde se realizará | No |
| Unidad | Área o equipo específico (si aplica) | No |
| Colaborador asignado | Usuario que ejecutará el trabajo | ✅ Sí |
| Colaboradores adicionales | Otros usuarios que también participan (opcional, selección múltiple) | No |
| Fecha programada | Fecha y hora de inicio | ✅ Sí |
| Duración estimada | Tiempo esperado de ejecución (horas/minutos) | No |
| Descripción | Instrucciones o detalles para el técnico | No |
| Notas internas | Comentarios solo visibles para el equipo | No |
Paso a paso:
- Vaya a Actividades → + Nueva Actividad.
- Seleccione el Servicio del catálogo. Los campos del formulario se actualizan según el servicio seleccionado.
- Seleccione el Cliente. Automáticamente se cargan sus sitios disponibles.
- Seleccione el Sitio. Si el sitio tiene unidades, se cargan en el campo siguiente.
- Asigne un Colaborador del listado de usuarios activos.
- Establezca la Fecha y hora programada.
- Complete los campos adicionales según sea necesario — el botón "Generar con IA" (junto a Descripción y Notas) sugiere ambos textos según el servicio elegido, si tiene el permiso
ai.help. Debajo del botón hay un campo opcional de texto libre para agregar indicaciones (ej. "incluir checklist de seguridad", "tono formal") que la IA toma en cuenta al redactar; si se deja vacío, genera solo con los datos de la actividad como antes. - Si el servicio debe repetirse automáticamente, use el bloque "¿Necesitas que se repita automáticamente?" → Nueva serie, en vez de crear cada ocurrencia a mano (ver 7.22 Módulo de Series de Actividades en la guía de Administrador). El formulario de la serie se abre con lo que ya capturó; el botón se activa en cuanto tiene cliente (o la marca interna), título, responsable y fecha, y mientras tanto le dice qué falta.
- Haga clic en Guardar.
Resultado esperado: La actividad queda registrada con estado "Pendiente" y aparece en el calendario. El colaborador asignado recibe una notificación.
Detección de empalme de horario
Si el técnico seleccionado ya tiene otra actividad programada en el mismo horario, el sistema muestra una advertencia con el detalle del conflicto antes de guardar.
Tiene dos opciones:
- Cancelar — para ajustar la fecha, hora o técnico asignado.
- Guardar de todas formas — si el empalme es intencional o ya fue coordinado con el técnico.
Esta verificación también aplica al editar una actividad y al convertir una cotización en orden de trabajo.
📸 Captura pendiente
** — Formulario de nueva actividad
9.1.1 Actividad grupal (varios clientes)
Para eventos donde un mismo horario aplica a varios clientes a la vez (ej. una capacitación o una visita coordinada con varios locales), active el switch "Actividad grupal (varios clientes)" junto al encabezado Ubicación, antes de elegir cliente.
- El campo Cliente cambia de selector único a un selector múltiple con chips: busque y agregue cada cliente asistente.
- Los campos Sitio y Unidad se ocultan — no aplican cuando hay más de un cliente.
- El resto del formulario (servicio, técnico asignado, fecha/hora, descripción, notas) es compartido: se guarda una sola vez para todos los asistentes.
Resultado esperado: el sistema crea una actividad independiente por cada cliente seleccionado, todas con el mismo horario y contenido. Cada cliente recibe su propio correo de confirmación, y cada actividad se confirma, reprograma o completa por separado sin afectar a las demás. En la lista y el calendario, las actividades grupales muestran un badge/ícono 👥; en el detalle de cada una aparece un panel con enlaces a las demás actividades del mismo grupo.
9.1.2 Actividad interna (sin cliente)
Para tareas de su propia empresa que no son para un cliente (revisar anuncios, hacer inventario, llevar la camioneta al servicio), marque Interna (sin cliente) junto al encabezado Ubicación.
- Se ocultan Cliente, Sitio y Unidad, y el Tipo de servicio pasa a ser opcional.
- La actividad queda Confirmada desde que se crea: no hay cliente a quien pedirle confirmación ni a quien avisarle. Lo mismo pasa con su seguimiento y con las siguientes ocurrencias si se repite.
- En la lista, el calendario, el Scheduler y su detalle lleva la etiqueta morada Interna; el filtro de cliente tiene la opción Internas (sin cliente). En el reporte PDF, el cliente aparece como "Interna".
- En el detalle no aparecen cotización, cobro, reportar incidente ni los envíos por WhatsApp al cliente. Sí se pueden registrar gastos, material y seguimiento.
- Si la tarea se repite, use Nueva serie: también hay series internas (7.22.3 en la guía de Administrador).
Sin marcar la casilla, el cliente sigue siendo obligatorio.
9.2 Elaborar una Cotización
Ruta: Menú lateral → Cotizaciones → + Nueva Cotización
9.2.1 Formulario de Nueva Cotización
Paso a paso:
- Vaya a Cotizaciones → + Nueva Cotización.
- Seleccione el Cliente destinatario.
- Seleccione el Sitio (si aplica).
- Complete la información del encabezado:
| Campo | Descripción |
|---|---|
| Título | Nombre descriptivo de la cotización |
| Número de referencia | Se genera automáticamente (ej: COT-0042) |
| Fecha de emisión | Fecha actual (editable) |
| Fecha de vencimiento | Hasta cuándo es válida la cotización |
| Frecuencia de cobro | Periodicidad del servicio (semanal, quincenal, mensual, etc.) — opcional. Al convertir la cotización en contrato, este valor se transfiere automáticamente. |
| Moneda | Moneda de la cotización |
| Condiciones de pago | Ej: "Pago a 30 días" |
Agregue las líneas de concepto (los conceptos/productos de la cotización):
- Haga clic en Agregar línea.
- Seleccione el producto/servicio del catálogo, o escriba uno manual. Cada producto del catálogo muestra junto al precio cuántas unidades hay disponibles en Stock (o "Sin stock" en rojo si no hay) — es solo informativo, igual puede agregarlo aunque no haya existencias.
- Ingrese la cantidad.
- El precio unitario se llena automáticamente si está en el catálogo (editable).
- 💡 Precio sugerido: si el producto nunca ha tenido un precio de venta configurado, el sistema calcula uno sugerido a partir del costo de la compra más reciente de ese producto y el margen promedio histórico de su empresa, y lo muestra debajo del campo de precio — haga clic para aplicarlo. Si el producto sí tiene precio pero implica un margen muy por debajo de su promedio (posible error de captura o precio desactualizado), aparece en su lugar un aviso ⚠️ Margen bajo con el costo reciente y el margen implícito, para que lo revise antes de cotizar.
- Seleccione si aplica descuento o impuesto a esa línea. El descuento por línea puede ser en porcentaje (%) o monto fijo ($); se resta del subtotal de esa línea antes de calcular impuestos, y aparece también en el PDF de la cotización.
- Código/SKU y Unidad son opcionales por línea: se llenan solos al elegir un producto del catálogo (toman el SKU y la unidad de medida configurados en Inventario), o puede escribirlos a mano en un concepto libre. Solo se muestran en la vista, el PDF y el portal del cliente si el administrador los dejó activos en Configuración → Operaciones (ver 7.2.3 en el Manual del Administrador).
- Repita para cada concepto.
En la sección de totales:
- Subtotal: se calcula automáticamente.
- Descuento global: porcentaje o monto fijo.
- IVA: se calcula según la configuración.
- Total: Se muestra el monto final.
Escriba Notas y condiciones en el campo de texto libre.
Haga clic en Crear Cotización. La cotización queda guardada en estado "Borrador" — enviarla al cliente es un paso aparte (ver 9.2.2).
📸 Captura pendiente
** — Editor de cotización con líneas de concepto
9.2.2 Enviar Cotización al Cliente
- Abra la cotización (en estado Borrador).
- Haga clic en Enviar al Cliente.
- El sistema genera un enlace único para que el cliente revise y apruebe la cotización.
- El cliente recibe un correo con el enlace.
- La cotización cambia a estado "Enviada".
Función AI: Al redactar la cotización, haga clic en Sugerir con IA y describa el trabajo — la IA genera automáticamente las líneas de concepto sugeridas. Revise y ajuste antes de aceptarlas.
Botón "Compartir": En la vista de detalle de la cotización, el botón Compartir obtiene la misma liga pública de revisión (la regenera si venció) sin cambiar el estatus de la cotización ni contarla como un envío formal — es para cuando necesita pasarla rápido por otro medio (Telegram, una nota, copiarla a mano, etc.). En celular abre el menú nativo de compartir del sistema operativo; en computadora, como la mayoría de los navegadores de escritorio no tienen ese menú, copia la liga directo al portapapeles y avisa con un mensaje.
9.2.3 Registrar un Pago en una Cotización
Una vez que el cliente paga (total o parcialmente):
- Abra la cotización aprobada.
- Haga clic en Registrar Pago.
- Complete:
- Monto recibido
- Fecha de pago
- Método de pago (transferencia, tarjeta, efectivo, cheque)
- Referencia del pago
- Suba el comprobante (imagen o PDF).
- Haga clic en Guardar Pago.
📸 Captura pendiente
** — Modal de registro de pago
9.3 Crear y Atender Tickets de Soporte
9.3.1 Crear un Ticket
Ruta: Menú lateral → Tickets → + Nuevo Ticket
| Campo | Descripción | Obligatorio |
|---|---|---|
| Título | Resumen breve del problema | ✅ Sí |
| Descripción | Detalle completo del problema | ✅ Sí |
| Cliente | Cliente que reporta el problema | ✅ Sí |
| Prioridad | Urgente / Alta / Media / Baja | ✅ Sí |
| Asignado a | Usuario que atenderá el ticket | No |
| Categoría / Tipo | Clasificación del problema | No |
| Archivos adjuntos | Imágenes, videos (MP4 o MOV), PDF, Word y Excel. La etiqueta indica el límite por archivo (ej. "max 10MB por archivo") | No |
Archivos muy grandes: antes de enviar, el sistema revisa el tamaño. Cada archivo que se pasa del límite queda marcado con "excede N MB" y aparece el aviso Archivo muy grande con la lista de los que hay que quitar o reducir. Si entre todos pasan del máximo por envío, aparece Demasiados archivos: suba algunos después como respuesta del ticket. Antes el servidor los descartaba sin avisar.
Cómo determinar la prioridad:
| Prioridad | Descripción |
|---|---|
| Urgente | El cliente no puede operar. Impacto crítico en su negocio. |
| Alta | El problema afecta significativamente la operación. |
| Media | El problema tiene impacto moderado, existe solución alterna. |
| Baja | Consulta, solicitud menor, sin impacto operativo. |
Función AI Draft: Haga clic en Generar con IA para que el asistente redacte automáticamente el contenido del ticket basándose en una breve descripción del problema.
9.3.2 Responder un Ticket
- Abra el ticket.
- Revise el historial de conversación.
- Escriba su respuesta en el campo inferior.
- Adjunte archivos si es necesario.
- Haga clic en Enviar Respuesta.
El cliente recibe una notificación por correo con su respuesta.
Respuestas automáticas: si su empresa tiene prendido el agente Atención a clientes (Configuración → Agentes), puede encontrarse tickets nuevos del portal de cliente que ya tienen una respuesta marcada como "Respondido automáticamente", con el nombre "Asistente Virtual". Esto pasa solo cuando la pregunta se pudo contestar con un dato existente (saldo, próxima visita, contrato, otro ticket) — el ticket sigue abierto, no se cierra solo, así que revíselo igual que cualquier otro y responda si hace falta más ayuda.
9.3.3 Crear una Actividad o Cotización desde un Ticket
Con un ticket Abierto o En proceso, los botones Actividad y Cotización (junto al asunto del ticket) abren el formulario correspondiente prellenado con el cliente y el título del ticket. Al crear la actividad, el botón Generar con IA cambia a Resumir ticket y generar: en vez de redactar solo a partir del tipo de servicio, lee el asunto, la descripción original y toda la conversación del ticket para armar la descripción y notas de la actividad con base en lo que el cliente realmente reportó. Al guardar la actividad, regresa automáticamente al ticket en vez de ir al detalle de la actividad nueva. Cada ticket solo puede generar una actividad y una cotización — los botones desaparecen una vez usados.
9.4 Gestión del Asistente de IA
Ruta: Menú lateral → IA → Chat
9.4.1 Chat del Asistente IA
El asistente de inteligencia artificial de SERVIX puede ayudarle a:
- Redactar respuestas profesionales a clientes.
- Generar partidas para cotizaciones.
- Analizar el estado de actividades y sugerir acciones.
- Responder preguntas sobre los procesos del sistema.
- Crear contenido para comunicaciones.
Cómo usar el chat:
- Haga clic en IA → Chat en el menú lateral.
- Escriba su pregunta o solicitud en el campo de texto.
- Presione Enter o haga clic en el botón de enviar.
- El asistente responde en pocos segundos.
- Puede continuar la conversación haciendo preguntas de seguimiento.
Ejemplos de consultas útiles:
- "Redacta una respuesta profesional para el cliente que pregunta sobre el retraso en su actividad"
- "Sugiere partidas para una cotización de mantenimiento de sistemas HVAC"
- "¿Cuáles son los pasos para cerrar una actividad en SERVIX?"
Límite de uso: El sistema tiene un límite diario de consultas de IA por usuario. Si alcanza el límite, el chat mostrará un mensaje de pausa hasta el siguiente día.
📸 Captura pendiente
** — Interfaz del chat de IA
9.5 Gestión de Cobros
Ruta: Menú lateral → Cobros
¿Qué es un Cobro? Es el documento de cargo que se emite al cliente para cobrar un servicio. Puede originarse, por defecto, automáticamente al convertir una cotización aprobada en Orden de Trabajo (opcional mediante un checkbox al convertir), vincularse a una actividad de servicio, o crearse de forma directa.
9.5.1 Lista de Cobros
La pantalla principal muestra todos los cobros con:
- Folio (CB-XXXX), cliente, título y monto total
- Badge de estado: Pendiente (azul) / Pago parcial (naranja) / Pagado (verde)
- Badge "Vencido" en rojo si la fecha de vencimiento pasó sin estar liquidado
- Badge "Facturado" en verde si el cobro tiene CFDI adjunto
- Barra de progreso del monto cobrado vs. total
Filtros disponibles:
- Por estado (tabs: Pendiente / Pago parcial / Pagado / Vencido / Cancelado)
- Por texto libre (cliente o folio)
- Cliente, Vencimiento desde/hasta
- Factura: Facturada / Sin facturar
- Origen (Cotización / Actividad / Directo / Recurrente / Contrato)
- Creado por y Monto mínimo/máximo
9.5.2 Crear Cobro Manual
Los cobros vinculados a cotizaciones se crean, por defecto, automáticamente en cuanto el cliente aprueba la cotización (salvo que su empresa haya apagado "Cobro automático al aprobar" y la cotización no exija anticipo). Al convertirla en Orden de Trabajo, el modal incluye un checkbox "Generar cobro por esta orden", marcado por defecto; si el cobro ya existía, no se duplica. Si la cotización quedó Aprobada o Convertida sin cobro, su detalle muestra un botón Generar cobro para crearlo manualmente después (requiere el permiso charges.create). Para cobros adicionales:
- Haga clic en + Nuevo Cobro.
- Seleccione el Cliente.
- Elija el Origen: Cotización, Actividad o Directo.
- Complete el Título y la Fecha de vencimiento (recomendada para control de vencidos).
- Agregue los conceptos:
- Descripción, cantidad, precio unitario.
- Cada concepto también puede llevar un descuento en porcentaje (%) o monto fijo ($), igual que en cotizaciones.
- Haga clic en Guardar.
9.5.3 Registrar un Pago
Cuando el cliente realiza un pago (total o parcial):
- Abra el cobro desde la lista.
- En la sección Pagos, haga clic en Registrar Pago.
- Complete los campos:
| Campo | Descripción |
|---|---|
| Tipo | Anticipo (pago previo parcial) o Pago final (liquida el cobro) — se sugiere solo según el monto capturado (si cubre el saldo restante, cambia a Pago final); puede corregirlo a mano |
| Monto | Cantidad recibida |
| Método | Transferencia / Efectivo / Tarjeta / Cheque / Otro |
| Referencia | Número de operación bancaria |
| Fecha | Fecha en que se recibió el pago |
| Notas | Observaciones internas opcionales |
- Suba el comprobante (JPG, PNG o PDF) — opcional pero recomendado.
- Haga clic en Guardar Pago.
El pago queda en estado Pendiente hasta que un Administrador o Supervisor lo verifique. El estado del cobro se actualiza automáticamente según los pagos verificados.
9.5.4 Estados de los Pagos
| Estado | Descripción |
|---|---|
| Pendiente | Registrado, en espera de verificación |
| Verificado | Confirmado — suma al monto cobrado del cobro |
| Rechazado | Comprobante inválido o pago no localizado |
| Cancelado | Pago verificado revertido (ej: error de captura) |
9.5.5 Adjuntar Factura (CFDI)
Una vez emitida la factura fiscal al cliente con su sistema de facturación:
- Abra el cobro.
- En la sección Factura, haga clic en Adjuntar Factura.
- Suba primero el archivo XML del CFDI: el sistema lo lee y llena automáticamente:
- Folio fiscal (número de la factura)
- Fecha de emisión del CFDI
- UUID del CFDI (código de 36 caracteres del SAT)
- Suba también el archivo PDF de la factura, y revise/corrija los campos autocompletados si hace falta.
- Haga clic en Guardar Factura.
El cobro mostrará el badge "Facturado" en la lista y los archivos quedan disponibles para descarga desde el detalle.
Nota: SERVIX no genera CFDI. Esta función es para adjuntar la factura que usted emite con su propio sistema de facturación, para tener todo en un mismo lugar.
9.6 Gestión de Contratos
Ruta: Menú lateral → Contratos
Permisos requeridos: contracts.list · contracts.view · contracts.create · contracts.edit · contracts.delete
Los contratos permiten formalizar los acuerdos de servicio con sus clientes, registrar vigencias, condiciones de pago y valores totales pactados. Se integran con el módulo de Cotizaciones para convertir una propuesta aprobada directamente en un contrato.
9.6.1 Lista de Contratos
Ruta: Menú lateral → Contratos
Muestra todos los contratos del tenant con filtros por estado (Borrador, Activo, Vencido, Cancelado), búsqueda por folio/título/cliente y filtro adicional por cliente.
| Columna | Descripción |
|---|---|
| Folio / Título | Identificador único (CON-PREFIX-AÑO-NNNN) y nombre del contrato |
| Cliente | Cliente al que pertenece el contrato, y sitio si aplica |
| Vigencia | Rango de fechas inicio–fin |
| Valor | Monto total del contrato |
| Frecuencia | Periodicidad de pago pactada |
| Estado | Borrador / Enviado / Activo / Vencido / Cancelado |
9.6.2 Crear un Contrato
Hay dos formas de crear un contrato:
Opción A — Desde cero:
- Vaya a Contratos → + Nuevo contrato.
- Complete los campos del formulario (ver tabla a continuación).
- Haga clic en Crear contrato.
Opción B — Desde una cotización aprobada:
- Vaya a Cotizaciones.
- Localice una cotización en estado Aprobada.
- Haga clic en el ícono morado de contrato en la columna de acciones.
- El formulario se pre-llena automáticamente con los datos de la cotización (cliente, sitio, título, valor y frecuencia de cobro si fue capturada).
- Ajuste fechas y demás campos según sea necesario.
- Haga clic en Crear contrato.
Al crearse, la cotización de origen cambia de estado Aprobada a Contratada (ver 8.4.1 en la guía de Supervisor) — deja de verse como pendiente y muestra un badge con enlace al contrato generado.
| Campo | Descripción | Obligatorio |
|---|---|---|
| Título | Nombre descriptivo del contrato | ✅ Sí |
| Cliente | Cliente al que aplica el contrato | ✅ Sí |
| Sitio | Ubicación o sucursal específica | No |
| Estado | Borrador / Activo / Vencido / Cancelado | ✅ Sí |
| Fecha de inicio | Inicio de la vigencia | No |
| Fecha de fin | Fin de la vigencia | No |
| Renovación automática | Si el contrato se renueva al vencer | No |
| Frecuencia de pago | Mensual, trimestral, semestral, anual, único | No |
| Valor total | Monto total pactado del contrato | No |
| Notas | Términos, condiciones u observaciones adicionales | No |
9.6.3 Estados del Contrato
| Estado | Descripción |
|---|---|
| Borrador | Contrato en preparación, aún no vigente |
| Enviado | Contrato enviado al cliente por correo; pendiente de respuesta |
| Activo | Contrato vigente y en operación |
| Vencido | Contrato cuya fecha de fin ya pasó |
| Cancelado | Contrato terminado antes de su fecha de fin |
9.6.4 Ver y Editar un Contrato
Desde el detalle del contrato (Contratos → [folio]) los botones de acción están en la columna derecha de la tarjeta:
| Acción | Descripción |
|---|---|
| Compartir link | Genera un enlace público único y lo copia al portapapeles. El cliente puede abrirlo sin cuenta. |
| Firma de proveedor | Genera un enlace independiente para que un proveedor externo firme el contrato. |
| Descarga el contrato en PDF. El recuadro de valor total muestra la etiqueta de la frecuencia pactada (ej. "Cobro mensual"). | |
| Firmar | Registra la firma de su empresa en el contrato. |
| Enviar al cliente | Envía el contrato por correo electrónico al cliente y cambia el estado a Enviado. Solo disponible en estado Borrador. |
| Editar | Modifica cualquier campo del contrato. Solo disponible en estado Borrador. |
| Cambiar estado | Panel para mover el contrato a un estado siguiente permitido (ver tabla de transiciones abajo). |
Transiciones de estado permitidas:
| Estado actual | Puede cambiar a |
|---|---|
| Borrador | Activo, Cancelado |
| Enviado | Activo, Cancelado |
| Activo | Cancelado |
| Vencido | Cancelado |
Eliminar: disponible desde la lista (ícono de papelera), elimina permanentemente el contrato tras confirmación.
9.6.5 Compartir un Contrato con el Cliente
Hay cuatro formas de que el cliente acceda a su contrato:
Opción A — Enviar al cliente (correo electrónico)
- Abra el detalle del contrato (debe estar en estado Borrador).
- Haga clic en "Enviar al cliente".
- Confirme la acción en el diálogo.
- El sistema envía un correo con los datos del contrato al correo del cliente y cambia el estado a Enviado.
Opción B — Link público (sin cuenta)
- Abra el detalle del contrato.
- Haga clic en "Compartir link".
- Se genera automáticamente un enlace único y se copia al portapapeles.
- Comparta el enlace por WhatsApp u otro medio.
- El cliente lo abre, ve todos los datos del contrato y puede descargar el PDF — sin necesidad de cuenta en el portal.
El link no expira, pero puede regenerarse si necesita invalidar el anterior.
Opción C — Portal del cliente (con cuenta)
Si el cliente tiene acceso al portal y el permiso client.contracts.view está activo en su rol:
- El cliente inicia sesión en el portal.
- En el menú lateral aparece la sección "Contratos".
- Puede ver todos sus contratos activos, consultar el detalle y descargar el PDF.
Opción D — Enviar por WhatsApp
- Abra el detalle del contrato (que no esté cancelado).
- Haga clic en "Enviar por WhatsApp" (botón verde) y confirme.
- Se abre WhatsApp con el enlace para que el cliente revise y acepte el contrato; si el cliente tiene teléfono, abre directo su chat.
- Si el contrato estaba en Borrador, pasa a Enviado y ya no se puede editar.
Requiere el permiso contracts.send_whatsapp. Ver 7.18.5 en la guía de Administrador.