---
title: Segmentación inteligente de solicitudes SAT
status: implementado
created: 2026-04-12
---

# Segmentación Inteligente de Solicitudes SAT

## Problema actual

La sincronización segmenta mes por mes, generando 4 solicitudes SAT por mes (xml emitidos, xml recibidos, metadata emitidos, metadata recibidos). Para 6 años = 288 solicitudes, agotando la cuota diaria del SAT rápidamente.

## Lógica propuesta

1. **Primer paso: solicitud de metadata del rango completo** (una sola solicitud)
   - Obtener el total de CFDIs reportados por el SAT
   
2. **Decidir tamaño de bloque según volumen:**
   - `totalCfdis <= 15,000` → bloques de **6 meses**
   - `totalCfdis > 15,000` → bloques de **2 meses**

3. **Por cada bloque:**
   - Descargar XMLs vigentes (cfdi + DocumentStatus active)
   - Descargar metadata de todos (vigentes + cancelados)

## Impacto en solicitudes

| Escenario | Actual (mes a mes) | Propuesto (6 meses) | Propuesto (2 meses) |
|-----------|-------------------|--------------------|--------------------|
| 6 años, pocos CFDIs | 288 solicitudes | 25 solicitudes | 73 solicitudes |
| 6 años, muchos CFDIs | 288 solicitudes | N/A | 73 solicitudes |

## Archivos a modificar

- `apps/api/src/services/sat/sat.service.ts` → `processInitialSync()`
