Apariencia
Facturas
Módulo requerido:
sales· Permiso:sales.create
Si no ves el botón Nueva factura, tu rol no tiene ese permiso.
→ Módulos y permisos
Las facturas (tipo FAC) son el documento de venta definitivo. Al guardar una factura:
- Se descuenta el stock del almacén.
- Se genera el asiento contable automático (si tienes Contabilidad activa).
- Se envía a la DGI de Panamá vía FEL.
Antes de empezar
Verifica que:
- [ ] Tienes un turno de caja abierto (si el módulo
cash_registersestá activo). → Abrir turno de caja - [ ] La sucursal activa en la topbar es la correcta.
- [ ] Los productos que vas a facturar existen en el catálogo con precio e ITBMS configurados. → Productos
Crear una factura
1. Ir al listado
En el menú lateral: Ventas → Facturas.
Haz clic en el botón Nueva factura (esquina superior derecha).
Desde la ficha del cliente
También puedes crear la factura desde la ficha del cliente (botón Nuevo documento): el formulario abre con el cliente ya seleccionado.
2. Encabezado de la factura
Completa los campos del encabezado:
| Campo | Obligatorio | Descripción |
|---|---|---|
| Cliente | ✅ | Busca por nombre, RUC o código. Si no existe, créalo desde el formulario emergente (el alta rápida pide nombre, cédula/RUC, ubicación, nacimiento y sexo). |
| Fecha | ✅ | Por defecto: hoy (fecha del servidor en hora de Panamá). |
| Sucursal | ✅ | Se completa automáticamente con la sucursal activa. |
| Almacén | ✅ | Almacén del que se descuenta el stock. Por defecto: el de la caja del turno o el de la sucursal. |
| Vendedor | — | Por defecto: el vendedor elegido al abrir el turno de caja. Editable. |
| Lista de precios | — | Si la empresa tiene listas (FERIADO, DOMICILIO…), selecciónala aquí; las líneas usan el precio de la lista. |
| Forma de pago | ✅ | Efectivo, tarjeta, cheque, crédito, gift card, etc. |
| Condición de pago | — | Contado o crédito (plazo en días). |
| N.° de orden del cliente | — | Referencia interna del cliente (PO number). |
| Observaciones | — | Nota interna que aparece en el PDF de la factura. |
Empresas con módulo clínico
Si el cliente/paciente tiene una póliza de seguro registrada, el formulario muestra la tarjeta Plan del paciente y la tarjeta Aseguradora, y calcula automáticamente el copago y la parte cubierta. → Aseguradoras y seguros médicos
3. Agregar líneas de productos
- Buscar producto: escribe nombre o código, escanea el código de barras, o usa el botón azul Buscar (lupa) para abrir el buscador con filtros.
- Agregar: haz clic en el producto o presiona Enter. Se agrega con cantidad 1. Puedes editar cantidad y descuento directamente en la fila.
- Editar el detalle de la línea: usa el botón de lápiz en la columna de acciones de la fila. El modal permite cambiar:
- Cantidad
- Precio unitario (solo con permiso
sales.price.edit) - Descuento (% por línea, sujeto al tope de tu rol)
- ITBMS (tasa de impuesto; se hereda del producto)
- Descripción adicional — texto libre por línea (talla, color, n.° de serie). Si el producto tiene descripción en el catálogo, se hereda automáticamente. Aparece debajo del nombre en el PDF y se transmite a la DGI.
- Eliminar línea: ícono de papelera en la fila.
Badge de stock: cada línea muestra el stock disponible en el almacén seleccionado. Si la cantidad supera el stock, el sistema avisa — y si la empresa activó Bloquear venta sin stock, no deja guardar. → Control de precios y descuentos
4. Cupones, Gift Cards y descuento global
- Cupón: ingresa el código en el campo de cupón (módulo
coupons). El sistema valida y aplica el descuento en las líneas elegibles. - Gift Card: selecciona Gift Card como forma de pago e ingresa el código.
- Descuento global: porcentaje sobre el subtotal al pie del formulario; se reparte entre las líneas.
- Jubilados: si el cliente está marcado como jubilado, el descuento configurado se aplica solo, por línea. → Descuento a jubilados
5. Totales
| Campo | Descripción |
|---|---|
| Subtotal | Suma de precio × cantidad por línea, antes de descuento e ITBMS. |
| Descuentos | Total de descuentos aplicados (línea + global). |
| Base gravable | Subtotal menos descuentos. |
| ITBMS | Impuesto sobre la base gravable, desglosado por tasa. |
| Total | Base gravable + ITBMS. |
6. Cobro y vuelto
Al guardar con formas de pago de contado, el modal de cobro permite dividir el pago en varios medios. Para efectivo, ingresa el monto recibido y el sistema calcula el vuelto; en los reportes de caja el cobro queda registrado por el neto (entregado − vuelto).
7. Guardar la factura
- Haz clic en Guardar factura (o Guardar e imprimir).
- La factura se crea, recibe su número correlativo (ej.
FAC-0001) y se envía a la DGI. - Si el pago cubre el total, queda directamente Pagada.
Una vez guardada, la factura no se puede editar. Si hay un error, anúlala o emite una Devolución.
Buscar y filtrar facturas
En Ventas → Facturas puedes filtrar por:
- Rango de fechas — con atajos rápidos (hoy, ayer, esta semana, este mes, mes pasado…).
- Cliente
- Almacén y Vendedor
- Aseguradora (empresas con módulo clínico)
- Estado FEL (pendiente, enviada, rechazada, anulada)
- Estado de pago (pagada, pendiente, vencida)
- Número de factura
Acciones disponibles en una factura
Desde la vista de detalle (FAC-XXXX), el menú de Acciones ofrece:
| Acción | Descripción |
|---|---|
| Ver PDF | Abre el PDF en el navegador. El nombre del archivo descargado es descriptivo (número + cliente). |
| Imprimir ticket | Ticket térmico 58/72/80 mm con el QR de consulta DGI. |
| Enviar por correo | Envía el PDF al email del cliente (con copia BCC a la empresa). |
| Enviar por WhatsApp | Envía el PDF al teléfono del cliente vía WhatsApp Business. |
| Registrar cobro | Si tiene saldo pendiente, abre el formulario de cobro. → Cobros |
| Anular | Anula la factura. Si tiene FEL, primero se anula en la DGI y solo si la DGI acepta se anula localmente. Restaura stock y genera el asiento de reversión. |
| Anular en DGI | Para facturas cuya anulación fiscal falló o quedó pendiente: reintenta la anulación ante la DGI manualmente. |
| Reintentar FEL | Si el envío a DGI falló, lo reintenta. → Fiscal / FEL |
| Facturar a aseguradora | (Módulo clínico) Genera la FAC de cobro a la aseguradora por la parte cubierta. → Aseguradoras |
| Adjuntar archivos | Adjunta documentos relacionados (órdenes del cliente, comprobantes, etc.). |
| Historial | Muestra la bitácora de cambios del documento (quién hizo qué y cuándo). |
Estados de una factura
| Estado | Descripción |
|---|---|
| Emitida / Vigente | Factura válida, pago pendiente o parcial. |
| Pagada | Cobro total registrado (también al cobrarla completa desde el modal). |
| Vencida | Factura a crédito con plazo vencido. |
| Anulada | Factura cancelada. No tiene efecto fiscal. |
Estados FEL
| Estado FEL | Descripción |
|---|---|
| Pendiente | Aún no aceptada por la DGI. |
| Enviada | Aceptada por DGI. Incluye CUFE. |
| Rechazada | Rechazada por DGI. Ver motivo en el detalle; corregir y reintentar. |
| Anulada | Anulación aceptada por la DGI. |
| No aplica | FEL no configurado en la empresa. |
Preguntas frecuentes
¿Puedo crear una factura sin turno abierto?
No, si el módulo cash_registers está activo. El sistema te pedirá abrir un turno primero.
¿Puedo facturar un producto sin stock?
Depende del interruptor Bloquear venta sin stock de tu empresa: si está activo, no; si no, el sistema avisa y permite el negativo. → Control de precios y descuentos
¿Cómo convierto una cotización en factura?
Desde la vista de la cotización, botón Convertir a factura (permiso quotations.convert). → Cotizaciones
¿Qué pasa si DGI rechaza la factura?
Queda con estado FEL Rechazada. Corrige el problema indicado (RUC, DV, tasa…) y usa Reintentar FEL desde el detalle.
¿Puedo editar el precio después de guardar?
No. Los documentos emitidos son inmutables. Si el precio fue incorrecto, anula la factura y vuelve a emitirla.
¿Por qué no puedo dar más de X % de descuento?
Tu rol tiene un tope de descuento. Al excederlo se abre el flujo de autorización. → Control de precios y descuentos
¿Cómo imprimo en la impresora térmica?
Configura la impresora en Configuración → Impresión (QZ Tray instalado). Luego usa Imprimir ticket en el detalle de la factura. → Impresión térmica