ConTodo ERP — Documento Funcional Consolidado (18 módulos, flujos, reglas de negocio, matriz multi-* y casos por vertical)
ConTodo ERP — Documento Funcional Consolidado
Propósito. Este documento es el entregable funcional único de referencia para ConTodo: un ERP SaaS cloud-native multi-tenant para PYMEs y medianas empresas textiles, importadoras, comercializadoras, distribuidoras y de manufactura ligera en Perú y LATAM. Consolida la visión de producto, el modelo de cumplimiento SUNAT, el modelo contable, el costeo de importaciones y el costeo industrial textil, integrando además las condiciones de aceptación del quality gate de dominio (debate-03). Es el contrato funcional que conecta Producto, Arquitectura, Backend, Frontend, QA y Go-to-Market.
Disclaimer profesional (anti-overclaiming). Las normas tributarias peruanas se modifican con frecuencia mediante Resoluciones de Superintendencia. Las tasas, umbrales (en UIT) y obligatoriedades reflejan el marco vigente conocido a junio 2026 y deben validarse con un contador colegiado y la normativa publicada en El Peruano antes de cada release. ConTodo facilita el cumplimiento; la responsabilidad tributaria recae siempre en el contribuyente.
1. Resumen ejecutivo funcional
ConTodo unifica operación, contabilidad y cumplimiento tributario en una sola plataforma cloud-native, con cumplimiento SUNAT nativo (CPE, GRE, PLE, SIRE/RVIE/RCE), multimoneda y multiempresa de fábrica. La promesa funcional descansa en cinco pilares:
| Pilar | Descripción funcional | Métrica North Star asociada |
|---|---|---|
| Cumplimiento como núcleo | CPE (factura/boleta/NC/ND/GRE), PLE 5.x, SIRE (RVIE/RCE), detracciones, percepciones, retenciones, PLAME. | % documentos aceptados por SUNAT en 1er intento ≥ 99.5% |
| Time-to-value | Onboarding guiado, plantillas por vertical, import asistido desde CONCAR/SISCONT/Excel. | Mediana de días a 1ra factura ≤ 5 |
| Cloud-native real | Multi-tenant, elástico, alta disponibilidad, sin instalaciones. | Uptime ≥ 99.9% mensual |
| Operación + Finanzas integradas | Kardex valorizado, costeo industrial e importado, asientos automáticos desde operación. | % de asientos automáticos ≥ 85% |
| IA práctica (diferida) | Conciliación, categorización, forecasting; se libera con masa de datos suficiente, no antes (anti-overclaiming). | Horas/mes ahorradas por usuario contable ≥ 8 |
North Star Metric: documentos electrónicos válidos procesados por mes por tenant activo.
Personas objetivo: Gloria (Contadora/Jefa Contabilidad), Marco (Gerente/Dueño PYME), Lucía (Jefa de Almacén), Ana (Jefa de Compras/Importaciones), Diego (Vendedor/CRM).
2. Arquitectura funcional de módulos (mapa)
Los 18 módulos se agrupan en cuatro dominios funcionales sobre una capa de plataforma transversal (multi-tenant, seguridad, i18n, parámetros tributarios versionados) y una capa de cumplimiento aislada (gateway SUNAT/OSE versionado).
2.1 Priorización MoSCoW y fase de liberación
Score = BV*0.35 + RG*0.30 + DEP*0.20 + ESF*0.15 (BV: valor de negocio, RG: urgencia regulatoria, DEP: dependencia/habilitador, ESF: esfuerzo inverso).
| # | Módulo | Score | MoSCoW | Fase |
|---|---|---|---|---|
| 1 | Seguridad | 4.40 | Must | F0 |
| 2 | Usuarios | 4.25 | Must | F0 |
| 3 | Empresas (multiempresa/sucursal) | 4.40 | Must | F0/F1 |
| 4 | Inventario (multialmacén) | 3.80 | Must | F1 |
| 5 | Kardex (valorizado) | 4.20 | Must | F1 |
| 6 | Compras | 4.20 | Must | F1 |
| 7 | Ventas (CPE) | 4.50 | Must | F1 |
| 8 | Tesorería | 3.35 | Should | F1/F2 |
| 9 | Contabilidad (PCGE, PLE, SIRE) | 4.35 | Must | F2 |
| 10 | Estados Financieros | 3.65 | Should | F2 |
| 11 | Importaciones (costeo, DUA) | 2.90 | Should | F2 |
| 12 | Logística | 2.70 | Should | F2 |
| 13 | Producción (manuf. textil) | 2.55 | Could | F3 |
| 14 | CRM | 2.35 | Could | F3 |
| 15 | Multimoneda (FX/ajuste) | 3.35 | Should | F3 |
| 16 | RRHH | 2.50 | Could | F4 |
| 17 | Planillas (PLAME/AFPnet) | 3.45 | Should | F4 |
| 18 | BI + IA | 2.35 | Could / Won't (release inicial) | F4 |
Roadmap por horizontes (18 meses): F0 Fundaciones → F1 MVP (core comercial+fiscal) → F2 Profundidad financiera → F3 Verticalización → F4 Talento + Inteligencia. Cada fase libera valor utilizable y vendible.
3. Descripción funcional detallada de los 18 módulos
Para cada módulo: propósito, capacidades clave, reglas de negocio y dependencias. Las prioridades P0/P1/P2 se anotan según la matriz de cumplimiento y el quality gate de dominio.
Módulo 1 — Seguridad (Must, F0, P0)
Propósito. Garantizar identidad, autorización granular, segregación de funciones (SoD) y auditabilidad de todo el sistema.
Capacidades clave
- Autenticación email+contraseña con MFA TOTP (obligatorio para roles con acceso a
contabilidadotesoreria). - RBAC multirol con permisos granulares por módulo y acción (p. ej.
tesoreria:cobrar,contabilidad:read). - Audit log inmutable: usuario, IP, timestamp (UTC-5) en toda asignación/revocación de permisos y operación sensible.
- Almacenamiento cifrado del certificado digital del tenant (KMS/secrets), nunca en repositorio, aislado por tenant.
Reglas de negocio
- Bloqueo tras 5 intentos fallidos en 10 min; sesión expira a 30 min de inactividad.
- Un rol no puede guardarse sin al menos un permiso.
- Datos PII cifrados en reposo.
Módulo 2 — Usuarios (Must, F0, P0)
Propósito. Ciclo de vida de usuarios y su relación con empresas, sucursales y roles.
Capacidades clave
- Alta/baja/edición de usuarios; invitación por email.
- Asignación de usuario a múltiples empresas y sucursales con rol diferenciado por contexto.
- Portal multi-cliente para estudios contables (un contador opera varios RUC).
Reglas de negocio
- Un usuario puede pertenecer a N empresas; su permiso efectivo es el del rol en la empresa/sucursal activa.
- La sucursal activa determina almacén y serie de comprobante por defecto.
Módulo 3 — Empresas (multiempresa/multisucursal) (Must, F0/F1, P0)
Propósito. Modelar el grupo empresarial: razones sociales (cada una un RUC = un tenant lógico), sucursales y puntos de emisión.
Capacidades clave
- Cambio de empresa y sucursal activa sin re-login.
- Configuración por empresa: certificado digital, modalidad de emisión (SEE propio / OSE fallback), método de costeo (Promedio/PEPS), régimen tributario, parámetros tributarios vigentes.
- Series y puntos de emisión por sucursal.
Reglas de negocio
- Aislamiento por
tenant_id+company_idcon Row-Level Security (RLS) de PostgreSQL: ningún query devuelve filas de otra empresa (test de aislamiento automatizado en CI). - Catálogo de cuentas: base PCGE compartida
is_system+ cuentas personalizadas por empresa.
Módulo 4 — Inventario (multialmacén) (Must, F1, P0)
Propósito. Maestro de productos/SKU y control de existencias por almacén, incluido almacén-tercero (maquila/consignación).
Capacidades clave
- Producto base y producto configurable (matriz talla × color) con size grading paramétrico.
- Tipo de producto: MP (materia prima), SEMI (semielaborado), PT (producto terminado).
- Unidades de medida y conversiones; lotes/series y vencimientos (post-MVP).
- Almacenes físicos, virtuales, en tránsito y en poder de terceros.
Reglas de negocio
- Para importaciones, la valorización queda bloqueada hasta numeración de la DAM/DUA (integridad NIC 2).
- El inventario en poder de terceros (maquila) debe reflejarse en el Kardex valorizado (Formato 13.1) — condición G9 del quality gate.
Módulo 5 — Kardex valorizado (Must, F1, P0)
Propósito. Registro de inventario permanente, en unidades (Formato 12.1) y valorizado (Formato 13.1), conforme SUNAT/NIC 2.
Capacidades clave
- Saldo y valorización en tiempo real por almacén.
- Métodos de costeo: Promedio Ponderado Móvil (predeterminado) y PEPS; UEPS prohibido para fines tributarios.
- Exportación TXT/Excel formato SUNAT + visor web; cuadre con cuentas 20/21/24.
Reglas de negocio
- Toda entrada/salida/transferencia actualiza saldo y costo según método configurado.
- El cálculo del costo promedio móvil debe ser transaccional y a prueba de concurrencia (lock pesimista o cola Sidekiq serializada por SKU+almacén) para evitar costos negativos.
- Cuadre Kardex ↔ Inventario = 0 céntimos (criterio de éxito MVP).
- Para almacén-tercero (maquila): se debe definir si recalcula promedio o mantiene capa de costo identificada (condición debate-03 §4).
| Formato | Obligados (ingresos anuales) | Contenido |
|---|---|---|
| 12.1 (Físicas) | > 500 y ≤ 1,500 UIT | Cantidades |
| 13.1 (Valorizado) | > 1,500 UIT | Cantidades + costos unitario/total + método |
Módulo 6 — Compras (Must, F1, P0)
Propósito. Ciclo de abastecimiento local: orden de compra, recepción y registro de compra con sustento de crédito fiscal.
Capacidades clave
- Orden de Compra (OC) → recepción (entrada a Kardex) → registro de compra.
- Cálculo de IGV crédito fiscal, detracciones y percepciones aplicables.
- Cotización a proveedores y aprobaciones multinivel (post-MVP).
Reglas de negocio
- El destino de la compra a almacén valoriza el Kardex y genera asiento
PURCHASE_INVOICE+PURCHASE_TO_INV. - NC/ND deben llevar motivo y referencia al documento original (condición G4, evita rechazo 2xxx de SUNAT).
- Anticipos a proveedor (común en importación textil) modelados con detracción y diferencia de cambio (G6).
Módulo 7 — Ventas + CPE (Must, F1, P0)
Propósito. Ciclo comercial cotización → pedido → comprobante electrónico, con cumplimiento SUNAT nativo.
Capacidades clave
- Flujo Cotización → Pedido → Factura/Boleta/NC/ND/GRE con trazabilidad documental.
- Emisión CPE: XML UBL 2.1, firma XAdES-BES, envío a SUNAT/OSE, gestión de CDR, representación impresa (PDF) + QR.
- Cálculo de IGV 18% (modelado internamente como IGV 16% + IPM 2%), detracción, percepción y retención.
Reglas de negocio
- RUC validado por módulo 11.
- Numeración correlativa por serie/punto de emisión sin saltos ni duplicados (constraint UNIQUE serie+número+RUC).
- Si SUNAT rechaza, el motivo se muestra legible y el comprobante queda
rechazado. - Bloqueo de venta si excede línea de crédito del cliente.
- Regla única de tributo (condición P0 BLOQUEANTE, debate-03 §2.1): el IGV se modela siempre como
IGV (16%) + IPM (2%)a nivel de cuentas (4011 e IPM) y se presenta consolidado al 18% en el UBL y en RVIE. El 18% es vista de presentación, no una cuenta.
Módulo 8 — Producción (textil) (Could, F3)
Propósito. Costeo industrial por Orden de Producción (Job Order Costing) con BOM multinivel, absorción de CIF, MOD por etapa y control de maquila. Vertical de lanzamiento.
Capacidades clave
- BOM multinivel (fibra → hilo → tela → prenda) con explosión de necesidades y merma acumulada por etapa.
- Variantes por matriz talla × color con factor de escalado (size grading).
- Acumulación de costo por OP en tres elementos: MP / MOD / CIF.
- Captura de MOD por tarja (tiempo real) o por destajo (pago por pieza, común en costura peruana).
- CIF absorbido por tasa predeterminada (minutos-MOD o minutos-máquina, configurable por centro).
- Maquila como almacén-tercero con liquidación merma pactada vs. real.
Reglas de negocio
- MP valorizada por promedio móvil; MP importada al landed cost (módulo 10).
- Tarifa MOD incluye cargas sociales (factor ~1.45).
- Mermas: normal (al costo), anormal (gasto del período, P&G), desperdicio reciclable (reduce costo a VNR), subproducto (SKU a VNR).
- Plantillas contables de producción WIP/FG obligatorias (P0, condición G2): circuito clase 6 → 9 (79/91) → 23 Productos en proceso → 21 Productos terminados → 69 Costo de ventas. Sin ellas el Kardex no tiene espejo en el mayor.
- Sustento técnico de mermas (informe profesional) para deducibilidad en Renta (condición G8/F4).
Ejemplo de explosión de merma (Polo Pima M/C, talla M): producir 220 g de tela neta requiere 293 g de fibra (33% más por merma acumulada en 4 etapas). Estructura de costo de referencia MP 67% / MOD 18% / CIF 15%, costo total ≈ S/ 18.66.
Módulo 9 — Logística (Should, F2, P0/P1)
Propósito. Traslado de bienes y guías de remisión electrónicas.
Capacidades clave
- GRE-Remitente y GRE-Transportista con motivos de traslado (venta, transformación, consignación, traslado entre almacenes).
- Registro MTC de vehículo y conductor; trazabilidad de tránsito.
- Integración con maquila (motivo "traslado por transformación", que no genera IGV débito).
Reglas de negocio
- La GRE por traslado a tercero para transformación NO es venta.
- Trazabilidad MTC obligatoria (condición debate-03 §1).
Módulo 10 — Importaciones (Should, F2, P1)
Propósito. Proceso de negocio de larga duración (60–120 días) con máquina de estados propia y costeo nacionalizado (landed cost) prorrateado multi-base.
Capacidades clave
- Incoterms 2020 (EXW, FOB, CIF, DAP); el Incoterm precarga qué conceptos vienen incluidos.
- Máquina de estados del expediente: Cotización → OrdenColocada → Embarcada → EnTránsito → Arribada → EnDespacho → Nacionalizada → Costeada → Ingresada (rama Observada en canal rojo).
- Prorrateo multi-base por concepto (flete por peso/volumen, seguro por FOB, ad-valorem por CIF, etc.).
- Costeo proyectado en cotización + costeo real al cierre, con variación automática.
Reglas de negocio
- Van al costo del inventario los conceptos NO recuperables (ad-valorem, ISC, antidumping, flete, seguro, agente, portuarios, almacenaje). NO van al costo el IGV, IPM y Percepción (cuenta 40 — crédito/pago a cuenta).
- Valorización bloqueada hasta DAM numerada; el crédito fiscal bloqueado hasta estado
Nacionalizadacon tributos pagados (condición F1). - Asiento de nacionalización desdoblado (P0 BLOQUEANTE, condición §2.2): (a) proveedor exterior por FOB+flete+seguro; (b) Aduanas/Bancos por ad-valorem+IGV+IPM+percepción; (c) agente de aduana por honorarios. El crédito fiscal cuelga del número de DUA/DAM (tipo de documento 50 en RCE) — condición G1.
- Diferencia de cambio (TC OCI/anticipo vs. TC DAM) va a cuentas 67/77, no al costo del inventario (condición §4).
Ejemplo (FOB China, TC S/ 3.75): el costo unitario nacionalizado del ítem A (S/ 101.11) resulta 34.8% mayor que el FOB convertido (S/ 75). Una PYME que costea solo con FOB pierde ese margen.
Módulo 11 — Contabilidad (PCGE, PLE, SIRE) (Must, F2, P0)
Propósito. Libro mayor multi-tenant/multimoneda con partida doble garantizada en BD y motor de asientos automáticos desde la operación.
Capacidades clave
- Catálogo PCGE 2019 (9 clases) precargado
is_system, extensible a divisionarias por empresa. - Motor de plantillas (
AccountingTemplate) parametrizable por evento y empresa, editable por el contador con dry-run + versionado + auditoría. - CxC (cuenta 12) y CxP (cuenta 42) como subledgers conciliados con el mayor; aging y provisiones.
- Activos fijos con doble tratamiento contable/tributario (impuesto diferido NIC 12).
- Exportadores PLE 5.x y motor SIRE (RVIE/RCE) con conciliación automática.
Reglas de negocio
- Partida doble inviolable:
Σ debe = Σ haberpor moneda funcional, validado por constraint + trigger en BD. - Inmutabilidad del asiento
posted: se corrige por extorno/ajuste, nunca se edita. - Período cerrado (
period_locked) irreversible salvo flujo de excepción auditado; un asiento posterior a un SIRE generado obliga a complementar, no a editar (condición F5). - Conciliación subledger ↔ mayor (job Sidekiq nocturno) levanta alerta si difieren.
| Plantilla | Evento | Líneas (debe / haber) |
|---|---|---|
SALE_INVOICE_CREDIT | Venta a crédito | D 12 / H 70, H 4011 IGV |
SALE_COGS | Salida por venta | D 69 / H 20/21 |
PURCHASE_INVOICE | Factura de compra | D 60, D 4011 / H 42 |
CUSTOMER_PAYMENT | Cobro | D 10 / H 12 |
DETRACTION | Detracción en cobro | D 1212 / H 12 |
WIP_ISSUE / WIP_LABOR / WIP_OVERHEAD / FG_RECEIPT | Producción (G2) | clase 6→9→23→21→69 |
FX_DIFFERENCE | Revaluación ME | D/H 67/77 |
Módulo 12 — Tesorería (Should, F1/F2)
Propósito. Gestión de caja, bancos, cobros/pagos y conciliación bancaria.
Capacidades clave
- Registro de cobros/pagos; medios de pago Perú: Yape/Plin, CCI, detracciones (Banco de la Nación), cheques.
- Posición de caja consolidada multimoneda/multiempresa con proyección de flujos (CxC + CxP programadas).
- Conciliación bancaria por importación de extractos (matching monto+fecha+referencia) — automática post-MVP.
Reglas de negocio
- Cada movimiento confirmado dispara
CUSTOMER_PAYMENToSUPPLIER_PAYMENT. - Estado "detracción pendiente de depósito" bloquea el uso del crédito fiscal hasta confirmar constancia BN (condición F3).
Módulo 13 — Estados Financieros (Should, F2, P2)
Propósito. Generar los cuatro EEFF NIIF derivados del balance de comprobación.
Capacidades clave
- ESF (NIC 1), ER (NIC 1, por función o naturaleza), EFE (NIC 7, método indirecto), ECPN (NIC 1).
- Mapeo
fs_captionpor cuenta; drill-down rubro → cuenta → asiento → documento. - Cierre contable asistido (corridas automáticas, balance, ajustes, destino de resultados clase 8 → 59, bloqueo de período).
Reglas de negocio
- Base devengo (accrual); la caja es vista derivada del mayor de cuentas 10.
- Saldos para reportes en tabla agregada
account_balances(no SUM en caliente) para rendimiento a escala SaaS. - Multi-GAAP degradado a roadmap P2 (anti-overclaiming): no se promete en MVP.
Módulo 14 — RRHH (Could, F4)
Propósito. Maestro de trabajadores y datos laborales base para Planillas.
Capacidades clave
- T-Registro (alta/baja de trabajadores), contratos, datos de AFP/ONP, asignación familiar.
- Centros de costo por trabajador (alimenta costeo de MOD textil).
Módulo 15 — Planillas (Should, F4, P2)
Propósito. Cálculo de planilla y cumplimiento laboral.
Capacidades clave
- Cálculo de remuneraciones, EsSalud (9%), AFP/ONP, CTS, gratificaciones, vacaciones, renta 5ta.
- Generación de PLAME y AFPnet.
- Asiento
PAYROLL_ACCRUAL(D 62 / H 41, 40).
Reglas de negocio
- Tasas y topes parametrizados por año en
parametros_tributarios/laborales con vigencia.
Módulo 16 — CRM (Could, F3)
Propósito. Gestión comercial del embudo cotización → cliente.
Capacidades clave
- Gestión de prospectos, oportunidades, actividades y seguimiento.
- Integración directa con Ventas: la cotización CRM se convierte en pedido/factura sin re-digitar.
Módulo 17 — BI (Could, F4)
Propósito. Analítica operativa y financiera.
Capacidades clave
- Dashboards: caja proyectada, márgenes por línea, ventas/compras/stock, costo real vs. estándar, merma por taller, productividad de costura (piezas/hora-operario), DSO/DPO.
- Calendario tributario dinámico (cruza último dígito de RUC con cronograma SUNAT) con alertas.
Módulo 18 — IA (Won't en release inicial → Could, F4)
Propósito. Automatización inteligente sobre datos propios, liberada cuando exista masa de datos suficiente.
Capacidades clave (roadmap)
- Conciliación bancaria con matching difuso (ML).
- Categorización/asientos sugeridos por histórico.
- Forecast de caja; predicción de merma/rendimiento por taller; OCR de DAM y liquidación del agente.
- Asistente tributario que detecta inconsistencias antes del envío a SUNAT.
Regla de producto: se descarta IA temprana por falta de datos y riesgo de overclaiming. Se libera con métricas de ahorro verificables.
4. Flujos funcionales transversales
4.1 Ciclo Compra-Venta (Order-to-Cash + Procure-to-Pay)
4.2 Cadena de costo única: Importación → Kardex → Producción → Venta
El foso competitivo es que un solo costo viaja por toda la cadena, cerrando contablemente (no solo en el Kardex).
4.3 Flujo de cumplimiento SIRE (RVIE/RCE)
4.4 Flujo de maquila (almacén-tercero)
5. Reglas de negocio consolidadas (catálogo maestro)
| # | Regla | Módulos | Prioridad |
|---|---|---|---|
| RN-01 | Aislamiento multi-tenant por RLS PostgreSQL; ningún query cruza empresas | Todos | P0 |
| RN-02 | Partida doble inviolable validada en BD (constraint+trigger) | Contabilidad | P0 |
| RN-03 | Asiento posted inmutable; corrección por extorno/ajuste | Contabilidad | P0 |
| RN-04 | Período period_locked irreversible salvo excepción auditada | Contabilidad, EEFF | P0 |
| RN-05 | Tributo = IGV 16% + IPM 2% interno; 18% solo presentación (regla única) | Ventas, Compras, Importaciones, Contabilidad | P0 |
| RN-06 | Numeración correlativa por serie sin saltos/duplicados (UNIQUE serie+nro+RUC) | Ventas, Logística | P0 |
| RN-07 | Valorización de importación bloqueada hasta DAM numerada | Importaciones, Kardex | P0 |
| RN-08 | Crédito fiscal de importación bloqueado hasta Nacionalizada + tributos pagados; sustento DUA tipo 50 en RCE | Importaciones, Contabilidad | P0 |
| RN-09 | Asiento de nacionalización desdoblado (exterior / Aduanas / agente) | Importaciones | P0 |
| RN-10 | Plantillas WIP/FG: circuito clase 6→9→23→21→69 | Producción, Contabilidad | P0 |
| RN-11 | NC/ND con motivo y referencia al documento original | Ventas, Compras | P0 |
| RN-12 | Costeo: Promedio móvil (default) o PEPS; UEPS prohibido; transaccional a prueba de concurrencia | Kardex, Producción | P0 |
| RN-13 | Conservación inmutable de XML/CDR/TXT en S3 ≥ 5 años | Cumplimiento | P0 |
| RN-14 | Detracción por código de bien/servicio versionado + umbral S/ 700 (no tasa fija 12%) | Compras, Ventas, Producción, Tesorería | P1 |
| RN-15 | Diferencia de cambio a 67/77, nunca al costo del inventario | Importaciones, Contabilidad | P1 |
| RN-16 | Inventario en poder de terceros reflejado en Formato 13.1 | Producción, Kardex | P1 |
| RN-17 | Merma normal al costo; anormal a gasto; con sustento técnico para Renta | Producción | P1 |
| RN-18 | Parámetros tributarios (UIT, tasas) versionados por vigencia (nunca hardcode) | Plataforma | P0 |
| RN-19 | MFA obligatorio para roles con acceso a contabilidad/tesorería | Seguridad | P0 |
| RN-20 | Conciliación subledger CxC/CxP ↔ mayor (12/42) con alerta de descuadre | Contabilidad | P1 |
6. Matriz de capacidades multi-*
| Capacidad | Definición funcional | Cómo se implementa | Fase | Estado MVP |
|---|---|---|---|---|
| Multiempresa | N razones sociales (RUC) bajo un grupo, datos aislados | company_id + RLS; cambio sin re-login | F0/F1 | Sí |
| Multisucursal | Sucursales/puntos de emisión por empresa | branch_id; serie y almacén por defecto por sucursal | F1 | Sí |
| Multiusuario | Usuarios concurrentes con contexto propio | Sesiones, contexto empresa/sucursal activa | F0 | Sí |
| Multirol | RBAC granular por módulo/acción, SoD | Roles + permisos + audit log | F0 | Sí |
| Multialmacén | Almacenes físicos, virtuales, en tránsito, de terceros | Kardex por almacén; almacén-tercero para maquila | F1 | Sí (lotes/series post-MVP) |
| Multimoneda | Registro en moneda origen + funcional (PEN) | Monto origen + TC + funcional por línea (NIC 21); TC SUNAT/SBS diario | F0 registro / F3 ajuste FX | Registro sí, ajuste FX en F3 |
| Multiidioma | i18n de la interfaz | i18n es-PE base, WCAG 2.1 AA | F0 | es-PE base |
Decisión escalonada de multimoneda: registro multimoneda desde F0 (barato), ajuste contable por diferencia de cambio en F3 (complejo). Evita pagar complejidad sin demanda inmediata.
7. Casos de uso por vertical
7.1 Vertical Textil (manufactura ligera / confección — vertical de lanzamiento)
Persona: Marco (dueño) + jefe de costos + Lucía (almacén). Empresa confeccionista de algodón Pima con planta parcial y red de talleres.
Caso de uso end-to-end:
- Compra/Importación de fibra (módulo 10): fibra Pima importada se valoriza al landed cost y entra al Kardex de MP.
- Definición de BOM (módulo 8): "Polo Pima M/C" como producto configurable talla×color; BOM multinivel con merma por etapa (12%/5%/7%/6%).
- Orden de Producción: explosión de necesidades → consumo de MP (293 g de fibra por polo de 220 g de tela neta).
- Maquila (módulos 8+9): corte/costura tercerizados → GRE motivo transformación → inventario a almacén-tercero → liquidación merma pactada (8%) vs. real.
- Costeo de OP: MP/MOD/CIF (estructura 67/18/15), CIF absorbido por minutos-MOD; asientos WIP→FG (RN-10).
- Venta + CPE (módulo 7): factura electrónica con IGV; COGS desde costo real de OP.
- Cumplimiento: detracción por código de servicio de maquila (RN-14), sustento técnico de mermas para Renta (RN-17), Formato 13.1 incluyendo inventario en taller (RN-16).
Valor diferencial: ni Odoo (genérico, sin localización profunda) ni CONCAR/SISCONT/StarSoft (fuertes en contabilidad, débiles en costeo industrial) integran BOM multinivel con merma acumulada + maquila como almacén-tercero bajo localización SUNAT.
7.2 Vertical Importadora
Persona: Ana (jefa de compras/importaciones) + Gloria (contadora).
Caso de uso end-to-end:
- OCI a proveedor extranjero bajo Incoterm FOB → ConTodo fuerza el registro de flete y seguro antes de numerar la DAM.
- Expediente de importación avanza por su máquina de estados (Embarcada → EnTránsito → Arribada → EnDespacho); alertas Sidekiq si supera SLA en aduana (canal rojo).
- Nacionalización: cálculo de ad-valorem, IGV, IPM, percepción; asiento desdoblado (proveedor exterior / Aduanas / agente) — RN-09; crédito fiscal colgado de la DUA tipo 50 — RN-08.
- Costeo prorrateado multi-base → costo unitario nacionalizado (34.8% mayor que FOB en el ejemplo) → ingreso valorizado al Kardex (RN-07).
- Venta con margen real sobre costo nacionalizado; conciliación SIRE-RCE con la DUA.
Valor diferencial: la mayoría de PYMEs costea en Excel y subestima el costo 8–15%; el prorrateo multi-base por concepto y el bloqueo de valorización hasta DAM son fosos que Defontana/StarSoft/SISCONT no cubren nativamente.
7.3 Vertical Distribuidora / Comercializadora
Persona: Marco (gerente) + Lucía (almacén) + Diego (ventas).
Caso de uso end-to-end:
- Compra local (módulo 6): OC → recepción → registro de compra con crédito fiscal y detracción/percepción donde aplique.
- Kardex multialmacén (módulo 5): stock valorizado por almacén/sucursal en tiempo real; transferencias entre almacenes con GRE.
- Ventas multicanal (módulo 7): cotización → pedido → factura/boleta; control de línea de crédito (RN-06).
- Tesorería (módulo 12): cobros vía Yape/Plin/CCI; posición de caja proyectada.
- Cierre fiscal (módulos 11/13): asientos automáticos, SIRE en 1 clic, EEFF en tiempo real con drill-down.
Valor diferencial: suite unificada cloud (multialmacén + multisucursal + cumplimiento) frente al "software de escritorio del contador + facturador externo" fragmentado.
8. Riesgos y oportunidades funcionales
8.1 Riesgos
| ID | Riesgo | Prob. | Impacto | Mitigación |
|---|---|---|---|---|
| R1 | Cambios normativos SUNAT (SIRE/PLE/UBL) durante desarrollo | Alta | Alto | Capa de cumplimiento aislada y versionada; validación contra XSD oficial en CI; OSE como buffer |
| R2 | Subestimación de Contabilidad/PCGE y plantillas de producción (G2) | Media | Alto | Spike temprano; contadora en el equipo; circuito WIP→FG como condición P0 |
| R3 | IGV/IPM no reconciliado entre módulos → descuadre cuenta 40 | Media | Crítico | Regla única RN-05 con parámetros versionados |
| R4 | Asiento de nacionalización mal acreditado → RCE no conciliable | Media | Alto | Desdoblamiento RN-09 + DUA tipo 50 en RCE |
| R5 | Fuga de datos entre tenants | Baja | Crítico | RLS + tests de aislamiento en CI |
| R6 | Concurrencia en costo promedio móvil (incl. maquila) | Media | Alto | Lock pesimista / cola serializada; definir costeo almacén-tercero |
| R7 | Detracción como tasa fija 12% → pérdida de crédito fiscal | Media | Alto | Tabla de detracciones por código + umbral S/ 700 (RN-14) |
| R8 | Inercia del contador hacia CONCAR/SISCONT (costo de cambio) | Alta | Alto (comercial) | Importador de datos desde CONCAR/SISCONT (P1) + SIRE impecable |
| R9 | Scope creep por pedidos de pilotos | Alta | Medio | MoSCoW estricto; "Won't" documentado |
| R10 | Sobreventa de IA sin datos suficientes | Media | Medio | IA diferida; liberar con métricas reales |
8.2 Oportunidades
| ID | Oportunidad | Acción funcional |
|---|---|---|
| O1 | Reemplazo de legacy on-premise (CONCAR/SISCONT/desktop) | Importadores nativos + mensaje "migra sin perder tu historia" |
| O2 | Verticalización textil como diferenciador | BOM multinivel + costeo industrial + tech pack para exportadores Pima |
| O3 | Cumplimiento como gancho LATAM (DIAN Colombia, SII Chile) | Arquitectura de cumplimiento pluggable por país |
| O4 | Pago local Yape/Plin + conciliación | Integración en Tesorería (alto valor PYME) |
| O5 | SIRE nativo automatizado | Motor de conciliación RVIE/RCE con tolerancia y soporte de no domiciliados/DUA |
| O6 | EEFF en tiempo real con drill-down | Diferenciador BI frente a Defontana/StarSoft |
| O7 | IA práctica sobre datos propios | Conciliación, categorización, forecast, predicción de merma (F4) |
9. Definición del MVP y Definition of Done
9.1 Alcance MVP (una comercializadora/importadora pequeña opera de punta a punta cumpliendo SUNAT)
| Incluye | Excluye (post-MVP) |
|---|---|
| Seguridad + Usuarios + RBAC + MFA + audit log | SSO SAML/OAuth corporativo |
| Multiempresa/sucursal/almacén con aislamiento | Consolidación multi-empresa contable |
| Inventario + Kardex (Promedio) | PEPS avanzado, lotes/series, vencimientos |
| Compras (OC, recepción, registro) | Cotización a proveedores, aprobaciones multinivel |
| Ventas + CPE (factura/boleta/NC/ND/GRE, IGV, detracción) | Percepción/retención avanzada, e-commerce |
| Tesorería básica (cobros/pagos, caja, bancos) | Conciliación bancaria automática |
| SIRE/PLE básico (RVIE/RCE export) | PLE 100% libros |
| Reportes operativos | EEFF completos (F2) |
Out of scope explícito del MVP: Contabilidad completa con asientos automáticos, EEFF, Importaciones con costeo, Logística avanzada, Producción, CRM, RRHH, Planillas, BI, IA, multimoneda con ajuste FX. (Documentado para evitar scope creep.)
9.2 Criterios de éxito del MVP
| Métrica | Objetivo |
|---|---|
| Tiempo a 1ra factura (onboarding) | ≤ 5 días |
| Aceptación SUNAT 1er intento | ≥ 99% |
| Pilotos activos facturando | ≥ 3 empresas |
| p95 latencia emisión CPE | ≤ 3 s |
| Descuadre Kardex vs Inventario | 0 céntimos |
9.3 Definition of Done (transversal)
- Código revisado (≥1 reviewer), mergeado a
mainsin warnings de lint. - Pruebas unitarias/integración ≥ 80% en lógica nueva; tests de aislamiento multi-tenant verdes.
- Criterios de aceptación (Gherkin) validados por QA en staging.
- Cumplimiento SUNAT validado en homologación cuando la historia toca CPE/SIRE/PLE.
- Migraciones de DB reversibles; sin downtime.
- Observabilidad: logs estructurados, métricas, trazas, audit log.
- Seguridad: sin secretos en código, RBAC validado, PII cifrada en reposo.
- Documentación de usuario/API y release notes.
- Accesibilidad WCAG 2.1 AA y i18n (es-PE base).
- Product Owner acepta la demo.
10. Decisiones de diseño y alternativas evaluadas
| Decisión | Opción elegida | Alternativa descartada | Razón |
|---|---|---|---|
| MVP | Comercial+fiscal (compra-venta + CPE) | MVP contable primero | Mayor time-to-value e ingreso inmediato |
| Emisión CPE | SEE propio (nativo) + OSE fallback configurable | Solo OSE / solo SEE | Diferenciador + resiliencia ante caídas SUNAT (patrón Strategy ComprobanteGateway) |
| Generación de asientos | Plantillas parametrizables con dry-run/versionado | Lógica hardcodeada por módulo | Configurable por contador; mantenibilidad |
| Cuadre partida doble | Constraint + trigger en BD | Validación solo en app | Defensa en profundidad |
| Aislamiento tenant | RLS PostgreSQL | Solo scope ActiveRecord | Seguridad a nivel de motor |
| Costeo inventario | Promedio móvil (default) + PEPS opción | UEPS | Alineado SUNAT/NIC 2 |
| Costeo textil | Por órdenes (configurable a procesos por centro) | Solo por procesos | Apropiado para confección por lotes |
| Maquila | Almacén-tercero | Orden de compra de servicio simple | No perder control del inventario valorizado en terceros |
| Prorrateo importación | Multi-base por concepto | Todo por cantidad de unidades | Evita distorsión entre ítems de pesos/valores distintos |
| Multimoneda | Origen + funcional por línea; ajuste FX en F3 | Conversión al vuelo en reportes | NIC 21; evita recálculos inconsistentes |
| Multi-GAAP | Roadmap P2 | Prometer en MVP | Anti-overclaiming para PYME |
| IA | Diferida a F4 con métricas | IA temprana como wrapper LLM | Sin datos no aporta valor verificable |
11. Conclusión
ConTodo trata el cumplimiento SUNAT como núcleo de confianza (no como módulo accesorio) y la cadena de costo única (importación → Kardex → producción → venta) como su principal foso competitivo frente a Odoo, SAP B1, Defontana, StarSoft, CONCAR y SISCONT. El presente documento consolida los 18 módulos, sus flujos, 20 reglas de negocio maestras, la matriz multi-* y los casos por vertical, integrando las cinco condiciones P0 bloqueantes del quality gate de dominio: regla única IGV 16%+IPM 2%, asiento de nacionalización desdoblado, plantillas contables de producción (WIP→FG→COGS), DUA tipo 50 como sustento de crédito fiscal en RCE, y NC/ND con motivo y referencia. Cerradas esas condiciones, el producto resiste una fiscalización SUNAT, un cierre auditado y una demo comparativa. El mayor riesgo no técnico es la inercia del contador peruano hacia el legacy: la superioridad funcional solo se convierte en adopción con un importador de datos desde CONCAR/SISCONT y una conciliación SIRE impecable.
Documento funcional consolidado — propiedad de Producto ConTodo. Fuente: docs/01-agentes. Próxima revisión al cierre de F0.