SAT
Descarga masiva de CFDIs
El servicio de descarga masiva del SAT es asíncrono y propenso a flakiness. SELLERP envuelve toda la complejidad en un pipeline durable que tú no ves — solo ves los XMLs en tu dashboard.
Cómo funciona
- SolicitaDescarga: enviamos un XML firmado con tu e.firma pidiendo CFDIs en una ventana de fechas (max 1 año).
- Polling: el SAT regresa un
idSolicitud. Pollamos cada 5 min con timeout horario. - Verifica: cuando el SAT termina de procesar, devuelve uno o más paquetes ZIP.
- Descarga: bajamos cada paquete (firmado), descomprimimos los XMLs.
- Cleaner: parsea cada XML, extrae los datos relevantes, los guarda en Postgres. El XML original queda en Vercel Blob (encriptado).
- Gap reconciliation: si SAT rechaza por overflow de folios (5004), el sistema parte la ventana en chunks más pequeños y reintenta.
Casos especiales
Latencia esperada
- Sync inicial (1 año atrás): 1-3 horas dependiendo del volumen.
- Sync diario incremental: ~5-15 min.
- Si pides re-sync de un mes específico: ~10-30 min.
Status visible en /dashboard/cfdi con barras de progreso por sync.
Datos extraídos
Cada CFDI se parsea y mapea a Postgres. Lo que ves en el dashboard y vía MCP list_invoices:
- UUID (folio fiscal), serie + folio, fecha emisión, fecha timbrado.
- Emisor (RFC, nombre, regimen). Receptor (RFC, nombre, regimen, uso).
- Total, subtotal, impuestos trasladados/retenidos.
- Tipo: ingreso / egreso / pago / nómina / traslado / retención (según TipoDeComprobante).
- Status SAT: vigente / cancelado.
- XML completo y PDF (CFDI 4.0 con QR).