Pasar a producción
En modo de prueba no configuraste nada. Para emitir comprobantes con valor tributario, SUNAT exige que cada empresa firme con su certificado digital y envíe con su usuario secundario SOL. Emitay guarda ambos cifrados y nunca los devuelve por la API ni los escribe en sus registros.
Tu código no cambia: cambia la llave.
Lo que hace falta
Sección titulada «Lo que hace falta»| ¿Obligatorio? | Para qué | |
|---|---|---|
| Certificado digital | Sí | Firmar cada comprobante |
| Usuario secundario SOL | Sí | Enviar a SUNAT |
| Credenciales de guías | Solo si emites guías de remisión | Enviar guías, que usan otro servicio de SUNAT |
Llave de producción (sk_live_…) |
Sí, para integrar por API | Autenticar tus peticiones en producción |
| Endpoint de webhook de producción | Recomendado | Recibir los veredictos |
| Servidor de correo propio | No | Que los correos salgan desde tu dirección |
El panel muestra esta lista, con lo que ya tienes y lo que falta, en Inicio y en
Ajustes («Para pasar a producción»). Mientras falte algo
obligatorio, una llave de producción responde
409 company_not_configured, con lo que falta en detail,
y no consume ningún número.
Certificado digital
Sección titulada «Certificado digital»Es el archivo .pfx o .p12 que emite una entidad de certificación a nombre de tu empresa,
con su contraseña.
- Se carga en el panel, en Ajustes, en la sección Certificado digital. Emitay lo abre para comprobar que se puede leer y que no está vencido; si no, lo rechaza y dice por qué.
- Vence. Emitay avisa por correo a los administradores de la organización 30, 15 y 7 días antes. Con un certificado vencido no se puede firmar: renuévalo a tiempo.
Usuario secundario SOL
Sección titulada «Usuario secundario SOL»SUNAT no admite enviar comprobantes con el usuario principal de la Clave SOL. Se necesita un usuario secundario creado en SUNAT Operaciones en Línea, con perfil para el envío de documentos electrónicos.
Se registran en el panel, en Ajustes, en la sección Usuario secundario SOL: su nombre de usuario —sin el RUC delante— y su clave.
Guías de remisión
Sección titulada «Guías de remisión»Las guías van por un servicio distinto de SUNAT, con credenciales propias: un client_id y
un client_secret que se generan una vez en SUNAT Operaciones en Línea, en la opción
«Credenciales de API SUNAT». Se registran en Ajustes, en la sección Credenciales para
guías de remisión.
SUNAT no tiene ambiente de pruebas para guías, así que tu primera guía en producción es la primera que SUNAT ve. Emite una y revisa su resultado antes de automatizar el flujo.
Crea la llave de producción
Sección titulada «Crea la llave de producción»En el panel, en Llaves de API, crea una llave de producción (sk_live_…). Se muestra una
sola vez. Guárdala donde guardas tus secretos, no en el repositorio.
export EMITAY_API_KEY=sk_live_…npx emitay whoamiwhoami confirma la empresa y que la llave es de producción. En PowerShell la variable se
define con $env:EMITAY_API_KEY = "sk_live_…".
Registra tu endpoint de webhook
Sección titulada «Registra tu endpoint de webhook»Los endpoints de prueba no reciben eventos reales: registra el de producción y guarda su secreto, que se muestra una sola vez. En el panel, con el selector de modo en Producción, en Webhooks → Agregar endpoint; o por la API, con la llave de producción:
const endpoint = await emitay.webhookEndpoints.create({ url: "https://erp.miempresa.pe/webhooks/emitay", events: ["document.accepted", "document.observed", "document.rejected"],});console.log(endpoint.secret); // whsec_… → EMITAY_WEBHOOK_SECRET en producciónAntes de emitir la primera
Sección titulada «Antes de emitir la primera»- Las series empiezan de nuevo. Producción tiene su propio correlativo:
F001empieza en 1. Si vienes de otro sistema y debes continuar una numeración, envíanumberen la primera emisión de cada serie; las siguientes siguen desde ahí. - Usa una
Idempotency-Keycon el id de tu venta en cada emisión. Ver Idempotencia. - Maneja los tres veredictos:
accepted,observedyrejected. Ver El veredicto de SUNAT. - Producción valida más que beta. El ambiente de pruebas no cruza datos con los padrones de SUNAT ni entre comprobantes. Emite un primer comprobante real, comprueba su veredicto y su PDF, y recién entonces abre el flujo completo.