Skip to content

Relacion Comprobante de Compra - Movimiento de Cuenta Corriente

Modulo: Compras + Cuenta Corriente Tipo: Resource Estado: ✅ IMPLEMENTADOFecha: 2025-12-15


Descripcion

Problema de Negocio

Actualmente el sistema no mantiene un registro formal de la relacion entre los comprobantes de compra registrados y los movimientos de cuenta corriente que se generan automaticamente para representar la deuda con el proveedor. Esta falta de vinculo genera los siguientes problemas:

  • Dificultad para determinar que movimiento de cuenta corriente corresponde a un comprobante de compra especifico
  • Imposibilidad de identificar rapidamente que comprobante origino un movimiento de cuenta corriente determinado
  • Falta de trazabilidad entre el registro del comprobante y su impacto en la cuenta corriente del proveedor
  • Problemas de auditoria al no poder vincular directamente comprobantes con sus movimientos de deuda asociados

Necesidad del Negocio

El sistema necesita registrar y mantener la relacion entre los comprobantes de compra y los movimientos de cuenta corriente que se generan automaticamente al momento del registro. Esta relacion es de naturaleza uno a uno debido a que:

  • Un comprobante de compra genera un unico movimiento de cuenta corriente: Cuando se registra un comprobante de compra a credito, se genera exactamente un movimiento en la cuenta corriente del proveedor que representa la deuda adquirida
  • Un movimiento de cuenta corriente corresponde a un unico comprobante: Cada movimiento automatico generado por registro de compra esta asociado exclusivamente al comprobante que lo origino

IMPORTANTE: Esta relacion NO involucra ordenes de pago. Las ordenes de pago tienen su propia logica de relacion con comprobantes que ya existe en el sistema. Esta funcionalidad es exclusivamente para vincular el comprobante de compra con el movimiento de cuenta corriente que representa la deuda inicial.

Valor de Negocio

La implementacion de esta funcionalidad aportara los siguientes beneficios:

  1. Trazabilidad completa: Permite rastrear el vinculo directo entre el comprobante de compra y su movimiento de deuda en cuenta corriente
  2. Integridad de datos: Garantiza consistencia entre los registros de compras y los movimientos de cuenta corriente
  3. Mejora en consultas: Facilita la obtencion de informacion relacionada desde cualquiera de los dos extremos de la relacion
  4. Auditoria clara: Simplifica los procesos de verificacion y control de registros de compra
  5. Consultas eficientes: Habilita la navegacion directa entre comprobante y movimiento sin necesidad de busquedas indirectas

Contexto en el Proceso de Negocio

Esta funcionalidad se integra en el flujo de registro de compras de la siguiente manera:

  1. El usuario registra un comprobante de compra a credito en el sistema
  2. El sistema valida y guarda el comprobante de compra
  3. El sistema genera automaticamente un movimiento en la cuenta corriente del proveedor que representa la deuda
  4. [Esta funcionalidad] El sistema registra la relacion entre el comprobante y el movimiento de cuenta corriente generado
  5. La relacion queda disponible para consultas y trazabilidad

Backend

Entidades de Negocio

Esta funcionalidad involucra las siguientes entidades de negocio:

Relacion Comprobante-Movimiento

Representa el vinculo entre un comprobante de compra y el movimiento de cuenta corriente generado automaticamente al registrarlo. Cada registro de relacion indica que un comprobante de compra especifico genero un movimiento de cuenta corriente especifico.

Proposito: Servir como registro de vinculo que permite la relacion uno a uno entre comprobantes de compra y sus movimientos de cuenta corriente asociados.

Datos Necesarios

Cada registro de relacion debe contener la siguiente informacion de negocio:

DatoDescripcionProposito
Identificador de la relacionIdentificador unico del registro de relacionPermite referenciar y gestionar cada relacion de forma individual
Identificador del comprobanteReferencia al comprobante de compra asociadoIdentifica que comprobante genero la relacion
Identificador del movimientoReferencia al movimiento de cuenta corriente relacionadoIdentifica que movimiento de cuenta corriente fue generado para el comprobante

