36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
---
|
|
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()`
|