Primeros pasos
Emite tu primera factura electrónica válida ante SUNAT con la API de Krezka en minutos.
Bienvenido a Krezka Facturación Electrónica: emite facturas, boletas y notas de crédito válidas ante SUNAT desde tu propio sistema, sin XML ni certificados. No necesitas usar el sistema Krezka: todo se hace desde la consola y la API.
Lo que necesitas (5 minutos, gratis)
- Crea tu cuenta en la consola.
- En Mis empresas, agrega tu empresa con su RUC: traemos sus datos de SUNAT y queda en prueba.
- En Claves, crea una clave de prueba (
sk_test_…). Con ella todo se valida de verdad y nada se emite ni se cobra. - Cuando tu integración funcione, pasa la empresa a producción y usa una clave
sk_live_….
Cómo funciona
- Envías el comprobante en JSON: cliente, líneas y condición de pago. Nada de XML.
- Krezka asigna el correlativo, firma el XML y lo envía a SUNAT. La respuesta es inmediata, con
status: pending. - SUNAT responde en segundos. Te avisamos por webhook (
invoice.acceptedoinvoice.rejected) y dejamos listos el XML, el CDR y el PDF.
Emite tu primera factura
Obtén tu emisor
Cada factura se emite por un emisor (un RUC). Lista los tuyos:
curl https://api.krezka.com/api/v1/invoicing/issuers \
-H "Authorization: Bearer $KREZKA_API_KEY"Guarda el id del emisor (iss_…) y revisa que su status sea active.
Envía el comprobante
curl -X POST https://api.krezka.com/api/v1/invoicing/invoices \
-H "Authorization: Bearer $KREZKA_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"issuer_id": "iss_8Kp2Qm3x",
"document_type": "invoice",
"customer": {
"document_type": "ruc",
"document_number": "20601234567",
"name": "COMERCIAL ANDINA S.A.C.",
"email": "compras@andina.pe"
},
"items": [
{ "description": "Servicio de consultoría — octubre 2026", "quantity": 1, "unit": "ZZ", "unit_value": 1000.00 }
],
"payment_terms": { "type": "cash" },
"external_id": "INV-10482"
}'La respuesta llega con el correlativo ya asignado y status: pending:
{
"id": "inv_3xK8p2Qm",
"object": "invoice",
"full_number": "F001-00001234",
"status": "pending",
"totals": { "taxable": 1000.00, "tax": 180.00, "total": 1180.00 },
"external_id": "INV-10482"
}Recibe la respuesta de SUNAT
Registra un endpoint y suscríbete a invoice.accepted e invoice.rejected:
curl -X POST https://api.krezka.com/api/v1/invoicing/webhook_endpoints \
-H "Authorization: Bearer $KREZKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://tu-app.com/webhooks/krezka", "events": ["invoice.accepted", "invoice.rejected"] }'Si prefieres consultar, GET /invoices/{id} devuelve el estado y su historial.
Descarga los archivos
Cuando el estado sea accepted, pide los enlaces firmados:
curl https://api.krezka.com/api/v1/invoicing/invoices/inv_3xK8p2Qm/pdf \
-H "Authorization: Bearer $KREZKA_API_KEY"Lo mismo con /xml y /cdr. Los enlaces duran 15 minutos; pídelos cada vez que los necesites.
Siguiente
Autenticación
API keys por entorno y cómo rotarlas.
El ciclo SUNAT
Qué significa cada estado y qué hacer en cada uno.
Precios
S/ 0.05 por comprobante. Sin costo de integración.