Relaciones de Negocio

Comprobante de Compra (1) ---- (1) Relacion ---- (1) Movimiento de Cuenta Corriente
  • Comprobante a Relacion: Un comprobante de compra a credito tiene exactamente una relacion con un movimiento de cuenta corriente
  • Movimiento a Relacion: Un movimiento de cuenta corriente generado por registro de compra tiene exactamente una relacion con un comprobante
  • Relacion: Cada relacion es unica para el par comprobante-movimiento

Validaciones de Negocio

Las siguientes validaciones de negocio deben aplicarse:

  1. Existencia del comprobante:

    • El comprobante de compra referenciado debe existir en el sistema
    • El comprobante debe estar en un estado valido (no anulado al momento de crear la relacion)
  2. Existencia del movimiento:

    • El movimiento de cuenta corriente referenciado debe existir en el sistema
    • El movimiento debe corresponder a un registro de deuda por compra
  3. Unicidad de la relacion por comprobante:

    • Un comprobante de compra solo puede tener una relacion con un movimiento de cuenta corriente
    • El sistema debe rechazar intentos de crear relaciones duplicadas para el mismo comprobante
  4. Unicidad de la relacion por movimiento:

    • Un movimiento de cuenta corriente solo puede estar vinculado a un comprobante de compra
    • El sistema debe rechazar intentos de vincular un movimiento ya relacionado
  5. Integridad referencial:

    • Una relacion solo puede eliminarse si el comprobante de compra asociado se elimina o anula
    • Las relaciones deben mantenerse mientras ambos documentos esten activos

Reglas de Negocio

RN-001: Creacion Automatica al Registrar Comprobante a Credito

Descripcion: La relacion entre comprobante y movimiento de cuenta corriente se crea automaticamente al momento de registrar un comprobante de compra a credito.

  • Condicion: Cuando el sistema registra un comprobante de compra con condicion de pago a credito (genera deuda)
  • Accion: El sistema debe crear automaticamente el movimiento de cuenta corriente que representa la deuda y registrar la relacion entre el comprobante y dicho movimiento

RN-002: Eliminacion Automatica al Eliminar Comprobante

Descripcion: La relacion se elimina cuando se elimina o anula el comprobante de compra que la origino.

  • Condicion: Cuando un usuario anula o elimina un comprobante de compra que tiene relacion registrada
  • Accion: El sistema debe eliminar la relacion asociada a dicho comprobante (el movimiento de cuenta corriente tambien se elimina como parte del proceso de anulacion del comprobante)

RN-003: Unicidad de Relacion

Descripcion: Cada comprobante de compra puede tener como maximo una relacion con un movimiento de cuenta corriente, y viceversa.

  • Condicion: Al intentar crear una relacion donde el comprobante o el movimiento ya tienen una relacion existente
  • Accion: El sistema debe rechazar la operacion e informar que ya existe una relacion para ese documento

RN-004: Validacion Previa de Existencia

Descripcion: Ambos documentos deben existir antes de crear la relacion.

  • Condicion: Al intentar crear una relacion
  • Accion: El sistema debe verificar que tanto el comprobante de compra como el movimiento de cuenta corriente existan y sean validos. Si alguno no existe, debe rechazar la operacion con un mensaje descriptivo.

RN-005: Inmutabilidad de la Relacion

Descripcion: Las relaciones no pueden modificarse una vez creadas.

  • Condicion: Intento de modificar una relacion existente (cambiar comprobante o movimiento)
  • Accion: El sistema no debe permitir cambiar el comprobante o el movimiento de una relacion existente. La relacion solo puede crearse o eliminarse, nunca modificarse.

RN-006: Solo Compras a Credito

Descripcion: La relacion solo se crea para comprobantes de compra que generan movimiento de cuenta corriente (compras a credito).

  • Condicion: Al registrar un comprobante de compra
  • Accion: Si el comprobante es una compra al contado (no genera deuda en cuenta corriente), no se crea relacion. Solo los comprobantes que generan movimiento de deuda tendran relacion registrada.

