erp-core/docs/04-modelado/requerimientos-funcionales/mgn-002/RF-MGN-002-005-plantillas-configuracion.md

4.6 KiB

RF-MGN-002-005: Plantillas de Configuración por País

Módulo: MGN-002 - Empresas y Organizaciones Prioridad: P1 (Post-MVP) Story Points: 8 Estado: Definido Fecha: 2025-11-23

Descripción

El sistema debe proveer plantillas de configuración por país que faciliten la creación de empresas con plan de cuentas, impuestos y configuraciones predefinidas según legislación local.

Actores

  • Actor Principal: Administrador de Sistema
  • Actores Secundarios: Sistema (carga automática de plantillas)

Precondiciones

  1. Plantillas por país deben estar cargadas en sistema
  2. Usuario debe estar creando nueva empresa
  3. País debe estar seleccionado

Flujo Principal

  1. Administrador inicia creación de nueva empresa
  2. Administrador selecciona país (ej: México)
  3. Sistema detecta plantilla disponible para país
  4. Sistema ofrece: "¿Usar plantilla de México con CFDI y SAT?"
  5. Administrador acepta usar plantilla
  6. Sistema carga configuración predefinida:
    • Plan de cuentas estándar (Código Agrupador SAT)
    • Impuestos comunes (IVA 16%, ISR, IEPS)
    • Journals (Ventas, Compras, Banco, Diario)
    • Términos de pago típicos (Contado, 30 días, 60 días)
    • Régimen fiscal por defecto
  7. Sistema crea empresa con configuración precargada
  8. Administrador puede personalizar después

Flujos Alternativos

FA-1: Creación Manual (Sin Plantilla)

  1. Si país no tiene plantilla o administrador no quiere usarla
  2. Sistema crea empresa vacía
  3. Administrador configura todo manualmente

FA-2: Plantillas Disponibles

  • México:
    • Plan de cuentas según Código Agrupador SAT
    • Impuestos: IVA 16%, ISR, IEPS
    • Configuración CFDI (Facturación Electrónica)
  • USA:
    • Plan de cuentas GAAP básico
    • Sales Tax por estados
  • Colombia:
    • Plan de cuentas PUC
    • IVA 19%, Retención en la fuente

FA-3: Actualización de Plantillas

  1. Sistema recibe actualización de plantilla (nuevo impuesto, cambio legislación)
  2. Administrador puede aplicar cambios a empresas existentes
  3. Sistema muestra diferencias (diff)
  4. Administrador aprueba cambios
  5. Sistema actualiza configuración de empresas

Reglas de Negocio

  • RN-1: Plantillas son opcionales (no obligatorias)
  • RN-2: Plantilla se aplica solo al crear empresa (no automático después)
  • RN-3: Configuración cargada desde plantilla puede personalizarse
  • RN-4: Plantillas incluyen: plan de cuentas, impuestos, journals, términos de pago
  • RN-5: Plantillas por país deben mantenerse actualizadas con legislación

Criterios de Aceptación

  • Sistema detecta plantilla disponible al seleccionar país
  • Administrador puede elegir usar o no plantilla
  • Plantilla carga plan de cuentas predefinido
  • Plantilla carga impuestos comunes del país
  • Plantilla carga journals estándar
  • Configuración cargada puede personalizarse después
  • Sistema soporta plantillas para múltiples países
  • Plantillas pueden actualizarse sin afectar empresas existentes

Entidades Involucradas

  • Principales:
    • core.company_templates (plantillas por país)
    • core.companies (empresa creada)
  • Relacionadas:
    • financial.accounts (plan de cuentas)
    • financial.taxes (impuestos)
    • financial.journals (journals)

Referencias

Notas Técnicas

  • Patrón Odoo: l10n_* modules (localization packages)
  • Almacenamiento: JSON o SQL con templates versionados
  • Ejemplo Template JSON:
    {
      "country": "MX",
      "name": "México - CFDI",
      "chart_of_accounts": {
        "accounts": [
          {"code": "101-01", "name": "Caja", "type": "asset"},
          {"code": "102-01", "name": "Bancos", "type": "asset"}
        ]
      },
      "taxes": [
        {"name": "IVA 16%", "rate": 16, "type": "sales"},
        {"name": "ISR Ret", "rate": 10, "type": "retention"}
      ],
      "journals": [
        {"name": "Ventas", "type": "sale", "code": "VEN"},
        {"name": "Compras", "type": "purchase", "code": "COM"}
      ]
    }
    
  • Versionamiento: Templates tienen versión para actualizaciones
  • Backend: NestJS CompanyTemplateService
  • Frontend: Wizard de creación con opción de plantilla

Dependencias

  • RF Dependientes:
    • RF-MGN-002-001 (Gestión de Empresas)
    • RF-MGN-004-001 (Plan de Cuentas)
  • Bloqueante para: Ninguno (facilita creación, no es bloqueante)