← Índice de manuales
Manual funcional · Sistema Plenario v14

Tesorería - Aplicación de comprobantes de compras

El módulo Aplicación de comprobantes de compras permite vincular manualmente las órdenes de pago emitidas a un proveedor con los comprobantes de compra (facturas, notas de crédito y notas de débito) pendientes de ese…

Módulo: TesoreríaVersión: 1.1Actualizado: 2026-06-19

Detalle

Campo Descripción
Manual de Usuario Aplicación de Comprobantes de Compras - Plenario

Introducción

El módulo Aplicación de comprobantes de compras permite vincular manualmente las órdenes de pago emitidas a un proveedor con los comprobantes de compra (facturas, notas de crédito y notas de débito) pendientes de ese mismo proveedor.

De esta forma se imputa el pago contra la deuda correspondiente, dejando registrado qué comprobantes quedaron cancelados (total o parcialmente) con cada orden de pago. El resultado es un control preciso de las cuentas a pagar y de la cancelación de deuda con proveedores.

Este manual te guía paso a paso para realizar la aplicación de forma clara y segura.

Acceso al módulo

  1. Ingresá a Plenario.
  2. Seleccioná la solapa Tesorería.
  3. Hacé clic en Más.
  4. Elegí la opción Aplicación de comprobantes de Compras.

Importante: para ingresar al módulo necesitás el permiso correspondiente. Si no lo tenés, el formulario se cierra automáticamente al abrirse. Consultá con tu administrador.

Pantalla principal

La ventana se titula "Aplicar Ordenes de Pago a Comprobantes..." y se organiza de arriba hacia abajo en estas zonas:

Zona Descripción
Barra de herramientas Contiene el botón Aceptar, que confirma la aplicación.
Proveedor Campo para ingresar el proveedor por código, más el vínculo Proveedor: para buscarlo en una lista.
Ordenes De Pago Grilla superior con las órdenes de pago del proveedor que tienen saldo pendiente.
Comprobantes Grilla inferior con los comprobantes de compra del proveedor pendientes de aplicación.
Barra de estado Muestra mensajes e importes de referencia en la parte inferior.

Filtros de búsqueda

La búsqueda se realiza por proveedor. No hay rango de fechas ni otros filtros previos: al elegir el proveedor se cargan automáticamente sus órdenes de pago y comprobantes pendientes.

Filtro Descripción
Proveedor (código) Ingresá el código numérico del proveedor (hasta 8 dígitos) y presioná Enter o salí del campo. Si el código es válido, se completa el nombre y se cargan las grillas.
Proveedor: (vínculo) Abre la lista de proveedores para buscarlo por razón social o código y seleccionarlo.
Todas las sucursales Casilla opcional para incluir comprobantes y órdenes de todas las sucursales del proveedor.

Resultados

Al seleccionar el proveedor se completan las dos grillas.

Grilla "Ordenes De Pago" (selección por opción única; solo una orden a la vez):

Columna Descripción
Seleccion Botón de opción para elegir la orden de pago a aplicar.
Nro Número (Id) de la orden de pago.
Fecha Fecha de la orden de pago.
Monto Importe total de la orden.
Pago Importe ya aplicado de la orden.
Saldo Saldo disponible (Monto menos Pago).
Actual Importe que se está aplicando en esta operación.

Grilla "Comprobantes" (selección múltiple con casilla):

Columna Descripción
Seleccion Casilla para marcar el comprobante a cancelar.
Nro Cmp Número del comprobante.
Tipo Concepto del comprobante (por ejemplo factura o NC).
Fecha Fecha del comprobante.
Monto Importe total del comprobante.
Pago Importe ya aplicado al comprobante.
Saldo Saldo pendiente (Monto menos Pago).
Actual Importe a aplicar; es editable y se puede ajustar para una aplicación parcial.

Ambas grillas muestran totales al pie (sumatorias de Monto, Pago, Saldo y Actual).

Acciones disponibles

Acción Descripción
Seleccionar orden de pago Marcar, con el botón de opción, la orden cuyo saldo se va a imputar. Solo puede haber una seleccionada.
Marcar comprobante Tildar la casilla de un comprobante para imputarle el saldo de la orden seleccionada.
Editar importe Actual Cambiar manualmente el importe a aplicar a un comprobante para hacer una aplicación parcial.
Aceptar Confirmar la aplicación y registrar los importes imputados.

