FactuDesk

Manual completo de la facturación para computadora: cliente, artículos, precios, cobro e impresión

FD-001 Permiso 653 Facturación → FactuDesk AY-004
Menú Ayuda

Enviarle este manual a un usuario

El enlace abre solo este manual, sin el menú del sistema. El usuario no necesita clave ni entrar a FactuPOS: se ve en cualquier navegador y en el celular.

El WhatsApp sale del número de Soporte Real y el correo de info@soportereal.com. Con Compartir desde este teléfono sale de su propio WhatsApp y elige el contacto de su lista, sin escribir el número.

Introducción

FactuDesk es el módulo principal de facturación de FactuPOS, diseñado para uso en computadoras de escritorio. Permite crear cotizaciones, facturar de contado o crédito, imprimir en POS y enviar documentos electrónicos a Hacienda.

Flujo general de trabajo

Seleccionar cliente
Agregar artículos
Revisar y ajustar
PROCESAR
Imprimir / Enviar
Documento de trabajo Al ingresar al módulo se crea automáticamente un documento de trabajo (cotización). Puede agregar artículos sin necesidad de guardar primero.

Pantalla principal

La pantalla se divide en las siguientes áreas:

Panel Cliente (izquierda)

  • Datos del cliente seleccionado
  • Crédito disponible y deuda
  • Descuento, precio y actividad
  • Agente y referido

Panel Documento (derecha)

  • Número de documento
  • Fecha, tipo y moneda
  • Modo código de barras
  • Configuración de estación

Panel Líneas (centro)

  • Barra de búsqueda de artículos
  • Cantidad y botón Agregar
  • Tabla de líneas del documento

Panel Totales (inferior)

  • Gravado, exento, exonerado
  • Descuento total, IVA
  • Total general en moneda

Barra de herramientas superior

BotónFunción
AbrirAbrir una cotización guardada o de histórico
GuardarGuardar el documento actual como cotización
ClientesAbrir búsqueda rápida de clientes (F3)
OpcionesMAG, cambio de bodega, adelantos
UtilsHerramientas adicionales

Pantallas pequeñas y monitores bajos

FactuDesk acomoda su tamaño según el alto de la pantalla. En monitores de poca altura —portátiles de 1366×768, netbooks o una tablet en horizontal— las fichas de arriba y de abajo se compactan solas para dejarle más espacio a la lista de artículos, que es lo que usted necesita ver mientras factura.

No hay nada que configurar: el sistema lo detecta al abrir la pantalla y al cambiar el tamaño de la ventana.

Al marcar líneas aparece la barra de acciones

Cuando marca la casilla de una o varias líneas, aparece una barra con Eliminar, Tipo de precio, Descuento % e IVA para aplicarlos a todas las marcadas de una vez. Esa barra ocupa espacio, y en pantallas bajas antes dejaba la lista casi sin renglones visibles.

Ahora la barra también se compacta, y en las pantallas más bajas se acomoda en una sola fila que se corre de lado si no cabe, en vez de robarle alto a la lista.

Si aun así ve pocos renglones, tiene tres formas de ganar espacio al instante: F11 pone el navegador en pantalla completa (se van la barra de direcciones y la de marcadores, que son unos 100 píxeles), Ctrl y − reduce el tamaño de la página, y desmarcar las líneas esconde la barra de acciones.
La letra de la lista de artículos no se achica en ningún caso: lo que se compacta son los recuadros de alrededor. Lo que usted lee para facturar se mantiene del mismo tamaño.

Atajos de teclado

Los atajos permiten trabajar sin usar el ratón, ideal para facturación rápida:

TeclaAcciónCuándo usar
F1Ayuda rápida dentro de la pantallaEn cualquier momento
F2Buscar artículo (buscador MBA-001)Para agregar artículos al documento
F3Buscar clientePara cambiar el cliente
F4Abrir una cotización guardadaPara retomar o facturar una cotización
F5Sincronizar las líneas con la base de datosSi la conexión falló un momento y algo se ve raro
F6Consulta rápida de artículoVer precio y existencia sin agregarlo
F7Factura de CONTADOCerrar la venta cobrando de una vez
F8Factura de CRÉDITODejarla por cobrar en la cuenta del cliente
F9Abrir el cajón de dineroPara dar vuelto o cuadrar sin facturar
F10Guardar como cotización Permiso 104Dejar la venta a medias para seguirla después
F11Opciones de líneasCon líneas marcadas en la factura
*Factura de contado rápidaEstando en el campo de búsqueda
EnterBuscar / agregar el artículoEn el campo de código o de cantidad
SuprEliminar la línea seleccionadaSobre la lista de la factura
↑ ↓Moverse entre las líneasEn la factura y en los buscadores
EscCerrar la ventana abiertaEn cualquier ventana
Las tres que hay que aprenderse F2 buscar artículo, F3 buscar cliente y F7 cobrar de contado. Con esas tres se hace la mayoría del trabajo sin soltar el teclado.
Ojo si venía del sistema anterior F4 ya no procesa la factura: ahora abre las cotizaciones guardadas. Para cobrar se usa F7 (contado) o F8 (crédito).

Panel Cliente

Ubicado en la parte izquierda, muestra la información completa del cliente seleccionado.

El punto de color: en qué estado está el cliente

Junto al nombre del cliente hay un punto de color y, cuando corresponde, un rótulo de texto. Es lo primero que hay que mirar antes de facturar:

SeñalQué significaQué hacer
VerdeCliente activo del catálogoFacturar normal
Naranja + rótulo SUSPENDIDOEl cliente está suspendido, casi siempre por moraNo venderle a crédito sin autorización de quien corresponda
Rojo + rótulo INACTIVOCliente inactivo o eliminado del catálogoAl abrir una cotización suya, el sistema lo reactiva solo (avisa «quedó activo otra vez» y el punto pasa a verde)
GrisCliente genérico (venta de mostrador)Normal para tiquetes de contado
El rótulo se lee, el color solo no basta Por eso, además del color, aparece el texto SUSPENDIDO o INACTIVO al lado del nombre: en plena corrida de caja un punto de color se pasa por alto, una palabra no.
«El cliente no está en el catálogo» La cotización guarda su propia copia del código y del nombre del cliente. Si el cliente se eliminó por completo (por ejemplo, al depurar en Clientes Inactivos), la cotización lo sigue mostrando, pero la cédula, el teléfono y los demás datos salen en «—», y las funciones que necesitan la ficha (como el adelanto) dicen que el cliente no existe. Hay que crearlo de nuevo en el catálogo con el mismo código.

Campos visibles

CampoDescripción
CódigoIdentificador del cliente en el sistema
CédulaNúmero de identificación. Muestra badge MAG si aplica
Nombre FacturaNombre que aparecerá en la factura. Editable para ajustes puntuales
JurídicoRazón social (solo lectura)
ComercialNombre comercial (solo lectura)
Teléfono / EmailDatos de contacto del cliente
DirecciónDirección registrada

Fila de configuración

CampoDescripción
PrecioNivel de precio asignado al cliente (1-10). Determina qué lista de precios se usa
DescPorcentaje de descuento automático del cliente
ExentoSi el cliente está exento de IVA
ActividadActividad económica con la que se le factura al cliente. Clic para cambiarla

Con cuál actividad económica se le factura CAMBIO 2026-09-01

Un cliente puede tener varias actividades económicas registradas. La que aparece en el campo Actividad es la que va a salir en la factura electrónica.

Para cambiarla sin salir de la pantalla de facturación, haga clic sobre el código de actividad (tiene un lapicito al lado). Se abre la ventana Actividad económica con todas las actividades del cliente:

  • La que está marcada en verde es la que se está usando.
  • Doble clic sobre otra la deja marcada. También sirve moverse con las flechas ↑ ↓ y confirmar con Enter.
  • La ficha del cliente se actualiza de una y ya la factura sale con la actividad nueva.
  • Esc cierra la ventana sin cambiar nada.
Queda marcada para las próximas facturas La actividad que elija queda como la predeterminada del cliente: es la que se va a cargar la próxima vez que lo facture. Si era solo para esta factura, vuelva a entrar y marque la de siempre cuando termine.
Si el cliente no tiene actividades Las actividades se agregan desde el botón Editar del cliente, en el campo Actividades Económicas — a mano, del catálogo, o traídas de Hacienda con el botón de la nube.

Al procesar, la ventana se abre sola CAMBIO 2026-10-02

Al tocar PROCESAR (o cobrar directo con un pago rápido —Efectivo, Tarjeta, SINPE…—, F7 o F8), si el cliente es contribuyente, la ventana Actividad económica se abre sola para que confirme con el cliente con cuál actividad se le factura. Al elegir o cambiar el cliente en la proforma ya no aparece: así se puede armar la proforma sin interrupciones y la actividad se confirma solo cuando de verdad se va a facturar. Si en el mismo documento ya la confirmó (por ejemplo, en PROCESAR), no se la vuelve a preguntar al escoger Contado o Crédito.

  • Ya viene resaltada la actividad de siempre: con Enter (o el botón Confirmar) la acepta y sigue con el proceso.
  • Para usar otra, muévase con las flechas o haga clic sobre ella y confirme.
  • Las actividades con código viejo (las de 6 dígitos, como 742105) salen tachadas en rojo y no se pueden elegir: Hacienda ya no las acepta. Las vigentes tienen 4 dígitos, un punto y 1 dígito (ejemplo: 6201.0).
  • El botón Traer de Hacienda actualiza las actividades del cliente con las que tiene inscritas hoy en Hacienda, sin salir de la factura.
  • Si el cliente no tiene ninguna actividad (o solo tiene códigos viejos), la actividad es obligatoria: la ventana la busca sola en Hacienda con la cédula del cliente y usted solo confirma.
  • Si Hacienda da error o no devuelve ninguna (o el cliente no tiene cédula), aparece un renglón para digitar el código (ejemplo 6201.0) y el botón Agregar actividad: queda guardada en el cliente y se le factura con esa.
  • Si cierra la ventana (X o Esc) sin confirmar, no se procesa: vuelva a tocar PROCESAR cuando esté listo. Mientras el cliente no tenga actividad, la ventana no se deja cerrar (ni con la X ni con Esc). Si no le va a facturar a ese cliente, use Cambiar cliente: el documento vuelve al cliente genérico.
  • Si el cliente está guardado como contribuyente pero en realidad no lo es (pasa mucho con personas físicas guardadas con cédula tipo 01), use el botón Ya no es contribuyente: con un clic el cliente queda guardado en su ficha con tipo de cédula 06 - No contribuyente, la ventana se cierra y sigue con el proceso. La próxima vez, la ventana ya no le aparece. El cambio queda anotado en la bitácora; si se equivocó, se devuelve desde Editar cliente.

A los clientes con tipo de cédula 05 - Extranjero no domiciliado (factura de exportación), 06 - No contribuyente o 00 - Sin identificación la ventana no les aparece al procesar: no tienen actividad económica en Hacienda y no se les exige. Si aun así quiere verla o ponerles una, haga clic en el campo Actividad.

En empresas que no emiten factura electrónica el campo no se puede tocar y la ventana no aparece, porque la actividad económica no se usa para nada.

Botones de cliente

  • Nuevo — Crear un cliente nuevo sin salir de facturación
  • Editar — Modificar datos del cliente actual
  • Historial — Ver las últimas compras del cliente con filtros y exportación
Cliente genérico (SN) Si no se selecciona un cliente, se usa el cliente genérico "SN". Las facturas electrónicas (tipo 01) requieren un cliente con cédula; para SN se genera un tiquete electrónico (tipo 04).

Panel Crédito

Muestra la situación crediticia del cliente seleccionado:

CampoDescripción
LímiteMonto máximo de crédito autorizado
PlazoDías de crédito del cliente
DisponeCrédito disponible (Límite - Debe). Clic para ver menú de opciones
DebeSaldo total de cuentas por cobrar
TieneSaldo a favor / adelantos del cliente. Clic para ver movimientos o imprimir el saldo. Con el cliente genérico SN siempre muestra 0: esos saldos se ven en Utils → Retiro Adelantos SN (ver)
Crédito insuficiente Si el total del documento excede el crédito disponible, el sistema mostrará una alerta al intentar facturar a crédito. El usuario con permisos adecuados puede forzar la aprobación.

Panel Vendedor

Controla quién se registra como agente de ventas en la factura:

  • Usuario — Código del usuario que está facturando (no editable)
  • Agente — Vendedor asignado. Clic en el nombre (morado) para cambiar
  • Referido — Persona que refirió al cliente
Agente obligatorio (Parámetro 3) Si el parámetro 3 está activo, el agente debe ser diferente al usuario actual. Si intenta procesar con el mismo código, el sistema lo bloqueará — tanto al cobrar (contado, crédito, cobro rápido) como al Enviar a Cajas. Cambie el agente haciendo clic en su nombre.
Usuarios del sistema no pueden ser agente desde 2026-06-15

Los usuarios 09029 y 59999 son cuentas internas del sistema y nunca pueden quedar como agente de ventas. El sistema lo protege en tres momentos:

  • Al cambiar el agente: si intenta elegir uno de esos usuarios, no se asigna y aparece un aviso.
  • Al abrir una cotización: si la cotización tenía a uno de ellos como agente, se reemplaza automáticamente por el usuario del documento y se guarda corregido.
  • Al tramitar o enviar a cajas: si el agente es uno de esos usuarios, el sistema no deja facturar ni enviar a cajas y le pide cambiar el agente.
Parámetro 922 — Cambiar cliente ya no cambia el agente desde 2026-07-08

Antes, al cambiar el cliente de la cotización, el sistema reemplazaba el agente del documento por el agente configurado en la ficha del cliente (o lo dejaba sin vendedor si el cliente no tenía uno). Ahora el comportamiento se controla con el parámetro 922:

  • Parámetro 922 = 0 (default) — Al cambiar el cliente, el agente del documento NO se toca. El agente por defecto es el usuario que creó la cotización, y solo cambia si usted lo cambia manualmente.
  • Parámetro 922 = 1 — Al cambiar el cliente, el documento hereda el agente configurado en la ficha del cliente. Si el cliente no tiene agente asignado, se conserva el agente actual (nunca queda sin vendedor).

Aplica igual en FactuDesk, SmartPOS, FactuMóvil y FactuDesk.

Usuario Ventas Última actualización: 2026-10-17

En la barra de búsqueda de artículos aparece el campo Usr. Ventas junto con un botón Cambiar. Este campo indica quién se registrará como el usuario del documento de venta.

¿Cómo funciona?

  1. Al iniciar sesión (login), el sistema asigna automáticamente su código y nombre como Usuario Ventas.
  2. Si otra persona necesita facturar desde su sesión, presione el botón Cambiar.
  3. Se abrirá un modal donde debe ingresar la clave del vendedor.
  4. El sistema busca al empleado por su clave y actualiza el Usuario Ventas con su código y nombre.
  5. El cambio vale mientras la pantalla esté abierta. Al abrir o recargar la facturación, el Usuario Ventas vuelve a ser el de la persona que inició sesión. Como FactuDesk se recarga después de cada factura, el Cambiar sirve para una factura: para la siguiente se vuelve a digitar la clave.
Ya no se queda pegado el vendedor de otro día desde 2026-10-17

Antes, el Usuario Ventas quedaba guardado en la computadora: si alguien dejaba a otro vendedor (con Cambiar o porque otra persona entró al sistema en el mismo navegador), las facturas siguientes salían a nombre de esa persona aunque la sesión fuera de otra. Ahora todas las pantallas que cobran (FactuDesk, FastPOS, FactuMóvil, comandas, mesas, cobro en caja, parqueo…) lo regresan al usuario de la sesión cada vez que se abren. En FastPOS el vendedor elegido con clave se conserva solo en esa misma pestaña y para el mismo usuario; al cerrarla se pierde.

¿Queda registro del cambio? desde 2026-10-17

Sí. Cada vez que alguien usa Cambiar queda anotado en la Bitácora del sistema (módulo Facturación / Usuario de ventas): a quién se cambió, quién estaba antes y desde qué sesión se hizo. También queda el intento con una clave no válida. Lo mismo vale para el cambio de vendedor por clave de FastPOS.

Además, cada factura convertida con un Usuario Ventas distinto al de la sesión deja en la bitácora «UsuarioVentas: X (sesión: Y)».

¿Cuándo se usa en la factura?

Parámetro 390 — Usuario de la factura

Controla quién queda como UsuarioCodigo en VentaMadre:

  • Parámetro 390 = 0 — El usuario de la factura es el mismo que creó la cotización (comportamiento tradicional).
  • Parámetro 390 = 1 — El usuario de la factura es el Usuario Ventas activo en ese momento, es decir, quien realmente está vendiendo.
Parámetro 392 — Agente de la factura desde 2026-04-20

Controla quién queda como AgenteCodigo en VentaMadre. Requiere que el parámetro 390 también esté en 1.

  • Parámetro 392 = 0 (default) — Se preserva el agente original asignado en la proforma.
  • Parámetro 392 = 1 — El agente de la factura también será el Usuario Ventas activo (mismo valor que el UsuarioCodigo).

Matriz combinada de parámetros 390 + 392

390392UsuarioCodigoAgenteCodigo
0—Quien creó la proformaAgente original de la proforma
10Usuario Ventas activoAgente original de la proforma (preservado)
11Usuario Ventas activoUsuario Ventas activo (mismo código)
Impacto en Comisiones

Si su empresa usa comisiones por agente (reporte VE-023), NO active el parámetro 392. De lo contrario, todas las comisiones se pagarán al cajero/usuario de ventas que factura, no al vendedor original que creó la cotización. Deje 392 = 0 y use la función "Cambiar Agente" en la proforma para asignar el vendedor correcto.

Ejemplo práctico

María (00003) inicia sesión en la computadora. Juan (00005) necesita hacer una venta desde esa misma computadora. Juan presiona Cambiar, ingresa su clave, y ahora el campo muestra 00005 Juan.

  • Con 390=1, 392=0: La factura queda con UsuarioCodigo=00005 (Juan) pero el AgenteCodigo se mantiene como el agente original de la proforma (por ejemplo, SARA).
  • Con 390=1, 392=1: La factura queda con UsuarioCodigo=00005 Y AgenteCodigo=00005 (ambos Juan). Recomendado solo para empresas donde el cajero es el mismo vendedor.

Panel Documento

Ubicado en la esquina superior derecha, controla las propiedades del documento:

CampoDescripción
NúmeroNúmero único del documento de trabajo
FechaFecha del documento. La pone el sistema sola, pero se puede cambiar: haga clic en la fecha (o en el lapicito que tiene al lado) y escoja el día en el calendario. Sirve sobre todo cuando se abre una proforma guardada días atrás y se quiere pasar al día de hoy antes de facturarla. La hora del documento no se toca, y el cambio queda anotado en el Historial del documento.
Tipo01 = Factura Electrónica, 04 = Tiquete Electrónico
MonedaCRC (colones), USD (dólares), EUR (euros), etc.
Configurar EstaciónLa caja, la bodega, el tipo de precio y las impresoras de su estación no se cambian desde este panel: se abren con el botón UTILS (a la izquierda) → pestaña Configuración → Configurar Estación. Es la misma ventana que abre el piñón del menú principal. Guardar requiere el permiso 840; sin él el modal se ve completo pero el botón sale en gris. Se otorga solo a quien ya podía facturar.

Toggles y modos

  • Código de barras — Activa modo escáner. Si el artículo ya existe en la lista, suma la cantidad en vez de crear nueva línea
  • Solo stock — Solo busca artículos con existencias en bodega
Estos dos toggles quedan guardados en esa computadora y para ese usuario: siguen igual aunque cierre la sesión o apague el equipo, y no afectan a los demás. Por eso, si a un usuario "no le salen" artículos que sus compañeros sí ven, lo primero que hay que revisar es si tiene Solo stock encendido (y, dentro de la ventana Buscar Artículo, si el combo quedó en una categoría en vez de Todas las categorías).

Botones del panel

El encabezado del panel DOC tiene dos filas: arriba, al lado de «DOC», los íconos (reportar, ayuda y cerrar); abajo, las tres acciones del documento.

BotónQué hace
🐞Reportar un error de FactuDesk. Abre el formulario de reportes con la pantalla ya puesta (FD-001) y una foto de la pantalla adjunta: solo falta escribir qué pasó
💡Solicitar una mejora para FactuDesk. Igual que el anterior, pero como pedido de mejora
❓Hacer una consulta sobre FactuDesk («¿cómo hago tal cosa?»). Igual que los anteriores, con la pantalla y la foto ya puestas
Abre este manual
XCierra la pestaña de FactuDesk (no cierra la sesión ni libera la estación)
NuevaLimpia la pantalla para empezar otro documento
ImprimirVuelve a imprimir el documento actual (impresión web, igual que Procesar → Imprimir)
HistorialMuestra todo lo que ha pasado con ese documento (quién lo tocó y cuándo)
"Ya no me sale dónde dice imprimir" El botón nunca se quitó: por un tiempo quedó como un ícono sin rótulo y por eso costaba encontrarlo. Ahora vuelve a decir Imprimir, y el del reloj de al lado dice Historial.

Panel Líneas

El área central donde se agregan los artículos del documento.

Barra de búsqueda

Escriba el código o nombre del artículo y presione Enter. Si encuentra coincidencia exacta por código, agrega directamente. Si hay varias coincidencias, abre el modal de búsqueda.

Cajeros que solo agregan por código Permiso 038 · desde 2026-10-26

Si en su negocio quiere que algunos cajeros solo agreguen artículos por código o código de barras (por ejemplo, para que siempre escaneen y no escojan un artículo parecido por el nombre), quíteles el permiso 038 «Facturación: buscar artículos por nombre» en Seguridad > Usuarios.

  • Todos los que ya podían facturar lo tienen de entrada: nadie pierde nada hasta que usted se lo quite.
  • Sin el 038, el botón BUSCAR y la casilla ENTER BUSCAR se ven en gris, y F2 o el doble clic en el código no abren el buscador.
  • El código o el código de barras se sigue agregando igual (también en modo BARRAS). Si el código no existe, sale el aviso «No existe un artículo con el código…».
  • En Favoritos, ese usuario solo puede agregar artículos escribiendo su código.
  • A un usuario nuevo que deba buscar por nombre hay que marcarle el 038 junto con el 653.

Campo de cantidad

A la derecha de la barra de búsqueda. Escriba la cantidad deseada antes de agregar. Presione Enter en el campo de cantidad para agregar el artículo.

Botón Agregar (verde)

Equivale a presionar Enter sobre la cantidad. Agrega el artículo con la cantidad especificada.

Vista simple y vista detallada

En el encabezado de la grilla, al lado derecho de la columna NOMBRE, hay un botón que alterna entre dos formas de ver las líneas. El botón dice a cuál vista lo lleva, no en cuál está.

VistaQué columnas muestra
Detallada
(la de siempre)
Todas: precio unitario, subtotal, descuentos, IVA, margen, etc.
SimpleSolo Cant., %Desc, %IVA, P. Neto, Total, Bod, Stock y %Marg, en ese orden. El espacio que se libera se lo queda el nombre del artículo, que se lee completo.
¿Qué es «P. Neto»? Es lo que vale una unidad ya con el descuento aplicado y con el IVA incluido: el precio final de venta al público. Sale de dividir el Total de la línea entre la cantidad, así que nunca puede discrepar del total que se le cobra al cliente. Solo aparece en la vista simple, porque en la detallada ese dato se ve descompuesto en precio, descuento e impuesto.
Los tres porcentajes de la vista simple %Desc se puede digitar también en esta vista, igual que en la detallada: no hace falta cambiar de vista para dar un descuento. %IVA muestra la tarifa que le tocó a la línea. %Marg es el margen de utilidad y solo lo ven los usuarios con permiso de costos; a quien no lo tenga, la columna le aparece igual pero con un —.

La elección queda guardada en esa computadora: la próxima vez que entre a facturar desde ahí, la grilla abre como la dejó. Cada estación tiene la suya, así que una caja puede trabajar en simple y otra en detallada.

