2. Estimacion Berit - HITO 1: MVP Formulario 606

Sprint 1: Setup, BD y Maestro de Clientes

1.1 Setup Inicial

  • [2] Crear repositorio GitHub ➕ 2026-01-13 🛫 2026-01-13 📅 2026-01-13 ✅ 2026-01-13
  • [2] Setup Laravel + PostgreSQL ➕ 2026-01-13 🛫 2026-01-13 📅 2026-01-13 ✅ 2026-01-13
  • [5] Instalar dependencias ➕ 2026-01-14 🛫 2026-01-14 📅 2026-01-15
    • Spatie Media Library ✅ 2026-11-23
    • Laravel Excel ✅ 2026-11-23
    • DomPDF ✅ 2026-11-23
  • [3] Configurar ambiente desarrollo ➕ 2026-01-15 🛫 2026-01-15 📅 2026-01-15
    • Configurar colas ✅ 2026-11-24

1.2 Base de Datos

  • [13] Crear todas las migraciones ➕ 2026-01-15 🛫 2026-01-15 📅 2026-01-17
    • Tabla tenants (sistema multi-tenant)
    • Tablas core: empresas, ciclo, tipos_documentos, contactos
    • Tabla gastos (30+ campos del 606)
    • Tabla gastos_fijos (para validaciones)
    • Tablas auxiliares: formas_de_pago, tipos_bienes_servicios
    • Índices críticos en tenant_id, empresa_id, ciclo_id
  • [5] Seeders catálogos DGII ➕ 2026-01-17 🛫 2026-01-17 📅 2026-01-18
    • Tipos documentos, formas de pago
    • Tipos de bienes y servicios comprados

1.3 Multi-Tenant

  • [3] Global scope + middleware ➕ 2026-01-19 🛫 2026-01-19 📅 2026-01-20
    • TenantScope con filtrado automático por tenant_id
    • Middleware SetTenantFromAuth
    • Trait TenantScoped para modelos
  • [2] Tests aislamiento ➕ 2026-01-20 🛫 2026-01-20 📅 2026-01-20
    • Verificar que queries filtran por tenant_id
    • Verificar auto-asignación de tenant_id

1.4 Maestro de Clientes

  • [8] Filament Resource empresas ➕ 2026-01-21 🛫 2026-01-21 📅 2026-01-23
    • Campos básicos: RNC, nombre, tipo_cliente, nivel_facturación
    • Servicios (checkboxes): DGII, Anticipos, IR-17
    • Tab “Gastos Fijos”: tabla con RNC proveedor + tipo gasto
    • Aplicar TenantScoped trait
  • [3] CRUD gastos fijos ➕ 2026-01-23 🛫 2026-01-23 📅 2026-01-24
    • Vincular proveedor (contacto) + tipo de gasto
    • Activar/desactivar gastos fijos

Sprint 2: Integración PREX y Auditoría

2.1 Contactos y Ciclos

  • [5] Filament Resource contactos ➕ 2026-01-27 🛫 2026-01-27 📅 2026-01-29
    • CRUD básico: RNC, nombre, tipo_documento
    • Importación masiva desde Excel
    • Aplicar TenantScoped trait
  • [3] API ciclos fiscales ➕ 2026-01-29 🛫 2026-01-29 📅 2026-01-30
    • Generación automática mensual (año + mes)
    • Identificador: “202601”
    • Validaciones: warning día 10, bloqueo día 20

2.2 API para Recibir de PREX

  • [8] Endpoint POST /api/prex/import-gastos ➕ 2026-01-30 🛫 2026-01-30 📅 2026-02-01
    • Validar API Key en header X-ORDEN-API-KEY
    • Validar estructura del payload JSON
    • Validar que empresa pertenece al tenant
    • Crear registros en tabla gastos con origen=‘prex’
    • Guardar prex_factura_id (solo referencia)
    • Guardar voucher_url (link al PDF en PREX)
    • Estado inicial: pendiente_revision
    • Matching automático con contactos por RNC
    • Crear contacto si no existe
    • Retornar: {success: true, gastos_creados: [ids]}
  • [3] Middleware de autenticación API ➕ 2026-02-01 🛫 2026-02-01 📅 2026-02-02
    • ValidatePrexApiKey middleware
    • Verificar API Key contra empresas.prex_api_key
  • [2] Tests de integración ➕ 2026-02-02 🛫 2026-02-02 📅 2026-02-03
    • Test payload válido
    • Test API Key inválida
    • Test datos duplicados