Casos de Uso

CU-001: Consultar Movimiento de Cuenta Corriente de un Comprobante

Actor: Usuario del area de Compras, Contabilidad o Tesoreria

Precondiciones:

  • El usuario tiene permisos de consulta de comprobantes de compra
  • Existe un comprobante de compra registrado en el sistema
  • El comprobante fue registrado como compra a credito (genero movimiento de cuenta corriente)
  • El usuario se encuentra en la vista de detalle del comprobante de compra

Flujo Principal:

  1. El usuario accede al detalle de un comprobante de compra especifico
  2. El sistema muestra la informacion general del comprobante
  3. El sistema consulta el movimiento de cuenta corriente relacionado con dicho comprobante
  4. El sistema muestra la informacion del movimiento asociado (numero, fecha, importe de deuda, estado)
  5. El usuario puede hacer clic en el movimiento para ver su detalle en cuenta corriente

Postcondiciones:

  • El usuario visualiza el movimiento de cuenta corriente que representa la deuda generada por el comprobante
  • El usuario puede navegar al detalle del movimiento si lo requiere

Flujos Alternativos:

  • Comprobante sin relacion (compra al contado): Si el comprobante no tiene movimiento asociado porque fue compra al contado, el sistema muestra un mensaje indicando "Este comprobante no genero movimiento de cuenta corriente (compra al contado)"
  • Error de consulta: Si ocurre un error al obtener la relacion, el sistema muestra un mensaje de error y permite reintentar la consulta

CU-002: Consultar Comprobante Origen de un Movimiento

Actor: Usuario del area de Compras, Contabilidad o Tesoreria

Precondiciones:

  • El usuario tiene permisos de consulta de cuenta corriente
  • Existe un movimiento de cuenta corriente generado por registro de compra
  • El usuario se encuentra en la vista de movimientos de cuenta corriente

Flujo Principal:

  1. El usuario consulta los movimientos de cuenta corriente de un proveedor
  2. El sistema muestra la lista de movimientos
  3. El usuario identifica un movimiento de tipo deuda por compra
  4. El sistema muestra la informacion del comprobante origen asociado a ese movimiento
  5. El usuario puede hacer clic en el comprobante para ver su detalle

Postcondiciones:

  • El usuario visualiza el comprobante de compra que genero el movimiento de cuenta corriente
  • El usuario puede navegar al detalle del comprobante si lo requiere

Flujos Alternativos:

  • Movimiento sin relacion (historico): Si el movimiento no tiene comprobante asociado (datos historicos), el sistema muestra un mensaje indicando "No se encontro comprobante asociado a este movimiento"
  • Movimiento de otro tipo: Si el movimiento no es de tipo deuda por compra (ej: orden de pago), el sistema no muestra relacion de comprobante origen

CU-003: Registrar Relacion al Crear Comprobante a Credito

Actor: Sistema (proceso automatico durante registro de comprobante)

Precondiciones:

  • Un usuario con permisos esta registrando un nuevo comprobante de compra
  • El comprobante es una compra a credito (genera deuda en cuenta corriente)
  • El proveedor existe y tiene cuenta corriente activa

Flujo Principal:

  1. El usuario confirma el registro del comprobante de compra a credito
  2. El sistema valida y registra el comprobante de compra
  3. El sistema genera automaticamente el movimiento de deuda en la cuenta corriente del proveedor
  4. El sistema crea un registro de relacion vinculando el comprobante con el movimiento generado
  5. El sistema confirma la operacion exitosa al usuario

Postcondiciones:

  • El comprobante de compra queda registrado en el sistema
  • El movimiento de cuenta corriente queda registrado representando la deuda
  • Existe un registro de relacion que vincula el comprobante con el movimiento
  • La relacion esta disponible para consulta inmediata

Flujos Alternativos:

  • Compra al contado: Si el comprobante es compra al contado, el sistema no genera movimiento de cuenta corriente ni relacion
  • Error en creacion de movimiento: Si ocurre un error al crear el movimiento de cuenta corriente, el sistema revierte toda la operacion incluyendo el comprobante