Flujo de aplicación

  1. Seleccioná el proveedor (por código o desde el vínculo Proveedor:).
  2. En la grilla Ordenes De Pago, marcá con el botón de opción la orden a aplicar. Si no seleccionás una orden primero, el sistema avisa "Debe seleccionar una OP".
  3. En la grilla Comprobantes, tildá los comprobantes que querés cancelar. Al tildar, la columna Actual se completa con el saldo del comprobante, hasta agotar el saldo disponible de la orden.
  4. Si necesitás una imputación parcial, editá el importe de la columna Actual del comprobante. El sistema valida que el importe sea positivo y que no supere ni el saldo del comprobante ni el saldo disponible de la orden de pago.
  5. Verificá los montos y saldos actualizados en los totales al pie.
  6. Hacé clic en Aceptar. Se guardan las imputaciones, se actualizan los importes pagados de cada comprobante y aparece el mensaje de confirmación con el número de la orden de pago aplicada.

Cómo desaplicar / corregir

El formulario no incluye un botón propio de desaplicación. Mientras no confirmes con Aceptar, podés deshacer la selección destildando comprobantes (el importe Actual vuelve a 0) o cambiando la orden de pago seleccionada, lo que limpia las marcas. Para revertir una aplicación ya confirmada, consultá con tu administrador según tu nivel de permisos.

Ejemplo práctico

Recibiste una factura de "ACME S.A." por $50.000 y ya emitiste una orden de pago por el mismo importe:

  1. Ingresá al módulo.
  2. Ingresá el código del proveedor "ACME S.A." (o buscalo con el vínculo Proveedor:).
  3. En Ordenes De Pago, marcá la orden de $50.000.
  4. En Comprobantes, tildá la factura pendiente por $50.000. La columna Actual se completa con $50.000.
  5. Verificá los totales y hacé clic en Aceptar.

El sistema imputa la orden al comprobante, deja el saldo de ambos en cero y muestra el mensaje de aplicación correcta con el número de la orden de pago.

Consejos útiles

  • Usá este módulo para mantener ordenadas las cuentas a pagar y evitar errores de conciliación.
  • Aplicá una vez que tengas certeza del pago realizado y del comprobante recibido.
  • Recordá que se selecciona una sola orden de pago por vez, pero podés cancelar varios comprobantes con ella.
  • Para pagos parciales, ajustá manualmente la columna Actual del comprobante.
  • Revisá los totales al pie de cada grilla antes de confirmar.

Preguntas frecuentes

¿Puedo aplicar una orden de pago a varios comprobantes? Sí. Con una orden seleccionada podés tildar varios comprobantes, siempre que el saldo disponible de la orden alcance para cubrir los importes.
¿Puedo cancelar parcialmente un comprobante? Sí. Editá la columna **Actual** del comprobante con el importe que quieras imputar. El sistema valida que sea positivo y que no supere el saldo del comprobante ni el de la orden de pago.
¿Por qué me dice "Debe seleccionar una OP"? Porque intentaste marcar o cargar un importe en un comprobante sin haber seleccionado primero una orden de pago. Marcá la orden en la grilla superior y volvé a intentar.
¿Puedo elegir más de una orden de pago a la vez? No. La selección de órdenes es por opción única: al marcar otra orden se deselecciona la anterior y se limpian las marcas de los comprobantes.
¿Cómo deshago una aplicación? Antes de confirmar, destildá los comprobantes o cambiá la orden seleccionada. Una vez confirmada con **Aceptar**, la reversión depende de tus permisos; consultá con el administrador.

Permisos

Permiso Función
Gestion.Tesoreria.OrdenesdePago_Aplicar_Comprobante Permite el ingreso al formulario Aplicación de Comprobantes de Compras. Sin él, el formulario se cierra al abrirse.
Gestion.Tesoreria.AplicarComprobantes_deCompras Permite ejecutar la aplicación de comprobantes de compras (acción del botón Aceptar).

Información técnica

Sección de referencia para soporte/desarrollo. Basada en el análisis del formulario real de la v14 (frmOrdenesdePago_Aplicar_Comprobante.vb).

Formularios principales

