# Manual de Ventas (Administración)

# Ventas

# Cotizaciones

## ¿Qué es / para qué sirve?

Una **cotización** es un presupuesto que le das al cliente **antes de cerrar la
venta**. No descuenta inventario ni cobra; si el cliente acepta, la **conviertes
en factura**.

## Crear una cotización

1. Ve a **Ventas → Cotizaciones**.
2. Presiona **Agregar Cotización**.
3. Se abre la pantalla de venta con el estado ya puesto en **Cotización**.
   Completa cliente, productos, descuentos e impuestos (igual que en
   [Venta directa](venta-directa.md)).
4. Guarda.

[CAPTURA: listado de cotizaciones con sus columnas (fecha, referencia, cliente, total)]

## Acciones sobre una cotización

En el listado, cada cotización tiene un menú con:
- **Ver**, **Editar**, **Imprimir**.
- **Convertir a Factura**: la cotización se vuelve venta final (lista para cobrar).
- **Convertir a Proforma**.
- **Enviar notificación** de la cotización al cliente.
- **Eliminar** (con motivo).

## Filtros del listado

Puedes filtrar por **Sucursal**, **Cliente**, **Rango de fechas** y **Usuario**.

## Notas y avisos

> - **Convertir a Factura** requiere permiso de crear ventas y que esté habilitada
>   esa opción en la configuración.
> - Una cotización **no afecta inventario ni caja** hasta convertirse en factura.

PENDIENTE DE VERIFICAR: si la opción "Convertir a Factura" está habilitada en la
configuración de tu negocio.

# Envíos (seguimiento de entregas)

## ¿Qué es / para qué sirve?

La pantalla de **Envíos** reúne todas las ventas que tienen **datos de entrega**,
para darles seguimiento: ver su estado, quién recibe y actualizarlo a medida que
avanza la entrega.

## Paso a paso

1. Ve a **Ventas → Envíos**.
2. Filtra por **Sucursal**, **Cliente**, **Rango de fechas**, **Usuario**,
   **Estado de Pago**, **Estado de Envío** y **Personal de Servicio** (si aplica).
3. En la lista, cada venta muestra su **Estado de Envío** y los datos de entrega.
4. Abre/edita una venta para **actualizar el estado de envío** conforme avanza.

[CAPTURA: listado de Envíos con la columna Estado de Envío]

## Estados de envío

- **Ordenado** → **Empaquetado** → **Enviado** → **Entregado** (o **Cancelado**).

Cada estado se distingue por color para ubicarlo de un vistazo.

## Notas y avisos

> - Los datos de envío (dirección, gastos, "entregado a") se cargan al crear la
>   venta (ver [Venta directa](venta-directa.md)) o desde el cobro en el POS
>   (Manual del Cajero: *Registrar un delivery*).
> - Mantén el **estado de envío** actualizado: es la forma de seguir cada entrega.

# Venta directa (fuera del POS)

## ¿Qué es / para qué sirve?

La **venta directa** es una pantalla de venta completa, **fuera del POS de mesas**,
pensada para el administrador: permite crear ventas, cotizaciones o proformas con
todos los detalles (cliente, envío, pago, estado, numeración). Se usa para ventas
que no pasan por el punto de venta del salón.

## Paso a paso

1. Ve a **Ventas → Agregar venta**.
2. Completa la cabecera:
   - **Sucursal** y **Fecha de Venta** (obligatorios).
   - **Cliente** (obligatorio; puedes crearlo con **+**). Muestra su dirección de
     facturación y de envío.
   - **Estado de Venta**: Final, Borrador, Cotización, Proforma o Anulado.
   - Opcionales: **Grupo de Precios**, **Tipo de Servicio**, **Plazo de Pago**,
     **Esquema y Número de Factura**, **Agente de comisión**, campos
     personalizados y documento adjunto.
3. Agrega los **productos** (cantidad, precio, descuento por línea).
4. Ajusta **Descuento** de la orden, **Impuesto de Orden** y, si aplica,
   **puntos de lealtad**.
5. Completa la sección de **Envío** si corresponde: detalles, dirección, gastos,
   **estado de envío** y "entregado a".
6. Si el estado es **Final**, registra el **pago** (método, monto).
7. Presiona **Guardar** o **Guardar e Imprimir**.

[CAPTURA: pantalla "Agregar Venta" con cliente, productos, totales y sección de envío]

## Notas y avisos

> - La diferencia con el **POS** es que aquí tienes el formulario completo
>   (numeración, envío, crédito) en una sola pantalla, sin mesas.
> - Si eliges estado **Cotización** o **Proforma**, no se cobra; se convierte
>   después (ver [Cotizaciones](cotizaciones.md)).
> - El botón de **pago** solo aparece cuando el estado es **Final**.