CU-004: Eliminar Relacion al Anular Comprobante

Actor: Sistema (proceso automatico durante anulacion de comprobante)

Precondiciones:

  • Un usuario con permisos esta anulando un comprobante de compra existente
  • El comprobante tiene una relacion con un movimiento de cuenta corriente
  • El movimiento de cuenta corriente aun existe y no ha sido cancelado completamente

Flujo Principal:

  1. El usuario confirma la anulacion del comprobante de compra
  2. El sistema identifica la relacion asociada al comprobante
  3. El sistema elimina el registro de relacion
  4. El sistema elimina o revierte el movimiento de cuenta corriente asociado
  5. El sistema completa el proceso de anulacion del comprobante
  6. El sistema confirma la operacion exitosa al usuario

Postcondiciones:

  • El comprobante de compra queda anulado en el sistema
  • El movimiento de cuenta corriente queda eliminado o revertido
  • No existe relacion que vincule el comprobante anulado con movimiento alguno

Flujos Alternativos:

  • Comprobante sin relacion: Si el comprobante no tiene relacion (compra al contado), el sistema continua con la anulacion normalmente
  • Movimiento con pagos aplicados: Si el movimiento de cuenta corriente ya tiene pagos aplicados, el sistema rechaza la anulacion indicando que debe revertir los pagos primero
  • Error en eliminacion: Si ocurre un error al eliminar la relacion o el movimiento, el sistema revierte toda la operacion de anulacion

Consideraciones

Integridad de Datos

Esta relacion es fundamental para mantener la integridad entre los modulos de Compras y Cuenta Corriente:

  • Las operaciones de creacion y eliminacion de relaciones deben ejecutarse de forma transaccional junto con las operaciones de comprobantes y movimientos
  • Si falla la creacion de la relacion, debe revertirse el registro del comprobante y el movimiento
  • Si falla la eliminacion de la relacion durante anulacion, debe revertirse toda la operacion

Auditoria

Operaciones que se registran automaticamente:

  • Creacion de relaciones al registrar comprobantes a credito
  • Eliminacion de relaciones al anular comprobantes

Informacion preservada:

  • Fecha y hora de la operacion
  • Usuario que ejecuto la accion que genero el registro/eliminacion
  • Identificadores de los documentos involucrados (comprobante y movimiento)

Trazabilidad

Esta relacion permite:

  • Rastrear el origen de cada movimiento de deuda en cuenta corriente
  • Verificar que cada comprobante a credito tiene su movimiento correspondiente
  • Identificar inconsistencias si existen comprobantes sin movimiento o viceversa
  • Facilitar conciliaciones entre el registro de compras y la cuenta corriente

Rendimiento

Volumenes esperados:

  • Una relacion por cada comprobante de compra a credito registrado
  • El volumen dependera directamente de la cantidad de compras a credito realizadas

Expectativas de tiempo de respuesta:

  • La consulta de relacion desde un comprobante debe ser inmediata
  • La creacion de relacion no debe agregar latencia perceptible al registro de comprobante
  • La eliminacion de relacion no debe agregar latencia significativa a la anulacion

Dependencias

Funcionalidades Relacionadas

  • Registro de Comprobantes de Compra: Esta funcionalidad se integra en el proceso de registro de comprobantes. La relacion se crea automaticamente como parte del flujo de registro de compras a credito.

  • Cuenta Corriente de Proveedores: Los movimientos de cuenta corriente son uno de los extremos de la relacion. La consulta de relaciones permite conocer el comprobante origen de cada movimiento.

  • Anulacion de Comprobantes de Compra: El proceso de anulacion debe incluir la eliminacion de la relacion y el movimiento de cuenta corriente asociado.

  • Gestion de Proveedores: Tanto los comprobantes como los movimientos de cuenta corriente estan asociados a un proveedor. La relacion existe dentro del contexto de un proveedor especifico.