2.3 Interfaz de Auditoría

  • [8] Layout 2 columnas ➕ 2026-02-03 🛫 2026-02-03 📅 2026-02-05
    • Voucher original (iframe desde voucher_url)
    • Controles: Zoom, navegación anterior/siguiente
    • Contador: “Factura 5/23”
    • Filtros: por estado, por empresa, por ciclo
  • [8] Form editable + auto-save ➕ 2026-02-05 🛫 2026-02-05 📅 2026-02-06
    • Inputs para todos los campos del gasto
    • Auto-save al cambiar campo (debounce 500ms)
    • Indicador visual: campo modificado (badge amarillo)
    • Validación NCF: formato + no duplicado
    • Validación RNC: 11 dígitos
    • Validación fechas: lógicas (pago >= comprobante)
    • Validación cálculos: total = monto + ITBIS
    • Mensajes de error inline
  • [5] Sistema de aprobación ➕ 2026-02-06 🛫 2026-02-06 📅 2026-02-07
    • Estados: pendiente_revision, en_revision, aprobado, rechazado
    • Botones: Aprobar, Rechazar, Aprobar todos
    • Roles: Oficial edita, Supervisor aprueba
    • Log de cambios (quién modificó qué)

2.4 Validaciones de Gastos Fijos

  • [3] Service: ValidadorGastosFijosService ➕ 2026-02-07 🛫 2026-02-07 📅 2026-02-07
    • Al aprobar → comparar gastos vs gastos_fijos del cliente
    • Generar alertas si faltan gastos esperados
    • Retornar lista de gastos faltantes
  • [1] UI alertas en auditoría ➕ 2026-02-07 🛫 2026-02-07 📅 2026-02-07
    • Banner: “Faltan 2 gastos fijos esperados”
    • Lista: Luz (EDENORTE), Renta (INMOBILIARIA X)

Sprint 3: Resumen 606, TXT y Dashboard

3.1 Resumen 606

  • [5] Documentar fórmulas del Excel ➕ 2026-02-10 🛫 2026-02-10 📅 2026-02-11
    • Obtener Excel 606 de Berit
    • Mapear cada celda del “Resumen 606”
    • Identificar todas las fórmulas Excel
    • Traducir a lógica PHP
  • [13] Service: Resumen606Service ➕ 2026-02-12 🛫 2026-02-12 📅 2026-02-15
    • Agrupación tipo gasto 01: Gastos de personal
    • Agrupación tipo gasto 02: Gastos por trabajos, suministros y servicios
    • Agrupación tipo gasto 09: Costo de venta (compras)
    • Agrupaciones por NCF (B01, B11, B13, B14, B15)
    • Cálculo: Compras gravadas vs exentas
    • Cálculo: ITBIS adelantar vs ITBIS costo
    • Cálculo: Retenciones (ITBIS, ISR)
    • Validación: suma de tipos = Total general
    • Tests unitarios de cálculos

3.2 Generación TXT

  • [3] Documentar formato oficial DGII ➕ 2026-02-15 🛫 2026-02-15 📅 2026-02-16
    • Obtener especificaciones TXT 606 de DGII
    • Estructura: header, líneas detalle, footer
    • Longitud campos, decimales, formato fechas
  • [8] Service: Generador606TxtService ➕ 2026-02-16 🛫 2026-02-16 📅 2026-02-18
    • Generar header (datos empresa, período)
    • Formatear cada gasto aprobado como línea
    • Padding, decimales correctos
    • Fechas en formato YYYYMMDD
    • Generar footer (totales, cantidad registros)
    • Validar longitud de cada línea
    • Endpoint: POST /api/reportes/606/generar-txt
    • Retornar archivo TXT para descarga

3.3 Unificar Vouchers en PDF

  • [5] Servicio de consolidación ➕ 2026-02-18 🛫 2026-02-18 📅 2026-02-19
    • Obtener todas las voucher_urls de gastos aprobados
    • Usar FPDI o similar para merge PDFs
    • Orden cronológico por fecha_comprobante
    • Endpoint: POST /api/reportes/606/unificar-vouchers
    • Retornar PDF unificado para descarga

3.4 Dashboard Básico

  • [5] Dashboard gastos ➕ 2026-02-19 🛫 2026-02-19 📅 2026-02-20
    • Selector de ciclo (mes/año)
    • Cards: Total gastos, ITBIS, # facturas, # pendientes revisión
    • Gráfico: Evolución gastos (últimos 6 meses)
    • Gráfico: Top 10 proveedores del mes
    • Tabla: Resumen por tipo de gasto
  • [3] Filtros y exportación ➕ 2026-02-20 🛫 2026-02-20 📅 2026-02-21
    • Filtros: fecha, proveedor, monto, estado
    • Exportar a Excel (listado completo de gastos)
    • Exportar resumen 606 a Excel

Resumen del Hito 1

SprintStory PointsDuraciónFin
Sprint 1422 semanas2026-01-24
Sprint 2462 semanas2026-02-07
Sprint 3422 semanas2026-02-21
TOTAL130 SP6 semanas2026-02-21