Componente Detalle
Formulario frmOrdenesdePago_Aplicar_Comprobante (VB.NET / WinForms)
Proyecto / ruta VisualPlenarioNET\Tesorería\frmOrdenesdePago_Aplicar_Comprobante.vb
Título de ventana Aplicar Ordenes de Pago a Comprobantes...
Grilla órdenes de pago grdOrdenesPago / gvOrdenesPago (DevExpress GridControl); título del grupo "Ordenes De Pago"; selección por opción única vía OP_CheckEdit
Grilla comprobantes grdFactura / gvFacturas; título del grupo "Comprobantes:"; selección múltiple vía Facturas_CheckEdit; columna Actual editable con RepositoryItemCalcEdit1
Campo proveedor txtProveedor (código) + txtProveedorNombre (nombre); lnkProveedor (LinkLabel "Proveedor:") abre frmProveedores
Casilla sucursales chkSucursales ("Todas las sucursales") — su CheckedChanged reejecuta LoadProveedor()
Botón confirmar btnAceptar ("&Aceptar") en el ToolStrip tlsStandard; ejecuta Aplicar_Comprobantes()
Búsqueda proveedor clsProveedores.Load(codigo); selección por frmProveedores(True) (devuelve _intReturnSelectedValue)

Carga de datos y registración

Operación Implementación real
Cargar órdenes de pago clsComprobantes.TraerOrdenesPendientes(IdProveedor, 0) → SP OrdenesdePago_Pendientes_Search
Cargar comprobantes clsComprobantes.TraerComprobantesComprasPendientes(0, IdProveedor) → SP Comprobantes_Compras_Pendientes_Search (tipos Fac_NC_ND)
Guardar imputación Por cada fila con Actual ≠ 0: clsIvacompras_ordenesdepago.Save() (SP Ivacompras_ordenesdepago_Add/_Mod) con Id_IvaCompras (TableId), Id_OrdenDePago e Importe_Pago
Actualizar comprobante clsGestion_Comprobantes_Compras.UpdateCabecera() acumulando Importe_Pago += Actual

Nota: el acceso a datos es ADO.NET con stored procedures (SqlDataAdapter / CommandType.StoredProcedure), no EF Core.

Permisos reales

Verificados vía ClassVisualPlenarioNET.Sistema.clsSeguridad.IsAllowedObject(...).

Permiso Habilita Punto de control
Gestion.Tesoreria.OrdenesdePago_Aplicar_Comprobante Ingreso al formulario; si falta, Me.Close() en el Load frmOrdenesdePago_Aplicar_Comprobante_Load
Gestion.Tesoreria.AplicarComprobantes_deCompras Ejecutar la aplicación (acción del botón Aceptar) btnAceptar_Click (corta antes de Aplicar_Comprobantes())

Tablas de base de datos principales

Tabla / entidad Contenido
Ivacompras_ordenesdepago Tabla de imputación OP ↔ comprobante de compra: Id, Id_IvaCompras, Id_OrdenDePago, Importe_Pago, Id_GestionComprobantes, auditoría (UserAdd/Mod, FechaAdd/Mod)
Cabecera comprobantes de compras (clsGestion_Comprobantes_Compras) Comprobantes de compra del proveedor; se acumula Importe_Pago al aplicar
Órdenes de pago / IvaCompras pendientes Origen de las grillas vía SPs OrdenesdePago_Pendientes_Search y Comprobantes_Compras_Pendientes_Search

Relación con otros módulos / manuales

Manual relacionado Vínculo operativo
Tesoreria Aplicación de comprobantes de ventas Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad.

Notas para soporte (comportamiento real del código)

  • Una sola OP a la vez: OP_CheckEdit.EditValueChanged mantiene Row_Seleccionada; al marcar otra OP se destilda la anterior y se limpian todas las marcas y los importes Actual de la grilla de comprobantes.
  • "Debe seleccionar una OP": si se tilda un comprobante o se carga un importe en Actual sin OP seleccionada, se avisa y se revierte la marca.
  • Validación de importes (RepositoryItemCalcEdit1_Leave + Obtener_Totales): el Actual debe ser positivo y no superar ni el saldo del comprobante (Importe - ImportePago) ni el saldo disponible de la OP; si se excede, se ajusta automáticamente al máximo posible y se avisa.
  • Notas de crédito (NC): Obtener_Totales invierte el signo cuando Concepto = "NC" al recalcular el total imputado de la OP.
  • Casilla "Todas las sucursales": dispara una recarga del proveedor, pero las llamadas de carga pasan sucursal/tipo fijos en 0 (TraerOrdenesPendientes(..., 0) y TraerComprobantesComprasPendientes(0, ...)); el filtrado efectivo por sucursal recae en los SPs.
  • Sin desaplicación en el form: no existe acción de revertir imputaciones confirmadas; solo se puede deshacer antes de Aceptar (destildar o cambiar de OP). Tras Aceptar se recarga el proveedor (LoadProveedor()).
  • Manejo de errores: errores de Save() se acumulan y se muestran al final; las excepciones generales se registran con VPNET_Common_BL.Functions.LogError.
¿Te resultó útil este manual?