Saltar al contenido
Krezkadev
POST/invoices

Emitir una factura o boleta

Valida, firma y envía el comprobante a SUNAT. La respuesta es inmediata con status: pending; el resultado de SUNAT llega por webhook (invoice.accepted / invoice.rejected) o consultando GET /invoices/{id}. El correlativo lo asigna Krezka y es definitivo desde esta respuesta.

Cuerpo de la solicitud

issuer_idstringrequerido

Emisor (RUC) por el que emites. Lo obtienes en GET /issuers.

document_typeenumrequerido

invoice = Factura (SUNAT 01, requiere RUC del cliente). receipt = Boleta de venta (SUNAT 03).

invoicereceipt

seriesstring

Serie a usar (F001, B001). Si la omites se usa la serie por defecto del emisor para ese tipo. El número correlativo **siempre** lo asigna Krezka.

issue_datestring

Fecha de emisión. Por defecto, hoy (hora de Lima). SUNAT acepta hasta 3 días calendario hacia atrás para facturas.

currencyenum

PENUSD

exchange_ratenumber

Tipo de cambio si currency es USD. Si lo omites se usa el del día.

customerobjectrequerido
document_typeenumrequerido

Catálogo SUNAT 06: ruc=6, dni=1, ce=4 (carné de extranjería), passport=7, other=0.

rucdnicepassportother

document_numberstringrequerido

Para invoice debe ser un RUC de 11 dígitos.

namestringrequerido

Razón social o nombre completo.

emailstring

Si lo envías, el comprobante se le envía por correo al ser aceptado.

addressstring
itemsobject[]requerido
descriptionstringrequerido
product_codestring

Tu código del producto o servicio. Opcional; se imprime en el comprobante.

quantitynumberrequerido
unitstring

Unidad SUNAT (catálogo 03). NIU unidad, ZZ servicio, KGM kilogramo, MTR metro, LTR litro.

unit_valuenumberrequerido

Valor unitario **sin IGV**. El IGV lo calcula Krezka según tax_affectation.

tax_affectationenum

Catálogo SUNAT 07. taxed: gravado (10). exempt: exonerado (20). unaffected: inafecto (30). export: exportación (40). free: gratuito (11–16, 21, 31–36 según el caso).

taxedexemptunaffectedexportfree

discountnumber

Descuento por línea, en soles, antes de IGV.

payment_termsobject
typeenumrequerido

cash: contado. credit: crédito; SUNAT exige fecha de vencimiento o cuotas.

cashcredit

due_datestring

Obligatoria en credit si no envías installments.

installmentsobject[]

Cronograma. La suma debe ser igual al total.

amountnumberrequerido
due_datestringrequerido
global_discountnumber

Descuento global en soles, antes de IGV.

purchase_orderstring

Orden de compra del cliente; se imprime en el comprobante.

notesstring

Observaciones que se imprimen al pie.

external_idstring

Tu identificador del documento en tu sistema. Se devuelve en cada respuesta y webhook y puedes filtrar por él.

metadataobject

Hasta 20 pares clave–valor que se devuelven tal cual.

Respuestas

  • 202Comprobante aceptado y en cola para SUNAT
  • 401API key ausente o inválida
  • 402credit_limit_reached: la cuenta superó su tope de crédito mensual. Regulariza el pago o solicita ampliación.
  • 409Conflicto de estado o de idempotencia: idempotency_key_reused, invoice_not_voidable, cdr_not_available, void_window_expired.
  • 422Parámetros inválidos. code indica el campo o la regla SUNAT incumplida.
POST /invoices
curl -X POST https://api.krezka.com/api/v1/invoicing/invoices \
  -H "Authorization: Bearer $FALCONEXT_API_KEY" \
  -H "Idempotency-Key: 5f7c1e2a-9b3d-4a6e-8c1f-2d4b6e8a0c12" \
  -H "Content-Type: application/json" \
  -d '{
    "issuer_id": "iss_8Kp2Qm3x",
    "document_type": "invoice",
    "series": "F001",
    "issue_date": "2026-11-02",
    "currency": "PEN",
    "exchange_rate": 3.72,
    "customer": {
      "document_type": "ruc",
      "document_number": "20601234567",
      "name": "COMERCIAL ANDINA S.A.C.",
      "email": "compras@andina.pe",
      "address": "Av. Javier Prado Este 1234, San Isidro, Lima"
    },
    "items": [
      {
        "description": "Servicio de consultoría — octubre 2026",
        "product_code": "SRV-001",
        "quantity": 2,
        "unit": "ZZ",
        "unit_value": 500,
        "tax_affectation": "taxed",
        "discount": 0
      }
    ],
    "payment_terms": {
      "type": "cash",
      "due_date": "2026-12-15",
      "installments": [
        {
          "amount": 590,
          "due_date": "2026-12-15"
        }
      ]
    },
    "global_discount": 0,
    "purchase_order": "OC-2026-0455",
    "notes": "string",
    "external_id": "INV-10482",
    "metadata": {
      "branch": "lima-norte"
    }
  }'
Respuesta · 202
JSON
{
  "id": "inv_3xK8p2Qm",
  "object": "invoice",
  "issuer_id": "iss_8Kp2Qm3x",
  "document_type": "invoice",
  "series": "F001",
  "number": 1234,
  "full_number": "F001-00001234",
  "status": "pending",
  "status_history": [
    {
      "status": "pending",
      "at": "2025-07-01T14:03:11Z",
      "sunat_code": "0",
      "message": "La Factura numero F001-00001234, ha sido aceptada"
    }
  ],
  "issue_date": "string",
  "currency": "PEN",
  "exchange_rate": 0,
  "customer": {
    "document_type": "ruc",
    "document_number": "20601234567",
    "name": "COMERCIAL ANDINA S.A.C.",
    "email": "compras@andina.pe",
    "address": "Av. Javier Prado Este 1234, San Isidro, Lima"
  },
  "items": [
    {
      "description": "Servicio de consultoría — octubre 2026",
      "product_code": "SRV-001",
      "quantity": 2,
      "unit": "ZZ",
      "unit_value": 500,
      "tax_affectation": "taxed",
      "discount": 0
    }
  ],
  "payment_terms": {
    "type": "cash",
    "due_date": "2026-12-15",
    "installments": [
      {
        "amount": 590,
        "due_date": "2026-12-15"
      }
    ]
  },
  "totals": {
    "taxable": 0,
    "exempt": 0,
    "unaffected": 0,
    "export": 0,
    "free": 0,
    "discount": 0,
    "tax": 0,
    "total": 1180
  },
  "sunat": {
    "response_code": "0",
    "response_message": "string",
    "hash": "string",
    "accepted_at": "2025-07-01T14:03:11Z",
    "cdr_available": true
  },
  "files": {
    "xml": true,
    "cdr": true,
    "pdf": true
  },
  "external_id": "string",
  "metadata": {},
  "created_at": "2025-07-01T14:03:11Z",
  "updated_at": "2025-07-01T14:03:11Z"
}
Pruébalo
API de Facturación2026-11-01

Se guarda solo en tu navegador (localStorage). Nunca se incluye en el código copiable.

POSThttps://api.krezka.com/api/v1/invoicing/invoices
curl -X POST https://api.krezka.com/api/v1/invoicing/invoices \
  -H "Authorization: Bearer $FALCONEXT_API_KEY"
Respuesta

Envía una solicitud para ver la respuesta