13 KiB
Requerimientos Funcionales - PMC-002 CRM
Módulo: CRM Versión: 1.0.0 Fecha: 2025-12-08
Gestión de Clientes
RF-PMC-002-001: Crear Cliente
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-001 |
| Nombre | Crear Cliente |
| Prioridad | P1 |
| Actor | Creative, Analyst, Tenant Admin |
Descripción: El sistema debe permitir registrar un nuevo cliente de la agencia.
Datos de entrada:
- name: string (requerido)
- legal_name: string (opcional)
- tax_id: string (opcional)
- industry: string (opcional)
- size: enum (opcional)
- website: string (opcional)
- notes: text (opcional)
Criterios de aceptación:
- Cliente se crea con status "prospect"
- tenant_id se asigna automáticamente
- Validación de datos funciona
RF-PMC-002-002: Editar Cliente
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-002 |
| Nombre | Editar Cliente |
| Prioridad | P1 |
| Actor | Creative, Analyst, Tenant Admin |
Descripción: El sistema debe permitir modificar datos de un cliente existente.
Criterios de aceptación:
- Todos los campos editables se actualizan
- Cambio de status registra historial
- Audit log registra modificaciones
RF-PMC-002-003: Listar Clientes
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-003 |
| Nombre | Listar Clientes |
| Prioridad | P1 |
| Actor | Todos los roles |
Descripción: El sistema debe mostrar lista de clientes con filtros y paginación.
Filtros disponibles:
- status: prospect, active, inactive, churned
- industry: string
- size: enum
- search: nombre o legal_name
Criterios de aceptación:
- Paginación funciona correctamente
- Filtros se combinan con AND
- Ordenamiento por nombre/fecha
RF-PMC-002-004: Ver Ficha de Cliente
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-004 |
| Nombre | Ver Ficha de Cliente |
| Prioridad | P1 |
| Actor | Todos los roles |
Descripción: El sistema debe mostrar vista detallada del cliente con información relacionada.
Datos mostrados:
- Información básica
- Contactos asociados
- Marcas del cliente
- Proyectos activos
- Oportunidades abiertas
- Historial de actividad
Criterios de aceptación:
- Tabs organizan información
- Datos relacionados cargan correctamente
- Acciones rápidas disponibles
RF-PMC-002-005: Eliminar Cliente
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-005 |
| Nombre | Eliminar Cliente |
| Prioridad | P3 |
| Actor | Tenant Admin |
Descripción: El sistema debe permitir eliminar un cliente (soft delete).
Validaciones:
- No tiene proyectos activos
- Confirmación requerida
Criterios de aceptación:
- Soft delete funciona
- Validaciones impiden eliminación si hay dependencias activas
Gestión de Contactos
RF-PMC-002-006: Crear Contacto
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-006 |
| Nombre | Crear Contacto |
| Prioridad | P1 |
| Actor | Creative, Analyst, Tenant Admin |
Datos de entrada:
- client_id: UUID (requerido)
- first_name: string (requerido)
- last_name: string (requerido)
- email: string (requerido)
- phone: string (opcional)
- position: string (opcional)
- is_primary: boolean (default false)
Criterios de aceptación:
- Contacto se asocia al cliente
- Email validado (formato)
- Solo un contacto primario por cliente
RF-PMC-002-007: Editar Contacto
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-007 |
| Nombre | Editar Contacto |
| Prioridad | P2 |
| Actor | Creative, Analyst, Tenant Admin |
Criterios de aceptación:
- Campos se actualizan correctamente
- Cambio de is_primary actualiza otros contactos
RF-PMC-002-008: Listar Contactos
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-008 |
| Nombre | Listar Contactos |
| Prioridad | P2 |
| Actor | Todos los roles |
Descripción: Listar contactos del tenant o de un cliente específico.
Criterios de aceptación:
- Filtro por cliente funciona
- Búsqueda por nombre/email
- Paginación implementada
RF-PMC-002-009: Marcar Contacto Primario
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-009 |
| Nombre | Marcar Contacto Primario |
| Prioridad | P2 |
| Actor | Creative, Analyst, Tenant Admin |
Descripción: Designar un contacto como principal del cliente.
Criterios de aceptación:
- Solo un contacto primario por cliente
- Al marcar uno, otros se desmarcan automáticamente
Gestión de Marcas
RF-PMC-002-010: Crear Marca
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-010 |
| Nombre | Crear Marca |
| Prioridad | P1 |
| Actor | Creative, Tenant Admin |
Datos de entrada:
- client_id: UUID (requerido)
- name: string (requerido)
- description: text (opcional)
- identity: object (opcional)
- logo_url
- primary_color
- secondary_colors
- typography
- tone_of_voice
- keywords
- forbidden_words
- visual_style
Criterios de aceptación:
- Marca se asocia al cliente
- Identity se almacena como JSONB
- Logo se puede subir o referenciar URL
RF-PMC-002-011: Editar Marca
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-011 |
| Nombre | Editar Marca |
| Prioridad | P1 |
| Actor | Creative, Tenant Admin |
Criterios de aceptación:
- Todos los campos de identity editables
- Preview de colores en tiempo real
- Cambios se propagan a nuevas generaciones
RF-PMC-002-012: Definir Identidad Visual
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-012 |
| Nombre | Definir Identidad Visual |
| Prioridad | P1 |
| Actor | Creative, Tenant Admin |
Descripción: Configurar todos los elementos de identidad visual de la marca.
Campos de identidad:
- Logo (principal y variaciones)
- Paleta de colores
- Tipografías
- Tono de voz
- Keywords positivas
- Palabras prohibidas
- Estilo visual preferido
Criterios de aceptación:
- Formulario estructurado para cada sección
- Upload de logos funciona
- Preview visual de paleta de colores
RF-PMC-002-013: Asociar LoRA a Marca
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-013 |
| Nombre | Asociar LoRA a Marca |
| Prioridad | P1 |
| Actor | Creative, Tenant Admin |
Descripción: Vincular modelos LoRA entrenados con una marca.
Flujo:
- Usuario accede a configuración de marca
- Selecciona "Modelos IA"
- Elige LoRA(s) del catálogo del tenant
- Sistema vincula LoRA con marca
- LoRA se usa automáticamente en generaciones de la marca
Criterios de aceptación:
- Múltiples LoRAs pueden asociarse
- LoRA se aplica por defecto en generación
- Desasociación funciona
RF-PMC-002-014: Listar Marcas
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-014 |
| Nombre | Listar Marcas |
| Prioridad | P1 |
| Actor | Todos los roles |
Criterios de aceptación:
- Filtro por cliente funciona
- Preview de logo/colores en lista
- Búsqueda por nombre
Gestión de Productos
RF-PMC-002-015: Crear Producto
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-015 |
| Nombre | Crear Producto |
| Prioridad | P1 |
| Actor | Creative, Analyst |
Datos de entrada:
- brand_id: UUID (requerido)
- name: string (requerido)
- sku: string (opcional)
- description: text (opcional)
- category: string (opcional)
- attributes: object (precio, features, etc.)
- reference_images: array[file] (opcional)
Criterios de aceptación:
- Producto se asocia a marca
- Imágenes de referencia se almacenan
- Status inicial "active"
RF-PMC-002-016: Editar Producto
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-016 |
| Nombre | Editar Producto |
| Prioridad | P2 |
| Actor | Creative, Analyst |
Criterios de aceptación:
- Campos se actualizan correctamente
- Imágenes de referencia pueden agregarse/quitarse
RF-PMC-002-017: Subir Imágenes de Referencia
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-017 |
| Nombre | Subir Imágenes de Referencia |
| Prioridad | P1 |
| Actor | Creative, Analyst |
Descripción: Agregar fotos reales del producto para usar como referencia en generación.
Criterios de aceptación:
- Upload múltiple funciona
- Formatos: JPG, PNG, WebP
- Tamaño máximo: 10MB por imagen
- Thumbnails generados automáticamente
RF-PMC-002-018: Trigger Generación desde Producto
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-018 |
| Nombre | Trigger Generación desde Producto |
| Prioridad | P1 |
| Actor | Creative |
Descripción: Iniciar generación de contenido directamente desde la ficha de producto.
Flujo:
- Usuario ve ficha de producto
- Selecciona "Generar contenido"
- Elige workflow template
- Configura opciones (cantidad, estilo)
- Sistema crea job de generación
- Sistema redirige a monitor o muestra progreso
Criterios de aceptación:
- Datos del producto se cargan al job
- Identidad de marca se incluye
- LoRAs se aplican automáticamente
RF-PMC-002-019: Listar Productos
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-019 |
| Nombre | Listar Productos |
| Prioridad | P1 |
| Actor | Todos los roles |
Criterios de aceptación:
- Filtro por marca funciona
- Vista de catálogo con imágenes
- Búsqueda por nombre/SKU
Gestión de Oportunidades
RF-PMC-002-020: Crear Oportunidad
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-020 |
| Nombre | Crear Oportunidad |
| Prioridad | P2 |
| Actor | Analyst, Tenant Admin |
Datos de entrada:
- client_id: UUID (requerido)
- name: string (requerido)
- description: text (opcional)
- value: decimal (opcional)
- currency: string (default: USD)
- expected_close_date: date (opcional)
Criterios de aceptación:
- Stage inicial "lead"
- Probability calculada por stage
RF-PMC-002-021: Mover Oportunidad en Pipeline
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-021 |
| Nombre | Mover Oportunidad en Pipeline |
| Prioridad | P2 |
| Actor | Analyst, Tenant Admin |
Descripción: Cambiar stage de una oportunidad mediante drag & drop o acción directa.
Stages:
- lead → qualified → proposal → negotiation → won/lost
Criterios de aceptación:
- Drag & drop en vista Kanban
- Probability se actualiza automáticamente
- Registro de historial de cambios
RF-PMC-002-022: Cerrar Oportunidad como Ganada
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-022 |
| Nombre | Cerrar Oportunidad como Ganada |
| Prioridad | P2 |
| Actor | Analyst, Tenant Admin |
Flujo:
- Usuario mueve a stage "won"
- Sistema solicita valor final confirmado
- Sistema marca como ganada
- Sistema ofrece crear proyecto
Criterios de aceptación:
- actual_close_date se registra
- Opción de crear proyecto disponible
RF-PMC-002-023: Cerrar Oportunidad como Perdida
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-023 |
| Nombre | Cerrar Oportunidad como Perdida |
| Prioridad | P2 |
| Actor | Analyst, Tenant Admin |
Flujo:
- Usuario mueve a stage "lost"
- Sistema solicita motivo de pérdida
- Sistema registra lost_reason
- Sistema marca como perdida
Criterios de aceptación:
- lost_reason es requerido
- Oportunidad no editable después de cerrar
RF-PMC-002-024: Convertir Oportunidad en Proyecto
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-024 |
| Nombre | Convertir Oportunidad en Proyecto |
| Prioridad | P2 |
| Actor | Analyst, Tenant Admin |
Descripción: Crear proyecto automáticamente desde oportunidad ganada.
Flujo:
- Usuario selecciona "Convertir a proyecto"
- Sistema muestra formulario pre-llenado
- Usuario confirma/modifica datos
- Sistema crea proyecto vinculado al cliente
- Sistema vincula oportunidad con proyecto
Criterios de aceptación:
- Datos del cliente se heredan
- Descripción de oportunidad se copia a proyecto
- Relación bidireccional establecida
RF-PMC-002-025: Vista Kanban de Oportunidades
| Campo | Valor |
|---|---|
| ID | RF-PMC-002-025 |
| Nombre | Vista Kanban de Oportunidades |
| Prioridad | P2 |
| Actor | Analyst, Tenant Admin |
Descripción: Mostrar pipeline de oportunidades en formato Kanban.
Características:
- Columnas por stage
- Cards con info resumida
- Drag & drop entre columnas
- Filtros por cliente, fecha, valor
- Totales por columna
Criterios de aceptación:
- Drag & drop funciona
- Totales se calculan correctamente
- Filtros se aplican en tiempo real
Resumen
| Prioridad | Cantidad |
|---|---|
| P1 | 14 |
| P2 | 10 |
| P3 | 1 |
| Total | 25 |
Documento generado por: Requirements-Analyst Fecha: 2025-12-08