# 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 - [ALCANCE-POR-MODULO.md - MGN-002](../../01-definicion-modulos/ALCANCE-POR-MODULO.md#mgn-002-empresas-y-organizaciones) - [Core Schema DDL](../database-design/schemas/core-schema-ddl.sql) - [Gap Analysis MGN-002](../../01-definicion-modulos/gaps/GAP-ANALYSIS-MGN-002.md) ## Notas Técnicas - **Patrón Odoo:** l10n_* modules (localization packages) - **Almacenamiento:** JSON o SQL con templates versionados - **Ejemplo Template JSON:** ```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)