Appearance
Contacto
Modulo: CRM Tipo: Resource Estado: Implementado Fecha: 2026-02-02
Descripcion
El recurso Contacto representa a las personas o entidades con las que la organizacion mantiene comunicacion o relacion comercial. Es la entidad base que conecta los registros del CRM con personas fisicas o juridicas, proporcionando toda la informacion de contacto necesaria para la gestion de relaciones.
Valor de negocio:
- Centraliza la informacion de contacto en un unico lugar
- Permite clasificar contactos por tipo (cliente potencial, proveedor, etc.)
- Facilita la asociacion con clientes existentes del sistema de ventas
- Proporciona datos de ubicacion geografica para segmentacion
Frontend (Perspectiva de Usuario)
Vistas
Listado de Contactos
- Tabla paginada con busqueda y filtros por columna
- Ordenamiento por cualquier columna visible
- Acceso rapido a creacion y edicion
Formulario de Alta/Modificacion
- Modal con campos organizados para captura de datos
- Selectores autocomplete para localidad y cliente
- Validacion en tiempo real
Interacciones del Usuario
| Accion | Descripcion |
|---|---|
| Crear contacto | El usuario completa el formulario con los datos del nuevo contacto |
| Editar contacto | El usuario modifica los datos de un contacto existente |
| Buscar contactos | El usuario filtra por nombre o codigo en el listado |
| Filtrar por columna | El usuario aplica filtros especificos por cada campo |
| Ordenar resultados | El usuario ordena la tabla por cualquier columna |
| Navegar paginas | El usuario navega entre paginas del listado |
Atajos de Teclado
| Atajo | Accion |
|---|---|
| Alt+A | Abrir formulario de nuevo contacto |
Permisos
- Visualizar contactos
- Crear contactos
- Modificar contactos
Estados de UI
| Estado | Descripcion |
|---|---|
| Cargando | Indicador mientras se obtienen los datos |
| Listado vacio | Mensaje cuando no hay contactos que mostrar |
| Error de validacion | Mensajes de error en campos del formulario |
| Exito | Notificacion al guardar correctamente |
| Error de guardado | Notificacion cuando falla la operacion |
Backend (Perspectiva de Datos de Negocio)
Entidad de Negocio: Contacto
Representa a una persona o entidad con la que la organizacion tiene relacion.
Datos Necesarios
| Dato | Descripcion | Requerido | Longitud Max |
|---|---|---|---|
| Codigo | Identificador numerico unico del contacto | Auto | - |
| Nombre | Nombre completo de la persona o razon social | Si | 35 caracteres |
| Identificacion | Numero de documento (CUIT/CUIL/DNI) | No | - |
| Correo electronico | Direccion de email | No | 100 caracteres |
| Domicilio principal | Direccion linea 1 | No | 25 caracteres |
| Domicilio secundario | Direccion linea 2 | No | 25 caracteres |
| Telefono principal | Numero de telefono 1 | No | 25 caracteres |
| Telefono secundario | Numero de telefono 2 | No | 25 caracteres |
| Fax | Numero de fax | No | 100 caracteres |
| Observacion | Notas adicionales sobre el contacto | No | - |
| Condicion de IVA | Situacion fiscal del contacto | Si | - |
| Tipo de contacto | Clasificacion del contacto | Si | - |
| Localidad | Ubicacion geografica | Si | - |
| Cliente asociado | Vinculacion con cliente del sistema | No | - |
Relaciones de Negocio
| Relacion | Descripcion |
|---|---|
| Localidad | Cada contacto pertenece a una localidad (ubicacion geografica) |
| Condicion IVA | Cada contacto tiene una condicion fiscal asignada |
| Tipo de contacto | Cada contacto esta clasificado por un tipo |
| Cliente | Un contacto puede estar vinculado a un cliente del modulo ventas |
| Registros CRM | Un contacto puede tener multiples registros de CRM asociados |
Validaciones de Negocio
| Validacion | Descripcion |
|---|---|
| Nombre requerido | El nombre es obligatorio y no puede estar vacio |
| Nombre unico | No se valida unicidad, pueden existir contactos con mismo nombre |
| Identificacion numerica | Solo se permiten digitos en el campo de identificacion |
| Telefonos numericos | Los campos de telefono solo aceptan digitos |
| Email valido | El correo debe tener formato de email valido |
| Localidad existente | La localidad seleccionada debe existir en el sistema |
| Tipo contacto existente | El tipo de contacto debe existir en el sistema |
| Condicion IVA existente | La condicion de IVA debe existir en el sistema |
| Identificacion condicional | Segun la condicion de IVA, la identificacion puede ser obligatoria |
Reglas de Negocio
RN-CON-001: Generacion Automatica de Codigo
- Condicion: Al crear un nuevo contacto
- Accion: El sistema asigna automaticamente el siguiente codigo disponible
- Nota: El codigo es autoincremental y no modificable
RN-CON-002: Vinculacion con Cliente
- Condicion: Si el usuario tiene modulo de ventas activo
- Accion: El campo cliente se vuelve obligatorio al crear un contacto
- Nota: Esta regla aplica solo cuando el modulo de ventas esta habilitado
RN-CON-003: Identificacion segun Condicion IVA
- Condicion: Si la condicion de IVA seleccionada requiere CUIT
- Accion: El campo identificacion se vuelve obligatorio
- Nota: Las condiciones de IVA tienen un flag que indica si registran CUIT
RN-CON-004: Restriccion de Eliminacion
- Condicion: El contacto tiene registros de CRM asociados
- Accion: No se permite eliminar el contacto
- Nota: Se debe cancelar o eliminar primero los registros asociados
Casos de Uso
Caso 1: Crear Nuevo Contacto
Actor: Usuario del modulo CRM
Precondiciones:
- El usuario debe estar autenticado
- El usuario debe tener permiso para crear contactos
- Deben existir localidades, tipos de contacto y condiciones de IVA configurados
Flujo principal:
- El usuario accede al listado de contactos
- El usuario presiona el boton "Nuevo Contacto" o Alt+A
- El sistema muestra el formulario de alta
- El usuario completa los datos obligatorios (nombre, localidad, tipo, condicion IVA)
- El usuario opcionalmente completa datos adicionales (telefono, email, domicilio)
- El usuario presiona "Guardar"
- El sistema valida los datos ingresados
- El sistema crea el contacto con un codigo automatico
- El sistema muestra notificacion de exito
- El formulario se cierra y el listado se actualiza
Postcondiciones:
- El contacto queda registrado en el sistema
- El codigo asignado es unico y consecutivo
- El contacto aparece en el listado
Flujos alternativos:
- Validacion fallida: El sistema muestra los errores en los campos correspondientes
- Error de servidor: El sistema muestra notificacion de error
Caso 2: Buscar y Editar Contacto
Actor: Usuario del modulo CRM
Precondiciones:
- El usuario debe estar autenticado
- Deben existir contactos en el sistema
Flujo principal:
- El usuario accede al listado de contactos
- El usuario ingresa texto de busqueda (nombre o codigo)
- El sistema filtra los resultados en tiempo real
- El usuario identifica el contacto deseado
- El usuario hace clic en la fila o boton de edicion
- El sistema muestra el formulario con los datos actuales
- El usuario modifica los campos necesarios
- El usuario presiona "Guardar"
- El sistema valida y actualiza el contacto
- El sistema muestra notificacion de exito
Postcondiciones:
- Los datos del contacto quedan actualizados
- El listado refleja los cambios
Caso 3: Filtrar Contactos por Columna
Actor: Usuario del modulo CRM
Precondiciones:
- El usuario debe estar autenticado
- Deben existir contactos en el sistema
Flujo principal:
- El usuario accede al listado de contactos
- El usuario hace clic en el filtro de una columna especifica
- El usuario ingresa el criterio de busqueda
- El sistema filtra los resultados segun el criterio
- La tabla muestra solo los contactos que coinciden
- La paginacion se ajusta a los resultados filtrados
Postcondiciones:
- El listado muestra solo los contactos filtrados
- El contador de resultados refleja el filtro aplicado
Consideraciones
Seguridad
- Solo usuarios autenticados pueden acceder a los contactos
- Los datos sensibles (identificacion) requieren permisos apropiados
- La informacion de contacto debe manejarse segun normativas de proteccion de datos
Auditoria
- Se debe registrar quien crea cada contacto
- Se debe registrar quien modifica cada contacto
- Se debe mantener historial de cambios en datos sensibles
Rendimiento
- El listado debe soportar grandes volumenes de contactos (miles)
- Las busquedas deben ser rapidas (menos de 2 segundos)
- La paginacion evita cargar todos los registros
Dependencias
Funcionalidades Relacionadas
- Localidades: Proporciona la ubicacion geografica del contacto
- Provincias: Define la organizacion territorial de localidades
- Tipos de Contacto: Clasifica los contactos
- Condiciones de IVA: Define la situacion fiscal
- Clientes: Permite vincular contactos con clientes del sistema
- Registros CRM: Los contactos son referenciados por los registros
Catalogos Requeridos
- Catalogo de localidades (con provincia asociada)
- Catalogo de tipos de contacto
- Catalogo de condiciones de IVA
- Catalogo de clientes (opcional, solo si hay modulo ventas)
Criterios de Aceptacion
- [ ] AC-001: El usuario puede crear un contacto con los datos obligatorios (nombre, localidad, tipo, condicion IVA)
- [ ] AC-002: El sistema genera automaticamente un codigo unico para cada nuevo contacto
- [ ] AC-003: El usuario puede buscar contactos por nombre o codigo
- [ ] AC-004: El usuario puede filtrar el listado por cualquier columna visible
- [ ] AC-005: El usuario puede ordenar el listado por cualquier columna
- [ ] AC-006: El usuario puede navegar entre paginas del listado
- [ ] AC-007: El usuario puede editar los datos de un contacto existente
- [ ] AC-008: El sistema valida el formato de email cuando se ingresa
- [ ] AC-009: El sistema valida que los telefonos contengan solo numeros
- [ ] AC-010: El sistema valida que la identificacion contenga solo numeros
- [ ] AC-011: El atajo Alt+A abre el formulario de nuevo contacto
- [ ] AC-012: El sistema muestra mensajes de error claros cuando la validacion falla
- [ ] AC-013: El sistema muestra notificacion de exito al guardar
- [ ] AC-014: El formulario exige cliente cuando el modulo de ventas esta activo
Notas Adicionales
- Los contactos son independientes del modulo de clientes, permitiendo gestionar relaciones con personas que no son clientes formales
- El campo de identificacion soporta diferentes tipos de documentos (CUIT, CUIL, DNI) aunque no se distingue el tipo
- La localidad incluye informacion de provincia, permitiendo reportes por zona geografica
- No existe eliminacion fisica de contactos, la restriccion es por integridad referencial con registros CRM