Sirve sobre todo en monitores angostos, donde la vista detallada obliga a desplazarse en horizontal para llegar al total. Nada se pierde: las columnas ocultas vuelven con un clic.

Las columnas de la grilla, una por una

ColumnaQué muestra
CÓDIGOCódigo del artículo
PVNivel de precio con el que entró la línea (1 = precio de mostrador, 2 = mayorista…). Se puede cambiar por línea.
NOMBREDescripción del artículo. Debajo aparecen los avisos de la línea: Requiere lote, PAQ / 10 unid (se está vendiendo por paquete), Exo 13 % (quedó exonerada).
CANTCantidad. Si el artículo se vende por paquete, aquí se digitan paquetes y el sistema calcula las unidades.
P. NETO
(solo en vista simple, entre %IVA y TOTAL)
Precio de una unidad ya con descuento e IVA: el precio final al público. Es el Total dividido entre la cantidad.
PRECIO/UDPrecio por unidad sin impuesto. Editable con permiso.
SUBTOTALCantidad × precio unitario, antes de descuento e impuesto.
%DESC y DESC $Porcentaje de descuento y cuánto representa en plata. %DESC se ve en las dos vistas; DESC $ solo en la detallada.
P.TOTALEl subtotal ya con el descuento aplicado — es la base sobre la que se calcula el impuesto.
%IVA e IVATarifa que le corresponde y el monto del impuesto. Si la línea se exoneró, aquí aparece Exo y el impuesto baja o queda en cero. %IVA se ve en las dos vistas; el monto del IVA solo en la detallada.
TOTALLo que paga el cliente por esa línea.
BODBodega de la que sale el producto.
STOCKExistencia disponible en esa bodega. Un — significa que no hay dato o que el artículo no maneja existencia.
%MARGMargen de utilidad de la línea, siempre calculado sobre el costo: (precio − costo) ÷ costo × 100. Se ve en las dos vistas, pero solo con permiso de costos: sin él la columna muestra —. Si este número no le coincide con el que muestra el artículo en Inventario, vea ¿Por qué el %MARG no coincide con el margen del artículo?
S/MNaturaleza: M = mercadería (baja inventario) · S = servicio (no baja inventario).
Cómo se encadenan los números SUBTOTAL = cantidad × precio/ud  →  menos DESC $ = P.TOTAL  →  sobre ese P.TOTAL se calcula el IVA  →  P.TOTAL + IVA = TOTAL. Si el total de una línea no le cuadra, revise el descuento: el impuesto se calcula después de descontar, no antes.

¿Por qué el %MARG no coincide con el margen del artículo?

Es la pregunta más frecuente sobre esta columna, y casi siempre las dos cifras están bien: no miden lo mismo. Un mismo artículo tiene una sola ganancia en plata, pero esa ganancia se puede expresar en porcentaje de dos maneras distintas según contra qué se divida.

DóndeQué porcentaje muestraFórmula
FactuDesk — columna %MARG
(y también SmartPOS, FastPOS y la factura de escritorio)
Siempre sobre el COSTO (lo que en contabilidad se llama markup): cuánto le gana encima de lo que le costó. (precio − costo) ÷ costo × 100
Inventario — Edición de Artículo IN-002 y el Catálogo El que tenga configurado ese nivel de precio en Margen sobre: COSTO (marca C) o VENTA (marca V). Sobre VENTA es qué tajada del precio de venta es ganancia. Sobre COSTO: (precio − costo) ÷ costo × 100
Sobre VENTA: (precio − costo) ÷ precio × 100
Ejemplo con números reales Artículo con costo ₡531.34 y precio sin impuesto ₡1.327.44. La ganancia es ₡796.10 — una sola, en los dos lados. Cambia solo el porcentaje:
  • Sobre la venta (lo que muestra Inventario si el nivel está en V): 796.10 ÷ 1.327,44 = 59,97 % → «de cada ₡100 que cobro, ₡59,97 son ganancia».
  • Sobre el costo (lo que muestra FactuDesk): 796.10 ÷ 531,34 = 149,83 % → «por cada ₡100 que me costó, le gano ₡149,83».
Las dos son correctas. El sobre-venta nunca pasa de 100 %; el sobre-costo sí puede pasarlo, y por eso suele verse mucho más alto.
Cómo saber en qué base está un artículo En Inventario → Edición de Artículo IN-002, en la lista de abajo, el porcentaje de Utilidad lleva a la par una letra chiquita: C = sobre costo, V = sobre venta. Para ver o cambiar esa configuración de un nivel, haga doble clic sobre la fila del precio y busque Margen sobre. Si quiere que todos los niveles queden en la misma base, se puede cambiar de una sola vez desde Cambios Globales (operación Margen Sobre por nivel).
Cuándo sí hay que revisar Si el nivel de precio del artículo está en C (sobre costo) y aun así el %MARG de la factura no coincide, ahí sí hay algo que ver: lo más común es que el costo cambió después de fijar el precio, que la línea lleva un descuento (el %MARG usa el precio ya descontado) o que la factura se está haciendo con otro nivel de precio (columna PV) distinto al que está viendo en Inventario.

El detalle que se abre bajo cada línea

Cada línea se puede desplegar para ver su ficha completa. Esto es lo que significa cada dato:

DatoQué es
UMUnidad de medida (Unid, Kg, Lt…). Es la que se reporta a Hacienda.
DescEl descuento de la línea, en plata.
GravadoCuánto de esa línea paga impuesto.
ExentoCuánto está exento por naturaleza del producto (no por exoneración del cliente).
ExonerCuánto quedó exonerado por la autorización del cliente. Si esta línea tiene monto, la de Gravado baja en la misma proporción.
TarifaCódigo de tarifa de Hacienda (por ejemplo 08 = 13 %). Es el que viaja en el comprobante electrónico.
%ExoPorcentaje que perdona la exoneración. Solo aparece en las líneas exoneradas.
UbicUbicación física del artículo en la bodega — le sirve a quien lo va a despachar.
MargenLa utilidad de la línea en plata (precio menos costo).
CodDescCódigo del tipo de descuento que exige Hacienda (por ejemplo 07). No es el porcentaje: es el motivo.
FracSi el artículo admite fracciones (decimales) o solo unidades enteras.
CABYSEl código del producto ante Hacienda. Es el que decide si la línea se puede exonerar — ver Exoneración por documento.
Act.EcoActividad económica con la que se está facturando esa línea.
Cómo leer una línea exonerada Una línea exonerada se reconoce a simple vista: en NOMBRE aparece Exo 13 %, la columna IVA queda en 0.000, y en el detalle Gravado 0.00 con todo el monto en Exoner y el dato %Exo. Si ve Exo arriba pero Exoner: 0.00 abajo, algo quedó a medias: quite y vuelva a aplicar la exoneración.
Exoneración parcial: «13 %» y «Exo 11 %» (no «2 %») Cuando la exoneración no cubre todo el impuesto (por ejemplo, 11 de 13 puntos), la columna %IVA sigue diciendo 13 —es la tarifa del artículo y no cambia— y debajo aparece Exo 11 %. La línea se parte en Gravado y Exoner, y el 13 % se cobra solo sobre la parte gravada: el resultado equivale a cobrar un 2 %, pero el sistema nunca lo muestra como «2 %». La cotización o factura impresa (pantalla completa / PDF) lo muestra igual: el IVA cobrado 13 % y, debajo y en pequeño, Exo 11 %. Una línea que se factura sin la exoneración paga el 13 % completo.
Ojo con las líneas por paquete Cuando la línea dice PAQ · 10 unid, la cantidad que se digita son paquetes, pero el precio de la columna es por unidad: por eso el subtotal se ve diez veces más grande que el precio unitario. Está bien. Lo que se descarga del inventario son las unidades (10 por paquete).

Panel Totales

Muestra el desglose completo del documento en la parte inferior:

  • Total Venta — Suma de todas las líneas sin descuento ni IVA
  • Descuento — Total de descuentos aplicados
  • Gravado / Exento / Exonerado — Desglose según tipo impositivo
  • IVA — Total del impuesto al valor agregado
  • TOTAL — Monto final a cobrar

Buscar artículo — Modal MBA-001

Presione F2 o haga clic en el botón Buscar para abrir el modal de búsqueda avanzada. Requiere el permiso 038; sin él, solo se agrega por código (vea Cajeros que solo agregan por código).

Barra de búsqueda del modal

  • Campo de texto — Busca por código, nombre o código de barras
  • Categoría — Filtro por categoría de artículos
  • Solo Stock — Muestra solo artículos con existencias
  • Buscar — Ejecuta la búsqueda
  • Agregar — Agrega todos los artículos que tengan cantidad ingresada
El texto se busca en cualquier parte del código, del nombre, del nombre interno o del código de barras, no solo al principio. Por eso, con pocas letras salen artículos que no son los que se buscaban: escribiendo aqu aparece Aquac duraclor, pero también empaque. Mientras más completo se escriba, más corta la lista (aquac ya deja solo ese). También se pueden escribir varias palabras en cualquier orden: salen solo los artículos que tienen todas. Cuentan también los números y las palabras de una sola letra: brocha 2 trae las brochas que tienen un 2 en alguna parte, y primero salen las que lo tienen en el nombre. Los artículos que ya no se venden se sacan del buscador marcándolos como Inactivos en el catálogo de artículos.

Lista de resultados (panel superior)

Muestra los artículos encontrados con: código, nombre, stock, precio, IVA y precio neto. Cada fila tiene un campo de cantidad para ingresar directamente.

El precio de cada fila es el del nivel que realmente aplica según las reglas (parámetro 57 / cliente / estación), no siempre el P1. Junto al precio aparece un badge con el nivel (ej. P2) para confirmar de un vistazo cuál se está mostrando — coincide con el precio que se factura.

En cada fila, junto al nombre, hay un botón de manita (): es Pedir — solicitar abastecimiento de ese artículo. Ver Pedir abastecimiento desde el buscador.

Panel de detalle (4 fichas inferiores)

Al seleccionar un artículo, se cargan 4 fichas con información detallada:

Imagen NUEVO

  • Foto del artículo seleccionado (`/img/{db}/articulos/{codigo}.png`)
  • Si no hay imagen subida → placeholder gris

Stock Externo MEJORADO

  • Stock en TODAS las BDs configuradas en `EmpresasExternas` (incluyendo la BD actual marcada con badge azul "ACTUAL")
  • Toolbar con checkbox "Solo con stock > 0" (persiste en localStorage)
  • Estados visuales: stock>0 normal · stock=0 italic gris · "(No existe)" gris claro · "(Error)" rojo
  • Footer con TOTAL stock sumando todas las empresas donde existe el artículo
  • Click en fila con stock → muestra bodegas de esa empresa

Precios

  • 10 niveles de precio (P1 a P10)
  • Precio base e IVA incluido
  • Clic para seleccionar, doble clic para agregar

Bodegas

  • Stock por bodega
  • Clic para seleccionar bodega

Información

  • Datos adicionales del artículo
  • Unidad de medida, CABYS

Navegación con teclado en el modal

TeclaAcción
↑ ↓Navegar entre filas de resultados
EnterSi hay cantidad: agregar. Si no: buscar o navegar a cantidad
0-9Ir directamente al campo de cantidad de la fila
EscCerrar el modal
Agregar múltiples artículos Puede ingresar cantidades en varias filas y luego presionar el botón Agregar para agregarlos todos de una vez.

Flujo Enter → Bodega → Cantidad (Parámetro 383)

Cuando el Parámetro 383 está activo (= 1) y el Parámetro 102 permite seleccionar bodega (= 0), la tecla Enter sigue un flujo guiado de 3 pasos para confirmar artículo + bodega + cantidad antes de agregar la línea:

  1. Paso 1 — En la lista de artículos: seleccione la fila con ↑/↓ y presione Enter. El modal mueve automáticamente el foco a la ficha Bodegas y resalta la primera bodega con stock disponible.
  2. Paso 2 — En la ficha Bodegas: use ↑/↓ para elegir otra bodega si es necesario y presione Enter. El modal se cierra, el código del artículo se coloca en el campo de búsqueda principal de la factura y el foco salta al campo cantidad principal (no agrega aún). Aparece un toast: "Bodega: X. Ingrese cantidad y Enter."
  3. Paso 3 — En el campo cantidad principal: digite la cantidad y presione Enter. Recién acá se agrega la línea, usando la bodega que eligió en el paso 2.
Cuándo conviene activar el Parámetro 383 En empresas donde el cajero necesita elegir conscientemente la bodega de cada artículo antes de agregarlo (no usar la bodega default de la estación). Pasa el foco por las 3 decisiones (artículo → bodega → cantidad) sin requerir el mouse.
Param 102Param 383Comportamiento del Enter
01Flujo de 3 pasos — Artículo → Bodega → Cantidad (recomendado para multibodega)
00Enter agrega la línea directo con la bodega default
1cualquieraEnter agrega directo. El Param 383 se ignora porque 102 bloquea la selección de bodega

Sugerencia de cambio de bodega (línea sin existencia) CAMBIO 2026-08-27

Cuando el Parámetro 102 permite seleccionar bodega (= 0) y usted agrega un artículo que no tiene existencia en la bodega usada, el sistema verifica automáticamente si hay stock en otra bodega. Si lo hay, abre el modal "Sin existencia en esta bodega" con la lista de bodegas que sí tienen el artículo y su existencia.

  • Cada bodega muestra su existencia; las que cubren la cantidad solicitada se resaltan en verde.
  • Al hacer clic en una bodega, la línea recién agregada se mueve a esa bodega (cambia solo esa línea) y la tabla se actualiza.
  • Si prefiere dejarla como está, use "Conservar bodega actual".
  • Los servicios (no manejan inventario) nunca disparan esta sugerencia.
Nota Si el Parámetro 102 = 1 (bloquea la selección de bodega), la sugerencia no aparece, porque el usuario no puede cambiar de bodega.

Que la tome sola cuando el artículo está en una sola bodega (Parámetro 928)

En negocios donde cada artículo vive en la bodega de su proveedor (galerías, consignación, ferias), el aviso salía en todas las líneas y siempre con una sola opción para escoger. Con el Parámetro 928 = 1 el sistema deja de preguntar en ese caso:

  • Si el artículo tiene existencia en una sola bodega y esa bodega alcanza para la cantidad, la línea se pasa sola a esa bodega y aparece el aviso "Se tomó de la bodega …" con el nombre.
  • Si el artículo está en dos o más bodegas, el sistema siempre pregunta: sale el modal para que usted elija de cuál sale.
  • Con el Parámetro 928 = 0 (valor de fábrica) todo sigue igual que antes: siempre sale el modal.
Dónde se activa En Configuración → Parámetros, parámetro 928. Necesita además el Parámetro 102 = 0, porque el que no puede cambiar de bodega tampoco puede moverla automáticamente.

Agregar líneas

Existen varias formas de agregar artículos al documento:

1. Búsqueda directa (barra principal)

  1. Escriba el código o nombre en la barra de búsqueda
  2. Ajuste la cantidad en el campo a la derecha
  3. Presione Enter o el botón Agregar

2. Modal de búsqueda (F2)

  1. Presione F2 para abrir el modal
  2. Busque el artículo por código o nombre
  3. Opcionalmente seleccione un precio o bodega específica
  4. Ingrese la cantidad y presione Enter

3. Desde historial del cliente

  1. Clic en Historial en el panel de cliente
  2. Busque la compra anterior por fecha o artículo
  3. Doble clic en el artículo para agregarlo al documento actual con el precio sugerido

4. Escáner de códigos de barras

Active el modo "Código de barras" y escanee directamente. El artículo se agrega automáticamente.

¿El artículo se vende suelto y por caja?

Si el artículo tiene empaque, al agregarlo el sistema le pregunta si está facturando paquetes o unidades sueltas. Vea Artículos por paquete o caja.

Favoritos Última actualización: 2026-10-01

El botón FAVORITOS está en el encabezado de la tabla de líneas, en la columna NOMBRE, a la izquierda de Vista simple. Abre un panel a la derecha con los artículos que más se usan, para meterlos a la factura con un clic, sin digitar el código ni buscar. Es el mismo panel de FactuSuper y trae dos listas juntas:

  • Los más vendidos (con estrella): los 20 artículos que más veces se facturaron en los últimos 30 días. Los elige el sistema, son los mismos para todos y cambian solos cuando cambia el ranking de ventas; no hay que hacer nada. Es el mismo ranking que se ve en FactuSuper.
  • Mis favoritos (sin estrella): hasta 20 artículos que cada usuario agrega para sí mismo, según lo que él usa. No cambian hasta que él los cambie.

Agregar a la factura

  • Un clic sobre el artículo agrega 1 unidad. Dos clics, 2; tres, 3. Si el artículo ya estaba en la factura, se suma a esa misma línea, sin preguntar (aquí no sale el aviso de «ese artículo ya está en la factura» ni la pregunta de paquete o unidad: cada clic es una unidad).
  • Agregar Paq: los artículos que se venden por paquete o caja (los que tienen «Uds x Med» mayor que 1 en su ficha) traen, debajo de la descripción y a la par del código, el botón amarillo Agregar Paq × n. Un clic agrega un paquete entero (por ejemplo, × 6 agrega 6 unidades) en vez de hacer seis clics. Si ya estaba en la factura, se suma a la misma línea. Los artículos que no se venden por paquete no traen el botón.
  • Descuento por caja: si el artículo tiene descuento por caja, se aplica solo apenas se completa una caja, llegue como llegue: con Agregar Paq o sumando unidad por unidad. Solo las cajas enteras llevan el descuento: con cajas de 6, al llevar 13 lo reciben 12 y la suelta va a precio normal.
  • El panel queda abierto para agregar varios. A la par de cada artículo sale en verde cuánto lleva en la factura (por ejemplo × 3).
  • Si hace falta otra cantidad, se cambia en la línea de la factura, como siempre.
  • Los demás avisos siguen igual: monto alto, utilidad negativa y la sugerencia de otra bodega salen encima del panel cuando corresponde.
  • Se oculta con el botón Ocultar, con Esc, tocando fuera del panel o con el mismo botón FAVORITOS.

Ordenar la lista

Arriba del panel están los botones Origen, Código, Nombre y Precio. Tocar uno ordena la lista por eso; tocarlo otra vez la invierte (▲ / ▼). Origen pone primero los que eligió el sistema, del más vendido al menos, y después los suyos. El equipo recuerda el orden que se eligió.

El precio que se ve es el que le toca al cliente de la factura (su nivel de precio), con IVA incluido: el mismo con que entra la línea.

Poner y quitar mis favoritos

  • Agregar: en la casilla de abajo del panel, escriba el código o parte del nombre y elija el artículo de la lista que aparece (o Enter).
  • Quitar: la ✕ roja a la derecha del artículo. Quitarlo de favoritos no lo saca de la factura.
  • Lo hace el mismo usuario, sin permiso especial ni clave.
  • Si el artículo ya está en la lista (en los más vendidos o en los suyos), no se agrega otra vez: se queda donde está.
  • Los favoritos de cada usuario se guardan en esa computadora, a su nombre: otro usuario que entre en la misma computadora ve los suyos, no los de él. Si trabaja en otra computadora, ahí los agrega de nuevo.
Tamaño: el panel ocupa la cuarta parte del ancho de la pantalla y todo el alto; la lista se desliza hacia arriba y abajo.
Los favoritos propios viven en el navegador de esa computadora: si se borran los datos del navegador, hay que agregarlos de nuevo. Los más vendidos vuelven solos. Los favoritos propios de FactuDesk y los de FactuSuper son listas aparte: lo que se agrega en una pantalla no aparece en la otra.

Artículos por paquete o caja Última actualización: 2026-08-05

Hay artículos que se venden de las dos formas: sueltos y por caja. Una aspirina se vende por pastilla, pero también en cajas de 12.

Para que el sistema lo sepa, la ficha del artículo tiene el campo «Uds x Med» (Inventario → Artículos). Si ahí dice 12, significa: el paquete de este artículo trae 12 unidades.

El inventario siempre se lleva en unidades

El sistema no maneja dos existencias separadas (una de cajas y otra de sueltas): hay una sola, en unidades. Facturar una caja de 12 descarga 12 unidades del stock. El paquete es una forma de digitar y de ver la cantidad, no una existencia aparte.

Por lo mismo no existe un precio de caja: el precio es por unidad, y la caja cuesta 12 veces ese precio. Si necesita venderle la caja más barata que 12 sueltas, debe crear un artículo aparte para la caja, con su propio precio.

Al agregar el artículo: ¿paquete o unidad?

Cuando agrega un artículo que tiene empaque, el sistema le pregunta antes de meterlo a la factura:

  • Facturar 2 PAQUETES — debajo le dice cuántas unidades se cobran (24).
  • Facturar 2 UNIDADES — sueltas, como siempre. Es la opción que queda marcada, así que si usted solo presiona Enter factura unidades, igual que antes.
  • No agregar nada — cierra sin tocar la factura (también con Esc).

La pregunta sale al agregar desde la barra de búsqueda, desde el modal de búsqueda (F2) —incluso eligiendo precio o bodega—, desde el historial del cliente y también con el escáner de código de barras.

Si usa pistola de códigos de barras

Con artículos de empaque el escaneo se detiene en la pregunta: hay que contestarla antes de leer el siguiente código. Si dispara la pistola con la pregunta abierta, esa lectura se descarta y el sistema se lo avisa — así ningún artículo entra a la factura sin que usted haya decidido si era caja o unidad.

Los artículos que no tienen empaque (o tienen «Uds x Med» en 1) se agregan igual que siempre, sin ninguna pregunta.

Cómo se ve en la lista de líneas

En la columna CANT, cuando la cantidad alcanza al menos un paquete, la casilla se muestra en paquetes y debajo aparecen las unidades reales que se están facturando:

Lo que se facturaCasilla CANTDebajo
1 unidad1 UNID—
11 unidades11 UNID—
12 unidades1 PAQ12 unid
18 unidades1.5 PAQ18 unid
24 unidades2 PAQ24 unid

Mientras no llegue a un paquete completo la casilla sigue en unidades, y el rótulo de al lado (PAQ o UNID) siempre le dice en qué está el número que ve.

Ojo al editar la cantidad

Si la casilla dice PAQ, lo que escriba son paquetes: escribir 3 factura 36 unidades. Puede escribir media caja con 1.5 (usando punto, no coma). Si la casilla dice UNID, lo que escriba son unidades sueltas.

Antes de poner «Uds x Med» en un artículo

Ese mismo campo lo usan las compras: al aceptar una factura electrónica, si el artículo tiene empaque el sistema convierte la línea de cajas a unidades (multiplica la cantidad y divide el costo). Póngalo solo si el proveedor le factura por caja. Si el proveedor le factura por unidad y usted pone 12, la compra le entrará con 12 veces más existencias y el costo dividido entre 12.

Editar líneas

Una vez agregada una línea, puede modificar:

  • Cantidad — Clic en la celda de cantidad para editar. Si el artículo se vende por caja, esa celda puede estar en paquetes: vea Artículos por paquete o caja
  • Precio — Clic en la celda de precio (requiere permiso 024)
  • Descuento — Clic en la celda de descuento (requiere permiso 004)
  • Bodega — Clic en la celda de bodega para cambiar
  • Eliminar — Botón rojo en la línea (requiere permiso 059)
Protección de utilidad El sistema protege el margen de utilidad. Si un descuento o cambio de precio genera pérdida, se mostrará una alerta y se ajustará automáticamente al mínimo permitido.

Modal de utilidad negativa

Cualquier cambio de precio o descuento que genere pérdida (precio sin IVA, con el descuento, < costo) dispara un modal centralizado, con dos modos según el permiso del usuario:

PermisoModalAcción
Con permiso 021 (Facturar a costo)Modal rojo de confirmaciónEl usuario debe escribir SI para autorizar el cambio.
Sin permiso 021Modal amarillo informativo "No autorizado"Muestra el descuento máximo permitido para el artículo. No permite continuar; solo cerrar.

Si el usuario no tiene permiso 064 (ver utilidad), el modal oculta el costo y los valores de utilidad calculada — sólo informa el descuento máximo permitido.

