Gestión de Emisores (Multi-RUC)
Alta y configuración de empresas, Clave SOL secundaria, API GRE REST y Certificados Digitales CDT.
YoEmito permite registrar y administrar múltiples empresas emisoras desde una única organización, facilitando la integración multi-tenant con total aislamiento de datos, series y comprobantes.
1. Usuario Secundario SOL (Facturas, Boletas, Notas y Resúmenes)
Para emitir comprobantes ordinarios en producción, SUNAT exige que cada RUC cuente con un Usuario Secundario SOL con permisos específicos de servicio web:
- Ingresa al portal SUNAT Operaciones en Línea (SOL) con el RUC y credenciales principales.
- En el menú superior, ve a Administración de Usuarios Secundarios y haz clic en Crear Usuario.
- Asigna un usuario y clave (ejemplo:
FACTURADOR1). - En Asignar Opciones, ve a Comprobantes de Pago → SEE - Del Contribuyente y Envío de Documentos.
- Marca obligatoriamente las siguientes opciones:
- Servicio de Envío de Documentos Electrónicos por Servicio Web
- Consultar Envío de Comprobante de Pago Electrónicos
- Consultar Envío de Comunicación de Bajas
- Consultar Envío de Resumen de Boletas de Venta Electrónica
- Guarda los cambios.
2. Credenciales API SUNAT (Guías de Remisión Electrónica - GRE REST)
Para emitir Guías de Remisión (09 y 31), SUNAT usa su API REST con OAuth 2.0. El token requiere las credenciales SOL del emisor junto con el Client ID y Client Secret de una aplicación registrada en SOL:
- En el menú lateral de SOL, ingresa a: Empresas → Comprobantes de Pago → Guía de Remisión Electrónica → Registro de Aplicación REST.
- Completa los campos:
- Nombre de su aplicación: Nombre identificador (ej:
YoEmito). - URL de su aplicación: URL de tu sistema o dominio web (ej:
https://yoemito.pe). - Alcance: Selecciona Web.
- Nombre de su aplicación: Nombre identificador (ej:
- En los servicios listados, marca obligatoriamente la casilla:[X] GRE Emision de Comprobantes /v1/contribuyente/gem
- Guarda la aplicación y copia el ID (Client ID) y la CLAVE (Client Secret).
- Registra estos datos en YoEmito enviando
gre_client_idygre_client_secretal crear o actualizar el emisor.
Nota de seguridad: El gre_client_secret se cifra en reposo utilizando el algoritmo estándar AES-256-GCM y nunca es expuesto en las respuestas de la API.
3. Seguridad: API Keys Restringidas por Emisor
Si gestionas varios RUCs y deseas delegar la integración a un cliente o sistema POS externo sin otorgarle acceso a tus otras empresas, crea una API Key Restringida por Emisor en el panel (Configuración → API Keys).
- Deducción de emisor: No es necesario enviar
issuer_iden los payloads de emisión. - Aislamiento estricto: La llave no podrá emitir ni consultar comprobantes de otros RUCs (responderá
403 Forbidden). - Protección de descargas: La descarga de archivos XML, PDF y CDR queda protegida exclusivamente para el emisor asignado.
4. Verificación previa antes de tu primer envío live (Readiness Check)
Antes de intentar tu primera emisión en producción, consulta GET /v1/issuers/:id/readiness para verificar que el emisor cumple los tres requisitos de SUNAT sin necesidad de gastar una emisión real:
{
"ready": false,
"checks": [
{ "name": "digital_certificate", "ok": true },
{ "name": "certificate_not_expired", "ok": true },
{ "name": "sol_credentials", "ok": false, "detail": "Faltan credenciales SOL (usuario/clave) completas para este emisor." }
]
}Si ready es false, revisa el arreglo checks para saber exactamente qué falta configurar antes de reintentar.