Appearance
Condicion de Venta - Resource
DOCUMENTACION RETROSPECTIVA - Generada a partir de codigo implementado el 2026-02-09
Modulo: Ventas Tipo: Resource Estado: Implementado Fecha: 2026-02-09
Descripcion General
La Condicion de Venta es un recurso base del modulo de Ventas que define las modalidades de pago disponibles para la facturacion. Cada condicion de venta determina como se registra el cobro de un comprobante (contado, cuenta corriente o tarjeta) y puede incluir un porcentaje de recargo que se aplica automaticamente al total del comprobante.
Este recurso es fundamental para el proceso de facturacion ya que:
- Define las opciones de pago disponibles en el formulario de facturacion
- Determina si un comprobante genera un movimiento en cuenta corriente del cliente
- Controla si se requiere seleccion de tarjeta
- Permite aplicar recargos financieros automaticos al total del comprobante
Frontend (Perspectiva de Usuario)
Vistas
Listado de Condiciones de Venta
- Vista principal accesible desde el menu lateral: Ventas > Bases > Cond. Venta
- Muestra una tabla con todas las condiciones de venta existentes
- Columnas: Codigo, Nombre, Recargo (mostrado con simbolo %)
- Cada fila tiene un boton de edicion (modificar)
Modal de Modificacion
- Se abre al hacer clic en el boton de edicion de una fila
- Muestra el nombre de la condicion de venta (solo lectura)
- Permite editar unicamente el porcentaje de recargo
- Botones: Cancelar y Aceptar
Selector en Facturacion
- La condicion de venta se selecciona mediante un dropdown en el formulario de facturacion
- Se preselecciona automaticamente la condicion marcada como "por defecto"
- Si la condicion seleccionada muestra el porcentaje de recargo junto al nombre
Interacciones del usuario
- Visualizar condiciones de venta: El usuario accede al listado y puede ver todas las condiciones disponibles con sus recargos
- Modificar recargo: El usuario hace clic en el boton de edicion, modifica el porcentaje de recargo en el modal y confirma
- Seleccionar condicion en facturacion: Durante la emision de un comprobante, el usuario selecciona la condicion de venta desde un dropdown
Permisos
- VENTAS_BASES_COND-VENTA: Acceso al manejo de condiciones de ventas (listado y modificacion de recargo)
Estados de UI
- Carga: La tabla se carga con los datos al acceder a la vista
- Modificacion exitosa: Se muestra un mensaje de confirmacion (toast) al modificar el recargo correctamente
- Error de validacion: Se muestra un mensaje de error si el recargo es menor a 0
- Sin cambios: Si el usuario no modifica el recargo, el modal se cierra sin realizar peticion al servidor
Backend (Perspectiva de Datos de Negocio)
Entidades de negocio
Condicion de Venta Representa una modalidad de pago para la facturacion de ventas.
Datos necesarios
- Codigo: Identificador unico de la condicion de venta (numerico)
- Nombre/Descripcion: Texto descriptivo de la condicion (maximo 50 caracteres)
- Defecto: Indicador de si es la condicion de venta preseleccionada por defecto en facturacion
- Es Tarjeta: Indicador de si la condicion corresponde a pago con tarjeta
- Porcentaje de Recargo: Valor porcentual de recargo financiero aplicable al comprobante
Relaciones de negocio
- Facturacion: Cada comprobante de venta (factura, nota de credito, nota de debito) registra la condicion de venta utilizada
- Cuenta Corriente del Cliente: Si la condicion es "Cuenta Corriente", el comprobante genera un movimiento en la cuenta corriente del cliente
- Tarjetas: Si la condicion es de tipo "tarjeta", se requiere seleccionar una tarjeta especifica durante la facturacion
- Cierre de Turno (Minuta): Los totales del cierre de turno se desglosan segun la condicion de venta (venta de contado vs venta en cuenta corriente)
Validaciones de negocio
- El porcentaje de recargo debe ser un numero mayor o igual a 0
- El porcentaje de recargo debe ser un valor numerico valido
- El codigo de condicion de venta debe existir para poder modificarlo
- Un cliente debe tener cuenta corriente habilitada para poder seleccionar la condicion "Cuenta Corriente" durante la facturacion
- La condicion de venta tipo "Tarjeta" no se permite en modo prueba cuando el modulo Tesoreria esta habilitado
Reglas de negocio
Regla 1: Condicion de venta por defecto
- Condicion: Al cargar el formulario de facturacion
- Accion: Se preselecciona automaticamente la condicion de venta marcada como "defecto". Si ninguna esta marcada, se selecciona la primera disponible
Regla 2: Restriccion de cuenta corriente
- Condicion: El usuario selecciona la condicion "Cuenta Corriente" (CTA_CTE) durante la facturacion
- Accion: Se verifica que el cliente seleccionado tenga habilitado compras en cuenta corriente. Si no lo tiene, se revierte automaticamente a "Contado" y se muestra un mensaje de error
Regla 3: Habilitacion del selector de tarjeta
- Condicion: El usuario selecciona una condicion de venta de tipo tarjeta
- Accion: Se habilita el selector de tarjetas en el formulario de facturacion para elegir el tipo de tarjeta
Regla 4: Restriccion de tarjeta en modo prueba
- Condicion: El modulo Tesoreria esta habilitado y la operacion se realiza en modo prueba
- Accion: No se permite seleccionar una condicion de venta de tipo tarjeta. Se revierte a "Contado" y se muestra un mensaje informativo
Regla 5: Aplicacion del recargo en factura
- Condicion: La condicion de venta seleccionada tiene un porcentaje de recargo mayor a 0 y el comprobante es de tipo factura
- Accion: El recargo se aplica automaticamente al total del comprobante como un ajuste de tipo "Recargo"
Regla 6: Edicion limitada a recargo
- Condicion: El usuario accede a la modificacion de una condicion de venta
- Accion: Solo se permite modificar el porcentaje de recargo. Los demas campos (nombre, defecto, es_tarjeta) no son editables desde la interfaz
Casos de uso
Caso 1: Visualizar condiciones de venta
Actor: Usuario con permiso VENTAS_BASES_COND-VENTA
Precondiciones:
- El usuario debe estar autenticado en el sistema
- El usuario debe tener el permiso VENTAS_BASES_COND-VENTA asignado
Flujo principal:
- El usuario accede al menu Ventas > Bases > Cond. Venta
- El sistema muestra una tabla con todas las condiciones de venta existentes
- Cada fila muestra: codigo, nombre y porcentaje de recargo (si es mayor a 0, con el simbolo %)
Postcondiciones:
- Se visualizan todas las condiciones de venta disponibles
Flujos alternativos:
- Si no hay condiciones de venta cargadas, la tabla se muestra vacia
Caso 2: Modificar porcentaje de recargo
Actor: Usuario con permiso VENTAS_BASES_COND-VENTA
Precondiciones:
- El usuario debe estar en la vista de listado de condiciones de venta
- Debe existir al menos una condicion de venta
Flujo principal:
- El usuario hace clic en el boton de edicion de una condicion de venta
- Se abre el modal de modificacion con el nombre (solo lectura) y el recargo actual
- El usuario modifica el valor del porcentaje de recargo
- El usuario hace clic en "Aceptar"
- El sistema valida que el recargo sea >= 0
- El sistema registra la modificacion
- Se actualiza la fila en la tabla con el nuevo valor
- Se muestra un mensaje de confirmacion
Postcondiciones:
- El porcentaje de recargo de la condicion de venta se actualizo
- La tabla refleja el nuevo valor
Flujos alternativos:
- Recargo invalido: Si el porcentaje es menor a 0, se muestra un mensaje de error y no se realiza la modificacion
- Sin cambios: Si el usuario no modifica el valor, al hacer clic en "Aceptar" el modal se cierra sin realizar peticion al servidor
Caso 3: Seleccion de condicion de venta en facturacion
Actor: Usuario facturador
Precondiciones:
- El usuario debe estar en el formulario de facturacion
- Deben existir condiciones de venta cargadas en el sistema
Flujo principal:
- Al cargar el formulario de facturacion, se obtienen las condiciones de venta disponibles
- Se preselecciona la condicion marcada como "defecto"
- El usuario puede cambiar la condicion desde el dropdown
- Si la condicion tiene recargo y es una factura, se aplica automaticamente al total
Postcondiciones:
- La condicion de venta seleccionada queda asociada al comprobante que se esta generando
Flujos alternativos:
- Cliente sin Cta. Cte.: Si selecciona "Cuenta Corriente" y el cliente no la tiene habilitada, se revierte a "Contado"
- Tarjeta en modo prueba: Si selecciona una condicion tipo tarjeta y esta en modo prueba con Tesoreria habilitada, se revierte a "Contado"
- Condicion tipo tarjeta: Se habilita el selector de tarjetas para elegir el tipo de tarjeta
Consideraciones
Seguridad
- El acceso al listado y modificacion de condiciones de venta esta protegido por el permiso VENTAS_BASES_COND-VENTA
- La autenticacion se verifica via JWT en el backend
Auditoria
Nota (2026-02-09): No implementado en recursos legacy. Se agregará en refactorización futura a 5-layer DDD.
Rendimiento
- El volumen de condiciones de venta es muy bajo (tipicamente 3 registros fijos), por lo que no se requieren optimizaciones especiales
Dependencias
Funcionalidades relacionadas
- Facturacion: Las condiciones de venta se utilizan como selector obligatorio en cada comprobante emitido
- Cierre de Turno: Los totales se desglosan por condicion de venta (contado vs cuenta corriente)
- Cuenta Corriente del Cliente: La condicion "Cuenta Corriente" genera movimientos en la cuenta corriente
- Tarjetas: La condicion tipo "Tarjeta" requiere seleccion de tarjeta de la base de tarjetas
Servicios externos
- No se identificaron dependencias con servicios externos
Criterios de aceptacion
- [x] AC-001: El usuario con permiso puede visualizar todas las condiciones de venta en una tabla
- [x] AC-002: El usuario puede modificar el porcentaje de recargo de cualquier condicion de venta
- [x] AC-003: El porcentaje de recargo no puede ser un valor negativo
- [x] AC-004: En facturacion, la condicion de venta por defecto se preselecciona automaticamente
- [x] AC-005: Un cliente sin cuenta corriente habilitada no puede usar la condicion "Cuenta Corriente"
- [x] AC-006: Seleccionar una condicion tipo tarjeta habilita el selector de tarjetas
- [x] AC-007: El recargo se aplica automaticamente al total de las facturas
Preguntas Pendientes
Informacion Faltante: Hay preguntas sobre esta funcionalidad que requieren validacion. Ver: Preguntas sobre Condicion de Venta
Referencias Tecnicas
Notas adicionales
Tipos de condicion de venta conocidos
A partir del codigo implementado, se identifican tres tipos fundamentales definidos como constantes:
| Codigo | Nombre | Comportamiento |
|---|---|---|
| 1 | CONTADO | Pago inmediato, sin integracion con otros modulos |
| 2 | CTA_CTE | Genera movimiento en cuenta corriente del cliente |
| 3 | TARJETA | Requiere seleccion de tarjeta, restriccion en modo prueba |
Estos valores estan codificados como enum en el backend y como constante frozen en el frontend. [REQUIERE VALIDACION] si estos son los unicos valores posibles o si el catalogo es extensible.
NOTA IMPORTANTE: Esta documentacion fue generada automaticamente analizando el codigo implementado. Se recomienda validar con stakeholders de negocio para confirmar que refleja fielmente los requisitos originales.