Skip to content

Carteras - Resource

DOCUMENTACION RETROSPECTIVA - Generada a partir de codigo implementado el 2026-02-09

Modulo: Ventas Tipo: Resource Estado: Implementado Fecha: 2026-02-09


Descripcion General

Las Carteras son una funcionalidad de agrupacion que permite clasificar clientes (y proveedores) en categorias comerciales dentro del sistema. Cada cartera tiene un codigo numerico auto-incremental y un nombre descriptivo. La funcionalidad es condicional: solo esta disponible para empresas que tienen habilitado el manejo de carteras en su configuracion.

El recurso se encuentra dentro del submenu "Bases" del modulo de Ventas, accesible mediante la URL ?loc=mvcc.


Entidades de Negocio

Cartera (tipo Cliente)

Agrupacion de clientes. Cada cartera permite clasificar clientes bajo una denominacion comun.

Datos almacenados:

  • Codigo: Identificador numerico unico, auto-generado secuencialmente
  • Nombre/Denominacion: Texto descriptivo de la cartera (maximo 20 caracteres segun validacion aplicada)
  • Cuenta contable: [REQUIERE VALIDACION] Existe un campo de cuenta contable que no se utiliza actualmente en la interfaz ni en las operaciones

Cartera (tipo Proveedor)

[REQUIERE VALIDACION] El sistema trata como "carteras de proveedores" a los registros de la tabla de terceros/acreedores, con campos diferentes (codigo, descripcion, cuenta). Es necesario validar si este concepto de "cartera de proveedor" representa lo mismo que la cartera de clientes o si es un concepto distinto.


Operaciones Principales

Listar carteras

El sistema muestra todas las carteras en una tabla con columnas: Codigo, Nombre, y Acciones. La tabla soporta busqueda, paginacion (via DataTables), y exportacion a Excel y PDF.

Las carteras se filtran por tipo (cliente o proveedor). En la vista principal del modulo Ventas, se listan las carteras de tipo cliente.

Crear cartera

El usuario crea una nueva cartera ingresando unicamente el nombre/denominacion. El sistema genera automaticamente el codigo numerico secuencial (siguiente al maximo existente). La creacion se realiza mediante un formulario modal que se abre con el boton "Nva. Cartera" o el atajo Alt+A.

Modificar cartera

El usuario puede modificar el nombre de una cartera existente. La modificacion se realiza mediante el mismo formulario modal, que se abre al hacer clic en el boton de edicion (icono lapiz) en la fila correspondiente de la tabla. El codigo de la cartera no se puede modificar.

Eliminar cartera

No implementado. No existe operacion de eliminacion de carteras en el sistema actual.

Nota (2026-02-09): No existe operación DELETE en este recurso. Es parte del patrón legacy que no implementa soft delete.


Reglas de Negocio

Regla 1: Funcionalidad condicional por empresa

  • Condicion: La empresa debe tener habilitado el flag "maneja carteras" en su configuracion
  • Accion: Si el flag esta desactivado, la opcion de Carteras no aparece en el sidebar y la tabla de carteras no se crea en la base de datos

Regla 2: Codigo auto-incremental

  • Condicion: Al crear una nueva cartera
  • Accion: El sistema calcula automaticamente el siguiente codigo como MAX(codigos existentes) + 1. Si no hay carteras, el primer codigo es 1

Nota (2026-02-09): No hemos tenido inconvenientes con este método aunque sería conveniente cambiarlo en algún momento. Se usarán secuencias PostgreSQL en refactorización futura.

Regla 3: Cartera General por defecto

  • Condicion: Al inicializar el sistema
  • Accion: Se crea automaticamente una cartera con codigo 1 y nombre "General" si la tabla esta vacia

Regla 4: Asignacion a clientes

  • Condicion: Al crear o modificar un cliente
  • Accion: Se puede asignar opcionalmente una cartera al cliente. El campo cartera se utiliza tanto en el alta como en la modificacion de clientes del modulo Ventas

Regla 5: Asignacion a proveedores

  • Condicion: Al crear o modificar un proveedor
  • Accion: Se puede asignar una "cartera" al proveedor, aunque el concepto proviene de una fuente de datos diferente (tabla de acreedores/deudores)

Validaciones

Nombre/Denominacion

  • Requerido: Si, el nombre es obligatorio al crear o modificar
  • Longitud maxima: 20 caracteres (validado en frontend)
  • Tipo: Texto libre

Codigo (solo para consulta por ID)

  • Tipo: Entero, validado cuando se filtra por ID

