9.9 KiB
9.9 KiB
EPICA: EPIC-RT-010 - Facturación CFDI
Metadata
| Campo | Valor |
|---|---|
| ID | EPIC-RT-010 |
| Nombre | Facturación CFDI |
| Modulo | facturacion |
| Fase | Fase 1 - MVP |
| Prioridad | P0 (Critico) |
| Estado | Backlog |
| Story Points | 35 |
| Sprint(s) | Sprint 6-7 |
Descripcion
Generación de comprobantes fiscales digitales (CFDI 4.0) para ventas en tienda y online. Incluye facturación a público en general, facturación a cliente con RFC, notas de crédito, cancelaciones y portal de autofactura para clientes.
Objetivo de Negocio
- Cumplimiento fiscal obligatorio
- Facturación inmediata en POS
- Autofactura para clientes
- Control de notas de crédito
- Reportes fiscales
Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|---|---|---|---|---|
| US-RT010-001 | Como cajero, quiero generar factura inmediata al cerrar venta si el cliente la solicita | P0 | 5 | Backlog |
| US-RT010-002 | Como cajero, quiero generar factura a público en general para ventas sin RFC | P0 | 3 | Backlog |
| US-RT010-003 | Como cliente, quiero autofacturar desde portal web usando mi ticket | P0 | 8 | Backlog |
| US-RT010-004 | Como contador, quiero generar nota de crédito por devolución | P0 | 5 | Backlog |
| US-RT010-005 | Como contador, quiero cancelar CFDI con motivo de cancelación | P0 | 3 | Backlog |
| US-RT010-006 | Como cliente, quiero recibir mi factura PDF y XML por email | P0 | 3 | Backlog |
| US-RT010-007 | Como contador, quiero ver reporte de CFDIs emitidos por período | P0 | 3 | Backlog |
| US-RT010-008 | Como admin, quiero configurar datos fiscales de la empresa | P0 | 2 | Backlog |
| US-RT010-009 | Como contador, quiero regenerar PDF de factura existente | P1 | 2 | Backlog |
| US-RT010-010 | Como admin, quiero validar RFC del cliente contra SAT (opcional) | P2 | 1 | Backlog |
Total Story Points: 35 SP
CFDI 4.0 - Elementos Clave
┌─────────────────────────────────────────────────────────┐
│ ESTRUCTURA CFDI 4.0 │
├─────────────────────────────────────────────────────────┤
│ │
│ EMISOR │
│ ├── RFC de la empresa │
│ ├── Nombre o razón social │
│ ├── Régimen fiscal │
│ └── Código postal del domicilio fiscal │
│ │
│ RECEPTOR │
│ ├── RFC del cliente (o XAXX010101000 para público) │
│ ├── Nombre o razón social │
│ ├── Régimen fiscal │
│ ├── Código postal del domicilio fiscal │
│ └── Uso del CFDI (G03 - Gastos en general) │
│ │
│ CONCEPTOS │
│ ├── Clave de producto/servicio SAT │
│ ├── Descripción │
│ ├── Cantidad y unidad │
│ ├── Valor unitario │
│ ├── Importe │
│ └── Impuestos (IVA, IEPS si aplica) │
│ │
│ COMPLEMENTOS │
│ └── Pago (si es PPD - Pago en Parcialidades) │
│ │
│ TIMBRE FISCAL DIGITAL (TFD) │
│ ├── UUID (folio fiscal) │
│ ├── Fecha de timbrado │
│ ├── Sello del SAT │
│ └── Sello del emisor │
│ │
└─────────────────────────────────────────────────────────┘
Flujo de Facturación
FACTURACIÓN INMEDIATA (POS)
┌─────────────┐
│ VENTA │ ← Cajero cierra venta
└──────┬──────┘
│
▼
┌─────────────┐
│ ¿FACTURA? │ ─── No ──► Ticket simple
└──────┬──────┘
│ Si
▼
┌─────────────┐
│ DATOS RFC │ ← Captura RFC y datos fiscales
└──────┬──────┘
│
▼
┌─────────────┐
│ TIMBRADO │ ← PAC genera UUID
└──────┬──────┘
│
▼
┌─────────────┐
│ PDF + XML │ ← Envío por email
└─────────────┘
AUTOFACTURA (Portal)
┌─────────────┐
│ PORTAL │ ← Cliente ingresa
└──────┬──────┘
│
▼
┌─────────────┐
│ TICKET │ ← Ingresa folio del ticket
└──────┬──────┘
│
▼
┌─────────────┐
│ DATOS RFC │ ← Ingresa sus datos fiscales
└──────┬──────┘
│
▼
┌─────────────┐
│ TIMBRADO │ ← PAC genera UUID
└──────┬──────┘
│
▼
┌─────────────┐
│ DESCARGA │ ← PDF + XML disponibles
└─────────────┘
Criterios de Aceptacion de la Epica
Funcionales:
- Facturación inmediata en POS
- Factura a público en general
- Portal de autofactura
- Notas de crédito por devolución
- Cancelación de CFDIs
- Envío por email
- Reportes de CFDIs
- Configuración de datos fiscales
No Funcionales:
- Timbrado < 5 segundos
- Alta disponibilidad del PAC
- Almacenamiento de XMLs por 5 años
Tecnicos:
- Integración con PAC (Finkok, Facturama, etc.)
- Generación de XML CFDI 4.0
- Generación de PDF personalizado
- Validación de RFC vs lista negra SAT
Dependencias
Esta epica depende de:
| Epica/Modulo | Estado | Bloqueante |
|---|---|---|
| EPIC-RT-001 Fundamentos | Backlog | Si |
| EPIC-RT-002 POS | Backlog | Si |
Esta epica bloquea:
| Epica/Modulo | Razon |
|---|---|
| Reportes fiscales | Requiere CFDIs emitidos |
Desglose Tecnico
Database:
- Schema:
invoicing - Tablas: 6 (invoices, invoice_items, cancellations, fiscal_data, xml_storage, pac_logs)
- Funciones: 2 (generate_xml, validate_rfc)
- Indices: Por UUID, fecha, RFC
Backend:
- Modulo:
invoicing - Entities: 4 (Invoice, InvoiceItem, Cancellation, FiscalData)
- Services: PACService, XMLGenerator, PDFGenerator
- Endpoints: 12
- Tests: 28
Frontend:
- Paginas: 4 (InvoiceList, InvoiceDetail, SelfService, Config)
- Componentes: 10 (InvoiceForm, RFCInput, PDFViewer, etc.)
- Portal público de autofactura
- Stores: 1 (invoicingStore)
Endpoints API
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /api/invoices | Crear y timbrar factura |
| GET | /api/invoices/:id | Detalle de factura |
| GET | /api/invoices/:id/pdf | Descargar PDF |
| GET | /api/invoices/:id/xml | Descargar XML |
| POST | /api/invoices/:id/send | Enviar por email |
| POST | /api/invoices/:id/cancel | Cancelar factura |
| POST | /api/invoices/credit-note | Crear nota de crédito |
| GET | /api/invoices/report | Reporte de CFDIs |
| POST | /api/invoices/self-service | Autofactura (público) |
| POST | /api/invoices/validate-rfc | Validar RFC |
PAC (Proveedor Autorizado de Certificación)
| PAC | Notas |
|---|---|
| Finkok | Popular, buena documentación |
| Facturama | API REST moderna |
| SW Sapien | Económico para alto volumen |
| Facturify | Fácil integración |
Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|---|---|---|---|
| Caída del PAC | Baja | Alto | PAC de respaldo |
| Cambios normativos | Media | Alto | Monitoreo de actualizaciones |
| XMLs corruptos | Baja | Alto | Validación antes de timbrar |
Nota Técnica
La facturación electrónica en México (CFDI) es obligatoria y debe cumplir con los lineamientos del SAT. El sistema debe estar preparado para actualizaciones normativas frecuentes.
Definition of Ready (DoR)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- Estimacion completada
- PAC seleccionado y contratado
- Certificados de sello digital (CSD) disponibles
- Catálogo de productos con claves SAT
Definition of Done (DoD)
- Facturación inmediata funcionando
- Portal de autofactura operativo
- Notas de crédito y cancelaciones
- Integración con PAC estable
- 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