Appearance
Tercerización
Módulo: crm Tipo: Resource Estado: Planificado Fecha: 2026-02-02
Descripción de la Fase
La Fase 3 implementa el sistema de tercerización, permitiendo:
- Registro de servicios tercerizados a proveedores
- Tracking de fechas de solicitud y entrega
- Integración opcional con Cuenta Corriente de proveedores
- Gestión de costos de tercerización independientes del presupuesto
Dependencia del Módulo Compras
Esta fase requiere que el módulo de Compras esté habilitado para la empresa. Si Compras no está habilitado, la sección de tercerización no estará disponible en la interfaz.
Frontend (Perspectiva de Usuario)
Vistas
- Sección de tercerización dentro del presupuesto: Sección desplegable que muestra la tercerización registrada (única) con posibilidad de establecer, modificar y eliminar
Componentes Esperados
- Formulario de tercerización con autocomplete de proveedores
- Autocomplete de proveedores con búsqueda en tiempo real
- Selector de fechas para solicitud y entrega
- Checkbox para registrar en cuenta corriente
- Vista de tercerización (única) con acciones de edición y eliminación
Interacciones del Usuario
Gestión de tercerización:
- Expandir sección de tercerización
- Buscar proveedor mediante autocomplete
- Ingresar total a pagar al proveedor
- Establecer fecha de solicitud (por defecto hoy)
- Establecer fecha de entrega estimada
- Marcar opción de registrar en cuenta corriente (si aplica)
- Agregar notas de tercerización
- Limpiar/eliminar la tercerización existente (si ya existe una)
Estados de UI
Estados de carga:
- Buscando proveedores: Indicador durante búsqueda en autocomplete
- Guardando: Indicador durante operación de guardado
Estados de validación:
- Error de proveedor: Proveedor no encontrado o inválido
- Error de fechas: Fecha de entrega anterior a fecha de solicitud
- Error de monto: Total debe ser mayor a 0
Estados de resultado:
- Tercerización registrada: Confirmación de nuevo registro
- Movimiento en cuenta corriente: Indicador de que se generó movimiento (si aplica)
Backend (Perspectiva de Datos de Negocio)
Entidad de la Fase 3
Tercerización del Presupuesto
| Dato | Descripción | Obligatorio | Reglas |
|---|---|---|---|
| Presupuesto | Referencia al presupuesto | Si | Debe existir, relación 1:1 (única tercerización por presupuesto) |
| Proveedor | Referencia al proveedor | Si | Debe existir en catálogo |
| Total | Monto a pagar al proveedor | Si | Debe ser mayor a 0 |
| Fecha de solicitud | Cuando se solicitó el trabajo | Si | Fecha válida |
| Fecha de entrega | Fecha estimada de entrega | No | Debe ser >= fecha de solicitud |
| Registrar en cuenta corriente | Genera movimiento en CtaCte | Si | Por defecto No |
| Notas | Observaciones de tercerización | No | Texto libre |
| Fecha de creación | Timestamp de creación | Si | Automático |
| Fecha de modificación | Timestamp de última modificación | No | Automático |
Integración con Proveedores
El sistema de tercerización se integra con el catálogo de proveedores existente:
Datos del proveedor utilizados:
- Identificador del proveedor
- Nombre del proveedor
- CUIT del proveedor (para validación)
Funcionalidad de autocomplete:
- Búsqueda por nombre del proveedor
- Búsqueda por CUIT del proveedor
- Resultados en tiempo real mientras el usuario escribe
- Selección de proveedor que completa automáticamente el nombre
Integración con Cuenta Corriente (Opcional)
Cuando se marca "Registrar en cuenta corriente" = Si:
- Se genera un movimiento en la cuenta corriente del proveedor
- El movimiento registra el monto a pagar
- Requiere que el módulo de Cuenta Corriente esté habilitado
- Si CtaCte no está habilitado, la opción no está disponible
Validaciones de Negocio Fase 3
- El total de tercerización debe ser mayor a 0
- La fecha de entrega debe ser igual o posterior a la fecha de solicitud
- El proveedor referenciado debe existir en el catálogo
Reglas de Negocio Específicas
Costo de Tercerización Independiente
El costo de tercerización es completamente independiente del total del presupuesto:
- El total de tercerización puede ser mayor que el total presupuestado (trabajo complejo con margen bajo)
- El total de tercerización puede ser menor que el total presupuestado (trabajo simple con margen alto)
- El total de tercerización puede ser igual al total presupuestado (sin margen)
- El sistema NO valida ni compara estos montos
Tercerización Única
Un presupuesto puede tener una única tercerización:
- Un solo proveedor por presupuesto
- La tercerización puede editarse o eliminarse antes de la aprobación
- Si se requiere más de un proveedor, se deben crear presupuestos separados
Validación de Fechas
- La fecha de solicitud por defecto es la fecha actual
- La fecha de entrega debe ser igual o posterior a la fecha de solicitud
- Si la fecha de entrega es anterior, el sistema muestra error y no permite guardar
Registro en Cuenta Corriente
- Opción disponible solo si el módulo de Cuenta Corriente está habilitado
- Al marcar la opción, se genera automáticamente un movimiento en la cuenta del proveedor
- El movimiento representa un importe a pagar al proveedor
- Si se elimina la tercerización, el movimiento correspondiente también se elimina
Casos de Uso
Caso 3: Registrar Tercerización
Actor: Usuario con permiso CRM_BUDGET_WRITE
Precondiciones:
- Existe un presupuesto creado (puede estar en borrador o aprobado para consulta)
- El presupuesto NO está aprobado (si se quiere registrar tercerización)
- El presupuesto NO tiene una tercerización registrada aún (o se va a reemplazar)
- El módulo de Compras está habilitado para la empresa
- Existen proveedores configurados en el catálogo
Flujo principal:
- El usuario accede a un presupuesto existente en modo edición
- El usuario expande la sección de tercerización
- El usuario establece los datos de tercerización
- El usuario busca un proveedor usando el autocomplete
- El sistema muestra proveedores mientras el usuario escribe
- El usuario selecciona el proveedor deseado
- El usuario ingresa el total a pagar al proveedor
- El usuario establece la fecha de solicitud (por defecto hoy)
- El usuario establece la fecha de entrega estimada
- El sistema valida que fecha entrega >= fecha solicitud
- El usuario marca "Registrar en cuenta corriente" si corresponde
- El usuario ingresa notas adicionales si es necesario
- El usuario guarda el presupuesto con la tercerización
- El sistema valida y guarda los cambios
Postcondiciones:
- La tercerización queda registrada en el presupuesto (única)
- Si ya existía una tercerización previa, es reemplazada
- Si se marcó "Registrar en cuenta corriente", se genera el movimiento correspondiente
- El total de tercerización es independiente del total presupuestado
- Se registra auditoría de la modificación
Flujos alternativos:
- Proveedor no encontrado: El usuario puede buscar con otros términos o dar de alta un nuevo proveedor
- Fecha de entrega anterior a solicitud: El sistema muestra error y no permite guardar hasta corregir
- Reemplazar tercerización: Si ya existe una tercerización, el usuario puede modificar sus datos o eliminarla completamente
- Eliminar tercerización: El usuario puede limpiar la tercerización existente antes de guardar
Consideraciones Técnicas Fase 3
Performance
Expectativas de tiempo de respuesta:
- Búsqueda en autocomplete de proveedores: < 500ms
- Guardado de tercerización: < 3 segundos
Seguridad
- Validación de proveedor existente antes de guardar
- Verificación de permisos para operar con cuenta corriente
- Auditoría de todas las operaciones de tercerización
Multi-Tenancy
- Las tercerizaciones operan bajo el contexto de EMPRESA + SUCURSAL
- Los proveedores referenciados deben existir en el mismo tenant
- Los movimientos en cuenta corriente respetan el aislamiento de datos
Testing
Escenarios críticos a validar:
- Validación de fechas (entrega >= solicitud)
- Autocomplete de proveedores
- Registro en cuenta corriente cuando está habilitado
- Comportamiento cuando CtaCte está deshabilitado
- Reemplazo de tercerización existente
- Eliminación de tercerización y su efecto en cuenta corriente
Criterios de Aceptación Fase 3
- [ ] AC-019: El usuario puede establecer una tercerización única al presupuesto seleccionando un proveedor del catálogo
- [ ] AC-020: El autocomplete de proveedores funciona correctamente
- [ ] AC-021: El sistema valida que la fecha de entrega sea igual o posterior a la fecha de solicitud
- [ ] AC-022: El usuario puede marcar "Registrar en cuenta corriente" para generar movimiento
- [ ] AC-023: La sección de tercerización solo está disponible si el módulo de Compras está habilitado
Navegación
Historial de cambios
| Fecha | Versión | Autor | Descripción |
|---|---|---|---|
| 2026-02-02 | 1.0 | Claude | Creación del documento |