SIFENDE
Guías

Factura Electrónica

Guía completa para emitir una Factura Electrónica con datos del receptor B2C o B2B, ítems, condición de pago y ejemplos de request completo.

Esta guía cubre la emisión de una Factura Electrónica (FE) paso a paso, desde el armado del request hasta el seguimiento del estado en SIFEN.

Antes de empezar

Verificá que tenés los tres elementos imprescindibles configurados:

  • Timbrado activo y vigente, cargado en el panel de Sifende para tu contribuyente.
  • Certificado digital subido: .p12 válido y en vigencia.
  • API key generada desde el panel y disponible como variable de entorno.

Si te falta alguno, volvé a Inicio Rápido: Requisitos previos.

Paso 1: Armá el request

La FE usa el endpoint polimórfico POST /api/v1/documento-electronico con tipoDocumento: "FACTURA_ELECTRONICA". Los datos del emisor los completa Sifende automáticamente desde el contribuyente y el timbrado configurados. Vos solo pasás los datos del receptor, los ítems y la condición de pago.

Ejemplo de FE B2C innominada (consumo final hasta Gs. 7.000.000) con un solo ítem gravado al 10%. El caso innominado se arma con tipoContribuyente: "NO_CONTRIBUYENTE" + tipoDocumento: "INNOMINADO", y con los valores literales "0" en numeroDocumento y "Sin Nombre" en nombreRazonSocial:

{
  "tipoDocumento": "FACTURA_ELECTRONICA",
  "fechaEmision": "2026-04-27T10:30:00",
  "tipoEmision": "NORMAL",
  "numeroEstablecimiento": 1,
  "puntoExpedicion": 1,
  "tipoTransaccion": "VENTA_MERCADERIA",
  "monedaOperacion": "PYG",
  "receptor": {
    "tipoContribuyente": "NO_CONTRIBUYENTE",
    "tipoOperacion": "B2C",
    "tipoDocumento": "INNOMINADO",
    "numeroDocumento": "0",
    "nombreRazonSocial": "Sin Nombre"
  },
  "condicionOperacion": "CONTADO",
  "condicionPago": {
    "tipo": "CONTADO",
    "tipoPago": "EFECTIVO",
    "monedaPago": "PYG",
    "montoPago": 150000
  },
  "items": [
    {
      "codigo": "PROD-A4-75",
      "descripcion": "Resma de papel A4 75g",
      "cantidad": 10,
      "unidadMedida": "UNI",
      "precioUnitario": 15000,
      "afectacionTributaria": "GRAVADO",
      "tasaIVA": 10
    }
  ]
}

Los montos en guaraníes son enteros sin decimales. 15000 representa Gs. 15.000. Ver Convenciones.

Paso 2: Enviá la solicitud

No generes una clave dentro de cada intento: otra clave representa una emisión nueva y puede reservar otro correlativo. Para recuperar una respuesta perdida, reutilizá la clave y el body persistidos.

Paso 3: Guardá la respuesta

La respuesta exitosa es 202 Accepted con un body que incluye los identificadores del DE creado:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdc": "01800123451001001000000122026042710000000006",
  "estado": "PENDIENTE",
  "tipoDocumento": "FACTURA_ELECTRONICA",
  "iTiDe": 1,
  "numeroDocumento": 1,
  "numeroFormateado": "001-001-0000001",
  "fechaCreacion": "2026-04-27T10:30:00",
  "qrUrl": "https://ekuatia.set.gov.py/consultas-test/qr?...",
  "statusUrl": "https://api.sifende.com.py/api/v1/documento-electronico/status/01800123451001001000000122026042710000000006",
  "kudeUrl": "https://api.sifende.com.py/api/v1/documento-electronico/01800123451001001000000122026042710000000006/kude"
}

estado: "PENDIENTE" es lo esperado. SIFEN procesa el documento de forma asíncrona: el CDC ya es válido, pero la aprobación llega en segundos a minutos. Pasá al Paso 4 para verificar.

Guardá id, cdc, numeroFormateado y la Idempotency-Key asociados a tu venta.

  • Consultar el estado de procesamiento en SIFEN (usá statusUrl o el cdc).
  • Descargar el KuDE (PDF) cuando esté aprobado (usá kudeUrl).
  • Cancelar el documento si fuera necesario.

Paso 4: Esperá el resultado de SIFEN

SIFEN procesa los documentos de forma asíncrona. Apenas recibís el CDC, el estado interno es PENDIENTE o EN_LOTE. El procesamiento tarda habitualmente entre 15 y 60 segundos, pero puede superar los 2 minutos en el ambiente de QA. Implementá polling con timeout de al menos 5 minutos.

Los detalles de la estrategia de polling están en Consultar Estado de un Documento.

Errores frecuentes en este flujo

StatusTipoCausa más comúnCómo resolverlo
400validation-errorFalta un campo obligatorio o un valor está mal formateadoRevisá errores en la respuesta
400invalid-enum-valueValor de enum no reconocido (ej: "INVOICE" en tipoDocumento)Revisá valoresAceptados en la respuesta
401(texto plano)API key inválida o revocadaRotá la credencial desde el panel, en Configuración → API Keys
404timbrado-not-foundNo hay timbrado configurado para este contribuyenteCargá el timbrado en el panel
503idempotency-unavailable / idempotency-fingerprint-unsupportedEl contrato idempotente no está disponibleNo se creó el documento ni se consumió el correlativo. Conservá la clave y reintentá más tarde

Para recuperar un timeout o interpretar errores de idempotencia, ver Idempotencia y Reintentos Seguros.

Para el listado completo, ver Manejar Errores y Rechazos SIFEN.

Próximos pasos

On this page