PENDIENTE DE VERIFICAR: qué campos personalizados de venta/envío están activos en
tu negocio (se configuran en etiquetas personalizadas).

# Descuentos

# Descuentos (programados y personalizados)

## ¿Qué es / para qué sirve?

Hay dos tipos de descuentos que define el administrador:

- **Descuentos programados**: se aplican **automáticamente** según producto,
  categoría, marca, fechas y días (ej. "Happy hour de 5 a 7 pm").
- **Descuentos personalizados**: descuentos con nombre, listos para **aplicar a
  mano** en la venta, sin reglas de fecha.

## Crear un descuento programado

Ve a **Ventas → Descuentos → Añadir**. El cuadro está dividido en cuatro
secciones, y **solo se muestran los campos que hacen falta**: si eliges "Todos los
días" no aparecen los días, y si eliges "Todo el día" no aparecen las horas.

**1 · Qué descuento**
   - **Nombre**.
   - **Tipo de Descuento** (Fijo o Porcentaje) y **Monto de Descuento**.
   - **Prioridad**: cuál gana si varios descuentos aplican al mismo producto.

**2 · A qué aplica**
   - **Productos específicos** *o* **Categoría y/o marca**. Es lo uno o lo otro.
   - **Ubicación** (sucursal).

**3 · Cuándo aplica** — son tres preguntas distintas:

| Pregunta | Campo |
|---|---|
| ¿Entre qué **fechas** existe la promoción? | Vigente desde el día / hasta el día |
| ¿Qué **días de la semana**? | Todos los días · Días específicos |
| ¿Entre qué **horas de cada día**? | Todo el día · Solo en un horario |

**4 · Para quién**
   - **Excluir Grupos de Clientes** y **Excluir Listas de Precios** (ver abajo).
   - **Está Activo** (casilla).

Abajo del cuadro hay un **resumen en palabras** de lo que acabas de configurar, por
ejemplo: *"Aplicará los miércoles, de 4:00 PM a 11:00 PM, entre el 01/09/2026 y el
30/09/2026"*. Léelo antes de guardar: es la forma más rápida de darte cuenta de que
pusiste algo distinto de lo que querías.

[CAPTURA: cuadro de descuento con las cuatro secciones y el resumen en palabras]

## El horario de cada día

**El problema que resuelve:** antes, la fecha de fin llevaba una hora, y eso confundía.
Si ponías "Termina en 01/09/2028 11:00 PM" estabas diciendo que la promoción **deja de
existir** ese día de 2028 a esa hora — no que se cortara a las 11 de la noche cada día.
El descuento seguía aplicándose a las 11:40 PM, y con razón.

Ahora son dos cosas separadas:

- **Vigente desde / hasta el día**: entre qué fechas existe la promoción. Solo fecha,
  sin hora.
- **Horario**: entre qué horas de **cada** día se aplica.

**Cómo configurar los casos más comunes:**

| Lo que quieres | Días | Horario |
|---|---|---|
| Promoción todo el día, todos los días | Todos los días | Todo el día |
| Happy hour todos los días de 4 a 7 PM | Todos los días | Solo en un horario: 4:00 PM → 7:00 PM |
| Miércoles de alitas, de 4 PM a 11 PM | Días específicos: miércoles | Solo en un horario: 4:00 PM → 11:00 PM |
| Promoción de fin de semana que corta a las 11 PM | Días específicos: viernes, sábado | Solo en un horario: hasta 11:00 PM |

**Si tu negocio cierra de madrugada:** pon la hora de fin **menor** que la de inicio.
Por ejemplo, de **10:00 PM a 2:00 AM**. El sistema entiende que la promoción sigue viva
después de medianoche, y el resumen te lo confirma diciendo *"(cruza la medianoche)"*.

> Con "Miércoles" + "10:00 PM a 2:00 AM", la promoción sigue aplicando el **jueves a
> la 1 de la mañana**: para el negocio esa sigue siendo la noche del miércoles. Y NO
> aplica el jueves a las 10 de la noche.

[CAPTURA: la sección Horario con "Solo en un horario" y las dos horas]

## Excluir clientes o listas de precios

Sirve para que un descuento automático **no** se aplique en ciertas ventas. Son
**dos campos distintos** y conviene no confundirlos:

| Campo | Cuándo bloquea el descuento |
|---|---|
| **Excluir Grupos de Clientes** | Cuando el **cliente** de la venta pertenece a ese grupo |
| **Excluir Listas de Precios** | Cuando la **venta** usa esa lista de precios |