Modulos de Negocio Externos

  • Modulo de Compras: Proporciona la gestion de comprobantes de compra que son uno de los extremos de la relacion

  • Modulo de Cuenta Corriente: Proporciona la gestion de movimientos que son el otro extremo de la relacion

  • Modulo de Proveedores: Proporciona el contexto del proveedor al que pertenecen tanto comprobantes como movimientos

NOTA: Esta funcionalidad NO tiene relacion con las ordenes de pago. Las ordenes de pago tienen su propia logica de relacion con comprobantes que es independiente de esta funcionalidad.


Criterios de Aceptacion

La funcionalidad se considera completa cuando se cumplan los siguientes criterios:

  • [ ] AC-001: Al registrar un comprobante de compra a credito, el sistema crea automaticamente la relacion con el movimiento de cuenta corriente generado

  • [ ] AC-002: Al registrar un comprobante de compra al contado, el sistema NO crea relacion (ya que no se genera movimiento de cuenta corriente)

  • [ ] AC-003: El sistema permite consultar el movimiento de cuenta corriente asociado a un comprobante de compra desde la vista de detalle del comprobante

  • [ ] AC-004: El sistema permite consultar el comprobante origen de un movimiento de cuenta corriente desde la vista de movimientos

  • [ ] AC-005: Al anular un comprobante de compra, el sistema elimina automaticamente la relacion asociada

  • [ ] AC-006: El sistema rechaza la creacion de relaciones duplicadas para el mismo comprobante, asegurando unicidad

  • [ ] AC-007: El sistema rechaza la creacion de relaciones duplicadas para el mismo movimiento, asegurando unicidad

  • [ ] AC-008: El sistema valida la existencia del comprobante antes de crear una relacion, rechazando la operacion si no existe

  • [ ] AC-009: El sistema valida la existencia del movimiento antes de crear una relacion, rechazando la operacion si no existe

  • [ ] AC-010: Las consultas de relaciones muestran informacion basica del documento relacionado sin necesidad de navegar a cada documento

  • [ ] AC-011: Los usuarios pueden navegar desde la informacion de relacion al detalle del documento relacionado (movimiento o comprobante)

  • [ ] AC-012: El sistema muestra mensajes apropiados cuando no existe relacion para un comprobante (compra al contado) o movimiento consultado

  • [ ] AC-013: Las operaciones de creacion y eliminacion de relaciones se registran en el log de auditoria del sistema

  • [ ] AC-014: Las operaciones de relacion son transaccionales con las operaciones de comprobante y movimiento


Notas Adicionales

Diferencia con Relacion Orden de Pago - Comprobante

Es importante aclarar que esta funcionalidad es DIFERENTE a la relacion entre ordenes de pago y comprobantes:

AspectoEsta FuncionalidadRelacion Orden Pago - Comprobante
PropositoVincular comprobante con movimiento de deuda generadoVincular orden de pago con comprobantes cancelados
MomentoAl registrar comprobante de compraAl registrar orden de pago
Cardinalidad1:1 (un comprobante, un movimiento)N:N (una orden puede cancelar varios comprobantes, un comprobante puede ser cancelado por varias ordenes)
Tipo de movimientoMovimiento de deuda (entrada en cuenta corriente)Movimiento de pago (salida de cuenta corriente)

Consideraciones de Migracion

Si existen comprobantes de compra historicos sin relaciones registradas, se debera evaluar la posibilidad de una migracion de datos para establecer las relaciones retroactivamente basandose en la informacion disponible en el sistema.

Expansion Futura

Esta funcionalidad podria expandirse en el futuro para incluir:

  • Validacion automatica de consistencia entre comprobantes y movimientos
  • Reportes de integridad de datos entre modulos
  • Alertas de inconsistencias detectadas

Documentación Técnica

Base de Datos

Backend

Frontend


Historial de Cambios

FechaVersionAutorDescripcion
2025-12-181.1SistemaMarcado como IMPLEMENTADO. Agregadas referencias a documentación técnica
2025-12-151.0SistemaCreacion del documento de requerimientos de negocio