Context
PR #4/#6 shipped the core SIRE flow (periodos, propuesta, aceptar, descargar, reemplazar/importar via TUS). The Manual lists ~12 additional reports following the same async ticket pattern that we deferred.
Scope
Each is a thin wrapper around `callRestApi` + `pollTicket`:
- 5.20 Descargar resumen
- 5.21 Descargar resumen inconsistencias
- 5.23 Descargar reporte de casillas
- 5.24 Descargar inconsistencias en preliminar registrado
- 5.25 Descargar inconsistencias por comprobante
- 5.28 Descargar reporte consolidado por periodo
- 5.31 Descargar reporte inconsistencias por periodo
- 5.32 Descargar reporte CAR (Cumplimiento Anual de Renta)
- 5.33 Descargar reporte estadístico
- 5.34 Descargar reporte de cumplimiento
- 5.35 Reporte de exportadores
- 5.11/5.12 Tipo de cambio masivo (JSON POST, no async ticket)
- 5.10 Exclusión definitiva de NC/F (codSituacion)
Add as needed. Don't ship 12 endpoints nobody asked for; ship 1-2 when the first user requests one.
Success criteria per endpoint
- Wrapper in `src/sunat-rest/sire.ts`
- Command in `src/commands/sire/index.ts`
- 1-2 unit tests with mocked fetch
- LIMITATIONS.md row updated
References
- LIMITATIONS.md → SIRE → "Reportes complementarios" line
- src/sunat-rest/SIRE-RESEARCH.md
Context
PR #4/#6 shipped the core SIRE flow (periodos, propuesta, aceptar, descargar, reemplazar/importar via TUS). The Manual lists ~12 additional reports following the same async ticket pattern that we deferred.
Scope
Each is a thin wrapper around `callRestApi` + `pollTicket`:
Add as needed. Don't ship 12 endpoints nobody asked for; ship 1-2 when the first user requests one.
Success criteria per endpoint
References