Ejemplo típico: una promoción de salón que no debe darse en los pedidos que entran
por una aplicación de delivery. Si esos pedidos se cobran con la **lista de precios**
de la aplicación, se excluye la lista. Si en cambio se registran a nombre de un
**cliente** que pertenece a un grupo, se excluye el grupo.

[CAPTURA: los dos campos de exclusión en el cuadro de descuento]

> **Importante:** muchos negocios tienen un grupo de clientes y una lista de precios
> **con el mismo nombre** (por ejemplo "VIP" o "Pedidos Ya"). Son cosas distintas.
> Si excluyes el grupo de clientes pero tus ventas se hacen por la lista de precios,
> el descuento **se va a seguir aplicando**. Ante la duda, revisa cómo se registra
> esa venta: si al cobrar se elige una lista de precios, usa *Excluir Listas de
> Precios*.

## Leer el listado de descuentos

En el listado, cada columna contesta una cosa:

| Columna | Qué dice |
|---|---|
| **Empieza a** / **Termina en** | Entre qué **fechas** existe la promoción |
| **Frecuencia** | Qué **días** y, debajo, entre qué **horas** de cada día (o *Todo el día*) |

Antes, las columnas de fecha mostraban también una hora — que era el borde del rango de
fechas, no el horario de la promoción — y una promoción de 1:00 a 1:10 PM se leía como
si aplicara las 24 horas. Ya no: la hora que ves en **Frecuencia** es la de la promoción.

También puedes **Editar**, **Eliminar**, **Reactivar** los inactivos y **desactivar
varios** a la vez.

[CAPTURA: listado con las columnas Empieza a, Termina en y Frecuencia]

## Si cambias el cliente con productos ya cargados

En el POS, cambiar el cliente en medio de una venta **vuelve a calcular los
descuentos automáticos** de los productos que ya están en el carrito, igual que
ya recalculaba los precios. Es lo correcto: el descuento que corresponde depende
de a quién le estés vendiendo.

Qué esperar al cambiar de cliente:

- Un producto con descuento automático **lo pierde** si el cliente nuevo está
  excluido de ese descuento.
- Un producto sin descuento **lo gana** si al cliente nuevo sí le corresponde.
- Un descuento que **tú aplicaste a mano** en la línea **no se toca**: ese no
  depende del cliente y se respeta tal como lo pusiste.

> Si el equipo está **sin internet**, los descuentos de los productos ya cargados
> se quedan como estaban: para recalcularlos hace falta consultar al servidor.
> Al volver la conexión, quita el producto y vuelve a agregarlo si necesitas que
> tome el descuento del cliente correcto.

## Crear un descuento personalizado

1. Ve a **Ventas → Descuentos personalizados → Agregar**.
2. Completa **Nombre**, **Tipo de Descuento** (Fijo/Porcentaje) y **Monto**.
3. Guarda. Quedará disponible para aplicarlo en la venta cuando se necesite.

[CAPTURA: cuadro de descuento personalizado (nombre, tipo, monto)]

## Notas y avisos

> - La **Prioridad** decide cuál descuento gana cuando varios aplican al mismo
>   producto. Si el de mayor prioridad está **excluido** para esa venta, entra el
>   siguiente que sí aplique; la venta no se queda sin descuento por eso.
> - Un descuento **inactivo** no se aplica; reactívalo cuando lo necesites.
> - Los descuentos programados respetan las **fechas**, los **días** y el **horario**
>   configurados.
> - Si activas o desactivas un descuento, o cambias su horario, las estaciones lo toman
>   solas en unos minutos. **No hace falta limpiar nada en las tablets ni reiniciar
>   el POS.**
> - Un descuento al que **no** le pones horario aplica **todo el día**, igual que
>   siempre: los descuentos que ya tenías creados no cambian de comportamiento.

# Auditoría

# Motivos de eliminación

## ¿Qué es / para qué sirve?

Los **motivos de eliminación** son la lista de razones que el personal debe elegir
al eliminar una venta o quitar un producto ya comandado (ej. "Devolución",
"Error de captura", "Cambio de producto"). Sirven para controlar y clasificar las
anulaciones.

## Paso a paso

1. Ve a **Ventas → Motivos de eliminación**.
2. Presiona **Agregar**.
3. Escribe el **Nombre** del motivo.
4. Guarda.

Puedes **Editar** o **Eliminar** los motivos desde el listado.

[CAPTURA: listado de motivos de eliminación con el botón Agregar]

## Notas y avisos

