Appearance
Cartera de Proveedores
Modulo: Compras Tipo: Resource Estado: Planificado Fecha: 2025-12-26
Descripcion
Problema de Negocio
Actualmente la gestion de carteras de proveedores se realiza de forma manual directamente sobre la base de datos, sin una interfaz de usuario que permita a los operadores del sistema administrar este recurso de manera controlada y auditada. Esta situacion genera los siguientes problemas:
- Dependencia del area tecnica para realizar altas, bajas y modificaciones de carteras
- Riesgo de errores en la manipulacion directa de datos sin validaciones de negocio
- Imposibilidad de auditar quien realizo cambios y cuando
- Falta de validacion de integridad referencial con el plan de cuentas
- Dificultad para verificar si una cartera puede eliminarse por estar en uso
- Tiempo de respuesta lento para operaciones simples que requieren intervencion tecnica
Necesidad del Negocio
El area de Compras necesita una interfaz de usuario completa para gestionar las carteras de proveedores, que permita:
- Crear nuevas carteras: Cuando se necesite categorizar proveedores de una nueva forma (por ejemplo, una nueva linea de negocio, un nuevo tipo de proveedor o una nueva area responsable)
- Modificar carteras existentes: Para actualizar nombres descriptivos o cambiar la cuenta contable asociada
- Eliminar carteras en desuso: Con la seguridad de que no se elimine una cartera que tiene proveedores asignados
La cartera de proveedor es un recurso fundamental para la organizacion y segmentacion de proveedores, permitiendo categorizarlos segun criterios de negocio como:
- Tipo de proveedor (materia prima, servicios, bienes de capital, etc.)
- Area responsable de la relacion comercial
- Forma de pago o condiciones comerciales
- Linea de negocio o centro de costo
Valor de Negocio
La implementacion de esta funcionalidad aportara los siguientes beneficios:
- Autonomia operativa: El area de Compras podra gestionar las carteras sin depender del area tecnica
- Integridad de datos: Las validaciones de negocio garantizan consistencia con el plan de cuentas y proteccion contra eliminacion de carteras en uso
- Trazabilidad: Registro de quien realiza cada operacion para fines de auditoria
- Eficiencia: Reduccion del tiempo de respuesta para operaciones de mantenimiento de carteras
- Seguridad: Control de acceso basado en permisos para restringir quien puede gestionar carteras
- Organizacion mejorada: Facilita la segmentacion y categorizacion de proveedores para analisis y reportes
Contexto en el Proceso de Negocio
Las carteras de proveedores se utilizan en varios puntos del proceso de compras:
- Alta de proveedor: Al registrar un nuevo proveedor, se le asigna una cartera que determina su categoria
- Reportes y analisis: Los informes de compras pueden filtrarse y agruparse por cartera para analisis de gestion
- Contabilidad: La cuenta contable asociada a la cartera facilita la imputacion contable de las operaciones con proveedores de esa categoria
Frontend
Ubicación en el Sistema
La funcionalidad se encuentra en: Compras → Bases → Carteras
Vistas
El sistema debe proporcionar las siguientes vistas para la gestion de carteras de proveedores:
Vista de Listado de Carteras
- Pantalla principal que muestra todas las carteras de proveedores registradas en el sistema
- Debe mostrar informacion resumida de cada cartera: código, nombre y cuenta contable asociada
- Permite acceder a las operaciones de edicion y eliminacion de cada cartera
- Incluye opcion para crear una nueva cartera
Vista de Formulario de Alta/Modificacion
- Formulario unificado para crear nuevas carteras y modificar carteras existentes
- Campos del formulario:
- Nombre de la cartera (campo de texto)
- Cuenta contable asociada (selector con busqueda del plan de cuentas)
- Botones de accion: Guardar y Cancelar
- Validacion visual de campos requeridos
Interacciones del Usuario
Crear nueva cartera de proveedor
Flujo:
- El usuario accede al listado de carteras
- El usuario selecciona la opcion "Nueva cartera"
- El sistema muestra el formulario de alta
- El usuario ingresa el nombre de la cartera
- El usuario selecciona la cuenta contable asociada desde el plan de cuentas
- El usuario confirma la operacion
- El sistema valida los datos y registra la nueva cartera
- El sistema muestra mensaje de confirmacion y retorna al listado
Modificar cartera existente
Flujo:
- El usuario accede al listado de carteras
- El usuario selecciona la cartera a modificar
- El sistema muestra el formulario con los datos actuales de la cartera
- El usuario modifica los campos necesarios (nombre y/o cuenta contable)
- El usuario confirma los cambios
- El sistema valida los datos y actualiza la cartera
- El sistema muestra mensaje de confirmacion
Eliminar cartera
Flujo:
- El usuario accede al listado de carteras
- El usuario selecciona la opcion de eliminar sobre la cartera deseada
- El sistema verifica si hay proveedores asignados a esa cartera
- Si no hay proveedores asignados:
- El sistema solicita confirmacion de eliminacion
- El usuario confirma la eliminacion
- El sistema elimina la cartera y muestra mensaje de exito
- Si hay proveedores asignados:
- El sistema muestra mensaje de error indicando que no se puede eliminar la cartera porque tiene proveedores asignados
- El usuario debe reasignar los proveedores a otra cartera antes de poder eliminar
Permisos
El acceso a la gestion de carteras de proveedores debe estar controlado por el siguiente permiso:
| Permiso | Descripcion | Acciones Permitidas |
|---|---|---|
| COMPRAS_BASES_CARTERAS | Permite gestionar carteras de proveedores (visualizar, crear, modificar, eliminar) | Acceder al listado, ver detalle, crear nueva cartera, modificar y eliminar carteras |
Estados de Interfaz de Usuario
El sistema debe manejar los siguientes estados de interfaz:
Estados de Carga
- Cargando listado: Indicador visual mientras se obtienen las carteras del servidor
- Guardando cambios: Indicador visual durante el proceso de guardado de una cartera
- Verificando uso: Indicador visual mientras se verifica si una cartera puede eliminarse
- Eliminando: Indicador visual durante el proceso de eliminacion
Mensajes de Exito
- Cartera creada exitosamente: Confirmacion al usuario despues de crear una nueva cartera
- Cartera modificada exitosamente: Confirmacion al usuario despues de actualizar una cartera
- Cartera eliminada exitosamente: Confirmacion al usuario despues de eliminar una cartera
Mensajes de Error
- Error de validacion - Nombre vacio: "El nombre de la cartera es obligatorio"
- Error de validacion - Cuenta no seleccionada: "Debe seleccionar una cuenta contable"
- Error de validacion - Cuenta inexistente: "La cuenta contable seleccionada no existe en el plan de cuentas"
- Error de eliminacion - Cartera en uso: "No se puede eliminar esta cartera porque tiene proveedores asignados. Debe reasignar los proveedores a otra cartera antes de eliminar."
- Error de conexion: Mensaje apropiado cuando hay problemas de comunicacion con el servidor
Estado Vacio
- Sin carteras registradas: Mensaje informativo indicando que no hay carteras y opcion para crear la primera
Backend
Entidades de Negocio
Cartera de Proveedor
Representa una categoria o clasificacion que permite agrupar proveedores segun criterios de negocio. Cada cartera define una segmentacion particular y tiene asociada una cuenta contable para la imputacion de operaciones.
Proposito: Permitir la organizacion y clasificacion de proveedores en grupos logicos de negocio, facilitando el analisis, la gestion comercial y la correcta imputacion contable de las operaciones con proveedores.
Datos Necesarios
Cada cartera de proveedor debe contener la siguiente informacion de negocio:
| Dato | Descripcion | Proposito |
|---|---|---|
| Identificador de la cartera | Identificador unico del registro | Permite referenciar y gestionar cada cartera de forma individual |
| Nombre de la cartera | Descripcion identificatoria de la cartera | Permite identificar y distinguir cada cartera en el sistema. Es el dato principal visible para los usuarios |
| Cuenta contable asociada | Referencia a una cuenta del plan de cuentas | Define la cuenta contable donde se imputaran las operaciones relacionadas con proveedores de esta cartera |
Relaciones de Negocio
Cartera de Proveedor (1) ---- (N) Proveedor
|
Cartera de Proveedor (N) ---- (1) Cuenta Contable (Plan de Cuentas)- Cartera a Proveedores: Una cartera puede tener multiples proveedores asignados. Un proveedor pertenece a una unica cartera
- Cartera a Cuenta Contable: Cada cartera tiene asociada una cuenta contable del plan de cuentas. Una misma cuenta contable podria usarse en multiples carteras
Validaciones de Negocio
Las siguientes validaciones de negocio deben aplicarse:
Nombre de cartera obligatorio:
- El nombre de la cartera es un campo requerido
- No se puede guardar una cartera sin nombre
- El nombre no puede estar vacio ni contener solo espacios en blanco
Cuenta contable obligatoria:
- Toda cartera debe tener una cuenta contable asociada
- La cuenta contable seleccionada debe existir en el plan de cuentas del sistema
- No se puede guardar una cartera sin cuenta contable
Integridad referencial en eliminacion:
- Antes de eliminar una cartera, el sistema debe verificar que no existan proveedores asignados a ella
- Si hay proveedores asignados, la eliminacion debe rechazarse con mensaje explicativo
- Solo pueden eliminarse carteras sin proveedores asociados
Validacion de existencia de cuenta:
- Al crear o modificar una cartera, debe validarse que la cuenta contable exista en el plan de cuentas
- Si la cuenta no existe, la operacion debe rechazarse con mensaje de error
Reglas de Negocio
RN-001: Nombre de Cartera Obligatorio
Descripcion: Toda cartera de proveedor debe tener un nombre identificatorio.
- Condicion: Al crear o modificar una cartera de proveedor
- Accion: El sistema debe verificar que el campo nombre este completo. Si el nombre esta vacio o contiene solo espacios en blanco, el sistema debe rechazar la operacion e informar al usuario que el nombre es obligatorio.
RN-002: Cuenta Contable Obligatoria y Valida
Descripcion: Toda cartera de proveedor debe estar asociada a una cuenta contable existente en el plan de cuentas.
- Condicion: Al crear o modificar una cartera de proveedor
- Accion: El sistema debe:
- Verificar que se haya seleccionado una cuenta contable
- Validar que la cuenta contable exista en el plan de cuentas del sistema
- Si no se selecciono cuenta o la cuenta no existe, rechazar la operacion con mensaje de error apropiado
RN-003: Proteccion de Eliminacion de Carteras en Uso
Descripcion: No se puede eliminar una cartera de proveedor si existen proveedores asignados a ella.
- Condicion: Al intentar eliminar una cartera de proveedor
- Accion: El sistema debe:
- Verificar si existen proveedores que tienen asignada esta cartera
- Si hay al menos un proveedor asignado:
- Rechazar la eliminacion
- Informar al usuario con mensaje claro: "No se puede eliminar esta cartera porque tiene proveedores asignados. Debe reasignar los proveedores a otra cartera antes de eliminar."
- Si no hay proveedores asignados:
- Permitir la eliminacion con confirmacion previa del usuario
RN-004: Unicidad de Referencia de Cartera
Descripcion: Cada cartera debe ser identificable de forma unica en el sistema.
- Condicion: Durante toda la vida util de la cartera
- Accion: El sistema debe mantener un identificador unico para cada cartera que no cambie y permita referenciarla de forma univoca.
Casos de Uso
CU-001: Crear Nueva Cartera de Proveedor
Actor: Usuario del area de Compras con permiso COMPRAS_BASES_CARTERAS
Precondiciones:
- El usuario ha iniciado sesion en el sistema
- El usuario tiene el permiso COMPRAS_BASES_CARTERAS
- Existe al menos una cuenta contable en el plan de cuentas
Flujo Principal:
- El usuario accede al modulo de Compras y selecciona la opcion de gestion de Carteras de Proveedores
- El sistema muestra el listado de carteras existentes
- El usuario selecciona la opcion "Nueva cartera"
- El sistema presenta el formulario de alta con los campos vacios
- El usuario ingresa el nombre descriptivo de la cartera (ej: "Proveedores de Servicios Tecnologicos")
- El usuario selecciona la cuenta contable asociada desde el selector con busqueda
- El usuario confirma la operacion seleccionando "Guardar"
- El sistema valida que el nombre no este vacio
- El sistema valida que la cuenta contable exista en el plan de cuentas
- El sistema registra la nueva cartera
- El sistema muestra mensaje de confirmacion "Cartera creada exitosamente"
- El sistema retorna al listado mostrando la nueva cartera
Postcondiciones:
- La nueva cartera queda registrada en el sistema
- La cartera esta disponible para asignar a proveedores
- Se registra en auditoria la operacion realizada
Flujos Alternativos:
| Paso | Condicion | Accion |
|---|---|---|
| 8a | El nombre esta vacio | El sistema muestra error "El nombre de la cartera es obligatorio" y mantiene el formulario para correccion |
| 9a | La cuenta contable no fue seleccionada | El sistema muestra error "Debe seleccionar una cuenta contable" y mantiene el formulario |
| 9b | La cuenta contable no existe | El sistema muestra error "La cuenta contable seleccionada no existe en el plan de cuentas" y mantiene el formulario |
| 7a | El usuario cancela la operacion | El sistema descarta los datos ingresados y retorna al listado sin crear la cartera |
CU-002: Modificar Cartera de Proveedor Existente
Actor: Usuario del area de Compras con permiso COMPRAS_BASES_CARTERAS
Precondiciones:
- El usuario ha iniciado sesion en el sistema
- El usuario tiene el permiso COMPRAS_BASES_CARTERAS
- Existe la cartera que se desea modificar
- Existe al menos una cuenta contable en el plan de cuentas
Flujo Principal:
- El usuario accede al listado de Carteras de Proveedores
- El sistema muestra el listado con todas las carteras registradas
- El usuario identifica la cartera a modificar y selecciona la opcion de edicion
- El sistema presenta el formulario con los datos actuales de la cartera:
- Nombre actual de la cartera
- Cuenta contable actualmente asociada
- El usuario modifica el nombre de la cartera y/o selecciona una nueva cuenta contable
- El usuario confirma los cambios seleccionando "Guardar"
- El sistema valida que el nombre no este vacio
- El sistema valida que la cuenta contable exista en el plan de cuentas
- El sistema actualiza la cartera con los nuevos valores
- El sistema muestra mensaje de confirmacion "Cartera modificada exitosamente"
Postcondiciones:
- La cartera queda actualizada con los nuevos valores
- Los proveedores asignados a esta cartera mantienen su asignacion (no se ven afectados)
- Se registra en auditoria la modificacion realizada
Flujos Alternativos:
| Paso | Condicion | Accion |
|---|---|---|
| 7a | El nombre esta vacio | El sistema muestra error "El nombre de la cartera es obligatorio" y mantiene el formulario para correccion |
| 8a | La cuenta contable no existe | El sistema muestra error "La cuenta contable seleccionada no existe en el plan de cuentas" y mantiene el formulario |
| 6a | El usuario cancela la operacion | El sistema descarta los cambios y retorna sin modificar la cartera |
CU-003: Eliminar Cartera de Proveedor
Actor: Usuario del area de Compras con permiso COMPRAS_BASES_CARTERAS
Precondiciones:
- El usuario ha iniciado sesion en el sistema
- El usuario tiene el permiso COMPRAS_BASES_CARTERAS
- Existe la cartera que se desea eliminar
Flujo Principal:
- El usuario accede al listado de Carteras de Proveedores
- El sistema muestra el listado con todas las carteras registradas
- El usuario identifica la cartera a eliminar y selecciona la opcion de eliminacion
- El sistema verifica si existen proveedores asignados a la cartera
- El sistema confirma que no hay proveedores asignados
- El sistema solicita confirmacion al usuario: "Esta seguro que desea eliminar la cartera '[nombre]'?"
- El usuario confirma la eliminacion
- El sistema elimina la cartera
- El sistema muestra mensaje de confirmacion "Cartera eliminada exitosamente"
- El sistema actualiza el listado sin la cartera eliminada
Postcondiciones:
- La cartera queda eliminada del sistema
- La cartera ya no esta disponible para asignar a proveedores
- Se registra en auditoria la eliminacion realizada
Flujos Alternativos:
| Paso | Condicion | Accion |
|---|---|---|
| 5a | Hay proveedores asignados a la cartera | El sistema muestra mensaje de error "No se puede eliminar esta cartera porque tiene proveedores asignados. Debe reasignar los proveedores a otra cartera antes de eliminar." La operacion se cancela automaticamente |
| 7a | El usuario cancela la confirmacion | El sistema cancela la operacion y mantiene la cartera sin cambios |
Consideraciones
Seguridad
Datos que requieren proteccion:
- Los datos de las carteras de proveedores deben estar protegidos contra acceso no autorizado
- Solo usuarios con el permiso COMPRAS_BASES_CARTERAS pueden acceder a esta funcionalidad
Control de acceso:
- El permiso COMPRAS_BASES_CARTERAS otorga acceso completo a la gestión de carteras (visualizar, crear, modificar y eliminar)
- Sin este permiso, el usuario no debe poder acceder a la sección de Carteras en el menú de Compras → Bases
Validacion de operaciones:
- Toda operacion debe validar que el usuario tiene el permiso COMPRAS_BASES_CARTERAS antes de ejecutarse
- Las operaciones sin permiso deben rechazarse con mensaje apropiado
Rendimiento
Volumenes esperados:
- Numero tipico de carteras: entre 1 y 5 carteras activas
- Las carteras son un recurso de baja frecuencia de cambio (modificaciones ocasionales)
- Consultas frecuentes desde otros modulos para asignacion a proveedores
Expectativas de tiempo de respuesta:
- Carga del listado de carteras: respuesta inmediata (menos de 1 segundo)
- Guardado de cartera (alta o modificacion): respuesta inmediata
- Verificacion de uso antes de eliminar: respuesta inmediata
- Seleccion de cartera en formularios de proveedor: respuesta inmediata
Dependencias
Funcionalidades Relacionadas
Gestion de Proveedores: Las carteras se asignan a proveedores. Al dar de alta o modificar un proveedor, se selecciona la cartera a la que pertenece. Esta funcionalidad depende de que existan carteras creadas.
Plan de Cuentas: Las carteras tienen asociada una cuenta contable. La creacion y modificacion de carteras requiere acceso al plan de cuentas para seleccionar la cuenta asociada.
Modulos de Negocio Relacionados
Modulo de Compras: Esta funcionalidad pertenece al modulo de Compras y se utiliza para organizar y clasificar a los proveedores que participan en el proceso de compras.
Modulo de Contabilidad: La cuenta contable asociada a cada cartera proviene del plan de cuentas del modulo de Contabilidad. La integracion asegura que solo se puedan asociar cuentas existentes.
Servicios Externos
Esta funcionalidad no requiere integracion con servicios externos.
Criterios de Aceptacion
La funcionalidad se considera completa cuando se cumplan los siguientes criterios:
[ ] AC-001: El sistema muestra un listado con todas las carteras de proveedores registradas, mostrando nombre y cuenta contable asociada para cada una
[ ] AC-002: El sistema permite crear una nueva cartera de proveedor ingresando nombre y seleccionando cuenta contable desde el plan de cuentas
[ ] AC-003: El sistema valida que el nombre de la cartera no este vacio, mostrando mensaje de error "El nombre de la cartera es obligatorio" cuando se intenta guardar sin nombre
[ ] AC-004: El sistema valida que se seleccione una cuenta contable, mostrando mensaje de error "Debe seleccionar una cuenta contable" cuando no se selecciona
[ ] AC-005: El sistema valida que la cuenta contable seleccionada exista en el plan de cuentas, mostrando mensaje de error apropiado si no existe
[ ] AC-006: El sistema permite modificar el nombre y/o la cuenta contable de una cartera existente
[ ] AC-007: Al intentar eliminar una cartera, el sistema verifica si hay proveedores asignados a ella
[ ] AC-008: Si no hay proveedores asignados a la cartera, el sistema solicita confirmacion y permite la eliminacion
[ ] AC-009: Si hay proveedores asignados a la cartera, el sistema muestra el mensaje "No se puede eliminar esta cartera porque tiene proveedores asignados. Debe reasignar los proveedores a otra cartera antes de eliminar." y NO permite la eliminacion
[ ] AC-010: El sistema muestra indicadores visuales de carga durante las operaciones de guardado, verificacion y eliminacion
[ ] AC-011: El sistema muestra mensajes de confirmacion exitosa al completar operaciones de creacion, modificacion y eliminacion
[ ] AC-012: El sistema restringe el acceso a la funcionalidad mediante el permiso COMPRAS_BASES_CARTERAS, sin el cual el usuario no puede acceder a esta sección
[ ] AC-013: Las operaciones de creacion, modificacion y eliminacion de carteras quedan registradas en el log de auditoria del sistema
[ ] AC-014: El selector de cuenta contable permite buscar y seleccionar cuentas del plan de cuentas de forma eficiente
Notas Adicionales
Contexto Historico
Este recurso existia previamente en el sistema y era administrado directamente sobre la base de datos por personal tecnico. La implementacion de esta funcionalidad representa la migracion a una interfaz de usuario completa que permite a los usuarios de negocio gestionar las carteras de forma autonoma.
Consideraciones de Migracion
Las carteras existentes en la base de datos deben mantenerse disponibles en el nuevo sistema. No se requiere migracion de datos, solo la exposicion de los datos existentes a traves de la nueva interfaz.
Expansion Futura
Esta funcionalidad podria expandirse en el futuro para incluir:
- Reportes de proveedores agrupados por cartera
- Estadisticas de compras por cartera
- Configuraciones adicionales por cartera (ej: condiciones de pago predeterminadas)
- Inactivacion de carteras como alternativa a eliminacion
Historial de Cambios
| Fecha | Version | Autor | Descripcion |
|---|---|---|---|
| 2025-12-26 | 1.0 | Sistema | Creacion del documento de requerimientos de negocio |