También al AGREGAR un artículo (solo si la empresa lo enciende: parámetro 941)

Este control viene apagado. Se enciende en Configuración → Parámetros, parámetro 941 = 1. Con el 941 apagado, los artículos se agregan sin ninguna pregunta, aunque el precio de lista quede bajo el costo (el modal de arriba, al cambiar el precio o el descuento, sigue igual). Viene apagado porque a las empresas que venden por debajo del precio a propósito les pedía escribir SI en cada línea.

Con el 941 encendido, el mismo modal sale cuando se agrega un artículo cuyo precio de lista (sin IVA, con el descuento que traiga) ya está por debajo del costo — aunque nadie haya tocado el precio. Suele pasar cuando el costo quedó mal cargado en una compra (por ejemplo, el costo del rollo en un artículo que se vende por metro) y el artículo tiene precio manual, que no se mueve con el costo.
  • Con permiso 021: el artículo entra solo si se escribe SI. Con Cancelar no se agrega nada. Queda anotado en la bitácora quién lo confirmó.
  • Sin permiso 021: sale «No autorizado» y el artículo no se agrega. Hay que revisar el costo o el precio del artículo antes de venderlo.
  • Los servicios no se revisan (se facturan con costo 0) ni la cortesía total.
Excepción: Cortesía total (Tipo 03 + 100%) Cuando se aplica un descuento con Tipo 03 — Descuento por bonificación al 100%, las validaciones de utilidad mínima y descuento máximo se omiten automáticamente. El artículo se entrega como cortesía oficial, sin necesidad de permiso 021.

Artículos con precio 0

Si un artículo tiene precio 0 en el nivel asignado al cliente, la línea se agrega al documento respetando ese precio (entra en 0). El cajero puede editar el precio inline para establecer el valor de venta. El sistema sólo dispara el modal de "bajo costo" cuando el nuevo precio queda por debajo del costo — establecer un precio inicial mayor al costo es válido sin restricciones.

Niveles de precio

El sistema soporta hasta 10 niveles de precio (P1 a P10) por artículo. La selección del precio sigue estas reglas:

Reglas de asignación de precio

PrioridadCondiciónPrecio usado
1Parámetro 57 activo (precio fijo estación)Precio de la estación (siempre, sin excepción)
2Cliente es SN (genérico)Precio de la estación
3Precio seleccionado manualmente en modalEl precio seleccionado (P1, P2, P3, etc.)
4Cliente tiene TipoPrecioVenta asignadoEl precio del nivel del cliente
5Ninguna de las anterioresPrecio de la estación
Precio fijo de estación (Parámetro 57) Si el parámetro 57 está en 1, los precios en el modal aparecen bloqueados (gris) y no se puede seleccionar manualmente un nivel diferente. Solo se usa el precio configurado en la estación.
Cliente genérico (SN) Cuando el cliente es SN, siempre se usa el precio de la estación, sin importar lo que se seleccione en el modal de precios.

Cómo seleccionar un precio diferente

  1. Asegúrese de tener un cliente real (no SN) y que el parámetro 57 esté inactivo
  2. Abra el modal de búsqueda (F2) y busque el artículo
  3. En la ficha Precios (panel inferior), haga clic en el nivel deseado (P1, P2, P3...)
  4. La fila se resaltará en azul indicando la selección
  5. Agregue el artículo: doble clic en la fila de precio, Enter, o ingrese cantidad y presione Agregar
Listado completo de niveles (incluso en 0) El panel Precios del modal muestra todos los niveles definidos para el artículo (P1, P2, P3, P4, P5), incluso los que están en 0. Esto permite al cajero ver qué niveles existen y agregarlos al documento aunque no tengan precio configurado — luego se edita el precio en la línea.

Cambio de nivel sobre una línea existente

Cuando se cambia el nivel de precio de una línea ya agregada (por ejemplo P1 → P2) usando la barra de precio masiva:

  1. Se actualiza el precio al del nuevo nivel.
  2. El descuento previo se resetea a 0 (siempre, sin excepción de permisos). Esto evita que un descuento aplicado al nivel anterior arrastre al nuevo bajo reglas distintas.
  3. Si el nuevo nivel tiene un Descuento Fijo configurado, se aplica automáticamente — siempre que cumpla con el Descuento Máximo y la Utilidad Mínima de ese nivel. Si no cumple, queda en 0% y la razón se registra en bitácora.

Descuentos

El sistema maneja múltiples tipos de descuento con prioridades definidas:

Tipos de descuento

TipoOrigenPermiso
Descuento del clienteConfigurado en ficha del clienteNinguno (se aplica automáticamente)
Descuento recordadoÚltimo descuento aplicado al mismo cliente+artículoParámetro 277 activo
Precio recordadoÚltimo precio con que se le facturó ese artículo a ese cliente (ver detalle)Parámetro 277 activo
Descuento fijo del artículoConfigurado en el artículoNinguno
Descuento por cajaConfigurado en el nivel de precio del artículo (ver detalle)Ninguno (se aplica solo)
Descuento manualEditado por el usuario en la líneaPermiso 004
Descuento sobre el máximoSupera el descuento máximo configurado en el artículoPermiso 023

Prioridad de descuentos

  1. Descuento recordado (param 277) — Tiene prioridad máxima si está activo
  2. Descuento del cliente — Se aplica automáticamente
  3. Descuento fijo del artículo — Se usa si el cliente no tiene descuento

Descuento por caja (automático)

Si el artículo se vende por empaque (en la ficha tiene Unidades x medida mayor que 1, por ejemplo 6 latas) y su nivel de precio tiene un Desc. x caja, FactuDesk lo aplica solo, sin que el cajero haga nada, y únicamente a las cajas enteras:

Cerveza en cajas de 6 · P1 ₡1.300 · Desc. x caja 10 %Qué pasa
Lleva 1 a 5Precio normal, sin descuento por caja
Lleva 6Las 6 llevan el 10 %: ₡7.800 − ₡780
Lleva 8Las primeras 6 llevan el 10 % y las 2 de más van a precio normal (la línea muestra 7,5 %, que es ese mismo descuento repartido en las 8)
Se factura en P2 y P2 tiene Desc. x caja 0No hay descuento por caja: cada nivel tiene el suyo
  • Se suma al descuento que ya traía la línea (el del cliente, el recordado o el fijo del artículo). No lo limita el Descuento máximo, porque no lo pone el cajero: lo configuró el negocio.
  • Se rehace al cambiar la cantidad: si pasa de 5 a 6 aparece; si baja de 6 a 5 se quita; de 8 a 12 cubre las dos cajas. También al cambiar el nivel de precio desde la barra de líneas.
  • Después manda el cajero: el descuento de la línea se puede cambiar o quitar con los permisos de siempre (004, 023, 006). Si el cajero lo baja a mano, al cambiar la cantidad el sistema no se lo vuelve a poner.
  • No se aplica en un nivel marcado sin descuento (parámetros 153-158) ni en una cortesía. Si el descuento fijo + el de caja dejaran la venta por debajo de la utilidad mínima, la caja no entra y se avisa (salvo permiso 006).

Dónde se configura: en el artículo (IN-002), botón del lápiz del nivel de precio → Desc. x caja (modal MAP-001), o para muchos artículos a la vez en Config → Cambios globales → Precios por nivel (MX-010). Ver el manual de precios.

Descuento bloqueado por precio (Parámetros 153-158) Se puede configurar que ciertos niveles de precio no admitan descuento. Si el precio activo está bloqueado, el descuento se fuerza a 0% automáticamente.
Cortesía total (Tipo 03 + 100%) Cuando se aplica un descuento con Tipo 03 — Descuento por bonificación al 100%, las validaciones de utilidad mínima y descuento máximo se omiten. El artículo se considera entregado como cortesía oficial. Se puede aplicar línea por línea o de forma masiva desde el modal de opciones (MV-OPC).

Validación en 3 etapas (descuento → utilidad mínima → costo)

Cuando se aplica un descuento o se edita el precio de una línea, el sistema valida en orden, etapa por etapa. Cada etapa tiene su propio permiso: si el usuario no lo tiene, esa etapa lo detiene (se capa el descuento o se ajusta el precio).

Todo se compara SIN IVA Las tres etapas comparan el precio sin IVA (el precio de lista ya con el descuento aplicado) contra el costo (también sin IVA). El IVA se suma después y no interviene en la validación de utilidad ni de costo.
#Qué revisa (precios sin IVA)Permiso
1El descuento supera el descuento máximo del artículo023 — Hacer descuento mayor al permitido del artículo
2El precio (con el descuento) queda bajo la utilidad mínima (parámetro 16 o por nivel de precio), pero todavía ≥ al costo006 — Facturar bajo la utilidad mínima
3El precio (con el descuento) queda por debajo del costo021 — Facturar bajo el costo
Ejemplo (todos los montos sin IVA) Artículo con precio ₡130, costo ₡100, descuento máximo 10% y utilidad mínima 20% (precio mínimo ₡120). El cajero aplica un descuento del 12% → precio con descuento ₡114.40:
  • Etapa 1 — 12% > 10% (máximo del artículo): necesita el permiso 023. Sin él, el descuento se capa al 10%.
  • Etapa 2 — ₡114.40 < ₡120 (utilidad mínima): necesita el permiso 006. Sin él, se le quita el descuento o se sube el precio al mínimo permitido.
  • Etapa 3 — ₡114.40 ≥ ₡100 (costo): no aplica; la línea pasa sin pedir el permiso 021.
Si en cambio el descuento fuera del 30% → precio con descuento ₡91, que queda por debajo del costo (₡100): además del 023 y el 006, el cajero necesitaría el permiso 021 para poder facturar esa línea.
Autorización de un supervisor (Etapa 1 — descuento sobre el máximo) Si el cajero no tiene el permiso 023 e intenta un descuento mayor al máximo del artículo, ya no se capa en silencio: aparece automáticamente una ventana pidiendo la clave de un supervisor. Si la clave corresponde a un usuario que sí tiene el permiso 023, el descuento completo se aplica y queda registrado quién lo autorizó (el cajero sigue siendo el responsable de la venta). Si se cancela, el descuento queda topado al máximo del artículo, como antes.
  • Funciona en los tres puntos donde se aplica descuento: la barra de descuentos de líneas seleccionadas, el campo %Dc de cada fila y el modal de Opciones (MV-OPC).
  • La autorización cubre solo la Etapa 1 (descuento sobre el máximo). Si el descuento además queda bajo la utilidad mínima (Etapa 2) o bajo costo (Etapa 3), siguen pidiéndose los permisos 006 / 021 respectivamente; un aviso lo indica.
Regla rápida Mientras el precio sin IVA (con el descuento) cumpla la utilidad mínima → libre. Si queda bajo la utilidad mínima pero ≥ al costo → permiso 006. Si queda por debajo del costo → permiso 021 (que también requiere el 006 porque ya cruzó la utilidad mínima). La cortesía total (Tipo 03 al 100%) omite las tres etapas.

Cálculo de precios y totales

Esta sección explica exactamente cómo el sistema calcula cada línea y los totales del documento, con las fórmulas que se ejecutan tanto en el backend (_funciones_calculo.php) como en el frontend (calcularTotales()).

Fórmula única compartida Todas las APIs (agregar línea, cambiar precio, aplicar descuento, exonerar) ejecutan la misma función de cálculo para garantizar resultados consistentes. Cualquier cambio en una línea dispara el recálculo completo.

Paso 1 — De dónde sale el precio unitario

El precio de una línea se resuelve en el momento de agregar el artículo siguiendo esta prioridad (se detiene en la primera que aplique):

#CondiciónPrecio usado
1Parámetro 57 = 1 (precio fijo de estación)Estaciones.PrecioVenta — siempre, sin excepción
2Cliente SN (genérico, sin código)Precio de la estación
3Usuario seleccionó un nivel en el modal de búsquedavista_articulo.Precio{N} (N = 1-10)
4Cliente tiene TipoPrecioVenta asignadovista_articulo.Precio{TipoCliente}
5Ninguna anteriorPrecio de la estación
Fallback si el nivel está en 0 Si el precio del nivel elegido es 0, el sistema usa Precio1 como fallback. Al cambiar de nivel desde el modal de utilidades con un precio 0, el cambio se omite silenciosamente y se registra en bitácora (ver cotizacion_cambia_tipo_precio.php).

Paso 2 — Cadena de cálculo de la línea

Con el precio resuelto, la línea pasa por 10 cálculos en cadena. El nombre entre paréntesis es el campo físico en ProformaHija:

#CálculoFórmula
1SubTotal bruto (ArticuloVentaSubTotal1)Cantidad × Precio
2Monto de descuento (ArticuloDescuentoMonto)SubTotal1 × (Descuento% ÷ 100)
3SubTotal con descuento (ArticuloVentaSubTotal2)SubTotal1 − DescuentoMonto
4SubTotal con otros cargos (ArticuloVentaSubTotal3)SubTotal2 + OtrosCargos
5Monto exonerado (ArticuloVentaExonerado)SubTotal3 × (ExoneradoPct ÷ IvaPct) si IvaPct > 0
6Monto gravado (ArticuloVentaGravado)SubTotal3 − Exonerado si IvaPct > 0
7Monto exento (ArticuloVentaExento)SubTotal3 − Gravado − Exonerado (cuando IvaPct = 0 → todo es Exento)
8IVA calculado (ArticuloIvaMonto)SubTotal3 × ((IvaPct − ExoneradoPct) ÷ 100)
9IVA devuelto (ArticuloIvaDevuelto)IvaMonto si MedioPago = '02' (tarjeta) y IvaPct = 4; si no, 0
10Total de línea (ArticuloVentaTotal)Gravado + Exonerado + Exento + IvaMonto − IvaDevuelto
Orden crítico Primero se aplica el descuento, luego se suma OtrosCargos, después se calcula exoneración, y finalmente el IVA. El IVA NUNCA se calcula sobre el precio original — siempre sobre SubTotal3 (después de descuento + otros cargos).

Paso 3 — Redondeo (Parámetros 190 y 195)

Parámetro 195 — Decimales del IVA

Controla con cuántos decimales se redondea el campo ArticuloIvaMonto. Rango permitido: 0 a 6. Default: 2. El resto de campos (SubTotales, Gravado, Exonerado, Total) siempre se redondean a 2 decimales.

Parámetro 190 — Redondear total factura

Controla si el IVA se calcula sobre el subtotal redondeado o sobre el subtotal sin redondear. Es clave cuando el precio unitario sin IVA tiene 4 o 5 decimales y el total con IVA debe cuadrar con un precio "redondo" al cliente (ej: ₡1,700.00).

ValorBase del IVAEjemplo PU 1,504.4248 × 1 × 13%
0 (default)ROUND(SubTotal3, 2)Subtotal 1,504.42 · IVA 195.57 · Total 1,699.99
1SubTotal3 sin redondearSubtotal 1,504.42 · IVA 195.58 · Total 1,700.00 ✓

Ver detalles y cuándo activarlo en Parámetros → 190.

Paso 4 — Casos especiales

IVA devuelto (tarjeta con tarifa 4%)

Cuando el documento tiene MedioPagoCodigo = '02' (tarjeta) y una línea tiene IVA del 4%, ese IVA se marca como "devuelto" y se resta del total de la línea. Esto aplica principalmente a canasta básica cuando se paga con tarjeta.

Exoneración parcial o total

Si el cliente tiene exoneración sobre el artículo, el campo ArticuloIvaExonerado guarda el porcentaje exonerado (no el monto). La fórmula distribuye:

  • Gravado = parte del SubTotal3 que sigue afecta al IVA
  • Exonerado = parte del SubTotal3 liberada del IVA
  • IVA neto = SubTotal3 × ((IvaPct − ExoPct) ÷ 100)

Si la exoneración es total (ExoPct = IvaPct), el IVA queda en 0 y todo el SubTotal3 se reporta como Exonerado.

Artículo Exento (IvaPct = 0)

Si el artículo no grava IVA, todo el SubTotal3 se clasifica como Exento (ni gravado ni exonerado). El IVA y el IVA devuelto quedan en 0.

Otros cargos

Campo ArticuloOtrosCargos — se suma al SubTotal2 antes de calcular el IVA, por lo que sí paga IVA (si la línea es gravada).

Paso 5 — Totales del documento

Cuando una línea cambia, el sistema recalcula ProformaMadre sumando todas las líneas y agrupando por naturaleza CABYS (el primer dígito del código: 0-4 mercancía, 5-9 servicio):

Campo en ProformaMadreFuente
TotalCostoΣ ArticuloCosto × ArticuloCantidad
TotalVentaΣ ArticuloVentaSubTotal1 (sin descuento, sin IVA)
TotalDescuentoΣ ArticuloDescuentoMonto
TotalMercGravado / Exonerado / ExentoΣ líneas con Naturaleza CABYS = 1 (mercancía)
TotalServGravado / Exonerado / ExentoΣ líneas con Naturaleza CABYS = 2 (servicio)
TotalIvaΣ ArticuloIvaMonto
TotalIvaDevueltoΣ ArticuloIvaDevuelto
TotalΣ ArticuloVentaTotal + TotalImpuestoServicio
Impuesto de servicio (servicio 10%) TotalImpuestoServicio es un cargo adicional (típico en restaurantes: 10% de servicio) que se suma al total final pero NO se incluye en cada línea individual. Se calcula a nivel documento.

Paso 6 — Cálculo en tiempo real (frontend)

Mientras el usuario edita líneas, el panel "Totales" se actualiza instantáneamente en JavaScript sin esperar al backend. Luego de 300ms sin cambios, se envía al servidor la actualización definitiva (debounce).

Los totales visibles en pantalla suman cada línea así:

  • Gravado / Exonerado / Exento mercancía — Σ campos de línea (todos van a mercancía en frontend; el servidor los reclasifica por CABYS)
  • IVA — Σ l.ivaTotal (ojo: el campo JS se llama ivaTotal, no impuesto)
  • IVA devuelto — Σ l.ivaDevuelto
  • Total — Σ l.total

Paso 7 — Margen de utilidad

El porcentaje de margen se calcula solo para productos (excluye servicios, naturaleza = 2). Se muestra en el panel de totales si el usuario tiene permiso 064.

CálculoFórmula
Venta neta de líneaGravado + Exonerado + Exento (después de descuento, sin IVA)
Costo total productosΣ Costo × Cantidad (solo naturaleza ≠ 2)
Venta total productosΣ venta neta (solo naturaleza ≠ 2)
Margen %((VentaTotal − CostoTotal) ÷ CostoTotal) × 100
Base del margen El margen usa la venta post-descuento sin IVA. Si descuenta 10%, el margen que ve reflejará esa rebaja real. No se calcula sobre el precio de lista.

Paso 8 — Moneda extranjera

En facturas con moneda distinta a la nacional (ver parámetro 249), el cálculo de la línea se hace en la moneda del documento. La conversión a moneda nacional ocurre al momento de contabilizar:

  • Pagos — siempre en la moneda del documento. Si el cliente paga con otra moneda, se convierte usando el tipo de cambio y se guarda en la moneda del documento.
  • Asiento contable — cada línea de DocumentoDetallePago se multiplica por su TipoCambio para llevarla a la moneda nacional.
  • Ajuste de redondeo — si DEBE/HABER difieren por menos de 1.00 (por redondeos), se agrega automáticamente una línea de ajuste en la cuenta del parámetro 83 (Caja Efectivo).

Paso 9 — Validación de límites (constraints BD)

Antes del UPDATE, la función calcularTotalesLinea() proyecta los valores y valida que no excedan los check constraints de la base:

CampoLímite
ArticuloVentaSubTotal1500,000,000
ArticuloVentaGravado100,000,000
ArticuloVentaTotal100,000,000

Si alguna proyección excede, el sistema auto-corrige la línea: cantidad pasa a 1 y si el precio excede 500,000 se pone a 0, evitando así un error SQL que bloquearía el documento.

Resumen visual del flujo

Precio
Descuento
Otros Cargos
Exoneración
IVA
Total línea

Ejemplo completo

Artículo con Precio = 1,000, Cantidad = 2, Descuento = 10%, IVA = 13%, sin exoneración, sin otros cargos, MedioPago = efectivo:

PasoCálculoValor
SubTotal12 × 1,0002,000.00
DescuentoMonto2,000 × 0.10200.00
SubTotal22,000 − 2001,800.00
SubTotal31,800 + 01,800.00
Exonerado1,800 × (0 ÷ 13)0.00
Gravado1,800 − 01,800.00
Exento1,800 − 1,800 − 00.00
IvaMonto1,800 × ((13 − 0) ÷ 100)234.00
IvaDevuelto(efectivo, no aplica)0.00
Total línea1,800 + 0 + 0 + 234 − 02,034.00
Ubicación del código
  • Backend — /functions/shared/cotizacion.php — funciones cotline_calcular_totales_linea() y cotline_actualizar_totales_proforma()
  • Frontend — /modules/facturacion/factudesk/js/factudesk.js — los totales se repintan al recargar el documento
  • Selección de precio — /apis/shared/cotizacion/cotizacion_tipoprecio_cambiar.php
  • Agregar línea — /apis/shared/cotizacion/cotizacion_linea_agregar.php

¿Sale Factura o Tiquete? Última actualización: 2026-09-03

El tipo de documento no se escoge: lo decide el sistema según la ficha del cliente, en el momento de procesar. Da igual desde cuál pantalla se facture (FactuDesk, SmartPos, FastPOS, Facturación Móvil): la regla es la misma para todas.

Cómo está el clienteQué documento sale
Cédula válida y tipo de identificación 01 Física, 02 Jurídica, 03 DIMEX o 04 NITEFactura Electrónica (01)
Tipo de identificación 05 Extranjero no domiciliadoFactura de Exportación (09)
Cliente genérico SN, sin cédula, cédula incompleta, o tipo de identificación 00 «Sin identificación» o 06 «No contribuyente»Tiquete Electrónico (04)
El caso que más sorprende: cliente con cédula, pero tipo «Sin identificación» Un cliente puede tener la cédula bien escrita y aun así salir como Tiquete, porque lo que manda es el tipo de identificación. Si en su ficha quedó en 00 «Sin identificación» —típico en clientes viejos o importados de otro sistema— todos sus documentos salen como tiquete, aunque los demás clientes salgan como factura. La pantalla no avisa: se da cuenta cuando ve el documento impreso.

Cómo hacer que salga Factura

  1. Vaya a Clientes → Catálogo de Clientes (CL-001) y abra el cliente.
  2. En Tipo de identificación ponga el que corresponde: 01 Física (9 dígitos), 02 Jurídica (10 dígitos — también las instituciones públicas, que empiezan con 4), 03 DIMEX (11 o 12 dígitos) o 04 NITE (10 dígitos).
  3. Verifique que la cédula esté completa y sin guiones, y guarde.
  4. Vuelva a facturar. Ahora sale Factura Electrónica (01).
El tiquete que ya se emitió no se borra Una vez aceptado por Hacienda, la única forma de dejarlo sin efecto es una Nota de Crédito completa con razón «01 - Anulación de documento», y después volver a facturar con el cliente ya corregido. El paso a paso está en Notas de Crédito y Débito.
Parámetro 353 — clientes con tipo de cédula 00 En Configuración → Parámetros, el 353 decide qué pasa cuando se factura a un cliente con tipo de identificación 00:
  • Sí — deja facturar y el documento sale como Tiquete (es lo que causa la sorpresa).
  • No — no deja emitir y avisa «El cliente tiene tipo de cédula 00 (no válido para facturación electrónica)», para que se corrija la ficha antes de facturar.
CABYS de las líneas (desde el 27-sep-2026) Antes de cobrar, FactuDesk revisa el CABYS de cada línea. Si está vacío, mal escrito (por ejemplo 2.449E+12 o con apóstrofo, cosas que mete Excel) o el código no existe en el catálogo de Hacienda, no deja facturar y dice en qué línea y qué artículo: Hacienda la rechazaría (error −400) y la venta quedaría anulada. Corrija el CABYS en la ficha del artículo (Inventario) y vuelva a cobrar. Si en ese momento Hacienda no contesta, no se bloquea.