> - Estos motivos son los que aparecen al
>   [eliminar un producto ya comandado](../manual-cajero/eliminar-productos.md) y
>   en [Ventas eliminadas](ventas-eliminadas.md).
> - No se puede **eliminar un motivo** que ya esté usado en anulaciones existentes.
> - Define motivos claros: facilitan la auditoría de anulaciones.

# Ventas eliminadas y modificadas

## ¿Qué es / para qué sirve?

Es el **registro de auditoría** de las ventas que se **eliminaron** o de los
productos que se **quitaron** de una venta. Sirve para controlar qué se anuló,
quién lo hizo, quién lo autorizó y por qué.

## Paso a paso

1. Ve a **Ventas → Ventas eliminadas**.
2. Filtra por **Motivo (Razón)**, **Tipo** y **Rango de fechas**.
3. Revisa las dos pestañas:
   - **Eliminadas**: ventas completas eliminadas — fecha, factura, mesa, monto,
     sucursal, **quién la eliminó**, **motivo** y nota.
   - **Modificadas**: productos quitados de una venta — fecha, factura, producto,
     cantidad, **motivo**, nota, **quién modificó** y **quién aprobó**.

[CAPTURA: pestaña "Eliminadas" con columnas de motivo, usuario y monto]

## Recuperar una venta eliminada

Si tienes permiso de administrador, en la pestaña **Eliminadas** aparece el botón
**Recuperar**, que restaura la venta con todos sus datos.

## Notas y avisos

> - Este registro se llena **automáticamente** cuando se elimina una venta o se
>   quita un producto ya comandado (ver Manual del Cajero: *Eliminar productos*).
> - Los **motivos** disponibles se administran en
>   [Motivos de eliminación](motivos-de-eliminacion.md).

# Listado de Ventas

# Filtrar ventas por Crédito o Contado

## ¿Qué es / para qué sirve?

En **Ventas → Todas las Ventas** (`/sells`) ahora puedes filtrar el listado para ver
solo las ventas que se cobraron **a crédito** o solo las que se cobraron **al
contado**, sin tener que revisar una por una el estado de pago.

- **Venta a crédito**: la venta se registró usando el botón "Venta a Crédito" del
  punto de venta (queda pendiente de cobro).
- **Venta al contado**: cualquier venta cobrada con las demás formas de pago
  (efectivo, tarjeta, transferencia, etc.).

## Paso a paso

1. Ve a **Ventas → Todas las Ventas**.
2. En la sección de filtros, busca el campo **Tipo de venta**.
3. Elige una opción:
   - **Venta a crédito**: muestra solo las ventas registradas a crédito.
   - **Venta al contado**: muestra solo las ventas cobradas de contado.
   - Déjalo vacío (**Todos**) para ver ambos tipos, como antes.
4. El listado se actualiza automáticamente al elegir la opción.

[CAPTURA: filtro "Tipo de venta" en la sección de filtros de Todas las Ventas]

## Notas y avisos

> - Este filtro se puede combinar con los demás filtros del listado (Sucursal,
>   Cliente, Estado de Pago, Método de Pago, Rango de Fechas, etc.).
> - No cambia ninguna venta ya registrada: solo cambia qué filas se muestran en
>   el listado.

# Excel de Ventas por Sucursal

## ¿Qué es / para qué sirve?

Descarga un **Excel con todas las ventas de una sucursal** en el rango que usted elija, con el
**resumen al inicio de la hoja**. Sirve para cuadrar la caja de un local, revisar un mes
completo o pasarle la información a contabilidad.

Es distinto de los botones *Exp. a CSV* / *Exp. a Excel* que están sobre la tabla: esos
exportan lo que está cargado en pantalla. Este lo arma el sistema con **todas** las ventas del
rango.

## Paso a paso

1. Entre a **Ventas**.
2. En **Negocios**, elija la **sucursal**. Es obligatorio: el archivo es siempre de una sola
   sucursal.
3. Elija el **Rango de Fechas**.
4. Pulse **Excel por sucursal** (botón verde, arriba a la derecha de la tabla).
5. El archivo se descarga con un nombre que ya identifica el contenido, por ejemplo
   `ventas-NUEVO-ARRAIJAN-2026-06-01-a-2026-06-30.xlsx`.

[CAPTURA: botón Excel por sucursal junto al botón Añadir]

## Qué trae el archivo

**Al inicio de la hoja:**

- Sucursal, rango de fechas y quién lo generó.
- **Resumen de Facturación:** cantidad de ventas, Ventas Netas, descuento, ITBMS, Total
  Facturado, Mesas Abiertas y Total del Día — las mismas líneas y los mismos números que el
  resumen de la pantalla.
