# Sistema de Gestion para Opticas -- Guia de Usuario

**Version:** 3.1
**Ultima actualizacion:** 25 de Abril de 2026

---

## Contenido

### Operacion Diaria
1. [Dashboard](#1-dashboard)
2. [Pacientes](#2-pacientes)
3. [Consultas y Graduaciones](#3-consultas-y-graduaciones)
4. [Punto de Venta (Mostrador)](#4-punto-de-venta)
5. [Detalle de Venta](#5-detalle-de-venta)
6. [Pagos](#6-pagos)
7. [Ordenes de Laboratorio](#7-ordenes-de-laboratorio)
8. [Guias de Envio](#8-guias-de-envio)
9. [Entregas](#9-entregas)
10. [Facturacion](#10-facturacion)
11. [Mis Ventas](#11-mis-ventas)
12. [Corte de Caja](#12-corte-de-caja)
13. [Cumpleanos](#13-cumpleanos)

### Finanzas
14. [Deposito de Efectivo](#14-deposito-de-efectivo)
15. [Comisiones](#15-comisiones)
16. [Ingresos](#16-ingresos)
17. [Gastos](#17-gastos)
18. [Creditos](#18-creditos)

### Inventario y Compras
19. [Inventario](#19-inventario)
20. [Traspasos entre Tiendas](#20-traspasos-entre-tiendas)
21. [Compras a Proveedores](#21-compras-a-proveedores)
22. [Apartados](#22-apartados)
23. [Garantias](#23-garantias)

### Catalogo de Productos
24. [Articulos](#24-articulos)
25. [Armazones](#25-armazones)
26. [Pupilentes (Lentes de Contacto)](#26-pupilentes-lentes-de-contacto)
27. [Catalogo de Lentes Oftalmicos](#27-catalogo-de-lentes-oftalmicos)
28. [Precios](#28-precios)
29. [Promociones](#29-promociones)
30. [Importacion Masiva de Datos](#30-importacion-masiva-de-datos)

### Administracion
31. [Empleados](#31-empleados)
32. [Usuarios](#32-usuarios)
33. [Perfil](#33-perfil)
34. [Tiendas](#34-tiendas)
35. [Proveedores](#35-proveedores)
36. [Laboratorios](#36-laboratorios)
37. [Convenios](#37-convenios)
38. [Cuentas Bancarias y Terminales](#38-cuentas-bancarias-y-terminales)
39. [Catalogos Base](#39-catalogos-base)
40. [PIN de Descuento](#40-pin-de-descuento)
41. [Ventas -- Historial Global](#41-ventas-historial-global)
42. [Reportes](#42-reportes)

### Cliente
43. [Portal de Consulta para Clientes](#43-portal-de-consulta-para-clientes)

### Referencia
44. [Flujo Completo de una Venta Tipica](#44-flujo-completo-de-una-venta-tipica)

---

# OPERACION DIARIA

---

## 1. Dashboard

### Vista general del negocio

El **Dashboard** es la pantalla principal del sistema. Muestra un resumen visual de la operacion del negocio con datos en tiempo real.

### Indicadores principales (KPIs)

Al entrar se muestran 4 indicadores del periodo seleccionado:

- **Ventas** -- Monto total y cantidad de transacciones
- **Cobrado** -- Total efectivamente cobrado (pagos confirmados y depositados), con porcentaje sobre el total de ventas
- **Saldo pendiente** -- Monto total que falta por cobrar
- **Entregas pendientes** -- Cantidad de ventas que aun no se entregan al cliente

### Graficas

- **Ventas por dia** -- Grafica de area que muestra la tendencia de ventas en el periodo
- **Metodos de pago** -- Grafica de dona con la distribucion entre efectivo, tarjeta, transferencia y credito
- **Top vendedores** -- Grafica de barras con los vendedores que mas han vendido
- **Ventas por categoria** -- Grafica de barras con las lineas de producto mas vendidas (armazones, micas, etc.)

### Tablas de detalle

En la parte inferior hay tres pestanas:

- **Ventas recientes** -- Lista de las ultimas ventas con paciente, vendedor, monto, estado de entrega y link al detalle
- **Ordenes de Lab** -- Resumen de ordenes por estado (pendiente envio, en proceso, recibido, defectuoso)
- **Comisiones** -- Resumen de comisiones del periodo por vendedor y estado

### Filtros

- **Periodo** -- Presets rapidos: Hoy, Semana, Mes, Ano. Tambien puede seleccionar un rango personalizado de fechas
- **Tienda** -- Filtrar por sucursal especifica o ver todas
- Todos los datos se actualizan al instante al cambiar cualquier filtro

---

## 2. Pacientes

### Registro de pacientes

Desde la seccion **Pacientes** puede registrar nuevos pacientes con sus datos personales: nombre, apellidos, fecha de nacimiento, telefono, direccion y correo electronico.

A cada paciente se le asigna automaticamente un **numero de tarjeton** que sirve como identificador interno.

### Detalle del paciente

Al seleccionar un paciente se muestra su expediente completo organizado en tres secciones:

- **Resumen** -- Cantidad de graduaciones, antiguedad de la ultima graduacion, total de ventas y monto acumulado, entregas pendientes y saldo por cobrar. Si la graduacion tiene mas de 24 meses, el sistema muestra una alerta recomendando agendar nueva consulta.

- **Consultas** -- Historial de graduaciones con datos clinicos (esfera, cilindro, eje, adicion para cada ojo), doctor que examino, fecha y antiguedad. Cada graduacion muestra sus ventas asociadas con el detalle de articulos, montos, estado de pago, estado de entrega y estado de la orden de laboratorio.

- **Compras** -- Vista financiera con resumen de totales (comprado, pagado, pendiente) y listado de todas las ventas del paciente con sus articulos y saldos.

### Datos fiscales

Desde el detalle del paciente puede agregar datos fiscales (RFC y razon social) que se utilizan al momento de generar registros de facturacion.

### Fusion de pacientes duplicados

Si detecta que un paciente fue registrado mas de una vez, puede fusionar los registros duplicados desde el boton correspondiente en el detalle del paciente.

---

## 3. Consultas y Graduaciones

### Nueva consulta

Desde el detalle del paciente o desde el menu principal, acceda a **Nueva Consulta** para registrar un examen oftalmologico. La consulta incluye:

- Antecedentes generales y visuales
- Evaluacion visual
- Graduacion final (esfera, cilindro, eje, adicion por ojo)
- Datos de lente de contacto (si aplica)
- Doctor que realizo el examen

### Graduacion externa

Si el paciente trae su propia graduacion de otro consultorio, puede registrarla directamente sin necesidad de crear una consulta completa. Estas graduaciones quedan marcadas como "graduacion propia" en el expediente.

### Vigencia de la graduacion

El sistema calcula automaticamente la antiguedad de cada graduacion:
- **Menos de 12 meses** -- Vigente (verde)
- **12 a 23 meses** -- Por vencer (amarillo)
- **24 meses o mas** -- Desactualizada (rojo), se recomienda nueva consulta

La graduacion desactualizada **no bloquea** la venta -- solo muestra una alerta informativa.

---

## 4. Punto de Venta

### Crear una venta

Desde **Mostrador** se realizan las ventas. El proceso es:

1. **Seleccionar paciente** -- Busque por nombre (minimo 3 caracteres). Para ventas sin paciente registrado, seleccione "Publico en general".

2. **Agregar articulos** -- Puede buscar por nombre, codigo de barras o filtrar por linea de producto. Al agregar un articulo, el sistema verifica disponibilidad de inventario.

3. **Graduacion** -- Si el paciente tiene graduacion registrada, se carga automaticamente la mas reciente. Puede seleccionar una graduacion diferente si es necesario. Los lentes requieren obligatoriamente paciente y graduacion.

4. **Seleccionar lentes (micas)** -- Presione el boton **Lentes** para abrir el catalogo. Al abrirlo, se muestra la graduacion del paciente actual (esfera y cilindro de cada ojo) como referencia. La tabla muestra correccion optica, material, tipo, color, tratamiento, **rango de esfera**, **rango de cilindro** y precio. Use los filtros superiores para encontrar la mica adecuada. Presione el icono de informacion para ver el detalle tecnico, o el icono de carrito para agregarla a la venta.

5. **Lentes por lado** -- Los lentes oftalmicos pueden venderse como par completo, solo ojo derecho o solo ojo izquierdo.

6. **Pagos** -- Registre el pago seleccionando el metodo (efectivo, tarjeta o transferencia). Puede aplicar pagos parciales.

7. **Promociones** -- Las promociones activas se aplican automaticamente segun las reglas configuradas.

### Tipos de venta

- **Contado** -- Pago inmediato completo o parcial
- **Apartado** -- El cliente aparta con un anticipo y liquida despues
- **Credito** -- Venta a credito de la tienda

---

## 5. Detalle de Venta

Desde **Ventas** o desde el expediente del paciente, acceda al detalle de cualquier venta para consultar:

- **Informacion general** -- Numero de venta, codigo de consulta, fecha, vendedor, paciente, tipo de venta y estado de entrega
- **Resumen financiero** -- Total, pagado y saldo pendiente. Si hay saldo, aparece el boton para agregar pago.
- **Articulos** -- Lista completa con codigo, nombre, linea, cantidad, precio unitario y precio final
- **Pagos** -- Historial de pagos con metodo, monto, fecha y estado (pendiente, pagado, depositado)
- **Ordenes de laboratorio** -- Estado de cada orden con laboratorio, folio y progreso
- **Facturas** -- Registros de facturacion asociados con serie, folio y estado

### Cancelar una venta

Solo los administradores pueden cancelar una venta desde el detalle. El boton **Cancelar venta** aparece unicamente si se cumplen todas las condiciones:

- La venta **no ha sido entregada** al cliente
- **No tiene ordenes de laboratorio** en proceso, en transito o recibidas
- **No tiene facturas** emitidas
- **No tiene comisiones** aprobadas o liquidadas

Al cancelar, el sistema solicita una **razon obligatoria** y una confirmacion. La cancelacion:

- Revierte el inventario (devuelve stock a la tienda)
- Elimina los pagos asociados
- Elimina ordenes de laboratorio pendientes
- Elimina creditos o apartados vinculados
- Registra quien cancelo y por que (auditoria)

Una venta cancelada no puede recuperarse. Los montos, articulos, paciente y tipo de venta no son editables despues de crear la venta. Si hubo un error, se cancela y se crea una nueva.

### Codigo de consulta para el cliente

Cada venta genera automaticamente un codigo de 6 caracteres (ej: **KQGC7W**) que aparece en el ticket impreso. El cliente puede usarlo para consultar el estado de su pedido en la pagina publica del negocio, sin necesidad de usuario ni contrasena. El ticket tambien incluye un codigo QR que lleva directamente al detalle del pedido.

---

## 6. Pagos

### Agregar pago a una venta

Desde el detalle de la venta, presione **Agregar pago** e ingrese:

- **Metodo de pago** -- Efectivo, tarjeta o transferencia
- **Monto** -- No puede exceder el saldo pendiente
- **Terminal** -- Requerido para pagos con tarjeta
- **Cuenta bancaria** -- Requerida para pagos con tarjeta o transferencia

### Estados del pago

- **Pendiente** -- Pago en efectivo que aun no se deposita en banco
- **Pagado** -- Pago con tarjeta o transferencia (se confirma automaticamente)
- **Depositado** -- Efectivo que ya se deposito en una cuenta bancaria

### Consultar pagos

En la seccion **Pagos** puede ver el listado completo de pagos con filtros por fecha, metodo y estado.

---

## 7. Ordenes de Laboratorio

### Vista principal

La seccion **Ordenes de Lab** muestra todas las ordenes de trabajo enviadas a laboratorios con informacion completa de tracking:

| Columna | Descripcion |
|---------|-------------|
| Laboratorio | Nombre del laboratorio (Essilor, Star Lab, etc.) |
| Sucursal | Tienda que genero la orden |
| Folio | Folio interno de la optica |
| Orden Lab | Folio asignado por el laboratorio (ej: RX5TESC4) |
| Job | Folio de trabajo del laboratorio |
| Armazon | Modelo del armazon asociado |
| Fecha | Fecha de creacion de la orden |
| Dias | **TN** (dias totales desde creacion) - **Env** (dias desde envio al lab) |
| Fecha Llegada | Cuando se recibio el trabajo terminado |
| # Guia | Numero de guia de paqueteria con fechas de envio y llegada |
| Estatus | Estado actual de la orden |

### Filtros

- **Laboratorio** -- Filtrar por laboratorio especifico
- **Sucursal** -- Filtrar por tienda
- **Estatus** -- Por defecto muestra solo **Activas** (pendiente envio, en transito, en proceso). Puede cambiar a ver todas o un estado especifico
- **Busqueda** -- Buscar por folio, orden de laboratorio o job

### Detalle y edicion de una orden

Al presionar **Ver** en cualquier orden se abre un panel lateral (offcanvas) con toda la informacion:

- **Informacion General** -- Sucursal, fecha, folios (interno, laboratorio, job), paciente, armazon
- **Estatus** -- Estado actual de la orden
- **Fechas** -- Fecha de la orden, envio al lab, trabajo recibido, entregado al cliente (con dias transcurridos entre cada etapa)
- **Notas** -- Comentarios internos y notas del laboratorio
- **Datos del Lente** -- Material, tipo, color, tratamiento, correccion optica, tipo de correccion
- **Guia de Envio** -- Numero de guia, paqueteria, fecha de envio, fecha de llegada, dias en transito

### Editar una orden

Desde el panel de detalle, presione **Editar** para modificar:

- **Estatus** -- Cambiar el estado de la orden
- **Folios** -- Folio interno, orden de laboratorio (Essilor), folio Job
- **Fechas** -- Fecha de envio al lab, fecha de recepcion del trabajo, fecha de entrega al cliente
- **Notas** -- Comentarios internos y notas del laboratorio

Presione **Guardar** para aplicar los cambios. Si no hay modificaciones, el sistema lo indica sin hacer cambios. Presione **Cancelar** para volver al modo lectura.

### Crear orden

Desde el detalle de la venta, presione **Nueva orden** para enviar el trabajo al laboratorio. Incluya:

- Laboratorio destino (interno o externo)
- Folios de referencia
- Datos tecnicos del trabajo (angulos, distancias, medidas del armazon)
- Certificados requeridos

### Estados de la orden

- **Pendiente de envio** -- Orden creada, falta enviar al laboratorio externo
- **En transito** -- Enviada por paqueteria, en camino al laboratorio
- **En proceso** -- El laboratorio esta trabajando la orden
- **Recibido** -- El trabajo terminado llego a la tienda
- **Defectuoso** -- El trabajo llego con defectos y requiere reproceso

### Recibir trabajo

Desde **Ordenes**, seleccione la orden y registre la recepcion marcando el folio del trabajo y la fecha de recepcion.

---

## 8. Guias de Envio

### Proposito

Las guias gestionan los envios fisicos de ordenes de trabajo a laboratorios foraneos. Una guia pertenece a un laboratorio especifico y puede contener multiples ordenes de ese laboratorio.

### Vista principal

La seccion **Guias de Envio** muestra todas las guias registradas con:

| Columna | Descripcion |
|---------|-------------|
| Laboratorio | Laboratorio destino de la guia |
| No. Rastreo | Numero de tracking de la paqueteria |
| Paqueteria | Empresa de envio (DHL, Fedex, Estafeta, etc.) |
| Estado | Pendiente, Enviada, En Transito, Entregada |
| Fecha Envio | Cuando se envio el paquete |
| Fecha Entrega | Cuando llego a destino |
| Ordenes | Cantidad de ordenes incluidas en la guia |

### Crear nueva guia

1. Presione **Nueva Guia** -- se abre un panel lateral
2. Seleccione el **laboratorio** destino (solo laboratorios foraneos)
3. Ingrese la **paqueteria** (ej: DHL)
4. Opcionalmente ingrese el **numero de rastreo**
5. La fecha de envio puede dejarse vacia (se llena cuando se envie)
6. El estado inicia como **Pendiente** automaticamente
7. Presione **Crear Guia**

La guia puede crearse sin ordenes. Las ordenes se agregan despues.

### Agregar ordenes a la guia

Despues de crear la guia, el panel muestra la seccion de ordenes:

1. El selector **Agregar ordenes** muestra solo las ordenes que:
   - Pertenecen al **mismo laboratorio** de la guia
   - Tienen estado **Pendiente de envio**
   - **No estan vinculadas** a otra guia
2. Seleccione la orden y presione **Agregar**
3. Puede agregar multiples ordenes repitiendo el proceso
4. Para quitar una orden, presione el boton **X** junto a ella

### Reglas de bloqueo

- **Mientras la guia este en estado Pendiente**: se pueden agregar y quitar ordenes libremente
- **Al cambiar la guia a Enviada** (o al registrar la fecha de envio): la guia se bloquea y no permite modificar las ordenes vinculadas
- Al bloquear, todas las ordenes de la guia cambian automaticamente a estado **En transito** y se registra la fecha de envio en cada una

### Estados de la guia

- **Pendiente** (amarillo) -- Guia creada, paquete aun no sale. Se pueden agregar/quitar ordenes
- **Enviada** (azul) -- Paquete entregado a la paqueteria. Guia bloqueada, ordenes pasan a "En transito"
- **En Transito** (morado) -- Paquete en camino al laboratorio
- **Entregada** (verde) -- Paquete recibido por el laboratorio. Ordenes pasan a "En proceso"

### Editar una guia

Presione **Ver** en cualquier guia para abrir el panel lateral con todos los datos editables: numero de rastreo, paqueteria, estado, fechas y notas. Los cambios se guardan al presionar **Guardar**.

---

## 9. Entregas

### Condiciones para entregar

Para que una venta pueda marcarse como entregada, deben cumplirse **ambas** condiciones:

1. **Saldo liquidado** -- El total de pagos debe cubrir el monto de la venta
2. **Orden de laboratorio recibida** -- Si la venta tiene orden de laboratorio, su estado debe ser "Recibido"

Si alguna condicion no se cumple, el sistema mostrara un mensaje indicando que falta.

### Confirmar entrega

Desde la seccion **Entregas** aparecen todas las ventas pendientes de entrega. Al confirmar, el sistema marca la venta como entregada y la orden como completada.

---

## 10. Facturacion

### Registro de facturas

El timbrado fiscal (CFDI) se realiza en un sistema externo de facturacion (PAC). Este sistema almacena los datos informativos de la factura para control interno:

- Serie y folio
- UUID fiscal (proporcionado por el PAC despues del timbrado)
- RFC y razon social del cliente
- Desglose fiscal (subtotal, impuesto, total)

### Formas de facturar

Desde el detalle de la venta:

- **Facturar venta completa** -- Genera un registro por el total de la venta
- **Facturar pagos especificos** -- Permite seleccionar cuales pagos incluir en la factura

### Requisito para facturar

Solo los pagos con estado **Pagado** o **Depositado** pueden facturarse. Los pagos en efectivo pendientes de deposito no son elegibles.

### Marcar como emitida

Una vez que realice el timbrado en el sistema externo, regrese al registro de la factura y marque como emitida ingresando el UUID fiscal proporcionado por el PAC.

---

## 11. Mis Ventas

### Proposito

Cada vendedor puede consultar su historial personal de ventas desde **Mis Ventas**.

### Informacion mostrada

La tabla muestra todas las ventas realizadas por el usuario autenticado:

| Columna | Descripcion |
|---------|-------------|
| ID | Numero de venta |
| Fecha | Fecha de la transaccion |
| Tienda | Sucursal donde se realizo |
| Articulos | Cantidad de articulos vendidos |
| Tipo de pago | Efectivo, Tarjeta, Transferencia, Credito o Multipago |
| Descuento | Descuento aplicado (si lo hay) |
| Monto | Total de la venta |
| Entrega | Estado: Entregado (verde) o Por entregar (amarillo) |
| Vendedor | Nombre de usuario |

### Acciones

- **Ver ticket** -- Abre el comprobante de venta en PDF en una nueva pestana
- **Buscar** -- Filtrar ventas por texto
- **Perfil** -- Acceso directo al perfil del usuario
- **Historial** -- La pagina actual (Mis Ventas)

---

## 12. Corte de Caja

### Resumen diario

Desde **Mi Corte** cada vendedor puede consultar su actividad del dia:

- Ventas realizadas con detalle de articulos
- Abonos recibidos a ventas anteriores
- Totales agrupados por metodo de pago (efectivo, tarjeta, transferencia)

El corte de caja es un reporte informativo que muestra la actividad individual del vendedor.

---

## 13. Cumpleanos

### Proposito

La seccion **Cumpleanos** muestra automaticamente todos los pacientes que cumplen anos el dia de hoy, facilitando el seguimiento y la atencion personalizada.

### Informacion mostrada

| Columna | Descripcion |
|---------|-------------|
| Tarjeton | Numero de identificacion del paciente |
| Nombre | Nombre completo del paciente |
| Fecha de nacimiento | Fecha completa |
| Contacto | Telefono con enlace directo a WhatsApp |

### Acciones disponibles

- **Enviar felicitacion por WhatsApp** -- Al presionar el telefono, se abre WhatsApp con un mensaje preformateado
- **Nueva consulta** -- Crear una consulta directamente para el paciente
- **Ver detalle** -- Ir al expediente completo del paciente

---

# FINANZAS

---

## 14. Deposito de Efectivo

### Registrar depositos

Los pagos en efectivo quedan en estado **Pendiente** hasta que se depositan en una cuenta bancaria.

Desde **Deposito de Efectivo** se muestran todos los pagos en efectivo pendientes. Para cada pago:

1. Seleccione la cuenta bancaria destino
2. Confirme el deposito

Al depositar, el pago cambia a estado **Depositado** y se genera automaticamente el registro de comision correspondiente.

---

## 15. Comisiones

### Como se calculan

Las comisiones se calculan **por cada pago**, no por venta. El porcentaje del vendedor depende de la **combinacion de articulos** en la venta:

| Combinacion de articulos | % Comision |
|--------------------------|-----------|
| Solo armazon solar | 4% |
| Solo armazon oftalmico (sin micas) | 2.5% |
| Armazon + Micas (completo) | 3% |
| Solo micas / lentes | 2.5% |
| Lentes de contacto, soluciones, accesorios | 0% (no comisionan) |

### Formula de calculo

1. Se suman los articulos que **si comisionan** (armazones y micas)
2. Se calcula la **proporcion** del pago que corresponde a esos articulos
3. Se resta el **IVA** (16%)
4. Si es pago con tarjeta: se resta la **comision bancaria** segun la terminal utilizada
5. Se aplica el **porcentaje del vendedor** segun la combinacion

**Ejemplo:** Venta de $9,520 pagada con TC 6M Santander (14.16%), solo micas (2.5%):
- $9,520 - 16% IVA = $7,996.80
- $7,996.80 - 14.16% banco = $6,864.45
- $6,864.45 x 2.5% = **$171.61** de comision

### Reglas importantes

- La comision es del **vendedor original**, aunque otra persona cobre el pago
- Si hay abono parcial, solo se comisiona sobre el monto pagado
- El saldo pendiente se comisiona cuando se pague
- La comision bancaria varia segun la terminal usada (debito, credito 1 mes, 3 meses, etc.)

### Generacion de comisiones

Las comisiones se generan de dos formas:
- **Automaticamente** al depositar un pago en efectivo
- **Manualmente** desde el Corte Mensual, al presionar "Generar Comisiones del Mes" (procesa pagos con tarjeta y transferencia)

### Revision mensual

Desde **Corte Mensual** de comisiones:

1. **Generar** -- Procesa todos los pagos del mes que aun no tienen comision
2. **Revisar** -- Consulte el detalle por vendedor y monto. Presione el boton **Reglas** para ver la documentacion completa del calculo
3. **Excluir** -- Si algun pago no debe generar comision, puede excluirlo indicando la razon
4. **Aprobar** -- Apruebe las comisiones en lote o individualmente
5. **Liquidar** -- Marque las comisiones como pagadas al vendedor

### Configuracion

Desde **Configuracion de Comisiones** puede ajustar:
- Los porcentajes por combinacion de articulos
- La tasa de IVA
- Ver las comisiones bancarias de cada terminal (se editan en Terminales / Tarjetas)

---

## 16. Ingresos

### Proposito

El modulo de **Ingresos** permite registrar dinero que entra a la optica proveniente de fuentes distintas a las ventas: prestamos, reembolsos, ingresos externos, etc.

### Registrar un ingreso

Desde la seccion **Ingresos**, complete el formulario:

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Monto | Si | Cantidad de dinero (ej: 1,500.00) |
| Concepto | Si | Razon del ingreso (ej: "Prestamo de Compartamos") |
| Fecha | Si | Fecha de aplicacion (por defecto hoy, puede ser anterior) |
| Metodo de pago | Si | Efectivo, Tarjeta o Transferencia |
| Responsable | Si | Usuario responsable (se preselecciona el usuario actual) |
| Comentarios | No | Informacion adicional |

Al guardar, el sistema crea automaticamente un registro de pago asociado.

### Consultar ingresos

La tabla muestra todos los ingresos registrados con fecha, monto, concepto, metodo de pago y responsable. Puede exportar a Excel o PDF.

### Eliminar ingreso

Presione el icono de basura en la fila correspondiente. El sistema pedira confirmacion antes de eliminar.

---

## 17. Gastos

### Proposito

El modulo de **Gastos** registra todos los egresos operacionales de la optica: servicios, mantenimiento, suministros, etc.

### Registrar un gasto

Desde la seccion **Gastos**, complete el formulario:

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Monto | Si | Cantidad del gasto |
| Concepto | Si | Descripcion del gasto (minimo 3 caracteres) |
| Categoria | Si | Tipo de gasto: agua, luz, telefono, mantenimiento, etc. |
| Fecha | Si | Fecha de aplicacion |
| Responsable | Si | Usuario responsable del gasto |
| Comentarios | No | Detalles adicionales |

### Consultar gastos

La tabla muestra todos los gastos con fecha, monto, concepto, categoria y responsable.

### Autorizar gastos

Los gastos pueden ser autorizados (reconciliados) por usuarios con permisos de administrador:

1. Presione el icono de check en la fila del gasto
2. El sistema registra la fecha y hora de autorizacion
3. El gasto queda marcado como autorizado

### Editar un gasto

Presione el icono de lapiz para abrir el modal de edicion. Puede modificar todos los campos. Los cambios se guardan automaticamente al cambiar cada campo.

### Exportar

Use el boton **Exportar** para descargar la relacion de gastos en CSV o PDF.

---

## 18. Creditos

### Proposito

El modulo de **Creditos** gestiona las ventas realizadas a credito de la tienda. Permite hacer seguimiento de abonos parciales y el estado de cobranza.

### Dashboard de creditos

Al acceder a **Creditos**, se muestran 4 indicadores:

- **Clientes con creditos** -- Cantidad de clientes distintos con credito activo
- **Ventas a credito** -- Cantidad total de ventas a credito
- **Monto total** -- Suma de todas las ventas a credito
- **Por cobrar** -- Monto pendiente de pago

### Tabla de creditos

| Columna | Descripcion |
|---------|-------------|
| # Credito | Numero identificador (link al ticket PDF) |
| Cliente | Nombre del paciente |
| Deuda | Monto original del credito |
| Fecha | Fecha de la venta |
| Pendiente | Saldo por pagar |
| Estado | Pagado (verde) o monto pendiente |

### Registrar abono

1. Presione el icono **+** en la fila del credito
2. En el modal "Registrar abono de credito":
   - Cliente y descripcion se muestran automaticamente
   - Seleccione metodo de pago (efectivo, tarjeta, transferencia)
   - Ingrese el monto a abonar
   - Si es **efectivo**: ingrese el dinero recibido, el cambio se calcula automaticamente
   - Si es **tarjeta**: ingrese el numero de aprobacion
3. Presione **Guardar abono**

### Editar abonos

Presione el icono de lapiz para ver y modificar los abonos registrados del credito.

### Historial de pagos

Presione el icono de lista para ver el detalle completo de todos los abonos realizados.

### Filtros

Puede filtrar los creditos por rango de fechas usando el selector en la esquina superior derecha.

---

# INVENTARIO Y COMPRAS

---

## 19. Inventario

### Consulta de inventario

Desde **Inventario** consulte el stock disponible por tienda. La vista muestra:

- Articulo, codigo, cantidad disponible
- Costo unitario y valor total del inventario
- Valor total a precio de venta

### Stock minimo (alertas)

Cada articulo puede tener un **stock minimo** configurable. Cuando la cantidad disponible es igual o menor al minimo, la tabla muestra un indicador rojo de alerta.

Para configurar el stock minimo de un articulo:

1. En la columna **Min.** de la tabla de inventario, ingrese el numero minimo deseado
2. El valor se guarda automaticamente al cambiar el campo
3. Deje el campo vacio para desactivar la alerta en ese articulo

Esta funcion es opcional — si no se configura stock minimo, no se muestra alerta.

### Historial de movimientos

Al seleccionar un articulo puede ver su historial: ingresos por compra, salidas por venta, traspasos entre tiendas.

### Traspasos entre tiendas

Puede transferir articulos de una tienda a otra desde el modulo de inventario (ver seccion 20).

---

## 20. Traspasos entre Tiendas

### Proposito

Permite transferir articulos de inventario de una tienda a otra, manteniendo el control de stock en ambas sucursales.

### Crear un traspaso

1. Seleccione la **tienda origen** (de donde sale la mercancia)
2. Seleccione la **tienda destino** (a donde llega)
3. Seleccione el **articulo** a transferir
4. Ingrese la **cantidad**
5. Guarde

El sistema automaticamente:
- Decrementa el inventario en la tienda origen
- Incrementa el inventario en la tienda destino
- Registra la transferencia con fecha y usuario

### Validaciones

- No se permite transferir a la misma tienda
- La cantidad no puede exceder el stock disponible en origen
- Se requieren permisos de administrador

### Consultar traspasos

La tabla historica muestra todos los traspasos realizados con: fecha, articulo, cantidad, tienda origen, tienda destino y usuario que lo realizo.

---

## 21. Compras a Proveedores

### Proposito

Registra las compras de mercancia a proveedores y actualiza automaticamente el inventario.

### Registrar una compra

**Paso 1 -- Encabezado:**

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Proveedor | Si | Seleccione de la lista (RFC y nombre se llenan automaticamente) |
| Numero de factura | Si | Folio del documento del proveedor |
| Fecha de compra | Si | Fecha de la compra |
| Descuento factura | No | Descuento total aplicado a la factura |
| Total factura | Si | Monto total de la compra |

**Paso 2 -- Agregar articulos:**

Para cada articulo comprado:

| Campo | Descripcion |
|-------|-------------|
| Articulo | Seleccione del catalogo (busqueda por nombre) |
| Unidades | Cantidad comprada |
| Descuento | Descuento por unidad (opcional) |
| Costo unitario | Precio por unidad |
| Total partida | Se calcula automaticamente (cantidad x costo) |

**Paso 3 -- Guardar:**

Al guardar, el sistema:
1. Crea el registro de compra
2. Ingresa cada articulo al inventario de la tienda
3. Actualiza el stock disponible

---

## 22. Apartados

### Proposito

Gestiona los productos apartados/separados por clientes que realizan un pago parcial como anticipo.

### Vista principal

La tabla muestra los apartados activos con:

| Columna | Descripcion |
|---------|-------------|
| Cliente | Nombre del paciente |
| Venta | Numero de venta asociada |
| Total | Monto total de la venta |
| Abonos | Suma de pagos realizados |
| Saldo pendiente | Monto restante por pagar |

### Flujo

1. Un apartado se crea automaticamente cuando una venta se registra como tipo "Apartado" en el mostrador
2. El cliente realiza abonos desde el detalle de la venta
3. Cuando el saldo llega a $0, el apartado se liquida
4. El producto puede entregarse al cliente

---

## 23. Garantias

### Proposito

Gestiona las garantias de lentes y armazones vendidos, permitiendo registrar y dar seguimiento a reclamaciones.

### Acceso

Desde **Garantias** se consultan los productos con garantia vigente y se registran las reclamaciones cuando un producto presenta defectos.

---

# CATALOGO DE PRODUCTOS

---

## 24. Articulos

### Proposito

Modulo base para gestionar todos los productos que vende la optica: armazones, lentes, accesorios, soluciones, etc.

### Registrar un articulo

Desde **Articulos**, complete el formulario:

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre del producto |
| Clave | No | Clave interna del producto |
| Codigo de barras | No | Para escaneo rapido en mostrador |
| Linea | Si | Linea de producto (ej: Armazones, Micas, Accesorios) |
| Marca | No | Marca del producto |
| Tamano | No | Medida o talla |
| Costo | No | Precio de compra |
| Precio | Si | Precio de venta al publico |
| Proveedor | No | Proveedor del articulo |
| Inventariable | Si | Indica si se controla stock en inventario |

### Foto del articulo

Puede subir una foto arrastrando la imagen al area de carga (drag & drop).

### Consultar articulos

La tabla muestra todos los articulos registrados con busqueda y filtro por linea. Columnas: ID, nombre, linea, marca, precio y acciones.

### Acciones

- **Editar** -- Modificar datos del articulo
- **Agregar inventario** -- Ingresar stock al inventario de la tienda
- **Eliminar** -- Eliminar articulo (soft delete)

---

## 25. Armazones

### Proposito

Extiende el modulo de Articulos con campos especificos para armazones oftalmicos y solares: estilo, genero, materiales, colores y medidas opticas.

### Registrar un armazon

Ademas de los campos base de Articulo, un armazon incluye:

**Datos generales:**

| Campo | Descripcion |
|-------|-------------|
| Modelo | Codigo o modelo del armazon |
| Solar | Indica si es armazon para lentes de sol |
| Estilo | Completo, Ranurado o 3 Piezas |
| Genero | Masculino, Femenino o Unisex |
| Forma | Forma del armazon |
| Publicado | Si aparece en el catalogo |

**Materiales y colores:**

| Campo | Descripcion |
|-------|-------------|
| Material del marco | Acetato, metal, titanio, etc. |
| Material de varillas | Material de las patillas |
| Color del marco | Color principal |
| Color de varillas | Color de las patillas |
| Clave de color | Codigo de color del fabricante |

**Proporciones (medidas opticas):**

Medidas en milimetros del armazon: ancho, alto, distancia pupilar y otras medidas tecnicas necesarias para el trabajo de laboratorio.

### Armazones solares

Si se marca como **Solar**, aparecen campos adicionales:
- Material del lente solar
- Propiedades opticas
- Tratamiento aplicado
- Color del tratamiento
- Degradacion del color
- Color del lente

### Galeria de fotos

Cada armazon puede tener multiples fotos. Suba imagenes arrastrando al area de carga (drag & drop). Puede eliminar fotos individuales.

### Tabla de armazones

La tabla permite:
- Filtrar armazones publicados / no publicados
- Buscar por nombre, modelo o marca
- Columnas: ID, Publicado, Clave, Nombre, Linea, Marca, Modelo, Color, Tamano, Precio

---

## 26. Pupilentes (Lentes de Contacto)

### Proposito

Gestiona el catalogo de lentes de contacto con sus caracteristicas especificas.

### Registrar un lente de contacto

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre o modelo del lente (ej: "Acuvue Oasys") |
| Proveedor | Si | Empresa proveedora |
| Marca | No | Marca del lente (Acuvue, Bausch & Lomb, etc.) |
| Diseno | No | Tipo optico: esferico, torico, multifocal |
| Color | No | Color del lente (si aplica) |
| Tipo de uso | No | Diario, mensual, anual |
| Unidades por empaque | No | Cantidad de lentes por caja |

### Catalogos complementarios

Desde el mismo modulo se administran los catalogos de apoyo:

- **Marcas de contacto** -- Crear y editar marcas de lentes de contacto
- **Disenos** -- Tipos de diseno optico disponibles
- **Colores** -- Colores disponibles para lentes cosmeticos
- **Tipos de uso** -- Duraciones (diario, mensual, anual)

---

## 27. Catalogo de Lentes Oftalmicos

### Administracion

Desde **Micas** se administra el catalogo completo de lentes oftalmicos. Cada lente tiene:

- Correccion optica (monofocal, bifocal, progresivo)
- Material (CR-39, policarbonato, high index, etc.)
- Tipo (blanco, fotocramatico, transitions, etc.)
- Color, tratamiento, diseno
- Rangos de graduacion (esfera y cilindro)
- Precio y costo
- Dias de entrega estimados

### Filtros

La tabla de lentes permite filtrar por correccion optica, material, tipo, color y tratamiento para encontrar rapidamente el lente indicado.

### Desde el mostrador

Al crear una venta y seleccionar un lente, el sistema muestra el catalogo filtrable. Al agregarlo al carrito, se vincula automaticamente con el paciente y su graduacion.

---

## 28. Precios

### Proposito

Permite definir multiples precios por articulo con fechas de vigencia. Util para manejar precios especiales, promocionales o de liquidacion.

### Tipos de precio

| Tipo | Descripcion |
|------|-------------|
| Regular | Precio base del producto |
| Promocion | Precio temporal por campana |
| Descuento | Precio rebajado |
| Outlet | Precio de liquidacion |

### Gestionar precios

1. Acceda a **Precios**
2. La tabla muestra cada articulo con sus precios por tipo
3. Seleccione un articulo para editar sus precios
4. En el modal de edicion:
   - Seleccione el tipo de precio
   - Ingrese el monto
   - Defina fecha de inicio y fin de vigencia
   - Guarde

### Vigencia

El sistema verifica automaticamente si un precio esta vigente comparando las fechas de inicio y fin con la fecha actual. Solo los precios vigentes aplican en el mostrador.

---

## 29. Promociones

### Proposito

Sistema avanzado de promociones con multiples tipos de descuento, restricciones y calculo automatico.

### Tipos de promocion

| Tipo | Descripcion | Ejemplo |
|------|-------------|---------|
| Porcentaje | Descuento porcentual | 10% de descuento, maximo $500 |
| Monto fijo | Descuento en pesos | $100 de descuento |
| BOGO | Compra X, lleva Y | Compra 2, lleva 1 gratis |
| Bundle | Paquete combo | Armazon + Micas con descuento |
| Escala por monto | Descuento segun total | 5% a partir de $1,000, 10% desde $2,000 |
| Escala por cantidad | Descuento segun unidades | 5% comprando 2+, 10% comprando 5+ |
| Cashback | Monedero electronico | 5% de devolucion en credito |

### Crear una promocion

1. Presione **Nueva Promocion**
2. Complete los datos basicos:
   - **Nombre** -- Nombre descriptivo (3-150 caracteres)
   - **Codigo** -- Codigo alfanumerico opcional (ej: "PROMO2024")
   - **Descripcion** -- Detalle de la promocion
   - **Tipo** -- Seleccione el tipo de descuento
   - **Canal** -- Tienda fisica, online o ambos
   - **Alcance** -- Por articulo individual o por carrito completo
3. Configure las reglas segun el tipo seleccionado
4. Defina fechas de vigencia (inicio y fin)
5. Opcionalmente configure:
   - **Restricciones** -- Monto minimo, cantidad minima, productos o categorias especificas
   - **Audiencia** -- Grupos de clientes o clientes especificos
   - **Prioridad** -- Orden de aplicacion (0-100, menor = mas prioritario)
   - **Combinable** -- Si puede sumarse con otras promociones
6. Guarde

### Administrar promociones

Desde el listado puede:
- **Activar/Desactivar** -- Toggle rapido de estado
- **Editar** -- Modificar cualquier parametro
- **Eliminar** -- Remover la promocion
- **Vista previa** -- Calcular el descuento resultante sin guardar

### Aplicacion automatica

Las promociones activas se aplican automaticamente en el mostrador segun las reglas configuradas, respetando prioridad y combinabilidad.

---

## 30. Importacion Masiva de Datos

### Acceso

Desde **Importar** puede cargar informacion masiva mediante archivos CSV. El proceso es:

1. **Seleccionar tipo** -- Catalogos, Lentes o Inventario
2. **Descargar plantilla** -- Obtenga el archivo CSV con las columnas correctas
3. **Llenar datos** -- Complete la plantilla en Excel o cualquier editor de hojas de calculo y guarde como CSV
4. **Subir y validar** -- El sistema revisa cada fila y muestra cuales son validas y cuales tienen errores
5. **Confirmar** -- Solo las filas validas se importan. Las filas con error pueden corregirse y re-subirse.

### Importar catalogos

Para actualizar las listas de: materiales, tipos, colores, tratamientos, disenos de lentes, lineas de productos o marcas.

**Columna requerida:** `nombre`

Si el nombre ya existe en el sistema, la fila se omite automaticamente (no crea duplicados).

**Recomendacion:** Importe los catalogos antes de importar lentes, ya que los lentes referencian estos catalogos por nombre.

### Importar lentes

Para cargar el catalogo de lentes oftalmicos con sus especificaciones y precios.

**Columnas principales:**
- Correccion optica (MONOFOCAL, BIFOCAL, PROGRESIVO)
- Material, tipo, color, tratamiento (deben existir previamente en catalogos)
- Rangos de esfera y cilindro
- Precio y costo

### Importar inventario

Para registrar stock inicial o ingresos masivos de mercancia.

**Columnas principales:**
- Codigo del articulo (debe existir previamente en el sistema)
- Tienda (debe existir previamente)
- Cantidad y costo
- Proveedor y factura (opcionales)

---

# ADMINISTRACION

---

## 31. Empleados

### Proposito

Gestiona el personal que trabaja en las tiendas, incluyendo informacion personal, asignacion de tienda y acceso al sistema.

### Registrar un empleado

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre(s) del empleado |
| Apellidos | Si | Apellidos del empleado |
| Telefono | No | Numero de contacto |
| Tienda | Si | Sucursal donde trabaja |

### Crear usuario del sistema (opcional)

Si el empleado necesita acceso al sistema, puede crearle un usuario desde el mismo formulario:

| Campo | Descripcion |
|-------|-------------|
| Email | Correo electronico |
| Username | Nombre de usuario para login |
| Contrasena | Minimo 8 caracteres |
| Nivel | Administrador, Doctor, Empleado o Vendedor |

### Acciones

- **Editar** -- Modificar datos personales
- **Cambiar contrasena** -- El administrador puede restablecer la contrasena
- **Eliminar** -- Eliminar empleado (soft delete)

---

## 32. Usuarios

### Proposito

Administracion de cuentas de usuario del sistema con control de acceso.

### Registrar un usuario

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre y apellidos | Si | Datos personales |
| Username | Si | Nombre de usuario unico para login |
| Contrasena | Si | Minimo 8 caracteres (se verifica coincidencia) |
| Email | No | Correo electronico |
| Telefono | No | Numero de contacto |
| Tienda | Si | Sucursal asignada |
| Administrador | No | Checkbox para otorgar permisos de admin |

### Acciones

- **Editar** -- Los cambios se guardan automaticamente al modificar cada campo
- **Eliminar** -- Eliminar usuario

### Roles

- **Administrador** -- Acceso completo a todas las funciones
- **Doctor** -- Acceso a consultas y expedientes
- **Vendedor** -- Acceso a mostrador, ventas y corte de caja
- **Empleado** -- Acceso basico

---

## 33. Perfil

### Proposito

Vista del perfil personal del usuario autenticado. Muestra los datos del usuario que esta actualmente conectado al sistema.

### Informacion mostrada

- **Datos personales** -- Nombre completo, username, sucursal asignada
- **Contacto** -- Telefono, WhatsApp, email
- **Ultimas ventas** -- Las 5 ventas mas recientes con monto, articulos, tipo de pago, estado de entrega y link al ticket

### Navegacion

- **Historial** -- Redirige a Mis Ventas con el historial completo

### Pendiente

Las siguientes funciones estan en desarrollo y no estan disponibles aun:

- **Editar perfil** -- Modificar nombre, correo, telefono directamente desde esta pantalla
- **Cambiar contrasena** -- Actualizar la contrasena del usuario autenticado
- **Estadisticas personales** -- Graficas de desempeno y resumen de ventas propias

---

## 34. Tiendas

### Proposito

Administracion de las sucursales del negocio.

### Registrar una tienda

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre de la sucursal |
| Direccion | No | Direccion completa |
| Telefono | No | Numero de contacto (10 digitos) |

### Acciones

- **Editar** -- Modificar datos de la tienda (cambios se guardan automaticamente)
- **Eliminar** -- Eliminar tienda (soft delete)

Las tiendas registradas aparecen como opcion en toda la aplicacion: registro de empleados, inventario, ventas, filtros del dashboard, etc.

---

## 35. Proveedores

### Proposito

Gestion de proveedores de mercancia (armazones, lentes, accesorios).

### Registrar un proveedor

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre de la empresa |
| RFC | No | Registro Federal de Contribuyentes |
| Telefono | No | Numero de contacto |
| Direccion | No | Direccion de la empresa |
| Email | No | Correo de contacto |

### Uso

Los proveedores registrados aparecen como opcion al:
- Registrar compras de mercancia
- Crear articulos nuevos
- Importar inventario

---

## 36. Laboratorios

### Proposito

Administracion de laboratorios opticos (internos o externos) que procesan ordenes de trabajo.

### Registrar un laboratorio

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre del laboratorio |
| Es foraneo | No | Indica si es un laboratorio externo |
| Telefono | No | Numero de contacto |
| Direccion | No | Ubicacion del laboratorio |

### Laboratorio foraneo vs interno

- **Interno** -- El trabajo se procesa en la misma optica. No requiere envio ni guia.
- **Foraneo** -- El trabajo se envia a un laboratorio externo. Requiere guia de envio y seguimiento de paqueteria.

Los laboratorios registrados aparecen como opcion al crear ordenes de trabajo desde el detalle de la venta.

---

## 37. Convenios

### Proposito

Gestion de convenios o acuerdos comerciales con empresas externas (aseguradoras, corporativos, gobierno, etc.).

### Registrar un convenio

| Campo | Obligatorio | Descripcion |
|-------|-------------|-------------|
| Nombre | Si | Nombre del convenio o empresa |
| Contacto | No | Persona de contacto |
| Telefono | No | Numero de contacto |
| Direccion | No | Direccion de la empresa |

### Uso

Los convenios pueden vincularse a pacientes para identificar que llegan referidos por una empresa con acuerdo comercial.

---

## 38. Cuentas Bancarias y Terminales

### Cuentas bancarias

Desde **Terminales / Tarjetas** se administran las cuentas bancarias del negocio. Cada cuenta tiene:

- Banco (Santander, BBVA, Banamex, etc.)
- Alias (nombre corto para identificar la cuenta)
- Numero de cuenta y CLABE
- Titular
- Moneda (MXN o USD)
- Estado activo/inactivo

Las cuentas activas aparecen como opcion al momento de registrar pagos con tarjeta o transferencia, y al depositar efectivo.

### Terminales de pago

Cada terminal (dispositivo de cobro con tarjeta) se vincula a una cuenta bancaria y tiene:

- **Alias** -- Nombre corto (ej: SNT TD, BMR TC 3M)
- **Cuenta bancaria** -- A que cuenta llegan los fondos
- **Modalidad** -- Debito, Credito 1 mes, 3 meses, 6 meses, 9 meses, 12 meses, 18 meses, 24 meses
- **Comision bancaria** -- Porcentaje que cobra el banco por cada transaccion (se usa para calcular comisiones del vendedor)
- **Estado** -- Activa o inactiva

### Relacion con comisiones

La comision bancaria de cada terminal es fundamental para el calculo de comisiones del vendedor. Al pagar con tarjeta, el sistema usa la comision de la terminal seleccionada para determinar cuanto descuenta el banco antes de calcular la comision.

Ejemplo: Santander Debito cobra 3.5%, mientras que Santander TC 12 meses cobra 20.11%.

---

## 39. Catalogos Base

Los catalogos base son listas de referencia que alimentan los formularios de todo el sistema. Todos se administran de la misma forma: formulario para crear nuevos registros y tabla con opcion de eliminar.

### Lineas de producto (/lineas)

Agrupan los articulos por tipo: Armazones, Micas, Accesorios, Soluciones, Lentes de Contacto, etc.

Campo: **Nombre de la linea**

### Marcas (/marcas)

Catalogo de marcas de armazones: Ray-Ban, Vogue, Prada, Oakley, etc.

Campo: **Nombre de la marca**

### Colores de armazon (/colores)

Colores disponibles para armazones: Negro, Cafe, Dorado, Plata, etc.

Campo: **Nombre del color**

### Materiales de armazon (/materiales)

Materiales de fabricacion: Acetato, Metal, Titanio, TR-90, etc.

Campo: **Nombre del material**

### Rangos de graduacion (/rangos)

Define escalas de graduacion optica (Esfera, Cilindro, Eje, Adicion). Cada rango tiene intervalos con valor minimo y maximo.

Campos:
- **Descripcion** -- Nombre de la escala (ej: "Esfera")
- **Intervalos** -- Parejas de valor minimo y maximo

Para gestionar intervalos, presione el boton **Intervalos** en la fila del rango.

### Categorias de articulo (/categorias)

Clasificacion adicional de productos.

Campos: **Nombre** y **Descripcion**

### Ocupaciones (/ocupaciones)

Profesiones de los pacientes (contexto medico): Ejecutivo, Obrero, Estudiante, Ama de casa, etc.

Campo: **Titulo de la ocupacion**

---

## 40. PIN de Descuento

### Proposito

El **PIN de descuento** es un codigo de autorizacion que un supervisor o administrador debe ingresar cada vez que un vendedor aplica un descuento en el mostrador. Garantiza que los descuentos solo se apliquen con autorizacion expresa.

### Acceso

Solo usuarios con permisos de administrador pueden ver y modificar el PIN desde **Administracion > PIN de descuento** (`/pin`).

### Como funciona en el mostrador

Al agregar un descuento a una venta, el sistema solicita el PIN antes de aplicarlo. El vendedor llama al supervisor, quien ingresa el PIN para autorizar.

### Configurar el PIN

1. Acceda a **PIN de descuento** en el menu de administracion
2. La pagina muestra el **PIN actual** configurado
3. En el formulario **Actualizar PIN**, ingrese el nuevo codigo numerico (4 a 6 digitos)
4. Presione **Guardar cambios**

### Reglas del PIN

- Debe ser **numerico** (solo digitos)
- Longitud: **4 a 6 digitos**
- El valor por defecto de fabrica es **1111** -- cambielo antes de usar en produccion
- Solo los administradores pueden modificarlo

---

## 41. Ventas -- Historial Global

### Proposito

La seccion **Ventas** (`/ventas`) es la vista administrativa del historial completo de ventas de todas las sucursales y vendedores. A diferencia de **Mis Ventas** (que muestra solo las ventas del usuario autenticado), esta vista es para gerentes y administradores.

### Informacion mostrada

| Columna | Descripcion |
|---------|-------------|
| Folio | Numero de venta (link al detalle) |
| Fecha | Fecha de la transaccion con filtro por rango |
| Paciente | Nombre del cliente |
| Articulos | Cantidad de articulos en la venta |
| Tipo de venta | Contado, Apartado o Credito |
| Tipo de pago | Efectivo, Tarjeta, Transferencia o Multipago |
| Monto | Total de la venta |
| Vendedor | Quien realizo la venta |
| Acciones | Acceso al detalle de la venta |

### Filtros

- **Rango de fechas** -- Selector en la esquina superior derecha para acotar el periodo
- **Busqueda** -- Filtrado en tiempo real por cualquier columna

### Diferencia con Mis Ventas

| | Mis Ventas | Ventas (Historial) |
|---|---|---|
| Acceso | Todos los usuarios | Administradores |
| Alcance | Solo ventas del usuario actual | Todas las ventas de todas las tiendas |
| Ruta | `/mis-ventas` | `/ventas` |

---

## 42. Reportes

### Acceso

La seccion **Reportes** (`/reportes`) es exclusiva para administradores, gerentes y duenos. Consolida informacion financiera y operativa del negocio en un solo lugar, con enfoque en rentabilidad.

### Filtro de fechas

El selector de rango en la esquina superior derecha aplica a todas las tarjetas y tablas de la pagina simultaneamente. Al seleccionar un rango personalizado, los titulos de cada bloque cambian para indicar el periodo presentado.

### Bloques de informacion

#### General de ventas

Tres indicadores en tarjeta:

| Indicador | Descripcion |
|-----------|-------------|
| Ingresos del dia / periodo | Total facturado en el rango seleccionado |
| Ventas ultimos 7 dias / periodo | Acumulado de ventas del periodo |
| Gastos del periodo | Total de egresos registrados |

#### Ventas por categoria

Ranking de las lineas de producto mas vendidas en el historico global (armazones, micas, accesorios, etc.). Se muestran los primeros 6 lugares.

#### Top de vendedores

Tabla comparativa por vendedor con:

| Columna | Descripcion |
|---------|-------------|
| Vendedor | Nombre del usuario |
| Articulos | Cantidad de articulos vendidos |
| Ventas | Monto total vendido |
| Compra | Costo de los articulos vendidos |
| Utilidad | Diferencia entre ventas y costo |

#### Relacion de abonos

Lista de pagos y abonos recientes con fecha, numero de venta, cliente, monto y metodo de pago.

#### Relacion de ventas por articulo

DataTable detallado con cada articulo vendido en el periodo:

| Columna | Descripcion |
|---------|-------------|
| Articulo | Clave del articulo |
| Descripcion | Nombre del producto |
| Vendidos | Unidades vendidas |
| Costo unitario | Precio de compra unitario |
| Total de compra | Costo total (unidades x costo) |
| Total de ventas | Ingreso total del articulo |
| Descuentos | Descuentos aplicados |
| Total de ganancia | Ventas - Compra - Descuentos |
| Tipo de pago | Metodo de cobro |
| Vendedor | Usuario que realizo la venta |

La fila de totales al pie suma automaticamente las columnas numericas. Se puede exportar a **CSV** o **PDF** con el boton Exportar.

#### Ventas por sucursales

Grafica de barras apiladas que compara el volumen de ventas entre sucursales en el periodo seleccionado.

---

## 43. Portal de Consulta para Clientes

### Proposito

Los clientes pueden consultar el estado de su pedido desde la pagina web del negocio, sin necesidad de usuario ni contrasena.

### Como funciona

1. Al realizar una venta, el sistema genera automaticamente un **codigo de 6 caracteres** (ej: KQGC7W)
2. El codigo aparece impreso en el **ticket de venta** junto con un **codigo QR**
3. El cliente puede consultar su pedido de dos formas:
   - **Escaneando el QR** del ticket con su telefono
   - **Ingresando el codigo** en la seccion "Consulta tu pedido" de la pagina web

### Informacion visible para el cliente

- Articulos comprados (nombre y cantidad)
- Total de la venta, monto pagado y saldo pendiente
- Estado de entrega (pendiente o entregado)
- Progreso del trabajo de laboratorio (si aplica): preparando envio, enviado al lab, en proceso, trabajo listo

### Informacion NO visible

- Precios unitarios de cada articulo
- Datos de la graduacion del paciente
- Informacion personal del paciente
- Datos internos del negocio

### Acceso

La pagina de consulta esta disponible en la seccion **Consulta tu pedido** del menu principal de la pagina web.

---

# REFERENCIA

---

## 44. Flujo Completo de una Venta Tipica

```
1. Paciente llega a la optica
      |
2. Se registra (o se busca si ya existe)
      |
3. Se realiza consulta oftalmologica -> se registra graduacion
      |
4. En mostrador: se agregan armazon + lentes -> se aplican promociones
      |
5. El cliente paga (completo o anticipo)
      |
6. Si requiere trabajo de lab -> se crea orden de laboratorio
      |
7. Si es lab externo -> se crea guia de envio
      |
8. El laboratorio procesa y envia el trabajo -> se recibe en tienda
      |
9. El cliente liquida saldo pendiente (si aplica)
      |
10. Se entrega el producto al cliente (requiere saldo $0 + lab recibido)
      |
11. Se registra la factura (post-timbrado en sistema externo)
      |
12. Al depositar efectivo -> se genera comision
      |
13. Al cierre de mes -> revision y aprobacion de comisiones
```

---

## Soporte

Para reportar problemas o solicitar funcionalidades, contacte al equipo de desarrollo.
