SIFENDE
Referencia APIModelos de Datos

Factura Electrónica

Schema completo de la solicitud para emitir una Factura Electrónica (FE) con Sifende.

tipoDocumento: FACTURA_ELECTRONICA ✅ Disponible

La solicitud de FE contiene todos los campos obligatorios para emitir una Factura Electrónica conforme a SIFEN. Se envía al endpoint polimórfico POST /api/v1/documento-electronico.

Campos comunes (base)

CampoTipoRequeridoDescripción
tipoDocumentoenumSíDebe ser FACTURA_ELECTRONICA
fechaEmisiondatetimeNoISO 8601 sin zona — YYYY-MM-DDTHH:mm:ss. Si se omite, se usa la fecha y hora en que Sifende recibe la solicitud
tipoEmisionenumSíNORMAL (por defecto) o CONTINGENCIA
numeroEstablecimientointegerSí1–999; obligatorio, sin valor por defecto
puntoExpedicionintegerSí1–999; obligatorio, sin valor por defecto
monedaOperacionenumNoPor defecto PYG. Acepta USD, EUR, etc.
tipoCambionumberCondicionalTipo de cambio global. Obligatorio para moneda extranjera en modalidad GLOBAL; no se informa en PYG ni en POR_ITEM
descuentoGlobalPorcentajenumberNoPorcentaje global mayor que 0 y menor o igual a 100, aplicado al precio unitario de cada ítem
obligacionesAfectadasstring[]NoHasta 11 códigos de obligaciones tributarias, sin valores nulos ni repetidos; ver abajo
infoEmisorstringNoTexto libre adicional del emisor
receptorobjectSíVer Receptor
itemsarraySíAl menos 1 ítem — ver Ítem

Obligaciones afectadas

obligacionesAfectadas admite los códigos "113", "143", "211", "311", "321", "700", "701", "702", "703", "715" y "716", como strings. Por ejemplo: "obligacionesAfectadas": ["211", "700"]. Se admite en FE, NCE y NDE. En NRE debe omitirse: incluso una lista vacía recibe 400 validation-error.

Campos específicos de FE

CampoTipoRequeridoDescripción
tipoTransaccionenumSíVENTA_MERCADERIA, PRESTACION_SERVICIOS, MIXTO, VENTA_ACTIVO_FIJO, VENTA_DIVISAS, ANTICIPO, VENTA_CREDITO_FISCAL — ver tipoTransaccion para la lista completa
condicionOperacionenumSíCONTADO o CREDITO
condicionPagoobjectSíObligatorio para CONTADO y CREDITO; tipo debe coincidir con condicionOperacion. Ver Condición de Pago
documentoAsociadoobjectNoPara anticipos o documentos de referencia. Ver Documento Asociado

Las facturas a crédito admiten dos modalidades excluyentes: PLAZO, con un texto libre o { cantidad, unidad }, y CUOTA, con cantidad y detalle de cada cuota. Sólo se aceptan en monedaOperacion: "PYG".

Para una operación en moneda extranjera al contado, elegí una sola modalidad: tipoCambio en la factura (GLOBAL) o tipoCambio en todos los ítems (POR_ITEM). Consultá Facturar en Moneda Extranjera para ver solicitudes completas.

Para descuentos, informá solamente las decisiones comerciales: descuentoParticular como importe por unidad dentro del ítem y descuentoGlobalPorcentaje una vez en el documento. Sifende deriva los porcentajes e importes técnicos del XML, los subtotales, el IVA y el total neto. En PYG los importes globales derivados se redondean a entero con half-up; en otras monedas conservan hasta 8 decimales.

Compras públicas B2G

El receptor debe cumplir las reglas B2G. Los siguientes campos son opcionales y exclusivos de una FE B2G:

CampoTipoDescripción
comprasPublicasobjectDatos de contratación; si se informa, todos sus campos son obligatorios
codigoContratacionDncpstringCódigo de contratación DNCP, de 1 a 30 caracteres, no vacío ni compuesto sólo por espacios

Campos de comprasPublicas

