Skip to content

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:

  1. El usuario accede al menu Ventas > Bases > Cond. Venta
  2. El sistema muestra una tabla con todas las condiciones de venta existentes
  3. 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:

  1. El usuario hace clic en el boton de edicion de una condicion de venta
  2. Se abre el modal de modificacion con el nombre (solo lectura) y el recargo actual
  3. El usuario modifica el valor del porcentaje de recargo
  4. El usuario hace clic en "Aceptar"
  5. El sistema valida que el recargo sea >= 0
  6. El sistema registra la modificacion
  7. Se actualiza la fila en la tabla con el nuevo valor
  8. 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:

  1. Al cargar el formulario de facturacion, se obtienen las condiciones de venta disponibles
  2. Se preselecciona la condicion marcada como "defecto"
  3. El usuario puede cambiar la condicion desde el dropdown
  4. 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:

CodigoNombreComportamiento
1CONTADOPago inmediato, sin integracion con otros modulos
2CTA_CTEGenera movimiento en cuenta corriente del cliente
3TARJETARequiere 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.