3.0 KiB
3.0 KiB
RF-MGN-003-001: Gestión de Partners Universales
Módulo: MGN-003 - Catálogos Maestros Prioridad: P0 (MVP) Story Points: 8 Estado: Definido Fecha: 2025-11-23
Descripción
El sistema debe gestionar partners universales (patrón Odoo) donde un partner puede ser cliente, proveedor, empleado o contacto mediante flags booleanos. Incluye datos generales, fiscales, dirección y jerarquías.
Actores
- Actor Principal: Usuario (Ventas, Compras, RRHH)
- Actores Secundarios: Sistema (validaciones automáticas)
Precondiciones
- Usuario debe estar autenticado
- Catálogo de países debe estar disponible
Flujo Principal
- Usuario accede a módulo de Partners
- Usuario crea nuevo partner con datos:
- Nombre, nombre legal, email, teléfono
- Dirección completa (calle, ciudad, estado, país, CP)
- Datos fiscales (Tax ID, régimen fiscal)
- Usuario marca flags: is_customer, is_supplier, is_employee, is_contact
- Sistema valida unicidad de email (opcional)
- Sistema valida formato de Tax ID según país
- Sistema crea registro en core.partners
- Partner queda disponible para uso en módulos transaccionales
Flujos Alternativos
FA-1: Partner con Jerarquía (Contactos)
- Usuario crea partner como contacto de otro partner
- Usuario selecciona parent_id (partner padre)
- Sistema crea relación jerárquica
- Contacto hereda datos del padre (dirección, términos pago)
FA-2: Actualización de Datos
- Usuario edita partner existente
- Sistema valida cambios
- Sistema registra cambio en audit log (MGN-014)
- Cambios se reflejan en todos los documentos futuros
FA-3: Conversión de Lead a Partner
- Lead de CRM se convierte en partner
- Sistema copia datos de lead a partner
- Sistema marca is_customer=true
- Partner vinculado a lead (crm.leads.partner_id)
Reglas de Negocio
- RN-1: Un partner puede ser cliente, proveedor, empleado o cualquier combinación
- RN-2: Email debe ser único (opcional por configuración)
- RN-3: Tax ID debe ser único por país
- RN-4: Partner puede tener contactos hijos (parent_id)
- RN-5: Contacto hereda dirección del padre si no tiene propia
- RN-6: Partner vinculado a empresa (company.partner_id)
Criterios de Aceptación
- Usuario puede crear partners con datos generales y fiscales
- Sistema valida formato de Tax ID según país
- Flags is_customer, is_supplier, is_employee funcionan correctamente
- Partner puede tener jerarquía (contactos hijos)
- Sistema previene Tax ID duplicados por país
- Cambios de partner se registran en audit log
Entidades Involucradas
- Principales: core.partners
- Relacionadas: core.countries, core.companies
Referencias
Dependencias
- RF-MGN-001-001 (Autenticación)
- RF-MGN-003-002 (Países)