9.6 KiB
TEST PLAN - MGN-004: Financiero Básico
Módulo: MGN-004 - Financiero Básico Sprint: Sprint 7-11 (Semanas 13-22) Story Points: 81 SP User Stories: 18 US Fecha: 2025-11-24 QA Owner: TBD Estado: Draft
1. RESUMEN DEL MÓDULO
1.1 Descripción
El módulo MGN-004 Financiero Básico es el núcleo contable del ERP. Gestiona plan de cuentas, journals contables, asientos contables, impuestos, facturas de clientes y proveedores, pagos, conciliación bancaria y reportes financieros (Balance y P&L).
Este es un módulo crítico (P0) y complejo, con 81 SP y 18 User Stories.
1.2 Funcionalidades Principales
- Plan de Cuentas: Árbol de cuentas contables (activo, pasivo, patrimonio, ingresos, egresos)
- Journals Contables: Diarios de ventas, compras, banco, caja, misceláneos
- Asientos Contables: Registro de movimientos contables con balance débito-crédito
- Impuestos: Configuración de impuestos (IVA, retenciones, percepciones)
- Facturas de Cliente: Creación, validación, cancelación de facturas AR
- Facturas de Proveedor: Registro de facturas AP
- Pagos: Gestión de pagos y cobranzas, conciliación bancaria
- Reportes Financieros: Balance General, Estado de Resultados (P&L)
1.3 Dependencias
Módulos requeridos:
- MGN-001: Fundamentos
- MGN-002: Empresas
- MGN-003: Catálogos (partners, monedas)
2. ALCANCE DEL TESTING
2.1 En Alcance
- ✅ CRUD de plan de cuentas (chart of accounts)
- ✅ Validación de balance débito-crédito en asientos
- ✅ Journals contables (ventas, compras, banco, etc.)
- ✅ Configuración de impuestos con múltiples tasas
- ✅ Ciclo completo de factura de cliente (draft -> posted -> paid -> reconciled)
- ✅ Ciclo completo de factura de proveedor
- ✅ Registro de pagos y cobranzas
- ✅ Conciliación bancaria
- ✅ Reportes: Balance General, P&L
- ✅ Multi-moneda (facturas en USD, EUR, etc.)
- ✅ Cálculo automático de impuestos
- ✅ Anulación y cancelación de facturas
2.2 Fuera de Alcance
- ❌ Contabilidad analítica (MGN-008)
- ❌ Presupuestos (Fase 2)
- ❌ Cash flow forecasting (Fase 2)
- ❌ Activos fijos (Fase 2)
3. ESTRATEGIA DE TESTING
3.1 Tipos de Tests
Unit Tests: 108 tests
Backend (72 tests):
- AccountService: 15 tests (CRUD plan de cuentas, árbol)
- JournalService: 10 tests (CRUD journals)
- JournalEntryService: 20 tests (asientos, balance débito-crédito, validaciones)
- TaxService: 12 tests (cálculo de impuestos, múltiples tasas)
- InvoiceService: 15 tests (ciclo de vida de facturas)
Frontend (36 tests):
- AccountTree component: 8 tests
- JournalEntryForm component: 10 tests
- InvoiceForm component: 10 tests
- BalanceReport component: 8 tests
Integration Tests: 54 tests
- Accounts API: 10 tests
- Journals API: 8 tests
- Journal Entries API: 15 tests (crítico: balance validation)
- Taxes API: 6 tests
- Customer Invoices API: 10 tests
- Vendor Bills API: 5 tests
E2E Tests: 18 tests
- Crear plan de cuentas argentino (activo, pasivo, etc.)
- Crear journal de ventas con secuencia
- Crear asiento contable, validar balance
- Configurar impuesto IVA 21%
- Crear factura de cliente con IVA, validar total
- Validar que factura genera asiento contable automático
- Registrar pago de factura, conciliar
- Registrar factura de proveedor
- Generar reporte Balance General
- Generar reporte P&L
4. TEST CASES (CRÍTICOS)
4.1 Casos de Prueba Funcionales
TC-MGN-004-001: Balance Débito-Crédito en Asientos
Prioridad: P0 Tipo: Functional Nivel: Integration
Precondiciones:
- Cuentas contables creadas
Pasos:
- POST /api/v1/journal-entries con líneas:
- Cuenta Caja (debe): 1000
- Cuenta Ventas (haber): 900
- Cuenta IVA (haber): 100
Resultado Esperado:
- Asiento se crea (débito 1000 = crédito 1000)
- Si débito != crédito, retorna 400 "Asiento desbalanceado"
Criterios de Aceptación Validados:
- AC-001: Sistema valida balance débito-crédito
- AC-002: No permite guardar asientos desbalanceados
TC-MGN-004-002: Factura de Cliente Genera Asiento Contable
Prioridad: P0 Tipo: Functional Nivel: E2E
Precondiciones:
- Cliente "ABC Corp" existe
- Producto "Laptop" con precio 1000 existe
- Impuesto IVA 21% configurado
Pasos:
- Crear factura de cliente:
- Cliente: ABC Corp
- Línea: Laptop x 1 = 1000
- IVA: 21% = 210
- Total: 1210
- Validar factura (cambiar estado a "posted")
- GET /api/v1/journal-entries?invoice_id=:id
Resultado Esperado:
- Factura cambia a estado "posted"
- Asiento contable se genera automáticamente:
- Cuenta Clientes (debe): 1210
- Cuenta Ventas (haber): 1000
- Cuenta IVA Débito Fiscal (haber): 210
- Asiento está balanceado (1210 = 1210)
Criterios de Aceptación Validados:
- AC-003: Factura validada genera asiento contable
- AC-004: Asiento incluye impuestos calculados correctamente
TC-MGN-004-003: Pago de Factura y Conciliación
Prioridad: P0 Tipo: Functional Nivel: E2E
Precondiciones:
- Factura de cliente "INV-001" con total 1210, estado "posted"
Pasos:
- Registrar pago:
- Factura: INV-001
- Monto: 1210
- Método: Transferencia bancaria
- Cuenta destino: Banco Santander
- Conciliar pago con factura
Resultado Esperado:
- Pago se registra en payments table
- Asiento contable de pago se genera:
- Banco Santander (debe): 1210
- Cuenta Clientes (haber): 1210
- Factura cambia a estado "paid"
- Payment.reconciled = true
Criterios de Aceptación Validados:
- AC-005: Pago se registra correctamente
- AC-006: Factura se marca como pagada
- AC-007: Asiento de pago se genera
TC-MGN-004-004: Reporte Balance General
Prioridad: P0 Tipo: Functional Nivel: E2E
Precondiciones:
- Múltiples asientos contables registrados
- Cuentas de activo, pasivo, patrimonio con saldos
Pasos:
- GET /api/v1/reports/balance-sheet?date=2025-11-24
Resultado Esperado:
- Reporte agrupa cuentas por tipo:
- ACTIVO: suma de saldos deudores
- PASIVO: suma de saldos acreedores
- PATRIMONIO: suma de saldos acreedores
- Balance: ACTIVO = PASIVO + PATRIMONIO
- Formato JSON para frontend + PDF export
Criterios de Aceptación Validados:
- AC-008: Balance General muestra activo, pasivo, patrimonio
- AC-009: ACTIVO = PASIVO + PATRIMONIO (ecuación fundamental)
TC-MGN-004-005: Cálculo de Impuestos Múltiples
Prioridad: P0 Tipo: Functional Nivel: Integration
Precondiciones:
- Impuesto IVA 21% configurado
- Impuesto Percepción IIBB 3% configurado
- Producto "Laptop" con ambos impuestos
Pasos:
- POST /api/v1/invoices con línea:
- Producto: Laptop
- Precio: 1000
- Cantidad: 1
Resultado Esperado:
- Subtotal: 1000
- IVA 21%: 210 (sobre 1000)
- Percepción IIBB 3%: 30 (sobre 1000)
- Total: 1240
- Detalle de impuestos en invoice_taxes table
Criterios de Aceptación Validados:
- AC-010: Sistema calcula múltiples impuestos
- AC-011: Base imponible correcta para cada impuesto
4.2 Casos de Prueba No Funcionales
TC-MGN-004-PERF-001: Performance de Balance General
Tipo: Performance Herramienta: k6
Escenario:
- 100,000 asientos contables
- 1,000 cuentas contables
- Período: 12 meses
Criterios de Éxito:
- p95: <2s
- Query optimizado con índices
- Agregación en BD (no en app layer)
5. DATOS DE PRUEBA
5.1 Test Data Requirements
Plan de Cuentas (50 cuentas):
- 1.1 ACTIVO
- 1.1.1 Activo Corriente
- 1.1.1.1 Caja
- 1.1.1.2 Bancos
- 1.1.1.3 Clientes
- 1.1.1 Activo Corriente
- 2.1 PASIVO
- 2.1.1 Pasivo Corriente
- 2.1.1.1 Proveedores
- 2.1.1.2 IVA Débito Fiscal
- 2.1.1 Pasivo Corriente
- 3.1 PATRIMONIO
- 4.1 INGRESOS
- 4.1.1 Ventas
- 5.1 EGRESOS
- 5.1.1 Costo de Ventas
Journals:
- Ventas (SALES)
- Compras (PURCHASES)
- Banco (BANK)
- Caja (CASH)
- Misceláneos (MISC)
Impuestos:
- IVA 21%
- IVA 10.5%
- Percepción IIBB 3%
- Retención IVA 10%
Facturas de Prueba (20):
- 10 facturas de cliente (estados: draft, posted, paid)
- 10 facturas de proveedor (estados: draft, posted, paid)
6. SCHEDULE
| Sprint | RF | Actividad | Duración |
|---|---|---|---|
| Sprint 7-8 | RF-001, RF-002, RF-003 | Plan cuentas, Journals, Asientos | 4 sem |
| Sprint 9 | RF-004 | Impuestos | 2 sem |
| Sprint 10 | RF-005, RF-006 | Facturas Cliente/Proveedor | 2 sem |
| Sprint 11 | RF-007, RF-008 | Pagos, Reportes | 2 sem |
7. RIESGOS ESPECÍFICOS DEL MÓDULO
| Riesgo | Probabilidad | Impacto | Mitigación |
|---|---|---|---|
| Asientos desbalanceados | Alta | Crítico | Validación estricta. Constraint en BD. Tests exhaustivos. |
| Cálculo de impuestos incorrecto | Media | Alto | Unit tests con casos reales. Revisión por contador. |
| Performance de reportes | Alta | Medio | Índices optimizados. Materializar saldos. Cache. |
| Conciliación bancaria compleja | Media | Alto | Tests con casos reales. Importación de extractos. |
8. MÉTRICAS
Total test cases: 180
- Unit: 108
- Integration: 54
- E2E: 18
Executed: 0/180 (0%) Pass rate: 0% (objetivo: >95%)
9. SIGN-OFF
QA Engineer: _______________ Date: _______ Tech Lead: _______________ Date: _______ Product Owner: _______________ Date: _______
10. REFERENCIAS
Versión: 1.0 Última actualización: 2025-11-24 Estado: Draft