- **Desglose por Método de Pago:** cuánto se registró por cada forma de cobro.

**Debajo, el detalle**, una fila por venta: fecha, número de factura, cliente, sucursal, estado
de pago, método de pago, descuento, impuesto, monto total, total pagado, total restante y quién
la registró.

[CAPTURA: Excel abierto mostrando el resumen arriba y el detalle debajo]

## Notas y avisos

> **Sin sucursal no se descarga.** Si pulsa el botón con *Negocios: Todos*, aparece el aviso
> *"Debe seleccionar primero un negocio"*. Elija la sucursal y vuelva a pulsar.

> **Hace falta también un rango de fechas.**

> **Hay un máximo de 8.000 ventas por archivo.** Si su rango tiene más, el sistema se lo indica
> y le pide acortarlo. Para una sucursal de unas 225 ventas diarias, ese máximo cubre más de un
> mes completo. El límite existe para que generar el archivo no afecte al sistema.

> **Solo puede exportar las sucursales a las que tiene acceso.**

> **Una venta con varias formas de pago** aparece en **una sola fila**, con los métodos
> separados por coma. Así la columna de totales sigue cuadrando con el resumen.

> Los importes del resumen del Excel corresponden a las mismas ventas que trae el archivo.

# Resumen de la pantalla de Ventas

## ¿Qué es / para qué sirve?

En **Ventas**, arriba del listado, el bloque **Resumen** muestra el dinero del período que usted
está mirando, en dos partes:

**Desglose por Método de Pago:** cómo se registró cada venta, separado por forma de cobro
(efectivo, YAPPY, tarjeta…). Cada monto incluye el ITBMS y **no** incluye propinas.

**Resumen de Facturación**, línea por línea:

| Línea | Qué significa |
|---|---|
| **Ventas Netas** | Lo vendido antes del impuesto y ya con los descuentos aplicados |
| **ITBMS** | El impuesto cobrado al cliente (se le entrega a la DGI, no es ingreso) |
| **Total Facturado** | Ventas Netas + ITBMS: las ventas ya cerradas |
| **Mesas Abiertas** | Cuántas cuentas del período siguen abiertas y por cuánto |
| **Total del Día** | Total Facturado + Mesas Abiertas: el movimiento completo |

Cada línea tiene un **icono de información (ⓘ)**: pase el cursor por encima y le explica qué
incluye y qué no incluye ese monto. Ante la duda, esa es la referencia.

> **Las mesas abiertas no son ventas todavía.** Su monto puede cambiar mientras la cuenta siga
> abierta. Por eso se muestran en su propia línea y el Total del Día las suma aparte.

**El pie de la tabla** (la fila *Total:* de abajo) suma **lo que las columnas muestran**,
incluidas las mesas abiertas que también aparecen en el listado. Por eso el pie y el panel
pueden decir números distintos: el panel corta por facturación, el pie suma el listado entero.

El resumen corresponde a **todas las ventas del filtro**, no solo a las que se ven en la
pantalla. Si el rango tiene 500 ventas, el resumen es de las 500, aunque la tabla muestre 25.

## Paso a paso

1. Entre a **Ventas**.
2. Elija el **Rango de Fechas** y los filtros que necesite (sucursal, cliente, método de pago,
   usuario…).
3. El resumen se calcula solo, sobre todo lo filtrado.
4. Puede pasar de página, cambiar cuántas filas se muestran u ordenar por otra columna: **el
   resumen no cambia**, porque no depende de la página.

[CAPTURA: bloque Resumen con Método Pago y Totales]

## Notas y avisos

> **El resumen se recalcula solo cuando cambia un filtro.** Al navegar entre páginas no se
> vuelve a calcular: es la misma información y volver a pedirla solo haría más lenta la
> pantalla.

> **Hace falta un rango de fechas.** Sin rango no se calcula el resumen y la pantalla se lo
> indica. Es a propósito: sumar el historial completo de un negocio grande puede tardar
> muchísimo y afectar al sistema.

> **Rangos muy amplios.** Si el rango pasa de unos 400 días, o si tiene demasiadas ventas, el
> resumen no se calcula y aparece un aviso pidiéndole acortar el rango o filtrar por sucursal.
> El listado sigue funcionando normal.

> **Un método de pago que aparece dos veces con el mismo nombre** se muestra sumado en una sola
> línea. Si le ocurre, conviene revisar en Configuración los nombres de los métodos de pago:
> tener dos con el mismo nombre confunde al cajero al cobrar.

> **Si el resumen no cuadra con lo que espera**, revise los filtros activos: el resumen refleja
> exactamente lo mismo que el listado, incluidos los filtros que quedaron puestos.