Tipo (para consulta)

  • Valores validos: cliente o proveedor
  • Valor por defecto: cliente

Datos Requeridos

Para crear una cartera

DatoObligatorioObservaciones
NombreSiMaximo 20 caracteres

Para modificar una cartera

DatoObligatorioObservaciones
IDSiCodigo de la cartera (no editable)
NombreSiMaximo 20 caracteres

Integraciones

Modulo Ventas - Clientes

Las carteras se usan como campo opcional en el formulario de alta y modificacion de clientes. El componente CarteraSelect permite seleccionar una cartera desde un dropdown.

Modulo Compras - Proveedores

Los proveedores tambien tienen un campo de "cartera" vinculado, aunque la fuente de datos para "carteras de proveedores" es diferente a la de "carteras de clientes".

Modulo Cuenta Corriente

El componente selector de carteras (CarteraSelect) esta ubicado en el modulo de Cuenta Corriente y se reutiliza desde alli en otros modulos. Se usa en informes de saldos, resumenes de cuenta, y otros contextos de cuenta corriente.

Modulo Tesoreria

Las carteras se utilizan en contextos de cheques y movimientos bancarios como referencia de agrupacion.


Permisos

  • VENTAS_BASES: Permiso padre para acceder al submenu Bases
  • VENTAS_BASES_CARTERAS: Permiso especifico para acceder al listado, alta y modificacion de carteras (ID 7 en el sistema de permisos)

Casos de Uso

Caso 1: Crear nueva cartera

Actor: Usuario con permiso VENTAS_BASES_CARTERAS

Precondiciones:

  • La empresa tiene habilitado el manejo de carteras
  • El usuario tiene el permiso correspondiente

Flujo principal:

  1. El usuario accede al listado de carteras desde Ventas > Bases > Carteras
  2. El usuario hace clic en "Nva. Cartera" (o Alt+A)
  3. Se muestra un formulario modal con el campo "Denominacion"
  4. El usuario ingresa el nombre de la cartera
  5. El usuario hace clic en "Aceptar"
  6. El sistema genera automaticamente el codigo secuencial
  7. Se muestra un mensaje de exito con el codigo asignado
  8. La nueva cartera aparece en la tabla

Postcondiciones:

  • La cartera queda disponible para ser asignada a clientes
  • La tabla se actualiza con el nuevo registro

Flujos alternativos:

  • Si el nombre esta vacio, el formulario no se envia (validacion HTML required)
  • Si el nombre excede 20 caracteres, se trunca por maxlength del input

Caso 2: Modificar cartera existente

Actor: Usuario con permiso VENTAS_BASES_CARTERAS

Precondiciones:

  • Existe al menos una cartera en el sistema

Flujo principal:

  1. El usuario visualiza la tabla de carteras
  2. Hace clic en el boton de edicion (icono lapiz) en la fila deseada
  3. Se muestra el formulario modal con el nombre actual cargado
  4. El usuario modifica el nombre
  5. Hace clic en "Aceptar"
  6. Se muestra un mensaje de exito
  7. La tabla se actualiza con el nombre modificado

Postcondiciones:

  • El nombre de la cartera queda actualizado
  • Los clientes asignados a esta cartera no se ven afectados (la referencia es por codigo)

Caso 3: Asignar cartera a un cliente

Actor: Usuario con permiso de gestion de clientes

Precondiciones:

  • Existe al menos una cartera en el sistema

Flujo principal:

  1. El usuario abre el formulario de alta o modificacion de un cliente
  2. En el campo "Cartera", se muestra un dropdown con las carteras disponibles
  3. El usuario selecciona una cartera
  4. Al guardar el cliente, la cartera queda asociada

Postcondiciones:

  • El cliente tiene asignada la cartera seleccionada

Preguntas Pendientes

Informacion Faltante: Hay preguntas sobre esta funcionalidad que requieren validacion. Ver: Preguntas sobre Carteras

Puntos criticos pendientes:

  • Ausencia de operacion DELETE: restriccion intencional o faltante?
  • Campo cuenta en la tabla: para que sirve?
  • Relacion entre carteras de clientes y "carteras" de proveedores
  • Cartera "General" por defecto: tiene restricciones especiales?

Referencias Tecnicas


NOTA IMPORTANTE: Esta documentacion fue generada automaticamente analizando el codigo implementado. Se recomienda validar con stakeholders de negocio para confirmar que refleja fielmente los requisitos originales.