Detalle
| Campo |
Valor |
| Manual de Usuario |
Proceso de cálculo y generación de numerales: intereses devengados sobre los saldos diarios de las cuentas corrientes de clientes (deudores y acreedores), con registración automática en cuenta corriente y contabilidad |
| Módulo |
Gestión Comercial |
| Pantalla |
Numerales (Gestión → Cuentas Corrientes → Numerales) |
| Tipo |
Proceso |
Introducción
Los numerales son el mecanismo con el que el sistema calcula los intereses que se devengan sobre los saldos de las cuentas corrientes de los clientes durante un período.
El proceso recorre el movimiento diario de la cuenta corriente de cada cliente seleccionado, acumula los saldos día por día (numeral = saldo × cantidad de días que se mantuvo) y aplica una tasa para obtener el interés. Según el signo del saldo que se considera, el proceso opera en dos modos:
- Capitalización de Interés: toma los días con saldo acreedor (saldo a favor del cliente). Genera el concepto "INTERESES POR SALDO ACREEDOR".
- Devengamiento de Interés: toma los días con saldo deudor (el cliente debe). Genera el concepto "INTERESES POR SALDO DEUDOR" y permite emitir un comprobante (Nota de Débito).
El resultado no solo se calcula y se muestra para revisión, sino que —al confirmarlo— se registra automáticamente como movimiento en la cuenta corriente de cada cliente y como asiento contable. Por eso es un proceso que debe ejecutarse con cuidado y, normalmente, una sola vez por período.
Acceso al módulo
- Ingresar al Back Office de Plenario.
- Abrir la solapa/cinta Gestión.
- Dentro del grupo Cuentas Corrientes, hacer clic en la opción Numerales.
Importante: El acceso requiere el permiso Gestion.Cuentas_Corrientes.Proceso_Numerales, que debe solicitarse al administrador del sistema. Sin ese permiso la opción no abre la pantalla.
Pantalla principal
La pantalla es un formulario único de parámetros con un botón Aceptar en la barra de herramientas superior. Al ejecutar, no genera nada de inmediato: primero muestra una vista previa (pantalla de resultados) para revisar y, recién al confirmarla, registra los movimientos.
Al abrir la pantalla el sistema precarga valores por defecto:
- Fecha y Hasta: la fecha de trabajo del sistema.
- Desde: el primer día del mes de la fecha de trabajo.
- Denominador: el valor configurado en el parámetro
Denominador (36000 o 36500).
- Incluir Clientes y Movimientos: ambos en
[Todos].
- Concepto: se arma automáticamente al cambiar las fechas o el tipo de interés (ver "Resultado del proceso").
Parámetros
| Campo |
Descripción |
| Fecha |
Fecha con la que queda registrado el movimiento/asiento generado por el proceso |
| Denominador |
Base de cálculo de la tasa diaria: 36000 o 36500. El interés se calcula como numeral × tasa / denominador |
| Desde / Hasta |
Período de la cuenta corriente que se analiza. El proceso considera los movimientos desde "Desde" hasta el día anterior a "Hasta" |
| Tasa % |
Porcentaje de tasa a aplicar. Obligatoria y mayor a 0 cuando NO se usan tasas particulares |
| Especie |
Moneda sobre la que se calcula (pesos, dólares, euros, etc.). El importe final se expresa según la cotización de la especie |
| Concepto |
Descripción que se asigna a los movimientos generados. Se completa solo, pero es editable; no puede quedar vacío |
| Devengamiento de Interes |
Calcula sobre saldos deudores. Habilita la selección de Comprobante |
| Capitalización de Interes |
Calcula sobre saldos acreedores. Deshabilita el Comprobante |
| Utiliza Tasas Particulares |
Si se tilda, el sistema toma la tasa en este orden: (1) tasa particular por especie del cliente, (2) tasa general de numerales del cliente, (3) tasa de este formulario |
| Comprobante |
Tipo de comprobante de venta a emitir automáticamente (solo en Devengamiento). "Ninguno" (S/N) no emite comprobante |
| Categoria |
Filtra los clientes por categoría. "Todas" incluye todas (según parámetros de visibilidad) |
| Incluir Clientes / Cliente N° |
Permite acotar a clientes puntuales. [Todos] procesa todos los de la categoría elegida |
| Movimientos |
Filtra por tipo de movimiento de cuenta corriente. [Todos] considera todos |
Importante: No se puede filtrar por categoría y por clientes seleccionados al mismo tiempo. Si se eligen clientes puntuales, la categoría debe quedar en "Todas".
Resultado del proceso
Al presionar Aceptar, el sistema valida los parámetros, calcula los importes por cliente y abre la pantalla de vista previa (Numerales - View):
- Lista cada cliente con interés distinto de cero, mostrando: número de cliente, nombre, importe en la moneda base e importe convertido por la cotización de la especie.
- Muestra al pie la Cantidad de clientes y los totales acumulados.
- Permite Modificar el importe de una fila o Eliminar filas antes de confirmar.
El Concepto se arma automáticamente con el formato:
INTERESES POR SALDO {ACREEDOR|DEUDOR} {fecha desde} - {fecha hasta}
Al presionar Aceptar en la vista previa, el proceso registra de forma definitiva:
- Un movimiento en la cuenta corriente de cada cliente por el interés calculado.
- Un asiento contable usando la cuenta definida en
CTACTE_CAPIT_NUM (capitalización) o CTACTE_DEVEN_NUM (devengamiento).
- Si corresponde, los comprobantes (Notas de Débito) según el tipo elegido, con opción a imprimirlos.
Si el parámetro CuentasCorrientes.ProcesoNumerales.Validaciones está en 1, el sistema verifica que no se hayan generado numerales antes para ese cliente/período/especie y deja registro del proceso.
Acciones disponibles
| Acción |
Descripción |
| Aceptar (pantalla principal) |
Calcula y abre la vista previa con los importes por cliente |
| Modificar (vista previa) |
Edita manualmente el importe de interés de un cliente antes de confirmar |
| Eliminar (vista previa) |
Quita uno o varios clientes de la generación |
| Aceptar (vista previa) |
Confirma y registra movimientos, asiento y comprobantes |
| Seleccionar Clientes (...) |
Abre el listado de clientes para elegir varios (Ctrl + clic) |
| Seleccionar Movimientos (...) |
Abre el listado de tipos de movimiento para filtrar |
| Imprimir Comprobantes |
Tras generar, ofrece imprimir las Notas de Débito emitidas |
Ejemplo práctico
Devengar intereses sobre saldos deudores del mes:
- Abrir Gestión → Cuentas Corrientes → Numerales.
- Dejar Desde = 01 del mes y Hasta = fin del período (o fecha de trabajo).
- Seleccionar Especie = Pesos.
- Marcar Devengamiento de Interes.
- Ingresar Tasa % (por ejemplo 8) — o tildar "Utiliza Tasas Particulares" si cada cliente tiene su tasa.
- Dejar Incluir Clientes =
[Todos] y Categoria = "Todas" (o filtrar).
- Elegir el Comprobante (Nota de Débito) si se quiere documentar el interés; o "Ninguno".
- Presionar Aceptar: el sistema muestra la vista previa con el interés de cada cliente.
- Revisar/ajustar importes y presionar Aceptar para registrar. Confirmar la impresión de comprobantes si aplica.
Consejos útiles
- Revisá siempre la vista previa antes de confirmar: una vez generado, el movimiento y el asiento quedan registrados.
- Verificá que estén definidas las cuentas contables
CTACTE_CAPIT_NUM y/o CTACTE_DEVEN_NUM (Herramientas → Configuración → Definición de Cuentas) antes de ejecutar, o el proceso no podrá generarse.
- El período se toma hasta el día anterior a la fecha "Hasta". Tenelo en cuenta al definir el rango.
- Si usás tasas particulares pero un cliente no tiene tasa cargada ni en la especie ni en su ficha, se usa la tasa del formulario; si esa también es 0, ese cliente no genera interés.
- Ejecutá el proceso una sola vez por período. Activá el parámetro de validaciones para que el sistema impida duplicar numerales.
Preguntas frecuentes
¿Cuál es la diferencia entre Devengamiento y Capitalización?
Devengamiento calcula intereses sobre los días con **saldo deudor** (el cliente debe) y permite emitir comprobante. Capitalización calcula sobre los días con **saldo acreedor** (saldo a favor del cliente) y no emite comprobante.
¿Qué diferencia hay entre 36000 y 36500 en el denominador?
Es la base de la tasa diaria. El interés se calcula como numeral × tasa / denominador. 36000 supone meses de 30 días (año comercial de 360); 36500 usa el año de 365 días. El valor por defecto sale del parámetro `Denominador`.
¿Por qué un cliente no aparece en la vista previa?
Porque su interés calculado dio 0: no tuvo saldo del signo que corresponde al modo elegido en el período, o no hay tasa aplicable. Solo se listan los clientes con importe distinto de cero.
¿Puedo filtrar por categoría y por clientes a la vez?
No. Si seleccionás clientes puntuales, la categoría debe quedar en "Todas"; de lo contrario el sistema avisa que solo puede aplicarse un filtro.
¿Se puede deshacer un proceso de numerales?
El proceso registra movimientos de cuenta corriente y un asiento contable. No se revierte desde esta pantalla; ante un error hay que regularizarlo contablemente. Por eso conviene revisar bien la vista previa antes de confirmar.
Permisos
| Permiso |
Descripción |
Gestion.Cuentas_Corrientes.Proceso_Numerales |
Habilita el acceso a la pantalla de Numerales y la ejecución del proceso |
Los permisos se asignan por grupo/usuario y deben solicitarse al administrador del sistema.
Información técnica
Sección de referencia para soporte/desarrollo. Basada en el análisis del formulario real de la v14 (frmNumerales.vb, en VisualPlenarioNET\Depositos\Cuentas Corrientes\).
Formularios principales
| Componente |
Detalle |
| Formulario principal |
frmNumerales.vb — formulario único de parámetros. Hereda de MultiForm. El botón Aceptar de la barra es cmdNuevo (handler cmdNuevo_Click) |
| Apertura del form |
FormTile.vb → _frmNewMain.ShowFrmInDockPanel(New frmNumerales()) (se abre en panel acoplado, no como diálogo). Antes valida clsSeguridad.IsAllowedObject(_objUsuario, "Gestion.Cuentas_Corrientes.Proceso_Numerales", ...) |
| Cálculo (preview) |
clsClientes.Metodos.vb → GetImporte_Numerales(Id_Especie, objEspecie, Desde, Hasta, TipoNumeral, tasa, Ids, useTasaParticular, tipoMov) (sobrecarga que devuelve Double()) |
| Generación definitiva |
clsClientes.Metodos.vb → GenerarNumerales(idsClientes, importes, TipoNumeral, fecha, concepto, comprobante, Desde, Hasta, especie, useTasaParticular, tasa) → devuelve Id de asiento; expone NumeralesIdsComprobantes (ND emitidas) |
| Enum de modo |
clsClientes.TipoNumeral: Capitalizacion = 1 (saldo acreedor), Devengamiento = 2 (saldo deudor) |
| Origen de saldos |
GetCuentaCorrienteConsolidada(cliente, especie, arrastre:=True, Desde, Hasta.AddDays(-1), tipoMov) → SP Clientes_CtaCte_Consolidado + arrastre de saldo anterior calculado en memoria |
| Fórmula |
numeral acumulado Σ (saldo × días entre movimientos) (solo saldos del signo del modo) × tasa / denominador, multiplicado por objEspecies.Cotizacion |
Formularios satélite (diálogos lanzados desde el form)
| Acción |
Form que abre |
| Aceptar (calcula) → vista previa |
frmNumerales_View (ShowDialog) — lista clientes con importe ≠ 0, totales, Modificar/Eliminar |
| Modificar importe (en la vista previa) |
frmNumerales_ModificarImporte |
Seleccionar Clientes (btnSelectClientes) |
frmClientes(1, seleccionActual) — multiselección con Ctrl |
Seleccionar Movimientos (btnSelectMovimiento) |
frmCuentasCorrientes_TipoMovimiento |
Link "Especie" (lnkEspecie) |
frmEspecies(True) |
Link "Categoría" (lnkCategoria) |
frmClientes_Categorias(True) |
Permisos reales
| Permiso |
Habilita |
Gestion.Cuentas_Corrientes.Proceso_Numerales |
Acceso a la pantalla (chequeado con clsSeguridad.IsAllowedObject en FormTile.vb) y ejecución del proceso |
Tablas / objetos de base de datos principales (ADO.NET + Stored Procedures, no EF)
| Tabla / SP |
Contenido |
Clientes_CtaCte_Consolidado (SP) |
Devuelve el movimiento consolidado de cta. cte. del cliente/especie/período (origen de los saldos diarios) |
Clientes_Definicion_Numerales_ObtenerValor (SP) |
Tasa particular por especie del cliente (params Id_Cliente, Tipo 1/-1, Id_Especie); solo si "Utiliza Tasas Particulares" |
Clientes_Numerales_Add (SP) |
Inserta el registro del numeral generado por cliente. Id obtenido vía Get_CodNew("Clientes_Numerales", "id") |
Clientes_Numerales_Verify (SP) |
Verifica numerales ya generados para cliente/período/especie (usado por VerificarNumerales) |
| Ficha cliente |
Campos TasaNumeralActiva / TasaNumeralPasiva (props Tasa_Numerales_Activa / Tasa_Numerales_Pasiva), tasa general por cliente |
Parámetros y cuentas contables
| Clave |
Uso |
Denominador |
36000 / 36500 (default del combo) |
CuentasCorrientes.ProcesoNumerales.Validaciones |
1 = verifica duplicados (Clientes_Numerales_Verify) y registra el proceso |
Gestion.Numerales.MostrarCategoriaTodos |
1 = agrega opción "Todas" al combo de categoría para cualquier usuario |
Seguridad.RestringirCategoriasXUsuario |
1 = filtra categorías por usuario en FillCboCategorias |
CTACTE_CAPIT_NUM / CTACTE_DEVEN_NUM |
Cuentas contables de imputación (capitalización / devengamiento). Validadas antes de calcular |
IVA_OP |
Cuenta de IVA del asiento cuando se emite comprobante |
Relación con otros módulos / manuales
| Manual relacionado |
Vínculo operativo |
| Auditorías de Numerales |
Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
Notas para soporte (comportamiento real del código)
- Filtros excluyentes: si se eligen clientes puntuales y la categoría ≠ 0, el form corta con
MsgBox "Solo es posible aplicar uno de los filtros". Comprobado en cmdNuevo_Click.
frmNumerales_Load envuelve toda la precarga en Try ... Catch con bloque Catch vacío: si falla la carga de combos/fechas, no se informa el error (queda silencioso).
- Concepto autogenerado:
CargarConcepto() arma "INTERESES POR SALDO {ACREEDOR|DEUDOR} {desde} - {hasta}" al cambiar fechas o tipo; editable pero no puede quedar vacío.
- Período: el cálculo usa
Hasta.AddDays(-1) (toma hasta el día anterior a "Hasta"). El saldo de arranque se arrastra desde 01/01/1900.
- Vista previa: solo lista clientes con importe ≠ 0; si todos dan 0 muestra
objClientes.ErrorMessage. Los importes editados en frmNumerales_View se reparsean desde el texto formateado de la grilla (#,##0.00).
- Bug latente (no afecta a este form): la sobrecarga
GetImporte_Numerales(objEspecies, ...) de clsClientes.Metodos.vb:2961 pasa dt.Rows(i)("Saldo") como argumento de fecha a DateDiff (debería ser "Fecha"). El form usa la sobrecarga correcta (línea 3001/3111), por lo que el preview real está bien.
- Impresión de ND: tras generar, si hubo comprobante, ofrece imprimir vía
VPNET.Windows.Forms.VPNetApp.Main.ImprimirND(intId) recorriendo NumeralesIdsComprobantes.
- Inicialización del cursor: usa
Me.UseWaitCursor; hay rutas de salida (validación de cuentas en capitalización/devengamiento sin cuenta) donde se hace Exit Sub dejando el wait cursor según el caso.
Ver también