workspace-v1/projects/erp-clinicas/docs/08-epicas/EPIC-CL-008-facturacion.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

269 lines
9.6 KiB
Markdown

# EPICA: EPIC-CL-008 - Facturación
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | EPIC-CL-008 |
| **Nombre** | Facturación |
| **Modulo** | facturacion |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 38 |
| **Sprint(s)** | Sprint 8-9 |
---
## Descripcion
Sistema de facturación para servicios médicos. Incluye cobro de consultas, procedimientos, estudios de laboratorio, medicamentos y facturación a aseguradoras. Generación de CFDI 4.0 y notas de crédito.
---
## Objetivo de Negocio
- Cobro oportuno de servicios
- Facturación correcta a aseguradoras
- Cumplimiento fiscal
- Control de cuentas por cobrar
- Reportes financieros
---
## Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-CL008-001 | Como cajero, quiero generar cuenta del paciente con servicios prestados | P0 | 5 | Backlog |
| US-CL008-002 | Como cajero, quiero cobrar consulta con múltiples formas de pago | P0 | 5 | Backlog |
| US-CL008-003 | Como cajero, quiero facturar a nombre del paciente con sus datos fiscales | P0 | 5 | Backlog |
| US-CL008-004 | Como admin, quiero facturar a aseguradora con expediente de reclamación | P0 | 8 | Backlog |
| US-CL008-005 | Como cajero, quiero generar nota de crédito por cancelación o error | P0 | 3 | Backlog |
| US-CL008-006 | Como paciente, quiero pagar mi cuenta desde el portal web | P1 | 5 | Backlog |
| US-CL008-007 | Como admin, quiero ver cuentas por cobrar pendientes | P0 | 3 | Backlog |
| US-CL008-008 | Como admin, quiero configurar precios de servicios y procedimientos | P0 | 2 | Backlog |
| US-CL008-009 | Como admin, quiero ver reporte de ingresos por período | P1 | 2 | Backlog |
**Total Story Points:** 38 SP
---
## Flujo de Facturación
```
COBRO DIRECTO (Paciente paga)
┌─────────────┐
│ CUENTA │ ← Servicios prestados
└──────┬──────┘
┌─────────────┐
│ COBRO │ ← Efectivo/Tarjeta
└──────┬──────┘
┌─────────────┐
│ CFDI │ ← Timbrado
└──────┬──────┘
┌─────────────┐
│ ENTREGADO │ ← PDF + XML al paciente
└─────────────┘
COBRO A ASEGURADORA
┌─────────────┐
│ CUENTA │ ← Servicios prestados
└──────┬──────┘
┌─────────────┐
│ EXPEDIENTE │ ← Documentos requeridos
│ RECLAMACIÓN │ (notas, estudios, etc.)
└──────┬──────┘
┌─────────────┐
│ ENVÍO │ ← A la aseguradora
└──────┬──────┘
┌─────────────┐
│ SEGUIMIENTO │ ← Pendiente de pago
└──────┬──────┘
┌─────────────┐
│ COBRADO │ ← Pago recibido
└──────┬──────┘
┌─────────────┐
│ CFDI │ ← Factura a aseguradora
└─────────────┘
```
---
## Cuenta del Paciente
```
┌─────────────────────────────────────────────────────────┐
│ CUENTA - PACIENTE: Juan Pérez │
├─────────────────────────────────────────────────────────┤
│ │
│ SERVICIOS │
│ ┌────────────────────────────────────┬───────────────┐ │
│ │ Concepto │ Importe │ │
│ ├────────────────────────────────────┼───────────────┤ │
│ │ Consulta medicina general │ $800.00 │ │
│ │ Biometría hemática │ $350.00 │ │
│ │ Química sanguínea 6 elementos │ $450.00 │ │
│ │ Paracetamol 500mg x 20 │ $120.00 │ │
│ │ Amoxicilina 500mg x 21 │ $280.00 │ │
│ ├────────────────────────────────────┼───────────────┤ │
│ │ SUBTOTAL │ $2,000.00 │ │
│ │ IVA (16%) │ $0.00 │ │
│ │ ───────────────────────────────────────────────── │ │
│ │ TOTAL │ $2,000.00 │ │
│ └────────────────────────────────────┴───────────────┘ │
│ │
│ COBERTURA SEGURO │
│ ├── Aseguradora: GNP Seguros │
│ ├── Póliza: 1234567 │
│ ├── Cobertura consulta: 100% │
│ ├── Cobertura laboratorio: 80% │
│ └── Copago paciente: $160.00 │
│ │
│ FORMA DE PAGO │
│ ├── Cargo a seguro: $1,840.00 │
│ └── Copago paciente: $160.00 (Pagado TDC) │
│ │
└─────────────────────────────────────────────────────────┘
```
---
## Criterios de Aceptacion de la Epica
**Funcionales:**
- [ ] Generar cuenta con servicios
- [ ] Cobrar con múltiples formas de pago
- [ ] Facturación CFDI 4.0
- [ ] Facturación a aseguradoras
- [ ] Notas de crédito
- [ ] Portal de pagos
- [ ] Cuentas por cobrar
- [ ] Reportes de ingresos
**No Funcionales:**
- [ ] Timbrado < 5 segundos
- [ ] Historial de 5 años
- [ ] Cumplimiento fiscal
**Tecnicos:**
- [ ] Integración con PAC
- [ ] Integración con todos los módulos
- [ ] Pasarela de pagos
- [ ] Reportes financieros
---
## Dependencias
**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-CL-001 Fundamentos | Backlog | Si |
| EPIC-CL-002 Pacientes | Backlog | Si |
| EPIC-CL-003 Citas | Backlog | Parcial |
| EPIC-CL-004 Consultas | Backlog | Parcial |
| EPIC-CL-006 Laboratorio | Backlog | Parcial |
| EPIC-CL-007 Farmacia | Backlog | Parcial |
---
## Desglose Tecnico
**Database:**
- [ ] Schema: `billing`
- [ ] Tablas: 8 (accounts, account_items, payments, invoices, invoice_items, insurance_claims, price_lists, services)
- [ ] Funciones: 3 (calculate_account, generate_invoice, process_payment)
- [ ] Indices: Por paciente, fecha, estado, aseguradora
**Backend:**
- [ ] Modulo: `billing`
- [ ] Entities: 7 (Account, AccountItem, Payment, Invoice, InvoiceItem, InsuranceClaim, Service)
- [ ] Endpoints: 15
- [ ] Tests: 30
**Frontend:**
- [ ] Paginas: 5 (Accounts, Checkout, InvoiceList, InsuranceClaims, Reports)
- [ ] Componentes: 12 (AccountSummary, PaymentForm, InvoiceViewer, ClaimTracker, etc.)
- [ ] Stores: 1 (billingStore)
---
## Endpoints API
| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| GET | /api/billing/accounts/:patientId | Cuenta del paciente |
| POST | /api/billing/accounts/:id/items | Agregar servicio |
| POST | /api/billing/accounts/:id/pay | Registrar pago |
| POST | /api/billing/invoices | Generar factura |
| GET | /api/billing/invoices/:id/pdf | Descargar PDF |
| POST | /api/billing/invoices/:id/cancel | Cancelar factura |
| POST | /api/billing/credit-notes | Crear nota de crédito |
| POST | /api/billing/insurance-claims | Crear reclamación |
| GET | /api/billing/pending | Cuentas por cobrar |
| GET | /api/billing/reports/income | Reporte de ingresos |
---
## Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Rechazo de aseguradora | Media | Alto | Expediente completo |
| Errores en facturación | Media | Alto | Validaciones antes de timbrar |
| Morosidad | Media | Medio | Seguimiento de cuentas |
---
## Definition of Ready (DoR)
- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Lista de precios definida
- [ ] Convenios con aseguradoras documentados
## Definition of Done (DoD)
- [ ] Flujo de cobro funcionando
- [ ] Facturación CFDI operativa
- [ ] Facturación a aseguradoras
- [ ] Reportes financieros
- [ ] Tests de integración pasando
- [ ] Documentación de API
---
## Historial
| Fecha | Cambio | Autor |
|-------|--------|-------|
| 2025-12-08 | Creacion de epica | Claude-Agent |
---
**Creada por:** Claude-Agent
**Fecha:** 2025-12-08
**Ultima actualizacion:** 2025-12-08