Preguntas frecuentes
Lo que todo el mundo pregunta
¿Cómo descargo el XML, PDF y CDR de un comprobante desde la API de SUNAT?
Se consulta el endpoint consultacpe de api-cpe.sunat.gob.pe
indicando RUC del emisor, tipo de documento, serie, correlativo y el origen de la
consulta. El sufijo de la URL define el archivo: /01 para PDF,
/02 para XML y /03 para CDR. Sin sufijo devuelve la metadata
en JSON, ya parseada.
Antes hay que generar un token OAuth2 y tener habilitado el recurso
consultacpe en la aplicación registrada, que es el paso que traba a casi
todo el mundo. En compras conviene saber que el ZIP del XML ya trae el CDR
adentro, así te ahorras un tercio de las peticiones.
¿Se puede descargar el buzón electrónico de SUNAT de forma automática?
Sí, y sin navegador. El buzón usa un mecanismo distinto al de comprobantes: no va con
token OAuth2 sino con una sesión de portal, que aquí se abre por HTTP
en aproximadamente un segundo.
Tiene dos bandejas separadas, notificaciones y mensajes, y de cada una se baja el
documento, sus adjuntos y el acto administrativo enlazado en el cuerpo, que es la
Orden de Pago o la Esquela de verdad y no solo la constancia de depósito.
Un aviso importante: pedir el detalle de un mensaje lo marca como leído en
SUNAT y eso no se puede deshacer, así que la sincronización debe listar sin
abrir.
¿Se pueden descargar las declaraciones del PDT 621 automáticamente?
Sí. Las declaraciones van por e-plataformaunica.sunat.gob.pe y exigen una
cabecera idCache, que es la llave de una sesión de portal y no un token
OAuth2. Ese idCache no se pide a ningún endpoint: viene incrustado en el
menú que devuelve el propio login, y además hay que darlo de alta antes de consultar o
todo responde 401.
Con eso se obtienen las declaraciones presentadas por período, sus dos PDF —constancia
y detalle—, el desglose por tributo y las 48 casillas del formulario ya
separadas, que para cargar datos en un sistema contable sirven más que el PDF.
¿Se pueden descargar los recibos por honorarios electrónicos?
Sí, en las dos direcciones: los que el contribuyente emitió y los que
le emitieron. Los emitidos aplican a personas naturales; los recibidos
sirven también para empresas, que son las que retienen el 8%.
De cada recibo se baja el PDF y el XML firmado, más un listado con la
descripción del servicio y los importes ya separados. Los formularios del portal
limitan la búsqueda a seis meses o a 32 días, pero esa validación es del navegador: por
HTTP se puede pedir un año completo en una sola consulta.
¿Se puede automatizar la casilla electrónica de SUNAFIL?
Sí, y no hace falta pedirle nada nuevo al cliente: SUNAFIL no tiene login
propio, delega en SUNAT y se entra con la misma clave SOL.
Hay dos diferencias que rompen si se copia el flujo de SUNAT: usa un
client_id propio, y el RUC y el usuario van en campos separados en vez de
concatenados. Se recorren las seis bandejas —fiscalización, cobranza, acciones previas,
alertas de formalización, alertas SST y orientaciones— con su estado de leído y sus
documentos.
¿Qué recibo exactamente cuando compro?
Un archivo comprimido con el proyecto completo: el código de los ocho módulos, la
documentación técnica de cómo autentica SUNAT y dónde están las trampas, ejemplos de
las salidas reales con datos anonimizados, y un prompt listo para pegar en tu
asistente de código para que te ayude a integrarlo.
Se descomprime, se instala con npm install y funciona.
¿La licencia sirve para varios clientes o solo para uno?
Un solo pago te sirve para todos los proyectos que hagas. No se cobra
por cliente final ni por instalación. Si eres desarrollador y atiendes a varias
empresas, lo usas en todas.
¿En qué lenguaje está y se puede usar desde PHP, Python o Java?
El conector está en Node.js con TypeScript, pero se invoca como un proceso
desde cualquier lenguaje. Recibe los datos por variables de entorno, deja los
archivos en una carpeta y devuelve un código de salida que distingue si el error fue
transitorio o si necesita intervención.
Desde PHP son tres líneas con proc_open. El README trae el ejemplo.
¿Necesita navegador, Chromium o Selenium en el servidor?
No. Todo funciona con peticiones HTTP puras, incluido el login del portal SOL, que se
resuelve en aproximadamente un segundo.
No hace falta Chromium ni xvfb, corre en un VPS pequeño y consume unos
300 MB menos de memoria por cliente que una solución con navegador.
¿Y si SUNAT cambia algo y deja de funcionar?
SUNAT cambia cosas y va a volver a hacerlo. El proyecto se entrega tal
cual, con el código y la documentación completa para que puedas adaptarlo: el
comentario de cada módulo explica cómo se descubrió cada flujo, qué endpoint se usa y
qué falla si se cambia.
No incluye soporte personalizado ni mantenimiento por el precio indicado. Prefiero
decirlo antes que después.
¿Necesito credenciales especiales de SUNAT para usarlo?
No. Solo el RUC, usuario y clave SOL de cada contribuyente. Con eso se obtienen el
client_id y el client_secret desde el propio portal de
SUNAT, y el conector incluye el módulo que habilita los permisos de API necesarios.
No hacen falta trámites ni convenios previos.