Factura de contado

Genera una factura con pago inmediato. Acceso: el botón PROCESAR → Fact. Contado o F7 directo.

La factura de contado NO queda en cuentas por cobrar Contado significa que la factura ya se cobró: el sistema la da por pagada con el medio que se escogió (efectivo, tarjeta, SINPE…) y por eso no aparece en Cuentas por Cobrar ni en el estado de cuenta del cliente. Si el cliente se lleva la mercadería para pagarla después, la factura tiene que hacerse con Fact. Crédito (F8).
Cómo se decide la condición que sale impresa: hacen falta las DOS cosas

Para que un documento salga como Crédito se tienen que dar las dos condiciones a la vez:

  1. que la factura se haya procesado con Fact. Crédito (F8), y
  2. que el cliente tenga un plazo mayor que cero en su ficha.

Si falta cualquiera de las dos, el documento es de Contado:

Se procesó con…Plazo en la ficha del clienteSale impreso
F7 Fact. Contadocualquiera (aunque tenga 30 días)Contado
F8 Fact. Crédito0 díasContado
F8 Fact. Crédito30 díasCrédito — Plazo: 30 días · Vence: …

Es la misma regla con la que el sistema arma el comprobante electrónico que se le manda a Hacienda, y por eso el papel, el tiquete POS, el correo y lo que Hacienda tiene registrado dicen siempre lo mismo. Un cliente sin plazo es, para el sistema, un cliente de contado.

Una factura de contado que ya se envió a Hacienda no se puede pasar a crédito: hay que anularla con una Nota de Crédito y volver a facturarla con F8, después de ponerle el plazo al cliente en su ficha.

Si le va a fiar, póngale primero el plazo al cliente Facturar con F8 a un cliente que tiene plazo 0 deja el documento como contado ante Hacienda, aunque la mercadería se la haya llevado sin pagar. El plazo se pone en la ficha del cliente, en Clientes, campo Plazo.
El candado ya está puesto: el parámetro 937

Desde el 21 de setiembre de 2026, el sistema no deja emitir una factura de crédito a un cliente que tenga 0 días de plazo en su ficha. Es el parámetro 937 — «Permitir facturar a 0 días de crédito», en Configuración → Parámetros, y viene en No para todas las empresas:

ValorQué hace
No (así viene ahora)El sistema no deja emitir la factura de crédito mientras el cliente tenga 0 días en su ficha. Hay que ponerle primero el plazo en Clientes, campo Plazo, y volver a intentar.
SíSe puede facturar a crédito aunque el cliente tenga 0 días de plazo. La factura se declara Contado, como explica el cuadro de arriba. Hay que activarlo a propósito si su empresa necesita trabajar así.

El aviso sale antes de emitir la factura, así que no hay nada que anular después. La factura de contado no se ve afectada: se sigue haciendo igual.

El parámetro no cambia la condición que se imprime ni la que va a Hacienda. Es solamente un freno para que nadie emita a crédito sin plazo por descuido.

Si su empresa necesita seguir facturando a crédito sin ponerle plazo al cliente, póngalo en Sí en Configuración → Parámetros, o pídanoslo y se lo cambiamos.

Flujo de factura contado

  1. Se valida el documento (precio > 0, artículos válidos, agente si es obligatorio)
  2. Se abre el modal de pago con el total a cobrar
  3. Seleccione el medio de pago: efectivo, tarjeta, transferencia, etc.
  4. Para efectivo: ingrese el monto recibido. El sistema calcula el vuelto
  5. Para tarjeta/transferencia: ingrese la referencia
  6. Confirme el pago. La factura se genera y se envía a Hacienda
  7. Se imprime automáticamente (según configuración)

Denominaciones de efectivo

El modal de pago muestra botones con las denominaciones de la moneda activa. Haga clic para sumar al monto recibido. Por ejemplo, para CRC: 1.000, 2.000, 5.000, 10.000, 20.000.

Pago con varios medios (mixto)

Una misma factura puede cobrarse con varios medios de pago a la vez: por ejemplo ₡20.000 en efectivo y el resto con tarjeta. Se van agregando líneas de pago hasta completar el total; el modal muestra siempre cuánto falta y, si se paga de más en efectivo, cuánto es el vuelto.

Revise que el total quede en cero No confirme mientras quede un faltante o un sobrante que no sea vuelto de efectivo: esa diferencia después aparece en el cierre de caja y hay que perseguirla documento por documento.
Varias cuentas del mismo medio (dos SINPE, dos tarjetas…) Cada medio de pago es un tipo + una cuenta contable. Si la empresa tiene, por ejemplo, dos SINPE (BAC y Nacional), en la ventana de pago sale un botón por cuenta («Sinpe Movil Bac», «Sinpe Movil Nacional») — de hecho, arriba sale un botón por cada medio activo, así que no hay que escoger en ninguna lista. Abajo, Pagar · Pagado · Faltante quedan siempre a la vista encima de Confirmar y la fila «Todo …» muestra todos los medios activos con su cuenta (Todo Tarjetas, Todo Transferencias, Todo Uber…). El pago se asienta en la cuenta del botón que se tocó.

Pagos rápidos (debajo del TOTAL)

Debajo del TOTAL, encima de PROCESAR, sale un botón por cada medio de pago que la empresa tenga con Mostrar marcado en Configuración → Medios de pago (Efectivo, Tarjeta, Transferencia, SINPE…). Al tocar uno, la factura se cobra completa con ese medio, de una vez, sin abrir la ventana de pago. Para dar vuelto o repartir el pago entre varios medios, use PROCESAR → Fact. Contado.

  • Si un medio tiene varias cuentas con Mostrar (por ejemplo dos SINPE), sale un botón por cuenta, con el nombre corto del banco ligado a la cuenta en Medios de pago: SINPE BAC, SINPE BNCR. Cada uno cobra en su cuenta. Si la cuenta no tiene banco, sale el nombre de la cuenta.
  • Para quitar o agregar un botón, marque o desmarque Mostrar en Medios de pago y vuelva a abrir FactuDesk.
  • Con el parámetro 19 (facturación con Caja) activo, los pagos rápidos no salen: la empresa cobra el contado solo en Cajas, y el documento se manda desde PROCESAR → Enviar a Cajas.

Número de comprobante en pagos que no son efectivo

El sistema puede pedir el número de comprobante (el de SINPE, la transferencia, el depósito o el voucher de la tarjeta) cada vez que se agrega un pago que no sea efectivo. Sirve para que después, a la hora de conciliar contra el banco, cada pago de la factura tenga su número al lado.

Se activa con el parámetro 28 Vaya a Configuración → Parámetros y busque el 28, «Facturación, comprobante obligatorio en pagos que no son efectivo (tarjeta/SINPE/depósito)». Póngalo en Sí. Viene apagado de fábrica.

Con el parámetro encendido, al agregar el pago se abre una ventanita «Comprobante de …» donde se escribe el número (hasta 20 caracteres) y se presiona Agregar pago. El número queda guardado con ese pago y se muestra en la lista de pagos del mismo modal, para poder revisarlo antes de confirmar.

Medio de pago¿Pide comprobante?
EfectivoNo — nunca lo pide (tampoco para el vuelto)
SINPE MóvilSí
TarjetaSí, salvo que la caja cobre con datáfono: ahí el número de autorización lo pone el datáfono solo
Transferencia, depósito y cualquier otro medioSí

Con el parámetro apagado, no pregunta nada y el pago se agrega directo, como siempre.

Es todo o nada El parámetro 28 enciende o apaga la solicitud completa: no hay forma de pedirlo solo para SINPE y no para tarjeta. Y aplica a los tres caminos de cobro por igual — el botón +, Todo Tarjeta y Todo SINPE.

Cobro con datáfono

Si la caja tiene datáfono conectado (bridge instalado y configurado), al escoger tarjeta el monto se manda solo al datáfono y la pantalla queda esperando la respuesta. Cuando el cliente pasa la tarjeta y el banco aprueba, la factura se cierra guardando el número de autorización.

  • Si el datáfono rechaza, la venta no se cierra: se puede reintentar o cambiar de medio de pago.
  • Si el datáfono aprueba pero la factura no salió (se cayó la red justo ahí), no vuelva a pasar la tarjeta: revise primero en Consulta de Facturas y en el cierre de datáfono, porque el cobro puede estar hecho.
  • Las anulaciones (VOID) y los cierres de lote se manejan desde la configuración del datáfono, no desde la factura. Ver el manual del Datáfono.

Si el cobro no avanza al confirmar Última actualización: 2026-09-11

Antes de emitir la factura, el sistema revisa que el asiento contable cuadre y que haya existencia. Mientras lo hace, el botón verde dice «Validando asiento…» y después «Validando stock…»; normalmente tarda uno o dos segundos.

Si algo impide esa revisión, el sistema ya no se queda esperando: suelta el botón y muestra un aviso con lo que pasó. El aviso puede salir al presionar Fact. Contado (antes de que se abra el cobro) o al confirmar. En todos estos casos la factura NO se emitió, así que se puede volver a intentar sin riesgo de que salga repetida.

El aviso dice…Qué hacer
No se cargó el validador de facturasLa pantalla quedó a medio cargar en ese equipo. Recárguela con Ctrl+F5 (así baja todo de nuevo) y vuelva a cobrar. Si después de recargar sigue saliendo, llame a soporte: es algo de ese equipo, como el navegador o un programa que bloquea páginas.
No se pudo validar (el servidor no respondió)Revise la conexión a internet y vuelva a confirmar.
El asiento no cuadraHay una diferencia entre lo cobrado y el total, o falta una cuenta contable. El aviso trae el detalle.
Stock insuficienteAlguna línea no tiene existencia suficiente. El aviso dice cuál.
Facturación con Caja (Parámetro 19) Si el parámetro 19 está activo, el botón "Fact. Contado" aparece deshabilitado y los pagos rápidos de debajo del TOTAL no salen. La facturación de contado solo puede hacerse desde el módulo de Cajas.

Factura de crédito MV-005

Genera una factura con pago a plazo. Acceso: el botón PROCESAR → Fact. Crédito o F8 directo.

Requisitos

  • Cliente con código diferente a SN (debe estar registrado)
  • El cliente debe tener un plazo mayor que cero en su ficha. Con plazo 0 el documento sale y se declara a Hacienda como Contado, aunque se haya procesado con F8 — ver el cuadro de la sección Factura de contado. Desde el 21-09-2026 el sistema no deja emitir a crédito sin plazo: es el parámetro 937, que viene en No (mismo cuadro)
  • El cliente debe tener crédito disponible suficiente
  • Se calcula automáticamente la fecha de vencimiento según los días de crédito del cliente

Flujo

  1. Se valida el documento y el crédito disponible
  2. Se confirma la fecha de vencimiento
  3. La factura se genera con condición "Crédito" (si el cliente tiene plazo; con plazo 0 queda como "Contado")
  4. Se crea automáticamente la cuenta por cobrar (CxC)
  5. Se envía a Hacienda y se imprime
  6. Si se ingresó un adelanto, se aplica automáticamente un recibo CxC sobre la factura recién creada (ver sección abajo)

Adelanto al convertir (2026-05-11)

Cuando el cliente entrega un pago parcial al momento de generar la factura a crédito, se puede registrar el adelanto dentro del mismo modal. Tras crear la factura, el sistema aplica automáticamente un recibo CxC contra ese documento.

CampoDescripción
Monto adelantoImporte del pago inmediato. Se capea al total de la factura. Dejar en 0 si no hay adelanto.
Medio de pagoCuenta contable activa (caja, banco, etc) que recibe el adelanto. Lista cargada desde vista_catalogo_contable filtrando cuentas que inician con 1 (activos).
ComprobanteN° de transferencia, voucher, depósito, etc. Obligatorio si el monto es mayor a 0.
DetalleDescripción del pago. Obligatorio si el monto es mayor a 0.
Cómo funciona El adelanto se procesa después de que la factura ya está creada, la CxC registrada y el asiento contabilizado. Si la aplicación del adelanto falla por algún motivo (cuenta inválida, conexión, etc), la factura queda creada igual y el adelanto se puede aplicar manualmente luego desde CxC → Aplicar Recibo (MC-001). La validación de comprobante y detalle se hace antes de iniciar la conversión.

Impresión automática del recibo (2026-05-15)

Cuando el adelanto se aplica con éxito, el recibo CxC se imprime automáticamente en la misma impresora que la factura, justo después de la factura, para que ambos comprobantes salgan uno seguido del otro y se puedan entregar juntos al cliente.

  • La impresión usa la misma impresora configurada en la estación para facturas crédito.
  • Si la opción de imprimir está desmarcada en el modal, tampoco se imprime el recibo.
  • Si la impresión del recibo falla, queda registrado en el log del modal pero la factura y el recibo ya están guardados en BD — se puede re-imprimir el recibo desde el módulo CxC.

Validaciones previas

Si el monto del adelanto es mayor a 0 y falta cualquiera de los tres campos obligatorios (medio de pago, comprobante o detalle), el sistema muestra un aviso y enfoca el campo faltante antes de iniciar la transacción — no se crea la factura hasta que estén completos.

Archivar cotización

Guarda la cotización en el histórico sin generar factura. Útil para cotizaciones que se concretan sin pasar por Hacienda.

Flujo

  1. Pulse el botón PROCESAR y elija Archivar Cot.
  2. Se valida que los artículos tengan stock (si aplica la restricción)
  3. Se agrega automáticamente un pago en efectivo
  4. El documento se copia a CotizaMadre/CotizaHija
  5. Se elimina de ProformaMadre (documento de trabajo)
  6. Opcionalmente se imprime en POS
Validación de stock al archivar Si un artículo tiene Sobregira = 0 (no permite sobregiro) y no tiene stock en la bodega asignada, el proceso se detiene y muestra la lista de artículos sin stock.

Enviar a Cajas

Transfiere la cotización al módulo de Cajas para que sea facturada desde ahí. Útil cuando un vendedor prepara la cotización y otro usuario la cobra.

  • Requiere permiso 123
  • El documento queda disponible en el módulo de Cajas
  • Se limpia el documento de trabajo actual

Enviar Pedido

Manda la proforma a la bandeja de pedidos para que en oficina la revisen y la facturen. Es el camino del vendedor que toma el pedido pero no emite la factura. Se llega por el botón PROCESAR → Enviar Pedido.

  • Requiere el permiso 536. Sin él el botón se ve, pero en gris.
  • Si el documento todavía es un borrador, el sistema lo guarda primero y le pone su número real.
  • El documento se mueve a pedidos con un consecutivo propio de pedido y queda congelado tal como lo digitó el vendedor.
  • En oficina se abre desde FactuDesk (botón ABRIR) y se copia a una proforma nueva para facturarla.
  • Al terminar, la pantalla queda limpia y lista para el siguiente cliente.
Perfil «toma pedidos pero no factura» Déle al usuario el permiso 536 y no le dé el 078. Va a poder armar el documento y enviarlo como pedido, pero los botones EFECTIVO, TARJETA, SINPE, Factura Contado y Factura Crédito le van a quedar en gris.

Enviar a Orden de Alistamiento

Manda la cotización a bodega para que la alisten y la verifiquen con el lector de código de barras antes de facturarla. Se llega por PROCESAR → Enviar a Orden de Alistamiento y pide cuándo se tiene que alistar, el responsable (opcional) y una nota para bodega.

  • Sigue siendo cotización: no rebaja inventario. Queda bloqueada para cambios hasta que se devuelva a pedido.
  • Necesita un cliente con código, porque se factura a crédito.
  • Requiere el permiso 538; sin él, el botón aparece gris.
  • Con la casilla Imprimir la orden en la impresora sale de una vez el papel para bodega: cliente, detalle, cantidad y una raya para anotar la cantidad real (ver cómo sale).

Todo el proceso de bodega está en la ayuda de Verificación de Pedidos.

Consumo de Personal

Para lo que pide el personal del negocio: en lugar de facturarlo en el momento, se anota a la cuenta del empleado y se factura todo junto al final del periodo. Se llega por PROCESAR → Consumo de Personal y pide el empleado (su ficha de cliente) y si se imprime (por defecto no).

  • Al empleado le llega por correo una copia de lo que pidió.
  • Sigue siendo cotización: no rebaja inventario. Queda bloqueada para cambios y sale de la lista de cotizaciones.
  • No lleva cliente genérico (SN): la factura del corte sale a nombre del empleado.
  • El botón pide su propio permiso: 159 «Enviar a Consumo de Personal». Sin él aparece gris.

El estado de cuenta y el corte están en la ayuda de Consumo de Personal.

Imprimir

Múltiples formatos disponibles desde el botón PROCESAR → Imprimir:

Formatos de impresión

FormatoDescripción
POS CompletoTiquete para impresora térmica con precios, descuentos e IVA por línea
POS SimpleTiquete simplificado: solo cantidad, código y nombre (sin precios por línea)
PDFDocumento en formato PDF para descargar o enviar
Pantalla CompletaVista del documento en pantalla, estilo factura, con opción de imprimir desde el navegador

«Cotización Completa» sale en el formato que tenga configurado su estación CORRECCIÓN 2026-09-07

El botón Cotización Completa (sección Impresora POS del modal MC-010) no imprime siempre igual: usa el formato que su estación tiene definido para cotización. Es el mismo campo que se ve en el modal Editar estación → Ventas → Cotización → Formato, o en el modal Configurar Estación de su propia pantalla.

Formato de la estaciónCómo sale la cotización
FIPVIVI002 (el más usado)Tiquete de impresora térmica, en el ancho de papel de la estación (32, 40 o 48)
FIPVIVI003 / FIPVIVI004Hoja carta en texto, para matricial o láser (ancho fijo del formato, no el del papel térmico)
FIPVIVI005Hoja carta con diseño (logo, tablas, cuadro de firma y el SON: en letras). La arma el programa de impresión de su computadora y sale por la impresora de cotización de la estación.

El número de impresora también sale de la estación (Ventas → Cotización → Número en el modal Editar estación); si se pide más de una copia, cada hoja se manda como un trabajo aparte y la primera va marcada ORIGINAL y las siguientes COPIA (esa marca la controla el parámetro 394).

Si entre el 4 y el 7 de setiembre de 2026 su cotización salió llena de letras sueltas Del 4 al 7 de setiembre de 2026, las estaciones configuradas en hoja carta (FIPVIVI003, 004 o 005) recibían por error el tiquete de impresora térmica. Como una impresora de hoja carta no entiende las órdenes de la térmica, las imprimía como texto: cada renglón arrancaba con una «a» suelta y arriba salía algo como @·a·!··E·. Ya está corregido y la cotización vuelve a salir con el diseño de hoja carta de siempre. No hubo que cambiar nada en la configuración de las estaciones.
«Cotización Simple» — sin precios por línea NUEVO 2026-09-07 Cotización Simple saca el documento sin los montos de cada línea. En una estación de hoja carta (FIPVIVI005) sale la misma hoja del Completa —con el logo, el cuadro del cliente y el pie— pero las columnas de Precio/U, SubTotal, IVA y Total de cada artículo salen en 0.00. En una estación de impresora térmica sale el tiquete de siempre, sin precios.

Sirve para mandarle al cliente el detalle de lo que lleva —cantidad, código y descripción— sin mostrarle los precios artículo por artículo.

El Detalle / Serie de la línea también sale en el tiquete de la cotización CAMBIO 2026-09-04

Cuando usted da doble clic sobre una línea y le escribe algo en Detalle / Serie (por ejemplo «2 bonificaciones», un número de serie o un lote), ese texto ya venía saliendo en el tiquete de la factura, en el PDF de la cotización y en el correo que se le manda al cliente. Lo que faltaba era justamente el tiquete POS de la cotización: ahí el detalle se perdía y el cliente recibía la cotización sin esa aclaración. Ya sale, en POS Completo y en POS Simple.

Cómo se acomoda en el papel lo deciden los mismos dos parámetros que ya mandaban en la factura, así que la cotización y la factura salen iguales:

ParámetrosCómo se imprime
343 = 0 y 391 = 0Todo en la misma fila: COCA 6 - 2 bonificaciones
343 = 0 y 391 = 1El nombre arriba y el detalle en su propio renglón debajo. Si usted escribió varios renglones (con Enter), cada uno sale en su renglón.
343 = 1Se imprime solo el detalle, en lugar del nombre del artículo.
La cotización ya no se corta encima de la fecha El tiquete de la cotización cortaba el papel antes de tiempo: la cuchilla queda unos dos centímetros por detrás del cabezal de impresión, así que el corte caía justo sobre el renglón de la fecha y hora del final, lo partía por la mitad y dejaba además un pedacito suelto de papel. Ahora la cotización cierra igual que el tiquete de la factura —que nunca tuvo el problema—: el corte lo hace el programa de impresión al terminar el trabajo, con el avance que corresponde. La fecha y la hora salen completas y no queda ningún recorte de más.

Las notas del documento ya salen al pie del tiquete de la cotización CAMBIO 2026-09-04

Lo que usted escribe en el panel DETALLE FACTURA —las condiciones que negocia con el cliente en el momento: «cancela por SINPE», «entregar en la soda al frente del EBAIS», a quién se le entrega— ya venía saliendo en la vista en pantalla, en el PDF y en el correo de la cotización. El que las perdía era el tiquete POS, y por eso había que escribirlas a mano sobre el papel. Ya salen, en POS Completo y en POS Simple.

Se imprimen al pie, justo debajo del total y arriba del agente y la caja. Solo aparece lo que tenga algo escrito:

Sale comoDe dónde viene
DETALLE:La cajita grande de notas del panel DETALLE FACTURA. Si usted escribió varios renglones con Enter, cada uno sale en su renglón; los renglones largos se parten por palabra, nunca a media palabra.
OC:La orden de compra del cliente.
PEDIDO POR:El campo PEDIDO (número de pedido o quién lo pidió).
ENTREGA:El modo de entrega (Local, Xpress, Llevar).

Y de último, centrada, sale la condición fija de sus cotizaciones —el parámetro 7, por ejemplo «Válida por 3 días»—, la misma leyenda que ya salía en el PDF y en la vista en pantalla.

Los acentos ya no descuadran el tiquete La impresora térmica no sabe imprimir tildes ni eñes: las sacaba como símbolos raros y además le corría las columnas, así que el renglón se pasaba del ancho del papel y se partía donde no debía (se veía, por ejemplo, en la dirección de la empresa: 16-PALMITAS salía cortado en tres pedazos). Ahora el tiquete de la cotización limpia los acentos antes de imprimir —PALMITAS, doña sale dona—, igual que ya lo hacía el tiquete de la factura, y cada renglón cabe donde tiene que caber.

Cómo se lee el desglose del documento impreso CAMBIO 2026-08-26

Tanto el tiquete térmico como los formatos de hoja carta (matricial, láser e inyección) imprimen el resumen en el mismo orden que el panel Totales de la pantalla, para que el cliente pueda seguir la cuenta de arriba hacia abajo:

RenglónQué es
V. BRUTALo que valen los artículos antes del descuento y sin IVA. Solo aparece si la factura lleva descuento.
DESCUENTOLa rebaja que se aplicó. Solo aparece si hay descuento.
SUB TOTALV. BRUTA menos el DESCUENTO. Es la venta ya rebajada, todavía sin IVA.
MERC GRAVADA / SERV GRAVADO / MERC EXONERADA / MERC EXENTA / SERV EXENTOCómo se reparte ese SUB TOTAL según pague o no IVA. Van agrupados por condición: primero lo gravado, después lo exonerado y de último lo exento, igual que el panel SUBTOTALES de la pantalla. Sumados dan el SUB TOTAL. Cada renglón sale solo si tiene monto.
IVAEl impuesto que se le suma al SUB TOTAL.
IVA DEVUELTOEl IVA que se le devuelve al cliente (compras con tarjeta de ayuda social). Solo aparece si aplica.
TOTALSUB TOTAL + IVA. Es lo que el cliente paga.
El DESCUENTO ya está aplicado, no se vuelve a restar Antes se imprimía primero MERC GRAVADA y MERC EXENTA y después el DESCUENTO, y eso hacía creer que faltaba restarlo del total. No era así: esas mercaderías ya vienen rebajadas. Ahora el descuento va arriba, entre V. BRUTA y SUB TOTAL, que es donde realmente se resta, y las cuentas cierran a la vista: V. BRUTA − DESCUENTO = SUB TOTAL y SUB TOTAL + IVA = TOTAL.
Si su tiquete no muestra estos renglones El desglose del tiquete se controla con el parámetro 192 — Imprime sub-totales (Configuración → Parámetros). Si está en No, el tiquete sale solo con DESCUENTO, IVA y TOTAL. Póngalo en Sí para ver el desglose completo.
En hoja carta el desglose va en un renglón corrido Los formatos de hoja carta imprimen lo mismo pero seguido, separado por comas: V.Bruta: 146,113.86, Desc: 34,022.71, SubTotal: 112,091.15, Merc.Grav: 87,586.15, Merc.Exen: 24,505.00, IVA: 10,076.88. Si no cabe en el ancho del papel, sigue en el renglón de abajo sin partir ningún monto por la mitad.
En pantalla, PDF y correo La vista en pantalla, el PDF y el documento que se le manda al cliente por correo ya venían con este orden y no cambiaron: ahí VENTA BRUTA, DESCUENTO y SUB TOTAL van juntos en su propio cuadro, y las mercaderías en el cuadro de al lado.

Las marcas de cada línea: (B…) bodega, (G…) IVA y (D…%) descuento CAMBIO 2026-08-27

En el tiquete térmico, debajo del nombre de cada artículo va un renglón con la cantidad y unas marcas entre paréntesis. Así se leen:

MarcaQué dice
(B1)La bodega de donde salió el artículo.
(G13)El porcentaje de IVA con que se cobró esa línea.
(D2.5%)El porcentaje de descuento que se le aplicó a esa línea. Solo sale si la línea lleva descuento.
El descuento ahora se imprime con decimales Antes el porcentaje de descuento se imprimía redondeado a número entero: un 2.5 % salía como (D3%) y el cliente reclamaba que le estaban cobrando distinto de lo pactado. El monto rebajado siempre estuvo bien; lo que mentía era el rótulo. Ahora se imprime el porcentaje tal cual es —(D2.5%), (D7.25%)— y si el descuento es un número redondo se sigue viendo corto: (D10%). Vale igual para la vista en pantalla, el PDF, la proforma que se comparte y las pantallas del celular.

Modal "Imprimir cotización" — Texto vs Con Imágenes NUEVO

El botón Imprimir en la ficha Documento del panel principal abre un modal (código MV-PRT) con dos opciones para visualizar la cotización en pantalla:

OpciónDescripciónArchivo
TEXTO Vista clásica sin imágenes — más compacta, ideal para impresión rápida o envío por email ver_cotizacion_desktop.php
CON IMÁGENES Incluye una columna "Foto" al inicio de cada artículo. Útil cuando el cliente necesita identificar visualmente los productos cotizados ver_cotizacion_desktop_imagenes.php
Código del artículo en la vista TEXTO La cotización en formato TEXTO muestra el código del artículo en una columna propia, entre Cant y Descripción, con el mismo tamaño de letra que la cantidad para que sea fácil de leer.
Imágenes de artículos Las imágenes se cargan desde /img/{empresa}/articulos/{codigo}.png. Subirlas desde Inventarios → Editar artículo. Si un artículo no tiene imagen subida, aparece un placeholder gris en su lugar.
Copias En el modal de impresión puede seleccionar la cantidad de copias. El valor se guarda en localStorage para futuras impresiones.
Facturas a crédito sin "vuelto" En el tiquete POS de una factura a crédito ya no se imprimen las líneas PAGA CON ni Vuelto, porque en crédito no hay pago en efectivo al momento. Las facturas de contado siguen mostrando el vuelto normalmente.

Cálculo de totales en reportes FIX 2026-04-28

Los reportes ahora calculan VENTA BRUTA y SUB TOTAL desde las líneas individuales (no desde campos cabecera) para mayor precisión:

TotalFórmula
VENTA BRUTAΣ (ArticuloVenta × ArticuloCantidad) — precio unitario × cantidad, ANTES de descuento
DESCUENTOΣ ArticuloDescuentoMonto
SUB TOTALΣ (Gravado + Exonerado + Exento) — DESPUÉS de descuento, sin IVA
TOTAL IVASuma de IVA por línea
TOTALSUB TOTAL + TOTAL IVA − IVA DEVUELTO

Aplicado en: ver_cotizacion_desktop.php, ver_cotizacion_desktop_imagenes.php, ver_factura_desktop.php, correos de cotización (HTML + PDF) y correos de factura (HTML + PDF).

Enviar correo

Envía la cotización por correo electrónico al cliente. Desde el botón PROCESAR → Enviar Correo.

  • Se adjunta el PDF de la cotización
  • Se envía al email registrado del cliente
  • Opcionalmente copia al emisor (parámetro 74)
  • Opcionalmente copia al agente de ventas (parámetro 318)

Envío automático de la factura al cliente

Cuando convertís una cotización en factura, el envío del PDF al cliente depende de si la empresa usa factura electrónica o no:

  • Empresas con factura electrónica: el correo con la factura (PDF + XML firmado + XML de respuesta) se envía automáticamente después, cuando Hacienda acepta o rechaza el documento. No hay que hacer nada manual.
  • Empresas sin factura electrónica (régimen tradicional/simplificado, sin envío a Hacienda): el PDF de la factura se envía al cliente de una vez, en el momento de facturar. Antes esto solo pasaba con envío manual; ahora es automático.

En ambos casos el correo va al EmailFactura del cliente; si está marcado, se agrega copia al agente de ventas (parámetro 318) y al email de respaldo (parámetro 149). A los clientes genéricos (SN) no se les envía. Si el cliente no tiene email registrado, no se envía nada.

Compartir y exportar

Opciones disponibles en el botón PROCESAR:

OpciónDescripción
CompartirComparte el PDF con las aplicaciones del equipo, o lo descarga
WhatsApp ClienteAbre su WhatsApp con el detalle escrito, listo para que usted lo revise y lo mande
WhatsApp AgenteLo mismo, pero dirigido al agente de ventas del documento
Enviar WhatsAppSe la manda al cliente de una vez, con el PDF adjunto, desde el número de WhatsApp de la empresa
Exportar ExcelDescarga archivo Excel con el detalle
Exportar XMLDescarga archivo XML con la estructura del documento

Los dos WhatsApp: cuál usar

Hay dos formas de mandar la cotización por WhatsApp y hacen cosas distintas:

  • El mensaje dice el nombre del cliente, el número y el monto, y cómo pagar: el SINPE y las cuentas de banco tal como están en Cuenta bancarias 1 a 4 (parámetros 133, 134, 135 y 336, los mismos que salen en el PDF), y que en el detalle del pago ponga CTA pegado a su código de cliente, sin espacio (por ejemplo CTA54). Si el número de SINPE o una cuenta cambia, se corrige ahí y sale bien en el PDF y en el WhatsApp. Desde octubre 2026 el mensaje abre esa parte con el aviso «Al pagar, escriba esto en el detalle» y el detalle que le toca a ese cliente, y debajo explica por pasos cómo pagar por SINPE y cómo pagar por transferencia. El correo de la factura y de la cotización trae lo mismo, en recuadros al final del mensaje.
  • WhatsApp Cliente / WhatsApp Agente — abren su WhatsApp (el del vendedor, en esta computadora o en su teléfono) con el detalle ya escrito. Usted lo puede cambiar antes de enviarlo, pero le toca darle enviar a mano y no lleva el PDF adjunto.
  • Enviar WhatsApp — lo manda el sistema, desde el número de WhatsApp de la empresa, con el PDF de la cotización adjunto y el enlace para que el cliente haga el pedido en línea. Usted no tiene que hacer nada más: se pone en cola y sale en menos de un minuto.
Qué se le pide antes de mandarlo. Al presionar Enviar WhatsApp el sistema le muestra el nombre del cliente y el número al que va a salir, y le pide confirmar. Se manda al teléfono del cliente tal como está registrado en su ficha: si está equivocado, corríjalo primero en el cliente.
Si el botón le dice que la empresa no tiene WhatsApp vinculado, es porque todavía no se ha conectado el teléfono de la empresa. Se hace una sola vez, en Configuración → Configurar WhatsApp, escaneando el código con el celular de la empresa. Mientras tanto puede usar WhatsApp Cliente, que sale de su propio número.
Dos detalles que conviene saber:
  • Si la cotización todavía no estaba guardada con número, al enviarla se le asigna el número y queda registrada como cotización, igual que cuando se manda por correo.
  • A los clientes genéricos (SN) no se les manda nada: no tienen un teléfono propio a dónde enviarlo.
  • Puede volver a mandar la misma cotización las veces que quiera, aunque la anterior todavía esté en camino: antes de cada envío el sistema le pide confirmar.

Hacer una proforma y entregársela al cliente

Proforma y cotización son lo mismo. En FactuPOS el documento se llama cotización, pero es exactamente lo que usted conoce como factura proforma: el papel con precios que se le entrega al cliente antes de facturarle. No existe un módulo aparte llamado «Proforma»: se hace desde Facturas.

Paso a paso

  1. Entre a Facturas (FactuDesk, FD-001).
  2. Escoja el cliente.
  3. Agregue las líneas (los artículos con su cantidad y precio), igual que para una factura.
  4. Presione PROCESAR (MP-001).
  5. En el cuadro Imprimir y Correo elija cómo se la entrega:
    • Imprimir — abre los formatos (MC-010): Cotización Completa o Simple para la impresora, y Pantalla Completa o Simple para verla en pantalla e imprimirla desde el navegador.
    • Correo — se la manda al correo del cliente.

En el cuadro Compartir y Exportar del mismo PROCESAR también están Enviar WhatsApp (se la manda al cliente con el PDF, desde el número de la empresa), WhatsApp Cliente, Compartir, Excel y XML — ver Compartir y exportar.

No hay que facturar para entregar una proforma. Mientras sea cotización no se envía nada a Hacienda, no lleva consecutivo de factura y no rebaja el inventario. Esos tres pasos ocurren solo cuando usted procesa Factura Contado o Factura Crédito.

Después de entregarla

  • Para retomarla — botón Abrir, pestaña Cotizaciones (ver Abrir cotización).
  • Para convertirla en factura — se abre y se procesa como Factura Contado o Factura Crédito. No hay que digitarla de nuevo.
  • Si le pidieron cambios — ábrala, corrija las líneas y vuelva a imprimir o enviar. Es el mismo documento.
No la elimine para «limpiarla». Borrar una cotización es definitivo y no hay papelera — ver Eliminar una cotización. Si ya no la va a usar, simplemente déjela ahí: una cotización sin facturar no afecta nada.

Guardar cotización

El documento se guarda automáticamente conforme agrega líneas. Sin embargo, puede usar el botón Guardar de la barra de herramientas para:

  • Asegurar que todos los cambios estén persistidos
  • Generar un número de cotización definitivo
  • Permitir que otros usuarios puedan abrir el documento

Abrir cotización

Presione el botón Abrir de la barra de herramientas para recuperar una cotización guardada.

Las tres pestañas

Arriba del listado hay tres pestañas, con la cantidad de documentos de cada una:

  • Cotizaciones — las que están vivas, para retomar o facturar.
  • Pedidos — los que enviaron los vendedores, separados en pendientes, procesados y anulados.
  • Histórico — las ya facturadas. Son de consulta: al elegir una, el sistema le ofrece clonarla, no la reabre.

Filtros disponibles

  • Desde / Hasta — rango de fechas.
  • Código — número de documento o código de cliente.
  • Cliente — nombre, nombre comercial, teléfono o dirección.
  • Artículo — código o nombre de un artículo. Deja en la lista solo los documentos que lo tengan adentro. Es una función adicional: si no está habilitada para su empresa, la casilla se ve gris (ver más abajo).
  • Monto >, Agente, Usuario y Orden.

Si no aparece una cotización que acaba de guardar ACTUALIZADO

La ventana abre siempre con un rango de fechas puesto: del mes pasado a hoy. Lo primero que conviene revisar cuando un documento «no aparece» es ese rango, porque una cotización fuera de las fechas no se muestra, aunque esté perfectamente guardada. Si busca por número y no sale, el sistema se lo dice y le ofrece el botón «Buscarlo en todas las fechas».

El hoy de ese rango lo pone el sistema, no la computadora: así, lo que se guarda durante el día siempre queda dentro del rango con que abre la ventana.

Cuando la fecha y hora del equipo están mal Si el reloj de la computadora está corrido respecto al sistema, la ventana se lo avisa arriba del listado y le dice cuánto (por ejemplo, «atrasado 16 horas»), con un botón para ver hasta la fecha del sistema. Es un aviso que conviene atender: con el reloj mal, otras pantallas que trabajan con fechas también pueden mostrarle un rango que no es el del día. Corrija la fecha y hora del equipo en Windows y el aviso desaparece solo.

Buscar por cualquiera de los números del recorrido NUEVO

Cuando un documento viene de un pedido de vendedor, el número que el cliente tiene en la mano casi nunca es el que hay que facturar: se le entregó una proforma, esa pasó a pedido, y de ahí salió otra proforma.

La casilla Código busca en todo ese recorrido. Escriba el número que tenga —la proforma que recibió el cliente, el número de pedido o el de la proforma nueva— y el documento aparece igual. No hace falta saber cuál de los tres es.

«No aparece acá, pero sí en otra pestaña» La búsqueda trabaja sobre la pestaña en la que usted esté parado: son tres listas distintas. Si escribe un número y la lista sale vacía, el sistema revisa solo las otras dos y se lo dice: «Con 1015 no hay nada en Cotizaciones, pero sí hay 2 en Histórico», con un botón para saltar directo. Así un documento ya facturado, o que todavía es pedido, no se le pierde.

Columna «Viene de» NUEVO

Al lado de cada documento se lee de dónde salió: por ejemplo «Pedido 35 · Prof. 1015». Así quien factura sabe qué tiene en la mano sin abrir nada.

La columna aparece sola cuando hay algo que mostrar: si ningún documento de la lista viene de un pedido, no ocupa lugar. El color distingue las dos formas de llegar: la proforma creada al abrir el pedido completo, y la creada con los pendientes que habían quedado faltando.

Buscar por artículo: en cuáles cotizaciones está NUEVO

Los demás filtros preguntan de quién es el documento o cuál es. La casilla Artículo pregunta por lo que el documento tiene adentro: escriba el código o parte del nombre de un artículo y la lista deja solo las cotizaciones que lo llevan en alguna de sus líneas.

Sirve sobre todo cuando está revisando el inventario y necesita saber qué hay comprometido en las cotizaciones que armaron los mecánicos o los vendedores, sin tener que abrirlas una por una.

La columna «Artículo»

Al buscar aparece una columna nueva que muestra, en cada fila, cuánto hay de ese artículo en ese documento y cuál es. Por ejemplo «3 × 008-BOMBA — BOMBA DE GASOLINA XTZ 250». La columna se dibuja solo cuando busca un artículo; el resto del tiempo no ocupa lugar.

  • Si en una misma cotización el artículo aparece en varias líneas, la cantidad ya viene sumada.
  • Si su búsqueda coincide con varios artículos distintos dentro del mismo documento (por ejemplo escribió «aceite» y esa cotización lleva tres aceites), se muestra el de mayor cantidad y al lado una marca +2. Pase el mouse por encima para ver el detalle.

La búsqueda funciona en las tres pestañas: Cotizaciones, Pedidos e Histórico. Y respeta el rango de fechas: si no aparece lo que espera, revise el Desde / Hasta — el sistema se lo avisa y le ofrece buscar en todas las fechas de un clic.

Una cotización no aparta mercadería Esta búsqueda le dice en qué cotizaciones quedó anotado un artículo. No es mercadería reservada: la existencia sigue disponible para vender hasta que la cotización se facture.

Si la casilla «Artículo» se ve gris

Es una función adicional y no viene habilitada por omisión. Cuando su empresa no la tiene activa, la casilla se muestra en gris con un candado —a propósito, para que sepa que la función existe— y no deja escribir.

La habilitación es una decisión administrativa: no la abre el administrador de su empresa ni depende de un permiso de usuario. Si le interesa tenerla, plantéelo a su gerencia, que es quien hace la solicitud.

Mientras tanto la ventana funciona igual que siempre con el resto de los filtros: fechas, código, cliente, monto, agente, usuario y orden.

Columnas ACTUALIZADO

El listado muestra dos columnas para identificar al cliente:

  • N. Comercial (italic gris) — nombre comercial registrado en el catálogo de clientes (Clientes.ClienteNombreComercial)
  • Nombre Cot. (bold) — nombre manual escrito en la cotización (ProformaMadre.ClienteNombre) — es el dato editable e identificativo

Para clientes genéricos (SN, 0) que no tienen registro en el catálogo, la columna N. Comercial muestra el mismo nombre manual de la cotización para evitar quedar vacía.

Ordenamiento

Haga clic en las columnas (Número, Fecha, N. Comercial, Nombre Cot., Total, Usuario) para ordenar. La fecha ordena por defecto de más reciente a más antigua.

Exportar e imprimir listado

Al lado del botón Buscar aparecen dos botones adicionales:

  • Excel — Descarga un archivo .xlsx con los resultados filtrados. Columnas: Número, Fecha, Cliente ID, Cliente Nombre, Total, Moneda, Usuario, Agente, Estado, Líneas. Si buscó por artículo, se agregan Artículo, Descripción y Cantidad, y el pie trae el total de unidades.
  • Imprimir — Abre una vista imprimible con los filtros aplicados, totales y tabla de cotizaciones. Si buscó por artículo, el impreso lo dice en el subtítulo y lleva la columna con la cantidad.

De las cotizaciones a una orden de compra NUEVO

Cuando varias cotizaciones o pedidos llevan artículos que hay que conseguir, no hace falta abrirlos uno por uno ni sumar a mano. Desde esta misma ventana se juntan y se convierten en una orden de compra para el proveedor.

  1. En la pestaña Cotizaciones o Pedidos, marque con la casilla de la izquierda los documentos que quiere juntar. Se puede marcar también una cotización que está en Cajas.
  2. Presione el botón morado Compra, que muestra entre paréntesis cuántos documentos marcó. Se abre la ventana Pedir a proveedor (MV-022).
  3. Ahí aparece un renglón por artículo, con lo que suman todos los documentos marcados:
    • Cotizado — la cantidad total de ese artículo en los documentos.
    • Stock — lo que hay hoy en las bodegas de las que se cotizó.
    • Faltante — lo cotizado menos el stock. Si el stock alcanza, sale un 0 con un visto verde.
    • Pedir — lo que se le va a pedir al proveedor. Viene con el faltante y usted lo puede cambiar. Con Enter pasa a la línea siguiente. En 0 no se pide.
    • Costo y Subtotal — con el costo del catálogo, sin IVA. Abajo se va sumando el total.
    • Últ. proveedor — a quién se le compró la última vez (o el proveedor de la ficha). Haga clic en el nombre para usarlo en la orden.
    • Documentos — en cuáles cotizaciones o pedidos está.
  4. Arriba, en Proveedor, escriba el código o el nombre y elíjalo de la lista. El sistema lo propone solo con el proveedor al que más artículos le compró la última vez.
  5. Presione Generar orden de compra. La orden se crea en borrador y el sistema le ofrece abrirla en otra pestaña, en Compras → Órdenes de Compra, para revisarla, ajustar costos y enviarla al proveedor.

La lista también sale en Imprimir y Excel, con las cantidades tal como las dejó en «Pedir». Sirve como reporte para pasárselo a quien compra.

Lo que el sistema cuida por usted
  • Los servicios no aparecen: un servicio no se le compra a un proveedor.
  • Un artículo que está en la lista de exclusiones de compra aparece marcado en amarillo y con «Pedir» en 0. Si de verdad lo necesita, escriba la cantidad: antes de crear la orden el sistema le vuelve a avisar.
  • Si marca un pedido y también la cotización que salió de ese pedido, no se cuenta dos veces: el sistema suma solo la cotización y se lo dice.
  • Se trabaja con los documentos marcados en una pestaña a la vez. El Histórico no se usa, porque eso ya se facturó.
  • Cada orden es para un solo proveedor. Si los artículos van a proveedores distintos, ponga en 0 lo que no es de ese proveedor, genere la orden y repita con el siguiente.
Permiso 574: Órdenes de compra El botón Compra necesita el mismo permiso con el que se crean órdenes en Compras. Sin él, el botón se ve gris y, al pasar el mouse, dice qué permiso falta.
Permiso 069: Ver cotizaciones de otros Sin este permiso, solo puede ver sus propias cotizaciones. Con el permiso, puede ver y recuperar cotizaciones de cualquier usuario.

Eliminar una cotización (y qué queda de ella)

En la ventana de Abrir, al marcar la casilla de una o varias cotizaciones aparece el botón Eliminar. Requiere el permiso 060 y solo funciona con cotizaciones en estado Borrador o Guardada: una que ya se facturó no se puede eliminar.

Eliminar es DEFINITIVO: no hay papelera Al eliminar, la cotización se borra de verdad —cabecera, líneas y medios de pago—. No queda guardada en ningún lado del sistema y no hay una pantalla de «eliminadas» para volver a verla ni un botón de deshacer. Se puede volver a armar desde la Bitácora (ver abajo), pero no siempre queda completa: antes de eliminar, imprima o exporte la cotización si cree que la va a necesitar.

Lo que sí queda: el registro en la Bitácora

Cada eliminación deja un renglón en Seguridad → Bitácora (permiso 911) que dice «Eliminó cotización #…», con el número de la cotización, quién la eliminó y la fecha y hora exactas. Busque ahí escribiendo Eliminó cotización, o el número si lo tiene.

Ese renglón dice qué pasó con un número que ya no aparece en el listado. El contenido no está en ese renglón, pero sí en los demás renglones de la misma cotización (cada artículo agregado, editado o quitado).

