Appearance
Carga de Retenciones en Recibos
Modulo: Tesoreria Tipo: Process Estado: Implementado Fecha: 2026-03-11
Descripcion
Este proceso permite aplicar retenciones genericas al momento de generar un recibo en el modulo de Tesoreria. Las retenciones se seleccionan desde los conceptos previamente configurados en la entidad de conceptos de retencion (boniret) y se vinculan al recibo, generando los movimientos correspondientes en cuenta corriente y en tesoreria.
Valor para el negocio:
- Permite registrar deducciones fiscales (IIBB, SUSS, tasas municipales, etc.) directamente en el proceso de cobranza
- Genera automaticamente los movimientos de cuenta corriente asociados a cada retencion
- Mantiene la integridad entre el total del recibo, las retenciones aplicadas y la cancelacion de deuda
- Cuando el modulo de Tesoreria esta activo, refleja correctamente los ingresos y egresos derivados de las retenciones
Contexto:
- Este proceso se aplica exclusivamente a recibos, no a ordenes de pago
- Los conceptos de retencion deben estar previamente configurados (ver 01. Conceptos de Tesoreria)
- La relacion recibo-retencion se almacena en la entidad de relacion recibo-retenciones (ver 03. Relaciones)
Frontend (Perspectiva de Usuario)
Vistas
- Formulario de recibo: Se agrega un boton "Retenciones" dentro del formulario de emision de recibos
- Modal de retenciones: Al presionar el boton, se abre una ventana emergente (modal) que permite seleccionar y configurar las retenciones a aplicar
Interacciones del Usuario
Boton "Retenciones":
- Visible en el formulario de recibos
- Al presionarlo, abre el modal de retenciones
Modal de retenciones:
- Muestra un listado de los conceptos de retencion disponibles con las siguientes columnas:
- Nombre
- Numero
- Valor
- Tipo (Porcentaje o Fijo)
- Cuenta contable
- Al seleccionar una retencion del listado, el usuario puede:
- Ingresar o modificar el numero de la retencion
- Ingresar o modificar el valor de la retencion
- Ingresar o modificar la cuenta contable de la retencion
- Muestra un campo de solo lectura con el total del comprobante del recibo
- Muestra un campo calculado con el total luego de aplicar las retenciones
Estados de UI
- Campo de total del comprobante: solo lectura, refleja el monto total del recibo
- Campo de total con retenciones: calculado automaticamente a medida que se agregan o modifican retenciones
- Las retenciones sin valor ingresado no se consideran para el calculo ni para el registro
- Campo de cuenta contable: precargado con el valor del concepto, obligatorio — no se puede confirmar sin cuenta valida
Visualizacion en consulta/impresion de recibo
- Listado de reimpresion: El importe mostrado para el recibo incluye las retenciones genericas de cobranza
- Detalle del recibo: Muestra una seccion de retenciones con:
- Nombre del concepto (obtenido de
boniret) - Valor de la retencion
- Solo retenciones con valor > 0
- Nombre del concepto (obtenido de
- PDF impreso: La seccion de retenciones del comprobante lista las retenciones genericas aplicadas. El total del comprobante incluye el monto de las retenciones
Backend (Perspectiva de Datos de Negocio)
Entidades de Negocio
- Concepto de retencion (boniret): Configuracion de la retencion con nombre, valor, tipo de calculo, cuenta contable
- Relacion recibo-retencion (recret): Vinculacion entre un recibo y las retenciones aplicadas
- Cuenta corriente (ordcta): Movimiento generado por cada retencion registrada
Datos Necesarios
Para cada retencion aplicada en un recibo:
- Identificador del recibo
- Identificador del movimiento de retencion
- Identificador del concepto de retencion
- Numero de la retencion (ingresado por el usuario)
- Valor de la retencion (ingresado o calculado segun tipo)
- Cuenta contable asociada
Relaciones de Negocio
- Un recibo puede tener multiples retenciones aplicadas
- Cada retencion aplicada referencia a un concepto de retencion configurado
- Cada retencion registrada genera un movimiento en cuenta corriente
- La relacion entre recibo y retenciones se mantiene a traves de la entidad de relacion recibo-retenciones
Validaciones de Negocio
- Solo se registran las retenciones que tengan un valor ingresado
- El concepto de retencion seleccionado debe existir y estar activo
- La cuenta contable es obligatoria y debe ser valida dentro del plan de cuentas (ver RN-007)
Reglas de Negocio
RN-001: Calculo segun tipo Fijo
- Condicion: La retencion seleccionada tiene tipo de calculo Fijo (F)
- Accion: El valor ingresado se suma directamente al total de retenciones
- Ejemplo: Retencion "Tasa Municipal" con valor $500. Se suma $500 al total de retenciones
RN-002: Calculo segun tipo Porcentaje
- Condicion: La retencion seleccionada tiene tipo de calculo Porcentaje (P)
- Accion: Se calcula el porcentaje sobre el monto del recibo y se suma el resultado al total de retenciones
- Ejemplo: Recibo por $10.000, retencion "IIBB - 3%". Calculo: $10.000 x 3% = $300. Se suma $300 al total de retenciones
RN-003: Registro condicionado al valor
- Condicion: El usuario confirma el recibo con retenciones configuradas
- Accion: Solo pasan a registro las retenciones que tengan un valor ingresado. Las retenciones sin valor se ignoran
- Ejemplo: Si se seleccionaron 3 retenciones pero solo 2 tienen valor, se registran unicamente las 2 con valor
RN-004: Movimiento en cuenta corriente
- Condicion: Se registra una retencion en un recibo
- Accion: Por cada retencion registrada se crea un movimiento en cuenta corriente (ordcta) correspondiente a la retencion. Este movimiento debe ser al mismo lado que el recibo generado (mismo signo/tipo de movimiento)
- Ejemplo: Si el recibo es un ingreso (cobro), el movimiento de retencion en cuenta corriente tambien se registra como ingreso
RN-005: Cancelacion de deuda
- Condicion: Se registra un recibo con retenciones
- Accion: La cancelacion de deuda con comprobantes se realiza por el total del recibo SIN retenciones
- Ejemplo: Recibo de $10.000 con retencion de $300. La cancelacion de deuda en cuenta corriente es por $10.000 (sin considerar los $300 de retencion)
RN-006: Impacto en Tesoreria (si el modulo esta activo)
- Condicion: El modulo de Tesoreria esta activo y se registra un recibo con retenciones
- Accion:
- El ingreso en tesoreria equivale al total del recibo mas las retenciones
- El egreso en tesoreria corresponde a las retenciones aplicadas, con una linea de egreso por cada retencion
- Ejemplo: Recibo de $10.000 con retencion IIBB $300 y retencion SUSS $200:
- Ingreso en tesoreria: $10.000 + $300 + $200 = $10.500
- Egresos en tesoreria: linea 1 = $300 (IIBB), linea 2 = $200 (SUSS)
RN-007: Cuenta contable obligatoria
- Condicion: El usuario confirma una retencion en el modal
- Accion: La cuenta contable es un campo requerido. No se permite confirmar una retencion sin haber seleccionado una cuenta contable valida del plan de cuentas
- Precarga: El campo se precarga con la cuenta configurada en el concepto (
boniret.cuenta_contable). El usuario puede modificarla, pero no dejarla vacia - Error: Si no se selecciona cuenta contable, el sistema debe mostrar un mensaje de error e impedir la confirmacion de la retencion
RN-008: Visualizacion de retenciones en el recibo
- Condicion: Se consulta o imprime un recibo que tiene retenciones aplicadas
- Accion:
- Se muestran todas las retenciones vinculadas al recibo (tabla
recret) - Solo se muestran retenciones que tengan valor distinto de cero
- El nombre de cada retencion se obtiene de la tabla
boniretmediante el campoid_retencion - El total del comprobante mostrado en la construccion del recibo incluye el monto de las retenciones
- Se muestran todas las retenciones vinculadas al recibo (tabla
- Formato de display: Por cada retencion: nombre del concepto y valor
- Ejemplo: Recibo de $10.000 con IIBB $300 y Tasa Municipal $200:
- Se muestran dos lineas: "IIBB - 3%: $300" y "Tasa Municipal: $200"
- Total del comprobante: $10.500
Casos de Uso
CU-001: Aplicar una retencion de monto fijo en un recibo
Actor: Usuario de tesoreria
Precondiciones:
- El usuario tiene permiso para generar recibos
- Existen conceptos de retencion configurados con tipo Fijo
- El formulario de recibo esta abierto con un comprobante cargado
Flujo principal:
- Usuario presiona el boton "Retenciones" en el formulario de recibo
- Sistema abre el modal mostrando el listado de retenciones disponibles y el total del comprobante en un campo de solo lectura
- Usuario selecciona una retencion de tipo Fijo (ej: "Tasa Municipal - $500")
- Sistema muestra los campos editables: numero, valor y cuenta contable, precargados con los valores del concepto
- Usuario ingresa el numero de retencion y ajusta el valor si es necesario
- Sistema recalcula el total con retenciones aplicadas
- Usuario confirma la seleccion
- Sistema registra la retencion y actualiza los totales del recibo
Flujos alternativos:
- 5a. Usuario no ingresa valor: La retencion no se registra al confirmar el recibo
Postcondiciones:
- La retencion queda vinculada al recibo
- Se genera un movimiento en cuenta corriente por la retencion
- El total con retenciones se refleja correctamente
CU-002: Aplicar una retencion porcentual en un recibo
Actor: Usuario de tesoreria
Precondiciones:
- El usuario tiene permiso para generar recibos
- Existen conceptos de retencion configurados con tipo Porcentaje
- El formulario de recibo esta abierto con un comprobante cargado
Flujo principal:
- Usuario presiona el boton "Retenciones" en el formulario de recibo
- Sistema abre el modal mostrando el listado de retenciones disponibles y el total del comprobante en un campo de solo lectura
- Usuario selecciona una retencion de tipo Porcentaje (ej: "IIBB - 3%")
- Sistema calcula automaticamente el valor de la retencion como el porcentaje sobre el monto del recibo y muestra los campos editables precargados
- Usuario ingresa el numero de retencion y ajusta el valor calculado si es necesario
- Sistema recalcula el total con retenciones aplicadas
- Usuario confirma la seleccion
- Sistema registra la retencion y actualiza los totales del recibo
Ejemplo numerico:
- Recibo: $15.000
- Retencion seleccionada: IIBB 3%
- Valor calculado: $15.000 x 3% = $450
- Total con retenciones: $15.000 + $450 = $15.450
Postcondiciones:
- La retencion queda vinculada al recibo con el valor calculado
- Se genera un movimiento en cuenta corriente por $450
- Si Tesoreria esta activo: ingreso = $15.450, egreso = $450
CU-003: Aplicar multiples retenciones en un recibo
Actor: Usuario de tesoreria
Precondiciones:
- El usuario tiene permiso para generar recibos
- Existen multiples conceptos de retencion configurados
- El formulario de recibo esta abierto con un comprobante cargado
Flujo principal:
- Usuario presiona el boton "Retenciones" en el formulario de recibo
- Sistema abre el modal mostrando el listado de retenciones disponibles y el total del comprobante
- Usuario selecciona la primera retencion (ej: "IIBB - 3%", tipo Porcentaje)
- Sistema calcula el valor y lo muestra. Usuario ingresa numero y confirma
- Usuario selecciona la segunda retencion (ej: "Tasa Municipal - $200", tipo Fijo)
- Sistema muestra el valor fijo. Usuario ingresa numero y confirma
- Sistema recalcula el total con ambas retenciones aplicadas
- Usuario confirma todas las retenciones
- Sistema registra ambas retenciones y actualiza los totales del recibo
Ejemplo numerico:
- Recibo: $10.000
- Retencion 1: IIBB 3% = $300
- Retencion 2: Tasa Municipal = $200 (fijo)
- Total retenciones: $500
- Total con retenciones: $10.500
Postcondiciones:
- Ambas retenciones quedan vinculadas al recibo
- Se generan dos movimientos en cuenta corriente (uno por cada retencion)
- La cancelacion de deuda es por $10.000 (total del recibo sin retenciones)
- Si Tesoreria esta activo: ingreso = $10.500, egresos = $300 (IIBB) + $200 (Tasa Municipal)
Consideraciones
Seguridad
- Solo usuarios autenticados con permiso para generar recibos pueden aplicar retenciones
- Las retenciones registradas deben quedar vinculadas al recibo de forma auditable
Auditoria
- Registrar que retenciones se aplicaron en cada recibo
- Registrar los valores ingresados por el usuario para cada retencion
Dependencias
Modulos internos
- Conceptos de Retencion (boniret): Los conceptos deben estar previamente configurados. Ver 01. Conceptos de Tesoreria
- Cuenta Corriente (ordcta): Se generan movimientos de cuenta corriente por cada retencion registrada
- Tesoreria: Si esta activo, se registran ingresos y egresos derivados de las retenciones
- Contabilidad: La cuenta contable asociada a cada retencion debe existir en el plan de cuentas
Dependencias de datos
- Deben existir conceptos de retencion activos en el sistema
- El recibo debe tener un total de comprobante definido antes de aplicar retenciones
- La tabla de relacion recibo-retenciones (recret) debe estar disponible. Ver 03. Relaciones
Criterios de Aceptacion
Carga de retenciones
- [ ] El formulario de recibos muestra el boton "Retenciones"
- [ ] Al presionar el boton se abre un modal con el listado de retenciones disponibles
- [ ] El listado muestra: nombre, numero, valor, tipo y cuenta contable de cada concepto
- [ ] El modal muestra un campo de solo lectura con el total del comprobante del recibo
- [ ] El modal muestra un campo calculado con el total luego de aplicar retenciones
- [ ] Al seleccionar una retencion, el usuario puede modificar numero, valor y cuenta contable
- [ ] La cuenta contable es obligatoria: el sistema impide confirmar una retencion sin cuenta contable seleccionada
- [ ] La cuenta contable se precarga con el valor configurado en el concepto (
boniret) - [ ] Para retenciones de tipo Fijo, el valor se suma directamente al total de retenciones
- [ ] Para retenciones de tipo Porcentaje, el sistema calcula el porcentaje sobre el monto del recibo
- [ ] Solo se registran las retenciones que tengan valor ingresado
- [ ] Por cada retencion registrada se crea un movimiento en cuenta corriente al mismo lado que el recibo
- [ ] La cancelacion de deuda corresponde al total del recibo sin retenciones
- [ ] Si Tesoreria esta activo: el ingreso refleja total del recibo mas retenciones
- [ ] Si Tesoreria esta activo: se genera una linea de egreso por cada retencion aplicada (con la cuenta contable seleccionada)
- [ ] El proceso funciona exclusivamente en recibos, no en ordenes de pago
Visualizacion de retenciones en recibo
- [ ] Al consultar o imprimir un recibo, se muestran todas las retenciones aplicadas (de
recret) - [ ] Solo se muestran retenciones con valor distinto de cero
- [ ] El nombre de cada retencion se resuelve desde
boniretusandoid_retencion - [ ] El PDF del recibo incluye una seccion de retenciones con el nombre y valor de cada una
- [ ] El total del comprobante en el PDF refleja correctamente la suma del monto del recibo mas las retenciones
- [ ] El listado de reimpresion muestra el importe total del recibo incluyendo retenciones genericas
Notas Adicionales
- Este proceso complementa la funcionalidad de gestion de conceptos de retencion (ABM de boniret), que ya se encuentra implementada
- La funcionalidad de carga de retenciones en ordenes de pago no forma parte de este requerimiento
- Para retenciones de ganancias con escalas progresivas, consultar la documentacion del modulo de Compras: Retenciones de Ganancias
Documentacion de Retenciones Genericas Sistema Bautista ERP