5.0 KiB
5.0 KiB
RF-MGN-002-002: Configuración de Empresa
Módulo: MGN-002 - Empresas y Organizaciones Prioridad: P0 (MVP) Story Points: 5 Estado: Definido Fecha: 2025-11-23
Descripción
El sistema debe permitir configurar parámetros operativos y contables de cada empresa, como cuentas contables por defecto, journals, términos de pago, almacenes, y configuraciones de módulos.
Actores
- Actor Principal: Administrador de Empresa
- Actores Secundarios: Contador (configura cuentas contables)
Precondiciones
- Empresa debe estar creada (RF-MGN-002-001)
- Plan de cuentas debe estar definido (MGN-004)
- Usuario debe tener permisos de administración de empresa
Flujo Principal
- Administrador accede a Configuración de Empresa
- Administrador configura parámetros contables:
- Cuenta de ingresos por defecto
- Cuenta de egresos por defecto
- Cuenta de banco principal
- Journal de ventas, compras, banco, misceláneos
- Administrador configura parámetros operativos:
- Términos de pago por defecto (ej: 30 días)
- Almacén principal
- Prefijos de documentos (SO-, PO-, INV-)
- Zona horaria
- Idioma por defecto
- Administrador configura módulos habilitados:
- ¿Usar inventario? (true/false)
- ¿Usar proyectos? (true/false)
- ¿Usar CRM? (true/false)
- Sistema valida configuración
- Sistema guarda en core.company_settings
- Configuración se aplica a nuevos documentos
Flujos Alternativos
FA-1: Configuración de Facturación Electrónica
- Si país requiere facturación electrónica (ej: México CFDI)
- Administrador configura credenciales de PAC
- Administrador configura certificados (CSD)
- Sistema valida credenciales con PAC
- Facturación electrónica queda habilitada
FA-2: Configuración de Multi-Moneda
- Administrador habilita multi-moneda
- Administrador selecciona monedas adicionales permitidas
- Sistema configura tasas de cambio (MGN-003)
- Documentos pueden crearse en múltiples monedas
FA-3: Plantillas de Documentos
- Administrador personaliza plantillas de documentos
- Administrador sube plantilla PDF para facturas/cotizaciones
- Sistema valida formato (HTML + CSS o PDF template)
- Plantilla se usa en generación de PDFs
FA-4: Configuración Inválida
- Si administrador configura cuenta contable inexistente
- Sistema retorna error 400: "Cuenta contable no encontrada"
Reglas de Negocio
- RN-1: Configuración es por empresa (multi-empresa independiente)
- RN-2: Cuentas contables por defecto deben existir en plan de cuentas
- RN-3: Almacén principal debe existir en core.warehouses
- RN-4: Prefijos de documentos deben ser únicos por empresa
- RN-5: Zona horaria afecta fechas de documentos y reportes
- RN-6: Idioma por defecto aplica a emails y documentos
- RN-7: Configuración de módulos controla funcionalidades visibles
Criterios de Aceptación
- Administrador puede configurar cuentas contables por defecto
- Administrador puede configurar journals por defecto
- Administrador puede configurar términos de pago por defecto
- Administrador puede configurar almacén principal
- Administrador puede personalizar prefijos de documentos
- Administrador puede configurar zona horaria e idioma
- Administrador puede habilitar/deshabilitar módulos
- Sistema valida que cuentas y almacenes existan
- Configuración se aplica a nuevos documentos
- Cambios de configuración son inmediatos
Entidades Involucradas
- Principales:
- core.company_settings (configuración por empresa)
- core.companies (empresa propietaria)
- Relacionadas:
- financial.accounts (cuentas contables)
- financial.journals (journals)
- inventory.warehouses (almacén principal)
Referencias
Notas Técnicas
- Patrón Odoo: res.company (campos de configuración)
- Almacenamiento: JSON en core.company_settings.settings_json
- Ejemplo Settings JSON:
{ "accounting": { "default_income_account_id": 123, "default_expense_account_id": 124, "sales_journal_id": 1, "purchase_journal_id": 2 }, "operations": { "default_payment_term": "30 days", "default_warehouse_id": 1, "document_prefixes": {"SO": "SO-", "PO": "PO-"} }, "regional": { "timezone": "America/Mexico_City", "language": "es_MX" }, "modules": { "use_inventory": true, "use_projects": true, "use_crm": false } } - Backend: NestJS CompanySettingsService
- Frontend: Formulario con tabs por categoría
Dependencias
- RF Dependientes:
- RF-MGN-002-001 (Gestión de Empresas)
- RF-MGN-004-001 (Plan de Cuentas)
- Bloqueante para: Módulos transaccionales (usan configuración de empresa)