Volver a armarla: botón Reconstruir de la Bitácora En Seguridad → Bitácora, el botón Reconstruir toma el número de la cotización eliminada, repasa su historia y la guarda como una cotización nueva, con la fecha original y el nombre del cliente seguido de (Recuperado desde #número). Ver Reconstruir una cotización eliminada.
Si el botón Reconstruir no alcanza El sistema respalda la base de datos todas las noches. Escríbale a Soporte Real con el número de la cotización (el que aparece en la Bitácora) y la fecha aproximada en que se eliminó, y se revisa si todavía está en un respaldo para recuperarle el detalle. Cuanto antes avise, más probable es lograrlo.

Cómo evitar tener que recuperarla

  • Si la duda es si se va a usar, no la elimine. Una cotización guardada no estorba: se filtra por fecha, cliente o monto y no afecta inventario ni contabilidad.
  • Imprima o exporte antes de eliminar. Desde la misma ventana de Abrir están los botones Excel e Imprimir del listado.
  • Controle quién puede eliminar. El permiso 060 se asigna por usuario en Seguridad → Permisos; quitándolo, ese usuario ve las cotizaciones pero no puede borrarlas.

Pedidos en línea y comprobante de pago NUEVO

Los pedidos que sus clientes hacen desde la tienda en línea (ecommerce) llegan al sistema como pedidos y se ven en el módulo Facturación → Pedidos en línea (requiere el permiso 115). Desde ahí, con doble clic en un pedido se abre en FactuDesk para revisarlo y convertirlo en factura.

Comprobante de pago (SINPE / transferencia)

Si el cliente pagó por SINPE Móvil o transferencia, al hacer el pedido puede adjuntar el número de comprobante y una imagen del pago. Ese comprobante se ve en dos momentos:

  • En la lista de “Pedidos en línea” — una columna Comprobante muestra el número de SINPE y un enlace para abrir la imagen del pago.
  • Al abrir el pedido en Facturación — aparece un banner verde en la parte superior con el texto “Comprobante de pago (SINPE/transferencia): N° …” y un botón Ver comprobante que abre la imagen en una pestaña nueva.
Recomendación Verifique que el pago realmente ingresó (revisando la imagen y su cuenta SINPE) antes de facturar el pedido. Si el pedido no trae comprobante adjunto, la columna muestra “—” y el banner no aparece.
Disponibilidad El comprobante se guarda en la tabla ProformaComprobantePago y la imagen en /img/{empresa}/comprobantes/. Si su empresa aún no tiene activada esta función, el sistema sigue funcionando igual: el pedido se ve normal, solo sin la columna de comprobante.

De dónde viene este documento NUEVO

Cuando el documento que abre salió de un pedido de vendedor, arriba de las líneas aparece una franja azul que dice el recorrido completo:

Proforma 1035 ← Pedido 35 ← Proforma 1015

Se lee de izquierda a derecha, del documento que tiene en pantalla hacia atrás: la proforma 1035 salió del pedido 35, que a su vez salió de la proforma 1015. La 1015 es la que el cliente recibió y por la que va a preguntar; la 1035 es la que usted tiene que facturar.

Los dos tipos de escala

  • Pedido 35 (azul) — el pedido se abrió completo y de ahí salió esta proforma.
  • Pedido 35 (pendientes) (ámbar) — esta proforma se armó con lo que había quedado faltando de ese pedido, desde Ventas › Pedido vs Facturado.

Pase el puntero por encima de cada escala para ver la explicación.

Recorridos de más de una escala Si de un pedido quedaron pendientes que después volvieron a pasar por otro pedido, la franja los muestra todos, uno tras otro. No hay que ir a buscar cada número por separado.
Se puede cerrar La × del extremo derecho oculta la franja para ese documento. Vuelve a aparecer cuando abra otro que también venga de un pedido. Si el documento no viene de ningún pedido, la franja simplemente no sale.

Historial del cliente

Desde el panel de cliente > botón Historial, puede consultar las últimas compras del cliente seleccionado.

  • Muestra las últimas 1,000 líneas de compra
  • Filtros por fecha, categoría y monto
  • Agrupamiento por categoría (toggle)
  • Doble clic para agregar un artículo al documento actual con el precio sugerido
  • Exportación a Excel y PDF

Modo código de barras

El checkbox "Código de barras" en el panel de documento controla el comportamiento al agregar artículos repetidos:

ModoArtículo repetido
ActivadoSuma la cantidad a la línea existente del mismo artículo
DesactivadoCrea una nueva línea independiente (permite mismo código varias veces)
Uso con escáner Active este modo cuando use un escáner de códigos de barras. Cada escaneo sumará +1 a la cantidad del artículo. Desactívelo si necesita varias líneas del mismo artículo con diferentes precios o bodegas.

Compuestos manuales

Permite agregar artículos compuestos (kits o paquetes) que contienen múltiples componentes. Requiere permiso 119.

Cómo usar

  1. Agregue el artículo principal al documento
  2. Abra la pestaña "Compuestos" en el panel lateral
  3. Busque y agregue los artículos componentes
  4. Ajuste las cantidades de cada componente
Tabla VentaHijaCompuesto Los componentes se guardan en la tabla VentaHijaCompuesto al facturar, vinculados a la línea principal.

Exoneraciones: los tres caminos

Exonerar es facturarle a un cliente con menos impuesto (o sin impuesto) porque la ley se lo permite. En FactuDesk hay tres caminos distintos, y conviene no confundirlos porque se configuran y se aplican diferente:

Por documento de exoneración

El cliente tiene una autorización (DGT, zona franca, misión diplomática, institución). Se le baja el impuesto a los productos que esa autorización cubre, y se decide por CABYS.

MAG (agropecuaria)

Productores inscritos ante el Ministerio de Agricultura: el impuesto del 13 % baja al 1 %. Depende de la condición del comprador, no del producto.

Pesca / INCOPESCA

Registro de pescadores. En FactuDesk se consulta la vigencia del cliente ante Hacienda.

 Por documentoMAG
De qué dependeDe una autorización con lista de productosDe que el cliente sea productor inscrito
¿Mira el CABYS?Sí, línea por líneaNo
Qué le hace al impuestoLo rebaja según el porcentaje autorizadoLo baja de 13 % a 1 %
Dónde se configuraFicha del cliente → pestaña ExonerarNo se configura: se consulta a Hacienda
La exoneración se aplica ANTES de cobrar Se exonera sobre el documento que está en pantalla. Una vez facturado, para corregir hay que hacer nota de crédito y volver a facturar. Y lo que quede exonerado es lo que va al comprobante electrónico: es responsabilidad del negocio que la autorización del cliente sea real y esté vigente.

Exoneración MAG (agropecuaria)

Los productores agropecuarios inscritos ante el MAG tienen derecho a comprar sus insumos con un impuesto del 1 % en lugar del 13 %. No es un descuento sobre el precio: es una tarifa de impuesto distinta, autorizada por ley.

Cómo funciona por dentro

Conviene entenderlo porque explica todo lo demás:

PasoQué hace el sistema
1. Pregunta a Hacienda Con la cédula del cliente, FactuPOS consulta en línea el registro agropecuario de Hacienda. No es un dato que se digite ni que dependa de la memoria de nadie: lo responde Hacienda en el momento.
2. Guarda la respuesta El resultado (activo o no, con su fecha) queda guardado en la ficha del cliente. Por eso, la próxima vez el distintivo MAG aparece de una en el panel del cliente, sin volver a consultar.
3. Cambia la tarifa de las líneas Al aplicarlo, cada línea que tenga 13 % pasa a la tarifa del 1 %. El precio del artículo no cambia: lo que cambia es el impuesto que se le cobra encima.
4. Va así a la factura electrónica La línea se reporta a Hacienda con esa tarifa reducida. Es decir, queda documentado que esa venta se hizo al 1 % — de ahí que el registro del productor tenga que estar realmente vigente.
Qué cambia en la plata Un artículo de ₡10.000 con 13 % se le cobra al cliente en ₡11.300. Con MAG aplicado, el mismo artículo se le cobra en ₡10.100: el precio sigue siendo ₡10.000 y el impuesto baja de ₡1.300 a ₡100. En la grilla lo ve directo: la columna %IVA pasa de 13 a 1 y el TOTAL de la línea baja.

Cómo aplicarla, paso a paso

  1. Cargue el cliente (tiene que ser un cliente del catálogo con cédula, no el genérico) y agregue las líneas.
  2. Abra Opciones → pestaña MAG. Arriba se ve el nombre y la cédula con la que se va a consultar.
  3. Pulse Consultar. El sistema le pregunta a Hacienda y muestra el estado del productor y la fecha.
  4. Si está vigente, se habilita el botón Exonerar con MAG.
  5. Al pulsarlo, las líneas al 13 % pasan a 1 %, una por una, mostrando el avance.
  6. Revise la grilla: las líneas cambiadas quedan con %IVA 1. Ya puede cobrar.

Qué toca y qué no toca

LíneaQué le pasa
Con 13 %Pasa a 1 %
Exenta, al 1 %, al 2 % o al 4 %Queda igual — ya tiene un trato especial
Agregada después de aplicar el MAGEntra con su tarifa normal: hay que volver a aplicar el MAG

Si el documento no tiene ninguna línea al 13 %, el sistema avisa y no cambia nada.

Si el MAG no está vigente, el botón no se habilita Cuando Hacienda responde que el registro está vencido o que no existe, el botón queda apagado y sale el aviso de MAG no vigente. No es una falla del sistema: es que ese cliente hoy no puede comprar con tarifa reducida. El distintivo MAG del panel del cliente muestra el estado y la fecha de vencimiento.
Por qué conviene consultar cada vez El registro agropecuario vence. Aplicar la tarifa del 1 % a un productor cuyo registro ya caducó deja una factura electrónica mal tarifada, y el problema es del que factura, no del cliente. La consulta toma dos segundos y queda registrada con su fecha.
MAG no es lo mismo que la exoneración por documento El MAG baja la tarifa por la condición del comprador (es productor agropecuario) y no revisa CABYS. La exoneración por documento depende de una autorización con lista de productos y sí revisa el CABYS de cada línea. Son caminos distintos y no se mezclan en la misma línea.

Pesca / INCOPESCA

En Opciones → pestaña Pesca se consulta ante Hacienda si el cliente está en el registro de pesca. La pantalla muestra el estado (Vigente o no), el nombre, la fuente, la fecha de alta y la de vencimiento, y la fecha de la última consulta.

En el panel del cliente aparece el distintivo PESCA cuando el cliente tiene registro: azul si está vigente, rojo si venció.

Es una consulta de respaldo Sirve para confirmar la condición del cliente antes de facturarle con el trato que corresponda. La rebaja de impuesto se aplica por el camino que corresponda a su caso (documento de exoneración o MAG).

Exoneración por documento del cliente

Es el caso más común: el cliente tiene una autorización de exoneración (orden de compra autorizada de la DGT, zona franca, misión diplomática, institución del Estado…) y puede comprar ciertos productos con el impuesto rebajado o en cero.

Antes de facturar: configurarlo en el cliente

La autorización no se digita en la factura: vive en la ficha del cliente, pestaña Exonerar. Ahí se registra, por cada autorización:

DatoQué es
Tipo de documentoQué clase de exoneración es (compras autorizadas DGT, zona franca, diplomáticos, etc.)
Número de documentoEl número de la autorización — es el que sale en la factura electrónica
Institución que la emitióQuién autorizó
Fecha de emisión y de vencimientoLa vigencia de la autorización
Porcentaje de exoneraciónCuánto del impuesto se perdona
Artículo e incisoLa base legal, cuando aplica
Lista de CABYSQué productos cubre esa autorización (uno o muchos códigos CABYS)
Un cliente puede tener VARIAS autorizaciones Y cada una con su propia lista de productos. En una misma factura pueden quedar líneas exoneradas con autorizaciones distintas: el sistema le pone a cada artículo la que le corresponde según su CABYS. No hay que facturar por separado.

Cómo aplicarla, paso a paso

  1. Cargue el cliente y agregue todas las líneas.
  2. Abra Opciones → pestaña Exonerar.
  3. Se abre la lista de las líneas del documento, y cada una viene marcada:
    • ✓ verde — el CABYS del artículo está cubierto. En la columna Cód. Exo se ve con cuál autorización va a quedar.
    • ✗ rojo — ese producto no está en ninguna autorización del cliente: queda gravado (se factura con su impuesto normal).
  4. Confirme. El sistema procesa línea por línea, cada una con su autorización, y recalcula los totales.
¿Y si un producto está en dos autorizaciones? Gana la que vence más tarde (la más vigente). Que una esté marcada como predeterminada ya no manda: lo que decide es el CABYS de cada artículo.
Todo depende del CABYS Si un artículo no tiene CABYS o lo tiene mal puesto, nunca va a poder exonerarse, por más que el cliente tenga la autorización. Cuando una línea sale en rojo y el cliente insiste en que sí está cubierta, lo primero que hay que revisar es el CABYS del artículo en su ficha.

La ventana «Aplicar Exoneración», columna por columna

Arriba muestra el número del documento y un contador del tipo «1 de 7 línea(s)»: cuántas se van a exonerar de cuántas hay. Entre paréntesis, en rojo, cuántas no están cubiertas por la exoneración del cliente.

ColumnaQué muestra
# · Código · ArtículoLa línea del documento
CABYSEl código del artículo. Es el que se compara contra la lista de la autorización
Exo?✓ verde = cubierta, se va a exonerar · ✗ rojo = no cubierta, se factura con impuesto
Cód. ExoCon cuál autorización va a quedar esa línea (por ejemplo AL-00003053-25). Un guion significa que no le tocó ninguna
IVA%La tarifa que tiene hoy la línea
Ya exoneradoSi la línea ya venía exonerada de antes
EstadoCómo va el proceso al confirmar: pendiente, procesando, listo u omitido
Que diga «no cubierta» no significa que al artículo le falte el CABYS En la mayoría de los casos el artículo sí tiene CABYS — lo que pasa es que ese CABYS no está en la lista de la autorización del cliente. Ejemplo real: de 7 líneas, 6 tienen CABYS y aun así solo una se exonera, porque solo esa está incluida en la autorización AL-…. Antes de mover el artículo, revise la pestaña Exonerar del cliente: es ahí donde se agrega el CABYS que falta.

La validación no es igual para todos los tipos

Tipo de exoneraciónCómo la trata el sistema
Compras autorizadas por la DGT (tipo 01)Valida estrictamente por CABYS: solo exonera los productos que estén en la lista de la autorización
Los demás tipos (zona franca, diplomáticos, instituciones…)No se valida el CABYS: se aplica según lo configurado en la autorización

Ver cómo quedó

El botón Ver Exoneración muestra, línea por línea, con cuál autorización quedó cada artículo y cuánto impuesto se rebajó. Conviene revisarlo antes de cobrar, sobre todo en facturas grandes.

Quitar la exoneración

Opciones → Quitar Exo. Muestra las líneas que quedaron exoneradas y, al confirmar, las devuelve a su impuesto normal.

Lo que se ve es lo que va a Hacienda La autorización que el sistema le asignó a cada línea queda guardada y es exactamente la que se reporta en el comprobante electrónico. Al convertir la cotización en factura, esos datos se arrastran solos: no hay que volver a exonerar.

Avisos frecuentes

Lo que pasaQué significa
Todas las líneas salen en rojoEl cliente no tiene autorizaciones registradas, o ninguna cubre esos productos. Revise la pestaña Exonerar de su ficha.
Unas líneas sí y otras noEs lo normal: la autorización cubre ciertos productos. Las demás se facturan con impuesto.
La autorización está vencidaHay que actualizar el documento en la ficha del cliente; no se puede exonerar con una autorización vencida.
Se exoneró pero el total no cambióPuede que el porcentaje de exoneración configurado sea 0 o que las líneas ya estuvieran exentas.

Moneda extranjera

FactuPOS permite facturar en moneda distinta a la nacional (USD, EUR, etc.) con conversión automática a moneda local para el asiento contable.

Cambiar la moneda del documento

  1. En el Panel Documento, haga clic en el campo Moneda
  2. Seleccione la moneda deseada (USD, EUR, etc.)
  3. El sistema usa el tipo de cambio del Banco Central del día (se carga solo todos los días)
  4. Agregue los artículos normalmente — los precios se convierten a la moneda elegida

La conversión se hace una sola vez CAMBIO 2026-09-22

Un documento se puede pasar de colones a otra moneda una sola vez. Ya convertido, no se puede devolver a colones ni pasar a otra moneda: en el selector de moneda el botón de colones aparece en gris. Si hace falta el documento en colones, se hace uno nuevo.

¿Por qué? Porque cada ida y vuelta volvía a convertir los precios con el tipo de cambio de ese momento, y el documento terminaba con montos distintos a los originales.

Mientras el documento no tenga artículos, la moneda se cambia libremente, para un lado o para el otro CAMBIO 2026-09-24. Esto importa en las empresas cuya moneda predeterminada es el dólar: cada documento nuevo abre en dólares y, si el cliente va a pagar en colones, se pasa a colones primero y después se agregan los artículos. Con artículos ya cargados, aplica la regla de arriba.

El tipo de cambio del documento CAMBIO 2026-09-24

Un documento en una moneda distinta de la moneda nacional de la empresa (parámetro 249) lleva su tipo de cambio en el panel Impuestos, fila T.C..

  • De dónde sale: de la tabla de tipos de cambio de la empresa (Configuración › Catálogos › Tipo de cambio). El primer ingreso del día carga ahí el oficial del dólar y del euro, si todavía no estaba; la empresa lo puede cambiar a mano (por ejemplo, al de su banco).
  • Al abrir una proforma, si su tipo de cambio no es igual al de la tabla, aparece un aviso amarillo debajo de la fila T.C. con el «T.C. del día» CAMBIO 2026-10-01. Es solo informativo: no detiene el trabajo ni hay que aceptar nada, y la proforma se queda con el tipo de cambio que tenía. Si quiere pasarla al del día, toque Usar en ese mismo aviso (permiso 813): el tipo de cambio pasa al de la tabla y los montos se recalculan. El aviso desaparece solo cuando los dos tipos de cambio coinciden.
  • Cambiarlo solo para esta proforma: doble clic sobre el T.C. (permiso 813), escriba el valor y Enter. Los montos en la moneda del documento se recalculan para que el equivalente en colones se mantenga. La tabla general no cambia.
  • Límite contra errores de digitación: el valor no puede alejarse más de un 50 % del tipo de cambio del día (o del que tiene el documento, si el del día no está).
  • Ese tipo de cambio es el que queda en la factura y el que va en el XML de Hacienda. Si no es el oficial del Banco Central, Hacienda podría objetarlo: es decisión de la empresa.

Pagos en moneda mixta

En el modal de pago de contado puede recibir efectivo en cualquier moneda configurada. El sistema siempre guarda el pago en la moneda del documento, convirtiendo el monto recibido si es necesario:

Factura enUsuario pagaSe registra
CRC (faltante 500)500 CRC500 CRC
CRC (faltante 500)50 USD (TC=498)500 CRC + vuelto 24.400 CRC
USD (faltante $10)$10 USD10 USD
USD (faltante $10)6.000 CRC (TC=500)10 USD + vuelto $2

Asiento contable

El asiento contable se registra siempre en moneda nacional. El sistema convierte usando el tipo de cambio del documento. Si aparece una diferencia de centavos por redondeo, agrega automáticamente una línea de ajuste con la cuenta del parámetro 83 (Caja efectivo).

Parámetro 249 — Moneda nacional La moneda nacional no está fija en CRC. Se define en el parámetro 249, permitiendo operar el sistema en otros países (Panamá = PAB, El Salvador = USD, etc.).
Parámetro 110 — Conversión USD visible Si el parámetro 110 = 1 y la factura está en moneda nacional, se muestra el equivalente en USD debajo del total, calculado con el tipo de cambio actual.

Saldo a favor del cliente

Los adelantos y saldos a favor del cliente se muestran en el Panel Crédito, línea Tiene:. Cuando es mayor a 0, el monto titila suavemente para llamar la atención del cajero.

Cliente genérico (SN): "Tiene:" siempre muestra 0 Las notas de crédito del cliente SN sí dejan saldo a favor, pero no se ven en el panel de crédito: se guardan aparte, por factura. Para verlos y retirarlos use Utils → Retiro Adelantos SN y busque la factura original (ver abajo).

Menú del saldo a favor

Haga clic sobre el monto de Tiene: para abrir el menú con estas opciones. Desde acá el saldo solo se consulta. Para usarlo como pago de una factura de contado: Utils → Retiro de saldo a favor y cobre la factura en Efectivo; a crédito (F8), aplíquelo desde CxC → Cuenta Detalle → Aplicar pago. Procedimiento completo: NC sobre factura de contado.

OpciónQué hace
Ver movimientosAbre el modal de movimientos de la cuenta de adelantos (últimos 5 años)
Imprimir saldoEmite un comprobante del saldo actual por impresora POS

Generar adelanto

Desde el botón Utils:

  • Adelanto Cliente — Registra un adelanto a favor. Requiere cliente con código y el permiso 267 — CxC: hacer adelantos de clientes.
  • Retiro de saldo a favor — Saca parte o todo el saldo a favor del cliente como salida de efectivo de la caja.
  • Retiro Adelantos SN — Caso especial para clientes sin código, abre el modal Saldos Notas de Crédito MV-040.

Aviso al cobrar de contado MFD-SAF

Si el cliente tiene saldo a favor y se le va a cobrar de contado (Procesar → Contado, F7 o los botones rápidos Efectivo, Tarjeta y SINPE), FactuDesk avisa antes de cobrar, con el saldo, el total de la factura y el documento que generó el saldo (por ejemplo «Nota de crédito #43 · 15/01/2020», hasta los 3 más recientes). Es para el caso más común: la factura nueva reemplaza a una que se anuló con nota de crédito, y si se cobra otra vez el cliente paga dos veces.

  • Retirar saldo y cobrar en efectivo — abre el retiro de saldo a favor y, al terminarlo, el cobro para cobrar en Efectivo.
  • Cobrar igual — el saldo es otra cosa (por ejemplo un adelanto); cobra normal y no vuelve a preguntar en esa factura.
  • Cancelar (o Esc) — no cobra.

No sale con el cliente SN ni en las facturas a crédito. Ver NC sobre factura de contado.

Modal Saldos Notas de Crédito MV-040

Ruta: Utils → Retiro Adelantos SN. Lista las facturas que generaron NC con saldo a favor disponible para clientes sin código (cuenta 2104SN, tabla SaldosAFavor).

  • Columnas: Factura (con el número de la nota de crédito debajo) · Cliente · Fecha · Movimientos · Caja · Saldo
  • Buscador por número de factura, número de nota de crédito o nombre de cliente
  • Tipo de devolución: Efectivo (param 83) o Tarjeta (param 84 — requiere número de comprobante de anulación del datáfono)
  • Saldo Requerido: monto a retirar. Se calcula automáticamente el Saldo a Retirar (mín. entre requerido y disponible)

Botones de acción

BotónAcción
Exportar ExcelCSV con todas las filas visibles (Nota Crédito, Caja, Usuario, Saldo, Moneda)
Imprimir SaldoImprime comprobante POS del saldo de la factura seleccionada, con detalle de movimientos (fecha + monto con signo) y saldo final
AceptarProcesa el retiro. Genera asiento contable (UDE), registra en SaldosAFavor, imprime comprobante contable y a continuación imprime el comprobante del saldo restante (incluso si queda en 0)
Doble impresión al retirar Al presionar Aceptar, la impresora emite dos tiquetes: (1) comprobante contable del movimiento UDE y (2) comprobante de saldo a favor con el detalle de movimientos. El cliente queda con constancia del retiro y del saldo que queda pendiente.

Cuenta contable del saldo a favor

La cuenta contable donde se registra el saldo a favor se construye concatenando la cuenta base (parámetro 89, por defecto 2104) con el código del cliente:

ClienteCuenta generadaNombre
1082104108Adelanto - {Nombre del cliente}
3120252104312025Adelanto - {Nombre del cliente}
SN (genérico)2104SNSaldo a Favor - Sin Cliente (SN)
Creación automática Si la cuenta no existe en el catálogo contable, se crea automáticamente al emitir la primera NC/ND o al hacer el primer retiro. No requiere configuración manual.
Cambio 2026-04-20 Antes, las NC con cliente genérico (SN) registraban el saldo directamente en caja. Ahora lo registran en 2104SN como un pasivo real. Esto permite hacer el Retiro Adelantos SN correctamente, cancelando el pasivo contra caja.
Documentación contable Los adelantos generan movimientos en la cuenta de saldos a favor del cliente. Todos los movimientos (ingresos, retiros, aplicaciones) quedan disponibles en "Ver movimientos".

Envío Express y Boletillas BO-001

Desde el botón PROCESAR → Envío Express, puede abrir el módulo de boletillas para gestionar envíos a domicilio / guías de transporte del día.

  • Pasa automáticamente el código y nombre del cliente actual (auto-abre el modal "Nueva Boletilla")
  • Funciona con cualquier cliente, incluyendo SN
  • Abre el módulo de boletillas en una nueva pestaña

Filtros del listado

Todos los filtros aplican auto-submit: al cambiar un valor la lista se recarga sola (los inputs de texto usan un debounce de 500ms, Enter también envía).

FiltroDescripción
Desde / HastaRango de fechas. Formato visible DD/MM/YYYY vía Flatpickr (independiente del idioma del navegador). Por defecto: mes actual.
EstadoPendiente (default) · Calle · Entregado · Todos. Nota: si no ve resultados al aplicar un filtro, revise que Estado no esté restringido a "Pendiente".
UsuarioFiltra por el cajero/usuario que creó la boletilla. Coincidencia exacta (aplica RTRIM para tolerar espacios).
AgenteFiltra por agente asignado. Incluye opción (sin agente) para ver boletillas sin asignar.
ClienteBusca por código o nombre de cliente (LIKE).
OrdenFecha descendente (default) / ascendente. Se recuerda en localStorage.

Estados

EstadoSignificado
Pendiente (0)Boletilla creada, aún sin salir a ruta.
Calle (1)El agente tiene la boletilla en ruta (con fecha/hora de Salida).
Entregado (2)Boletilla devuelta / entregada (con fecha/hora de Entrada).

Acciones masivas

Al marcar boletillas con los checkboxes aparece una barra azul con acciones:

  • Asignar Agente (MB-002) — asigna un agente a todas las seleccionadas y las pasa a estado Calle.
  • Marcar Entrada — registra hora de entrada y pasa a Entregado. Solo aplica a boletillas en estado "Calle".
  • Reset — limpia Agente a 59999, Estado a Pendiente y vacía Salida/Entrada. Útil para corregir errores.

Códigos del módulo

CódigoElemento
BO-001Listado principal de boletillas
MB-001Modal Crear / Editar Boletilla
MB-002Modal Asignar Agente (masivo)
MB-003Modal Buscar Cliente

Validación de monto alto

Cuando una línea supera los 5 millones de colones (cantidad x precio), el sistema muestra un modal de confirmación de seguridad.

Comportamiento

  1. Aparece un modal rojo cuando la línea supera el umbral al agregar un artículo desde la barra (también con lector de barras o desde el buscador), al sumar a un artículo que ya estaba en la factura, o al editar la línea: directo en la grilla (casillas CANT, PRECIO/UD o P.TOTAL) o en la ventana de edición del artículo (doble clic)
  2. Debe escribir la palabra "SI" (en mayúsculas) para confirmar
  3. Si cancela, no se guarda nada: el artículo nuevo no se agrega (el cursor queda en Cantidad para corregirla), la suma al artículo repetido no se hace, y si estaba editando la casilla vuelve al valor que tenía
  4. Si la línea llega a 85 millones o más, no se deja guardar
  5. Se envía una alerta por correo al email del parámetro 194
  6. Cambiar solo el %Desc no vuelve a pedir la confirmación
Protección contra errores Esta validación previene errores de digitación. Un artículo de 1,000 con cantidad 10,000 generaría una factura de 10 millones. El modal obliga a verificar antes de continuar.

Aviso de precio fuera de lo normal MFD-PRE

Viene apagado: se enciende con el parámetro 940 Este aviso solo funciona en las empresas que lo encienden (parámetro 940 = 1, en Configuración → Parámetros). Viene apagado porque a las empresas que venden por debajo del precio de lista a propósito les preguntaría en casi cada línea. Con el 940 apagado, el precio se escribe y se guarda sin ninguna pregunta.

Con el parámetro encendido, cuando cambia el precio de una línea directo en la grilla (casilla PRECIO/UD, o P.TOTAL, que recalcula el precio) y el precio nuevo queda muy lejos del normal, el sistema pregunta antes de guardarlo:

  • Muy alto: el precio nuevo es el doble o más del normal. Ej.: un artículo de ₡7.500 al que se le escribe ₡75.000 por un cero de más.
  • Muy bajo: el precio nuevo es la mitad o menos del normal. Ej.: ₡750 en vez de ₡7.500 por un número borrado.

El precio normal es el precio de lista del artículo en el nivel de precio de la línea. Si el artículo no tiene precio de lista, o no se puede consultar en ese momento, se compara contra el precio que tenía la línea.

Qué puede hacer

  1. Corregir el precio — es la opción que queda marcada. También se elige con Enter, Esc o haciendo clic afuera. La casilla vuelve al precio que tenía y queda lista para escribir el correcto.
  2. Sí, usar … — si el precio es correcto (una oferta, un precio especial), se guarda normalmente.
Es un aviso, no un bloqueo Quien tiene permiso para cambiar precios (024) puede usar el precio igual. Solo pide que se confirme para que un error de digitación no pase inadvertido en una factura con muchas líneas. Cambiar la cantidad o el %Desc no dispara este aviso.

Configuración de estación

La estación define los valores predeterminados para facturar. Acceda con el botón UTILS (a la izquierda de la pantalla) → pestaña Configuración → Configurar Estación. También se llega desde el menú principal, con el piñón → Configuración de la estación. Al guardar, la caja y la bodega del panel Vendedor se actualizan de una vez, sin cerrar FactuDesk ni perder el documento que tenga abierto.

CampoDescripción
OficinaSucursal o punto de venta
CajaNúmero de caja/terminal
BodegaBodega predeterminada para las líneas
Tipo de precioNivel de precio predeterminado (1-10)
Estación por sesión La estación se asigna al iniciar sesión y se libera al salir. Solo un usuario puede usar una estación a la vez.

Modal Buscar Artículo MBA-001

Modal principal de búsqueda y selección de artículos durante la facturación. Se abre con F2 o el botón de búsqueda. Permite filtrar por categoría, por stock y muestra precios y existencias en tiempo real.

Barra de búsqueda

  • Texto — busca por código, código de barras, nombre, descripción o serie.
  • Todas las categorías — combo para limitar a una categoría específica.
  • Solo stock — checkbox que filtra a artículos con existencia positiva.
  • Buscar / Agregar — ejecuta búsqueda o agrega el primer resultado al documento.

Cuando el buscador no muestra artículos

La pantalla del buscador dice por qué está vacía. Son cuatro mensajes distintos y no significan lo mismo:

Lo que dice la pantallaQué pasóQué hacer
Escribí el nombre o el código del artículoEl campo de búsqueda está vacío.Escribir al menos una letra o un número.
Sin resultadosSe consultó el catálogo y no hay ningún artículo que coincida con lo escrito.Probar con menos letras (el buscador encuentra por pedacitos de código, nombre, descripción interna y código de barras). Si aun así no sale, revisar en Inventario → Artículos que el artículo exista y esté activo: los artículos inactivos y eliminados no se pueden facturar y por eso no aparecen acá (los descontinuados sí aparecen, para terminar de vender lo que queda).
Sin resultados con existenciasHay artículos que coinciden, pero están en existencia cero y el check Solo con stock los esconde. Es lo que pasa con los artículos recién creados, que todavía no tienen entrada de inventario. No quiere decir que el artículo no exista.Tocar el botón Buscar sin ese filtro que sale debajo del mensaje: apaga el check y repite la búsqueda. El check se recuerda en esa computadora, así que si quedó prendido de otro día, sigue prendido.
No se pudo consultar el catálogoLa consulta falló o tardó demasiado (conexión, servidor ocupado). No quiere decir que el artículo no exista.Intentar de nuevo. Si sigue igual, avisar a soporte y mandar la foto de la pantalla: debajo del mensaje sale el motivo en letra chiquita, que es justo lo que soporte necesita.
Ojo con el filtro de categoría y el check de solo stock: si quedaron puestos de una búsqueda anterior, pueden dejar la lista vacía aunque el artículo exista. El combo debe decir Todas las categorías.

Lista de resultados (con imagen lateral)

A la izquierda de la lista aparece la ficha de imagen del artículo seleccionado (130px de ancho, ocupa todo el alto del panel superior). Si el artículo tiene varias imágenes en su carrusel, se muestran apiladas verticalmente con scroll. Click sobre cualquier imagen la abre en grande (lightbox) sobre toda la pantalla; cierra con Esc, click fuera o el botón ✕.

Tabla con las columnas: Código, Nombre, Stock, Precio (sin IVA), IVA %, Neto (con IVA) y Cant (cantidad a agregar). Al pasar el mouse, se muestra además la categoría y subcategoría del artículo.

  • Enter sobre una fila → agrega el artículo al documento.
  • Clic sobre una fila → marca la fila como seleccionada y carga los paneles laterales de detalle.

Pedir abastecimiento desde el buscador MFD-SOL

En cada fila de resultados, pegado al nombre del artículo, aparece el botón de la manita (). Es el atajo para pedir que se abastezca ese artículo sin salir de la factura. Sirve para dos cosas:

  • El encargo puntual de un cliente: pide algo que no se tiene y se le va a conseguir.
  • La reposición de lo que se está agotando: el vendedor, que es quien lo ve primero, avisa en el momento.

Se abre una ventanita que pregunta cuánto hay que pedir (el foco entra directo ahí: digitar el número y Enter alcanza) y, si se despliega Para quién es, deja ajustar el cliente, para cuándo se necesita y marcarlo como encargo urgente. El cliente viene tomado de la factura que está abierta. También se abre con Shift + F2.

El pedido cae en Facturación → Despacho y Abastecimiento → Solicitud de Abastecimiento, etiquetado como FACTUDESK, y ahí proveeduría le asigna proveedor y genera la orden de compra. No descuenta ni compra nada por sí solo. Ver Solicitud de Abastecimiento.
Cuidado con el lector de códigos. Si se escanea un artículo mientras la ventanita está abierta, el código cae en la cantidad. Por eso, si la cantidad pasa de 10.000, el sistema pregunta antes de registrarla: Cancelar lo devuelve a la cantidad para corregirla; Aceptar la registra igual (por si de verdad es tanto).

Paneles de detalle (parte inferior)

PanelContenido
Stock ExternoExistencias en otras empresas del grupo (según configuración). La BD del usuario actual aparece resaltada en azul fuerte (sin badge). Filas en gris itálico indican que el artículo no existe en esa empresa; rojo claro = error de conexión a la BD.
PreciosLos niveles de precio (P1..Pn dinámicos) con columna Base y Base+IVA. Cada fila muestra badges de qué nivel corresponde a Estación (E) y Cliente (C). El nivel default aplicado se resalta con fondo azul.
BodegasExistencia por bodega con ubicación física. Total al encabezado.

Reglas de selección de precio (versión 2026-05-11)

El cajero puede elegir un nivel de precio diferente clickeando sobre la fila correspondiente en el panel Precios — esto se respeta al agregar la línea. Hay UNA regla que bloquea esa selección manual:

EscenarioDefault aplicadoPermite cambiar
Parámetro 57 = 1 (precio fijo de estación)P{ESTACION.tipoPrecio} forzado❌ NO. Las filas salen grises con cursor 'no permitido' y aviso amarillo "P{n} fijo".
Param 57 = 0 + Cliente SN (genérico)P{ESTACION.tipoPrecio}✅ SÍ. El cajero puede elegir cualquier otro nivel y se respeta.
Param 57 = 0 + Cliente real con TipoPrecioVentaP{TipoPrecioVenta del cliente}✅ SÍ.
Param 57 = 0 + Cliente real sin TipoPrecioP{ESTACION.tipoPrecio}✅ SÍ.

Flujo Enter — selección de precio + bodega + cantidad (bidireccional)

El Enter funciona en cualquier orden. Pasos:

  1. Buscás el artículo y se selecciona (fila marcada azul).
  2. Tipeás la cantidad en el input de la fila (default 1).
  3. Click en un nivel de precio (ej: P3) y click en una bodega (ej: Bodega A) — en cualquier orden.
  4. Enter con el foco en cualquier lado del modal → agrega con cantidad + P3 + Bodega A automáticamente.

Lo mismo aplica con doble clic en cualquier fila de precio o bodega (atajo equivalente al Enter). Tras agregar, el modal se cierra y las selecciones globales se limpian.

Cantidad por monto (Precio→Cant en barra de búsqueda)

Junto al input "Cantidad" hay un campo "Precio→Cant" que solo se activa para artículos fraccionados (azúcar, harina, líquidos a granel...). Tipeás el monto que el cliente quiere gastar (con IVA) y al hacer Enter / Tab el sistema calcula la cantidad fraccionada y la pone en Cantidad.

Fórmula: cantidad = (monto ÷ (1 + IVA/100)) ÷ precio redondeada a 3 decimales. Misma función disponible también dentro del modal Editar Artículo (MV-ART) usando el precio virtual (con descuento aplicado).

Imagen revisada por la IA Si el artículo se creó vía búsqueda con IA, el sistema le hace revisar la imagen a la inteligencia artificial para validar que realmente sea del producto — descarta automáticamente personas, dibujos, ingredientes sueltos y logos sin marca. Reduce drásticamente las imágenes incorrectas en catálogos nuevos.

Modal Editar Artículo MV-ART

Al hacer doble clic (o usar la opción Editar) sobre una línea del documento se abre este modal para ajustar cantidad, precio, descuento, IVA, compuestos, lotes y vencimientos.

Campos principales

CampoDescripción
CantidadControlada con − / +. Respeta la configuración de decimales (parámetro 25).
Precio Real / Precio Real c/IVAPrecio unitario original del artículo, sin y con IVA.
Precio Deseado / Precio c/IVA DeseadoPrecio virtual al que querés que quede el artículo. Al escribirlo, el sistema calcula solo el % de descuento necesario — NO cambia el precio base. Por eso requiere permiso 004 (descuentos), no el 024.
Desc. % / Desc. MontoDescuento manual sobre la línea. Requiere permiso 004.
Precio deseado (sin / con IVA)Campo de la ficha “Descuento desde precio virtual”: escribís el precio al que querés que quede el artículo y el sistema calcula solo el % de descuento necesario. Es un precio virtual — NO cambia el precio base. Solo requiere permiso 004 (descuentos), igual que escribir el descuento directamente.
Tarifa IVACombo con las tarifas de Hacienda que tenga cargadas la empresa: 02 Reducida 1 %, 03 Reducida 2 %, 04 Reducida 4 %, 08 General 13 % y 10 Tarifa exenta (0 %). CORREGIDO 2026-09-03 Ojo: el exento es el 10 — el código 01 no existe en el catálogo.
IVA %Porcentaje calculado a partir de la tarifa (solo lectura). Manda la tarifa: el porcentaje siempre sale de la tarifa elegida, nunca al revés.
Detalle / SerieTexto libre adicional que se imprime y viaja al XML. Ideal para número de serie, lote o nota.

Totales del modal

En la parte inferior del modal se muestran Subtotal, IVA y Total calculados en tiempo real al cambiar cualquier campo.

Pestañas especiales

PestañaFunción
Compuestos ManualPermite agregar sub-artículos (kit) que se descuentan de bodega al aplicar. Requiere permiso 119. Tabla: Id, Código, Nombre, Uds, Bodega, Costo/Ud, Total.
LOTESSelección de lotes específicos cuando el artículo maneja control de lotes. Se distribuye la cantidad por lote.
VENCIMIENTOSSelección de lote por fecha de vencimiento. Útil para FIFO / FEFO.
Recalculo automático Al cambiar cantidad, precio o descuento, los totales (subtotal, IVA, total) se recalculan inmediatamente. Los valores se redondean a 2 decimales para evitar errores IEEE 754.
Un producto exento sigue exento aunque edite la línea CORREGIDO 2026-09-03 Si el artículo está marcado con tarifa exenta en su ficha de Inventarios, editar la línea no le agrega impuesto: puede cambiarle la cantidad, el precio, el descuento o borrarle la observación y el producto se mantiene en 0 % . El impuesto solo cambia si usted cambia a propósito la Tarifa IVA del combo.
La exoneración nunca supera el impuesto de la línea CORREGIDO 2026-10-10 Si una línea tiene exoneración (por ejemplo 13 %) y después su impuesto baja —porque le cambia la Tarifa IVA a una menor, o porque el cliente está marcado como Exento en su ficha y la línea pasa a tarifa exenta (0 %)—, la exoneración se ajusta sola a ese impuesto (en 0 % se quita). Así la línea se guarda sin error y el cambio queda anotado en la bitácora. Si lo que necesita es facturar con la exoneración, revise que el cliente no esté marcado como Exento.
Descuento por “precio deseado” y permisos Aplicar un descuento escribiendo el precio deseado (con o sin IVA) solo requiere el permiso de descuentos (004) — igual que escribirlo en la lista de la factura. El permiso de editar precio (024) se pide únicamente si cambiás el precio base del artículo (campos “Precio Real” / “Precio Real c/IVA”), no al calcular un descuento.

Utilidades VE-UTL

Menú de funciones adicionales accesible durante la facturación (botón Utils). Cada utilidad abre un modal o ejecuta una acción sobre el documento actual o sobre la caja.

Cómo está organizado

El modal tiene un panel izquierdo con los grupos de utilidades y, a la derecha, las opciones del grupo elegido. Es el mismo formato de los sub-menús del menú principal: cada grupo es una pastilla de su color, con el ícono en un círculo, su nombre y cuántas opciones tiene; el grupo elegido se ve relleno de su color con letra blanca, y arriba de las opciones se repite su nombre con la cantidad («Movimientos Contables · 5 opciones»). Las opciones, en cambio, son tarjetas blancas: así no se confunde un grupo con una opción. Haga clic en un grupo para ver sus opciones; el modal conserva el último grupo que usó mientras no recargue la pantalla.

Los grupos, en el orden en que aparecen: Cotizaciones y Facturas · Documentos Varios · Impresión y Exportación · Adelantos y Saldos a Favor · Cajas, Cierres y Fondos · Movimientos Contables · Inventario (Lotes) · Configuración. Una opción para la que no tiene permiso no se oculta: aparece en gris con un candado.

Cotizaciones y Facturas

UtilidadQué hace
Clonar CotizaciónDuplica la cotización que tiene abierta en pantalla en una cotización nueva, con consecutivo nuevo. No pide número: trabaja siempre sobre el documento actual, así que primero abra la cotización que quiere copiar y después entre a esta opción.
Clonar FacturaCrea una cotización nueva a partir de una venta ya emitida. Al abrirlo le muestra de una vez sus últimas 5 ventas: haga clic en una y queda clonada. Si necesita otra, búsquela por número de documento o por nombre de cliente. Solo lista facturas (01), tiquetes (04) y FEC (09).
¿Hacienda le rechazó una venta? Clónela desde aquí, corrija lo que provocó el rechazo y facture. El sistema avisa que la venta nueva sustituye a la rechazada y se lo informa a Hacienda solo (código 16, «Sustituye comprobante electrónico rechazado»).
¿Anuló una venta por error material (nota de crédito con referencia 13)? Clónela desde aquí, corrija el error y facture. El sistema avisa que la venta nueva sustituye a la anulada y se lo informa a Hacienda solo (código 15, «Sustituye comprobante electrónico por error material»), para que quede ligada al período de la original.
Sincronizar líneas con BDRefresca precios, stock y costos desde la base de datos sin perder el detalle capturado.
Otros DatosDatos adicionales del documento (ver Otros Datos).

Documentos Varios

UtilidadQué hace
Facturar a CostoAplica el costo promedio como precio de venta. Requiere permiso 021.
Nota de CréditoGenera una nota de crédito sobre una factura ya emitida. Al abrirlo le muestra sus últimas 5 ventas para que elija una con un clic, sin digitar los 20 dígitos. También puede escribir el número de la factura y confirmar cliente, fecha y total con la lupa antes de continuar.
BoletillasEnvío Express / guías de transporte.

Impresión y Exportación

UtilidadQué hace
Reimprimir VentaAbre el modal MV-018 para volver a imprimir una venta con la configuración actual de la estación. Al abrirlo muestra de una vez las últimas 5 ventas emitidas por su usuario, y además puede buscar por número o nombre de cliente. Requiere permiso 142; sin él pide clave de un supervisor.
Exportar Cotización a Excel.xlsx con líneas y totales.
Exportar Cotización a XMLXML estructurado (útil para traspaso a otros sistemas).
Exportar Cotización a CSVSeparado por coma.
Importar Cotización (CSV/XML)Carga líneas desde archivo externo al documento actual.
«Mis últimas 5 ventas» son las suyas, no las de todos. En Reimprimir Venta, Clonar Factura y Nota de Crédito la lista que aparece al abrir son las últimas ventas emitidas con su propio usuario. Si necesita un documento de otra persona o de otro día, use igual la caja de búsqueda: esa busca en todo.

Adelantos y Saldos a Favor

UtilidadQué hace
Ingreso de adelanto de clienteRegistra un adelanto a favor del cliente (genera documento de abono). Pide el permiso 267 — CxC: hacer adelantos de clientes: sin él, el botón sale en gris (2026-10-22).
Retiro de saldo a favorDevuelve parte o todo el saldo a favor del cliente.
Retiro Adelantos SNRetiro de adelantos del cliente genérico (Sin Nombre).

Cajas, Cierres y Fondos

UtilidadQué hace
Contador MonedasHerramienta para contar billetes y monedas (arqueo de caja).
Ingreso Fondo CajaRegistra una inyección de efectivo a la caja.
Retiro Fondo CajaRegistra un retiro de efectivo de la caja. Si la cuenta del fondo de caja (parámetro 243) no existe en el catálogo, Ingreso y Retiro abren antes la ventana MU-002. Ahí se puede crear la cuenta 110199 «Fondo de caja» en Cajas (permiso 815) o seleccionar una cuenta de activo que ya exista (permiso 017). Ver FactuSuper → Ingreso y retiro de fondo.
Abrir CajónAbre la gaveta de dinero sin hacer una factura. Requiere el permiso 141 (Abrir cajón); si el usuario no lo tiene, pide la clave de un supervisor que sí lo tenga. Siempre imprime un tiquete «CAJON ABIERTO» (fecha, hora, usuario, estación y quién autorizó) y queda anotado en la bitácora.

Movimientos Contables

UtilidadQué hace
Contabilizar CierreEnvía el cierre de caja actual a Contabilidad.
Mov. Contable GeneralAntes se llamaba solo «Mov. Contable». Registra un movimiento contable manual asociado a la caja. Es la via para un gasto pagado con dinero de la caja: tipo de documento GAS, la cuenta del gasto del lado AUMENTA y la cuenta de caja/efectivo del lado RESTA. Paso a paso en Cobro en Caja · Movimiento Contable. Úselo para lo que no tiene plantilla.
Adelanto a Proveedor MCT-039Para pagarle a un proveedor antes de que llegue su factura. Busque el proveedor (por código, cédula o nombre), escriba el monto y acepte. El dinero sale de la caja y queda como saldo a favor del proveedor: cuando la factura se registre y se le pague en Cuentas por Pagar, ese saldo aparece para usarlo. No hay que escoger cuentas: el sistema usa la cuenta de saldo a favor del proveedor (la crea sola la primera vez) y la de caja.
Una opción por plantillaCada plantilla contable que haya creado su contador aparece aquí con su nombre (por ejemplo «Reserva de aguinaldo» o «Depósito al banco»). Al tocarla se abre el movimiento con las cuentas ya puestas y fijas: el cajero solo escribe el monto y, si quiere, cambia el detalle. Si la plantilla dejó una cuenta libre (por ejemplo el banco de un depósito), esa la escoge el cajero cada vez. Si ocupa otras cuentas, use Mov. Contable General.
Crear Plantilla MCT-038Para el contador o el administrador: crea, cambia y borra las plantillas de la empresa, y así los cajeros no tienen que acordarse de qué cuentas lleva cada movimiento. Cada plantilla lleva un nombre, el tipo de documento, la cuenta al DEBE y la cuenta al HABER (puede dejar una vacía para que la escoja el cajero, pero no las dos), un detalle que ya viene escrito (opcional), el orden en que aparece y si está activa. Una plantilla inactiva no se le muestra al cajero. Borrar una plantilla no cambia los movimientos que ya se hicieron con ella. Requiere el permiso 876 (Contabilidad: crear y administrar plantillas de movimientos contables); sin él, la opción aparece en gris con candado.

Inventario (Lotes)

UtilidadQué hace
Stock de lotesConsulta existencia por lote para el artículo seleccionado.
Kardex LotesHistorial de movimientos por lote (entradas, salidas, saldo).

Configuración

UtilidadQué hace
Configurar EstaciónAbre la configuración de su estación: bodega, caja, tipo de precio y, por cada tipo de documento, impresora, formato y ancho de papel (es el mismo modal «Editar estación» de Configuración → Estaciones). Guardar requiere el permiso 840.
Romana / BalanzaAbre el modal MCF-ROM para configurar la lectura de códigos de balanzas (peso o precio embebido). Ver MCF-ROM.

Configuración Romana / Balanza MCF-ROM

Permite que el lector de barras interprete los códigos que imprimen las balanzas (romanas) cuando un código no se encuentra ni como Cod_Articulo ni como CodigoBarra. Se accede desde Utilidades VE-UTL → Configuración → Romana / Balanza.

Cómo funciona

Cuando escaneás un código en el campo de búsqueda de artículos, el sistema lo busca en este orden:

  1. Busca por Cod_Articulo exacto.
  2. Si no existe, busca en CodigoBarra.
  3. Si no existe y la romana está activa, intenta interpretarlo como código de balanza extrayendo el código del artículo y el valor (peso o precio).

El código de la balanza siempre arranca en la posición 1 y el valor sigue inmediatamente después. Solo hay que indicar 2 longitudes.

Campos del modal

CampoDescripción
Activa para toda la empresaSi está apagado, el sistema ignora la romana y los códigos no encontrados marcan error normalmente. La configuración es por empresa (compartida entre todas las estaciones).
Botones PESO / PRECIODicen qué trae la etiqueta después del código del artículo. El que está elegido se ve en verde y el otro en gris; se cambia tocando el otro botón. PESO = el valor es el peso en gramos, se divide entre 1000 para obtener kg. El peso entra a la factura con 3 decimales (0,225 kg), aunque en Configuración de Decimales la cantidad esté en 2: lo que pesa la balanza no se redondea. PRECIO = el valor es el precio final con IVA, y la cantidad se calcula como precio ÷ precio_unitario_artículo.
Largo del código del artículoCantidad de dígitos que ocupa el código del artículo desde la posición 1.
Largo del valor (peso o precio)Cantidad de dígitos del valor, arrancando justo después del código.
Probar parseo (no guarda)Pegá un código de prueba y mostrá qué extrae el sistema con la configuración actual. Útil para validar antes de guardar.

Ejemplo: EAN-13 estándar de balanza

Para un código como 2600101056111 (13 dígitos):

ConfiguraciónValor
TipoPrecio (con IVA)
Largo del código del artículo7 → extrae 2600101
Largo del valor5 → extrae 05611 = ¢5,611
Dígito 13Check digit del EAN-13, se ignora.

El artículo en la base de datos debe llamarse exactamente 2600101. Al escanear, el sistema agrega 1 unidad (en modo precio se usa la cantidad precio_balanza ÷ precio_artículo).

Configuraciones típicas

FormatoLargo cód.Largo val.Total dígitos
EAN-13 (con check digit)7513 (12 + check)
EAN-13 alterno6613 (12 + check)
Código corto6511

Importante: el último dígito de un EAN-13 es el check digit y NO debe entrar al cálculo. Por eso para 13 dígitos totales se configura código + valor = 12.

Almacenamiento

La configuración vive en la tabla dbo.RomanaConfig (singleton, 1 fila por empresa). La migración 20260511104634 la crea con valores default desactivados.

Opciones de línea MV-OPC

Modal que aplica acciones masivas sobre las líneas seleccionadas del documento. Se accede desde el menú Opciones o con el botón correspondiente de la barra de acciones.

Acciones disponibles

AcciónEfecto sobre las líneas seleccionadasPermiso
DescuentoAplica un % de descuento con tipo de descuento seleccionable.004
IVACambia la tarifa de IVA de las líneas.—
PrecioAsigna un precio manual específico.024
Tipo PrecioCambia el nivel de precio (P1..P10) de las líneas.—
ExonerarAplica la exoneración del cliente a las líneas.—
Quitar Exo.Revierte la exoneración aplicada.—
Exon. MAGAplica exoneración MAG (sector agropecuario) si el cliente la tiene vigente.—
PescaMarca las líneas como actividad pesquera (exoneración especial).—
BodegaCambia la bodega de origen de las líneas seleccionadas.—
Saldo a favorAplica saldo a favor del cliente como forma de pago.—

Aplicar descuento (modal detallado)

Al elegir "Descuento" se abre el panel con:

  • Tipo de Descuento — combo con las 10 clases Hacienda (01 Descuento general, 02 Bonificación, 07 Descuento comercial, etc.).
  • Porcentaje (%) — campo numérico con botones rápidos: 0, 5, 10, 15, 20, 25, 40, 50.
  • Descuento Máximo — checkbox que aplica el descuento máximo permitido por artículo.
  • Aplicar Descuento — botón primario que efectúa la acción sobre todas las líneas seleccionadas.
Requiere selección previa Debe marcar al menos una línea con el checkbox antes de abrir Opciones. Sin selección, las acciones no tienen efecto y se muestra un aviso.

Otros Datos, costos y margen

Tres funciones que se usan a diario y que conviene conocer: los datos extra que se le pueden poner a una factura, la actualización de costos al abrir una cotización y la columna de margen.

Otros Datos (MV-042)

Permite agregarle campos adicionales a una factura o proforma (número de orden de compra del cliente, placa del vehículo, número de contrato… lo que el negocio necesite).

Cómo acceder
  • Desde FactuDesk: Botón Utils → Opción "Otros Datos"
  • Desde Detalle Factura (VE-030): Botón "Otros Datos" en la barra de acciones

Flujo de uso

  1. Abra el modal "Otros Datos" desde cualquiera de los dos lugares
  2. Panel izquierdo: CRUD de favoritos (agregar / renombrar / quitar nombres de campos reutilizables)
  3. Panel derecho: formulario Nombre + Valor → click en un favorito lo pre-llena
  4. "Aceptar" guarda en FacturaVentaOtrosDatos y auto-registra el nombre en favoritos
  5. Lista inferior muestra los datos actuales — clic en fila para editar, 🗑️ para eliminar

Integración con Hacienda

Los campos guardados se emiten automáticamente en el nodo <Otros> del XML enviado a Hacienda como <OtroTexto codigo="NombreCampo">valor</OtroTexto>.

Transfer proforma → factura

Al convertir una proforma a factura, los datos extras se migran automáticamente del número de proforma al nuevo consecutivo de factura (sin intervención del usuario).

Auto-refresh de costos al abrir cotización

Cada vez que se abre o recupera una cotización/proforma, el sistema ahora sincroniza automáticamente los costos de las líneas con el costo actual del catálogo de artículos.

Problema que resuelve Antes, si el usuario actualizaba el costo de un artículo en Inventarios, las líneas ya existentes en proformas mantenían el costo viejo → el margen mostrado era incorrecto. Ahora al abrir la cotización, los costos se recalculan automáticamente.

Preview del último artículo encontrado

En la barra de búsqueda, después del input de código ahora aparece un preview visual del artículo buscado:

EstadoApariencia
Sin buscarGris claro con —
Artículo encontradoVerde con código + nombre completo
No existeRojo con mensaje "No encontrado"

Margen de utilidad — validaciones

La columna %Marg de la tabla tiene 4 estados según la calidad del dato:

CondiciónSe muestra
Costo ≤ 0.01 (sin costo o residual)— (em dash gris)
Margen calculado entre 0% y 1000%XX.XX% verde, 2 decimales
Margen negativo (precio menor al costo)−X.XX% parpadeando rojo ↔ amarillo
Margen > 1000% (costo mal configurado)ERROR parpadeando rojo ↔ amarillo
Margen negativo — venta con pérdida Si la casilla del margen aparece parpadeando con un porcentaje negativo, significa que el precio de venta es menor al costo del artículo. Revise que:
  • El descuento aplicado no sea excesivo
  • El precio editado manualmente no esté por debajo del costo
  • El costo del artículo sea correcto (si está inflado artificialmente)
ERROR en %Marg Cuando vea una celda parpadeando con "ERROR" en la columna margen, significa que el costo del artículo está mal configurado en el catálogo de Inventarios. Corrija el costo en Inventarios → Artículos (IN-002).

Filas sin stock — formato visible

Cuando una línea de artículo tiene cantidad mayor al stock disponible (faltante en bodega), toda la fila se marca en rojo:

  • Fondo: rojo claro (#fef2f2)
  • Texto: rojo oscuro (#dc2626) en peso 600 y tamaño completo (no se ve más pequeño)
  • Todos los campos de la fila (código, nombre, cantidad, precio, totales) mantienen el mismo tamaño que filas normales

Esto permite detectar visualmente artículos que provocarían sobregiro antes de procesar la factura.

Doble clic inteligente en tabla artículos

Se intercambió la acción del doble clic para mejor UX:

  • Doble clic en el CÓDIGO del artículo → abre el Kardex (consulta histórica de movimientos)
  • Doble clic en el NOMBRE del artículo → abre Editar Línea (MV-ART)

Indicador de conexión en el Total

El header de la ficha Total ahora muestra:

  • Moneda activa del documento (CRC, USD, EUR) como chip amarillo
  • Botón 💱 Cambiar que abre un popup para cambiar la moneda del documento
  • Puntito • de conexión al extremo derecho:
    • ● Verde pulsando → servidor en línea
    • ● Rojo pulsando → sin conexión

El sistema hace un ping automático al servidor cada 30 segundos, y también escucha los eventos online/offline del navegador.

Número de documento — últimos 10 dígitos

El número del documento mostrado en la ficha Documento se recorta a los últimos 10 dígitos cuando es un consecutivo electrónico (20 caracteres). Para proformas cortas se mantiene completo. El número completo sigue enviándose correctamente a todas las APIs.

Botón "Nueva" reubicado

El botón Nueva (abrir nueva venta en pestaña aparte) se movió del panel de Herramientas a la ficha Documento, junto al botón Imprimir. Solo es visible cuando la proforma tiene consecutivo real (no en documento de trabajo).

Parámetro 380 — control completo del teléfono

El parámetro 380 (Imprimir teléfono del cliente) ahora aplica en todos los formatos de salida:

  • ✅ POS térmica (FIPVIVI002)
  • ✅ Hoja carta centrado (FIPVIVI003)
  • ✅ Hoja carta 2 columnas (FIPVIVI004)
  • ✅ PDF DataReport (FIPVIVI005)
  • ✅ Matricial GDI (FIPVIVI006)
  • ✅ Vista HTML web
  • ✅ PDF del correo electrónico
  • ✅ Cuerpo HTML del correo
  • ✅ Bluetooth

Si 380 = 0, el teléfono del cliente no se imprime y la etiqueta cambia de "Tel/Email:" a "Email:" automáticamente.

Parámetros clave

El comportamiento del módulo se controla mediante parámetros de empresa:

Parámetros 49 y 249 — Monedas desde 2026-04-30

El sistema maneja dos parámetros distintos para moneda:

ParámetroConceptoEditableUso
49 Moneda predeterminada ✅ Sí La que se asigna a documentos nuevos al abrir Facturación. Cambiala desde Configuración para que las cotizaciones por default arranquen en USD, EUR, etc.
249 Código moneda nacional ❌ No (fija) La moneda del país. Es la base de los tipos de cambio (TC = 1). No se cambia.

Comportamiento al abrir Facturación

  • Si el documento de trabajo (u#####u) no existe → se crea con la moneda predeterminada (param 49)
  • Si existe pero está vacío → se sincroniza con la predeterminada actual al recargar
  • Si tiene líneas → respeta la moneda original (no rompe precios convertidos)
  • Si el cliente seleccionado tiene una moneda específica configurada en su ficha → esa gana sobre la predeterminada
Conversión automática de moneda al agregar artículo desde 2026-04-30

Cada artículo del catálogo tiene una moneda asignada (campo Cod_TipoMoneda). Al agregar el artículo a una cotización, el sistema decide:

Moneda ArtículoMoneda DocumentoAcción
USDUSDNo convierte — inserta el precio tal cual del catálogo
CRCCRCNo convierte
CRC (nacional)USDDivide entre el TC del USD → precio en USD
USDCRC (nacional)Multiplica por el TC del USD → precio en CRC
USDEURConversión cruzada vía la moneda nacional (factor TC_USD / TC_EUR)

El TC siempre se busca actualizado en la tabla TipoCambio al agregar la línea (no se confía en valores guardados que pudieran estar desactualizados).

Configurar la moneda de cada artículo Verificá en Inventarios → Editar artículo que el campo "Moneda" coincida con la moneda en que están registrados los precios. Si los precios están en USD pero la moneda dice CRC, las cotizaciones en USD quedarán con valores incorrectos.
Tipo de cambio visible en ficha Impuestos 2026-05-02

Cuando una cotización está en moneda extranjera (USD, EUR, etc.), aparece una fila adicional en la columna Impuestos del panel de totales:

💱 T.C. USD       500.00
  • Solo se muestra si la moneda del documento difiere de la moneda nacional (param 249).
  • El valor es el TC guardado en la cotización al crearla o cambiar la moneda — se "congela" para que cotizaciones viejas mantengan su histórico.
  • Si se modifica el TC en el catálogo de Tipos de Cambio, las cotizaciones existentes no se actualizan; solo las nuevas tomarán el TC nuevo.
  • Para forzar refresco del TC en el doc de trabajo: borrar todas las líneas y recargar el módulo.
Parámetro 45 — Orden de líneas en cotización desde 2026-04-27

Controla cómo se ordenan los artículos al abrir/recargar una cotización. Aplicado en cotizacion_carga_desktop.php.

ValorOrden aplicadoSQL
1Por nombre del artículo (alfabético)ORDER BY a.ArticuloNombre, h.NumeroLinea
2Por código del artículoORDER BY h.ArticuloCodigo, h.NumeroLinea
3 (default)Por línea (cronológico de inserción)ORDER BY h.NumeroLinea

El segundo criterio (NumeroLinea) es desempate por si hay nombres/códigos repetidos. El frontend NO re-ordena después de agregar líneas — para ver el orden correcto hay que recargar.

Editar fecha de la cotización NUEVO

En el panel Documento, hacer click sobre la fecha (icono ✏️ a la derecha) abre un selector Flatpickr para cambiar la fecha de la cotización.

  • Conserva la hora original de la cotización — solo cambia la parte fecha
  • Funciona sin importar el estado del documento (borrador, guardada, pedido, en cajas, histórica)
  • API: POST /api/proformas/cotizacion_actualiza_fecha.php — body { numero, fecha: "YYYY-MM-DD" }
Parámetro 277 — Recordar el último precio y descuento del cliente desde 2026-08-04

Con este parámetro activo, cuando le agrega a un cliente un artículo que ya le vendió antes, la línea sale con el mismo precio y descuento de la última vez — aunque la lista de precios haya cambiado desde entonces.

Para qué sirve: los precios pactados con un cliente suelen no estar en ninguna lista. Si el vendedor no se los sabe de memoria, factura al precio de lista y la empresa cobra de menos (o de más) sin darse cuenta.

Funciona desde el primer día: no hay que esperar a facturarle de nuevo. Si el sistema no tiene el precio a mano, lo busca en el historial de ventas de ese cliente y lo usa. Aplica en la facturación de computadora, celular y punto de venta.

SituaciónQué precio sale
El cliente ya compró ese artículo (aunque haya sido hace años)El último precio y descuento que se le facturó
Nunca le ha comprado ese artículoEl precio normal de su lista
Cliente genérico / contado sin nombreEl precio normal de su lista
El usuario escribe el precio a manoEl que escribió el usuario (manda sobre todo)

Tener en cuenta

  • El precio recordado se aplica aunque sea menor que el de la lista: se respeta lo pactado con el cliente. Si queda por debajo del costo, siguen actuando las autorizaciones de siempre (permisos 006 y 021).
  • Se recuerda el precio de facturas, tiquetes y exportaciones. Las notas de crédito y débito no cambian el precio recordado, porque corrigen un documento y no fijan un precio nuevo. Las facturas anuladas tampoco cuentan.
  • Este parámetro antes recordaba solo el descuento. Si su empresa ya lo tenía activo, ahora también recordará el precio.
  • Para cambiarle el precio pactado a un cliente, basta con facturarle al precio nuevo: la próxima vez saldrá ese.
Parámetro 190 — Redondear total factura desde 2026-04-22

Controla cómo se calcula el IVA de cada línea cuando el precio unitario sin IVA tiene decimales que, al sumarse con el IVA, deben cuadrar con un precio objetivo "redondo" con IVA incluido.

Caso típico: un artículo "vale" ₡1,700.00 con IVA al público. Para que eso cuadre con IVA 13%, el precio unitario sin IVA se guarda con decimales: 1,504.4248 en este ejemplo (desde el #2465 la ficha del artículo guarda 5: 1,504.42478; el efecto es el mismo). Sin este parámetro, el sistema redondea el subtotal antes de calcular el IVA y el total queda en ₡1,699.99 (pierde 1 céntimo).

ValorCálculo del IVAEjemplo PU 1,504.4248 × 1 × 13%
0 (default) IVA = Subtotal redondeado × tarifa Subtotal 1,504.42 · IVA 195.57 · Total 1,699.99
1 IVA = Subtotal sin redondear × tarifa Subtotal 1,504.42 · IVA 195.58 · Total 1,700.00 ✓

¿Cuándo activarlo?

  • El catálogo tiene precios "con IVA redondos" (₡500, ₡1,000, ₡1,700, etc.) y el cliente espera ver ese mismo total en la factura.
  • El usuario edita el campo Total con IVA en la línea y quiere que el valor digitado se respete tal cual al facturar.
  • Facturas POS / tiquetes donde el subtotal + IVA deben sumar exactamente el precio mostrado al cliente.

Nota Hacienda v4.4

Con el parámetro activo (190=1) puede haber una diferencia de ±0.01 entre Gravado × Tarifa e IvaMonto declarado en el XML. Esta diferencia está dentro de la tolerancia oficial de Hacienda (±0.05 por línea) y es el patrón estándar en sistemas de facturación electrónica que respetan el precio "con IVA objetivo".

Cómo activarlo

Desde Configuración → Parámetros de Empresa (CF-004), editar el parámetro 190 y poner valor 1. Toma efecto inmediato en la próxima línea agregada o modificada.

ParamDescripciónValores
3Agente obligatorio diferente al usuario0 = No, 1 = Sí
19Facturación solo por Cajas0 = Normal, 1 = Solo Cajas
25Decimales en cantidades0-3 decimales
50Permitir sobregiro global0 = No, 1 = Sí
57Precio fijo por estación0 = Libre, 1 = Fijo
65Relleno de código de artículo a 15 caracteres (pad con ceros a la derecha al buscar)0 = No, 1 = Sí
83Cuenta contable de Caja Efectivo (usada para ajuste de redondeo en moneda extranjera)Cuenta contable
102Bloquear selección de bodega0 = Libre, 1 = Fija
110Mostrar equivalente en USD debajo del total0 = No, 1 = Sí
125Generar factura electrónica0 = No, 1 = Sí
153-158Bloquear descuento por nivel de precio0 = Permitir, 1 = Bloquear
190Redondear total factura — cuadra el total de línea con el precio objetivo con IVA (ver detalle)0 = Tradicional, 1 = Total cuadra exacto
194Email alerta montos altosDirección email
249Código de moneda nacional (configurable por país)CRC / USD / PAB / etc.
277Recordar último precio y descuento cliente+artículo (ver detalle)0 = No, 1 = Sí
343Mostrar serie como nombre artículo0 = Normal, 1 = Solo serie
344Mostrar % descuento por línea en factura física, pantalla y PDF. El monto del descuento por línea y el total DESCUENTO al pie siempre se imprimen (no se ocultan).1 = Mostrar, 0 = Ocultar
385Mostrar artículos con precio 0 en el modal de búsqueda0 = Ocultar, 1 = Mostrar
390Usuario de la factura: 0 = creador de la cotización, 1 = Usuario Ventas activo0 / 1
392Agente de la factura = Usuario Ventas (requiere 390=1). Con 1 sobreescribe el agente original de la proforma. No activar si usa comisiones por agente.0 / 1

Permisos

Los permisos controlan qué acciones puede realizar cada usuario en el módulo de facturación. Se configuran desde Configuración > Usuarios asignando los códigos correspondientes.

Acceso al módulo

CódigoPermisoEfecto si NO tiene
653Acceso a FactuDeskNo puede abrir el módulo
038Buscar artículos por nombreSolo agrega por código o código de barras: BUSCAR y ENTER BUSCAR en gris, F2 y el doble clic no abren el buscador, Favoritos solo por código (ver)

Edición de líneas

CódigoPermisoEfecto si NO tiene
024Editar precio de ventaEl campo de precio aparece como solo lectura, no puede cambiar el precio unitario ni el total con IVA en las líneas
004Aplicar descuentos manualesEl campo de descuento aparece como texto, no puede modificar el % de descuento en líneas
023Hacer descuento mayor al permitido del artículoEl descuento queda limitado al máximo configurado por artículo (no puede superarlo)
006Facturar bajo la utilidad mínimaSi el precio sin IVA (con el descuento) queda bajo la utilidad mínima (parámetro 16 o por nivel) aunque siga ≥ al costo, no puede aplicarlo: el descuento se quita o el precio se ajusta al mínimo
021Facturar bajo el costoSi el precio sin IVA (con el descuento) queda por debajo del costo —al editar la línea, o al agregar el artículo si la empresa tiene el parámetro 941 encendido— no puede continuar (modal "No autorizado"). Con el permiso, pide escribir SI. También controla la opción "Facturar a Costo" del menú de acciones
059Eliminar líneasNo puede borrar artículos individuales ni seleccionados del documento

Visualización

CódigoPermisoEfecto si NO tiene
064Ver margen de utilidadNo ve la columna "Util %" en la tabla de artículos ni el monto total de margen en el pie del documento
656Ver stock de inventarioNo ve la columna "Stock" con la existencia disponible por bodega en la tabla de artículos

Acciones del documento

CódigoPermisoEfecto si NO tiene
104Guardar cotizacionesBotón "Guardar" deshabilitado, no puede guardar proformas/cotizaciones
060Eliminar cotizacionesNo puede eliminar cotizaciones completas desde el modal de recuperar
069Ver cotizaciones de otros usuariosSolo ve sus propias cotizaciones al recuperar; con el permiso ve las de todos
119Compuestos manualesNo ve la pestaña de artículos compuestos (kits)
123Enviar a CajasBotón "Enviar a Cajas" deshabilitado
536Enviar proforma como pedidoDentro de PROCESAR, el botón Enviar Pedido aparece en gris. Este permiso es independiente del 078: se puede tener uno sin el otro
538Enviar cotización a Orden de AlistamientoDentro de PROCESAR, el botón Enviar a Orden de Alistamiento aparece en gris. También hace falta para Devolver a Pedido en Verificación de Pedidos
078Emitir facturasLos botones de cobro EFECTIVO, TARJETA y SINPE aparecen en gris, y dentro de PROCESAR también quedan grises Factura Contado y Factura Crédito. El botón PROCESAR sí abre: desde ahí se puede enviar pedido, enviar a Cajas, imprimir, mandar por correo o WhatsApp, archivar y exportar. La factura la tiene que emitir un usuario autorizado
El botón PROCESAR ya no depende del permiso 078 desde 2026-08-27 Antes, al usuario sin el permiso 078 se le apagaba el botón PROCESAR completo. El problema es que PROCESAR no es «la factura»: es el menú donde también viven Enviar Pedido, Enviar a Cajas, Imprimir, Correo, WhatsApp, Archivar y Excel / XML. Por eso un vendedor con el permiso 536 (enviar proforma como pedido) no lograba mandar ni un pedido. Ahora PROCESAR abre siempre y adentro quedan en gris únicamente Factura Contado y Factura Crédito. Así se arma el perfil «vendedor que toma pedidos pero no factura»: 536 sí, 078 no.
El permiso 078 se revisa ANTES de apartar el número desde 2026-08-25 Antes, quien no tenía el permiso 078 alcanzaba a pulsar cobrar: el sistema ya le había apartado el número de factura y recién después lo rechazaba, así que ese número quedaba quemado y en el listado de Ventas se veía un salto en la numeración. Ahora el permiso se revisa primero y no se gasta ningún consecutivo. Si por cualquier otro motivo un número llegara a quedar sin usar, queda un renglón en la Bitácora del Sistema que empieza con «FACTURA NO EMITIDA», con el número y el motivo.
Botones deshabilitados Los botones de acciones sin permiso no se ocultan, sino que aparecen en gris con un tooltip "Sin permiso". Así el usuario sabe que la función existe pero no tiene acceso.
Cómo se asignan los permisos Los permisos se asignan por usuario en Configuración > Usuarios > Editar > Permisos. Los cambios aplican inmediatamente la próxima vez que el usuario recarga el módulo (no requiere cerrar sesión).