CampoTipoRegla
modalidadstringExactamente 2 caracteres sin espacios
entidadstringExactamente 5 dígitos; valor mayor que cero
anhostringExactamente 2 dígitos; valor mayor que cero
secuenciastringExactamente 7 dígitos; valor mayor que cero
fechaEmisionCodigostringFecha YYYY-MM-DD, anterior a la fecha efectiva de emisión de la FE

Enviá los códigos como strings con sus ceros iniciales. La API no acepta números JSON ni completa los ceros. Ejemplo del bloque, para una FE cuya fecha efectiva sea posterior al 10 de enero de 2026:

{
  "comprasPublicas": {
    "modalidad": "CD",
    "entidad": "00123",
    "anho": "26",
    "secuencia": "0000456",
    "fechaEmisionCodigo": "2026-01-10"
  }
}

Los ítems B2G pueden incluir codigoDncpGeneral (string de 8 dígitos) y codigoDncpEspecifico (string de 3 a 4 dígitos). Ver Ítem. En otra operación, estos códigos o los campos de contratación reciben 422 b2g-contract-data-invalid. Un formato de campo inválido recibe 400.

Ejemplo completo — FE B2C contado

{
  "tipoDocumento": "FACTURA_ELECTRONICA",
  "fechaEmision": "2026-04-15T10:30:00",
  "tipoEmision": "NORMAL",
  "numeroEstablecimiento": 1,
  "puntoExpedicion": 1,
  "monedaOperacion": "PYG",
  "tipoTransaccion": "VENTA_MERCADERIA",
  "condicionOperacion": "CONTADO",
  "receptor": {
    "tipoContribuyente": "NO_CONTRIBUYENTE",
    "tipoOperacion": "B2C",
    "tipoDocumento": "CEDULA_PARAGUAYA",
    "numeroDocumento": "1234567",
    "nombreRazonSocial": "Juan Pérez"
  },
  "condicionPago": {
    "tipo": "CONTADO",
    "tipoPago": "EFECTIVO",
    "monedaPago": "PYG",
    "montoPago": 110000
  },
  "items": [
    {
      "codigo": "PROD-001",
      "descripcion": "Resma de papel A4 75g",
      "cantidad": 10,
      "unidadMedida": "UNI",
      "precioUnitario": 11000,
      "afectacionTributaria": "GRAVADO",
      "tasaIVA": 10
    }
  ]
}

Ejemplos completos — FE a crédito

{
  "tipoDocumento": "FACTURA_ELECTRONICA",
  "fechaEmision": "2026-09-18T10:30:00",
  "tipoEmision": "NORMAL",
  "numeroEstablecimiento": 1,
  "puntoExpedicion": 1,
  "tipoTransaccion": "VENTA_MERCADERIA",
  "monedaOperacion": "PYG",
  "receptor": {
    "tipoContribuyente": "CONTRIBUYENTE",
    "tipoOperacion": "B2B",
    "tipoContribuyenteReceptor": "PERSONA_JURIDICA",
    "numeroDocumento": "80012345",
    "digitoVerificador": "7",
    "nombreRazonSocial": "Comercial San Roque S.A."
  },
  "condicionOperacion": "CREDITO",
  "condicionPago": {
    "tipo": "CREDITO",
    "condicionCredito": "PLAZO",
    "plazoCredito": "30 días",
    "montoEntregaInicial": 0
  },
  "items": [
    {
      "codigo": "PROD-001",
      "descripcion": "Resma de papel A4 75g",
      "cantidad": 10,
      "unidadMedida": "UNI",
      "precioUnitario": 12000,
      "afectacionTributaria": "GRAVADO",
      "tasaIVA": 10
    }
  ]
}

Para agregar una entrega inicial positiva, incluí tipoPago, monedaPago: "PYG" y montoEntregaInicial dentro de condicionPago; el monto no puede superar el total fiscal de los ítems.

Los errores del contrato de crédito devuelven 400 validation-error antes de reservar el número del documento. Una solicitud rechazada por estas validaciones no consume secuencia ni crea el documento electrónico.

Respuesta

202 Accepted con los datos del documento creado en estado PENDIENTE:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdc": "01800123451001001000000122026042710000000006",
  "estado": "PENDIENTE",
  "ambiente": "DEV",
  "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"
}

Ver el detalle completo de la respuesta en Emitir Documento Electrónico.

Próximos pasos

On this page