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, hora de Paraguay. Si se omite, se usa la fecha y hora en que Sifende recibe la solicitud. Admite hasta 720 horas antes y 120 horas después de la hora actual de Paraguay; fuera de ese rango recibe 400 en errores.fechaEmision
tipoEmisionenumNoSólo NORMAL, valor por defecto. SIFEN todavía no habilita la emisión en 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, de 1 a 3000 caracteres en una sola línea
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
condicionPagoobjectUna de dos formasForma simple: un medio de contado o un crédito. Ver Condición de Pago
pagosarrayUna de dos formasForma completa: medios de pago de contado o entrega inicial de un crédito
creditoobjectEn CREDITO sin condicionPagoCondiciones del crédito en la forma completa
tipoImpuestoenumNoImpuesto afectado: IVA (por defecto), RENTA, NINGUNO o IVA_RENTA. Con RENTA o NINGUNO los ítems no pueden ser GRAVADO ni GRAVADO_PARCIAL (400 en items[i].afectacionTributaria)
indicadorPresenciaenumNoPresencia del comprador; por defecto OPERACION_PRESENCIAL
descripcionPresenciastringCon OTRODe 10 a 30 caracteres; obligatoria y exclusiva de indicadorPresencia = OTRO
fechaFuturaRemisiondateNoYYYY-MM-DD, cuando la mercadería se traslada después con una nota de remisión
documentosAsociadosarrayNoHasta 99 notas de remisión o facturas de anticipo. Ver Documentos asociados
condicionAnticipoenumCon anticipoANTICIPO_GLOBAL o ANTICIPO_POR_ITEM
anticipoGlobalPorcentajenumberCon ANTICIPO_GLOBALPorcentaje del precio unitario de cada ítem que se cubre con el anticipo
comisionnumberNoComisión de la operación con IVA 10% incluido, mayor que 0. Se suma al total general y su IVA al total de IVA. En moneda extranjera requiere tipoCambio global
informacionFiscalstringNoInformación de interés del Fisco, de 1 a 3000 caracteres en una sola línea
informacionAdicionalstringNoTexto para el receptor, de 1 a 5000 caracteres. Se imprime en el KuDE y no se envía a SIFEN
datosComercialesobjectNoÓrdenes, asiento, ciclo, vencimientos, contrato y saldo anterior. Ver Datos comerciales
energiaarrayNoHasta 9 mediciones de energía eléctrica
seguroobjectNoAseguradora y pólizas
supermercadoobjectNoCajero, efectivo, vuelto y donación
transporteobjectNoTraslado de la mercadería. Ver Transporte y carga
cargaobjectNoVolumen, peso y característica de la carga

condicionPago y pagos/credito son formas excluyentes. Las facturas a crédito admiten dos modalidades: PLAZO, con un texto libre o { cantidad, unidad }, y CUOTA, con el calendario completo de cuotas, que debe sumar el saldo financiado. El crédito admite cualquier moneda de operación.

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.

Si la operación lleva una comisión aparte de los ítems, informala en comision con el IVA incluido. Sifende la suma al total general, calcula su IVA al 10% y lo agrega al total de IVA. Los pagos de contado deben cubrir el total general con la comisión incluida. Se admite en FE, NCE y NDE. No se admite un total aparte de operación más comisión: el total general ya la incluye.

Compras públicas

Los datos de contratación DNCP son opcionales en cualquier tipo de operación: B2B, B2C, B2G o B2F. Cuando el receptor es un organismo público, además debe cumplir las reglas 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 pueden incluir codigoDncpGeneral (string de 8 dígitos) y codigoDncpEspecifico (string de 3 a 4 dígitos), también en cualquier operación. Ver Ítem. Un formato de campo inválido recibe 400. Si fechaEmisionCodigo no es anterior a la fecha de emisión de la factura, la respuesta es 422 public-procurement-data-invalid.

Documentos asociados y anticipos

documentosAsociados lista, en orden, los documentos que respaldan la factura. Una factura sólo se asocia a una nota de remisión o a una factura de anticipo, electrónica o impresa. El campo singular documentoAsociado es de las notas de crédito y débito: en una factura recibe 400 validation-error, también si hay un solo documento.

CampoTipoRequeridoDescripción
tipoDocumentoenumSíELECTRONICO o IMPRESO
cdcstringSí en ELECTRONICOCDC de 44 dígitos de la nota de remisión o la factura de anticipo
numeroTimbradostringSí en IMPRESO8 dígitos
establecimientostringSí en IMPRESO3 dígitos
puntoExpedicionstringSí en IMPRESO3 dígitos
numeroDocumentostringSí en IMPRESO7 dígitos
tipoDocumentoImpresoenumSí en IMPRESOFACTURA o NOTA_DE_REMISION
fechaEmisiondateSí en IMPRESOFecha del documento impreso
numeroComprobanteRetencionstringNo15 caracteres; sólo con un pago RETENCION
numeroResolucionCreditoFiscalstringEn VENTA_CREDITO_FISCAL15 caracteres; obligatorio en cada documento asociado de esa transacción y exclusivo de ella

Una venta de crédito fiscal (tipoTransaccion: "VENTA_CREDITO_FISCAL") informa al menos un documento asociado, y cada uno lleva su numeroResolucionCreditoFiscal.

numeroComprobanteRetencion es opcional aunque haya un pago RETENCION. El Manual Técnico lo marca opcional en la tabla del campo y obligatorio en la regla 2412; SIFEN hoy no aplica esa regla. El comprobante viaja dentro de un documento asociado admitido (nota de remisión o factura de anticipo): no se informa sin una asociación.

Un documento electrónico asociado emitido con Sifende se valida antes de firmar la factura. La respuesta es 400 validation-error, con el error en errores["documentosAsociados[i]"], cuando:

SituaciónMensaje
Es de otro emisorEl documento asociado debe ser del mismo emisor (H004g)
Está pendiente o fue rechazadoEl documento asociado todavía no está aprobado
Está canceladoEl documento asociado está cancelado (H004b)
Es una factura que no es de anticipoUna factura asociada debe ser una factura de anticipo (H004e)
Es una factura de anticipo en otra monedaLa factura de anticipo debe tener la misma moneda de la operación (H004f)
Tiene otro receptorEl documento asociado debe tener el mismo receptor que la factura (H004h/H004i)

Sólo se admiten documentos APROBADO o APROBADO_OBSERVACION: si todavía está pendiente, esperá su aprobación antes de emitir la factura.

Para aplicar un anticipo ya facturado, asociá la factura de anticipo y declará cuánto se aplica en esta factura:

  • ANTICIPO_GLOBAL: anticipoGlobalPorcentaje se aplica al precio unitario de todos los ítems.
  • ANTICIPO_POR_ITEM: cada ítem que aplica anticipo informa anticipoParticular, el importe por unidad.

Con una sola factura de anticipo electrónica asociada, todos los ítems la referencian en el XML sin que informes cdcAnticipo, también los que no aplican anticipo. Con varias, cada ítem indica la suya con cdcAnticipo, aplique o no anticipo; un ítem sin cdcAnticipo recibe 400 en items[i].cdcAnticipo. Una factura de anticipo asociada debe aplicarse en al menos un ítem: asociarla sin condicionAnticipo ni importe de anticipo recibe 400 en condicionAnticipo.

El anticipo reduce el total de cada ítem. El emisor controla cuánto de cada anticipo queda por aplicar.

{
  "documentosAsociados": [
    { "tipoDocumento": "ELECTRONICO", "cdc": "01800123451001001000000122026042710000000006" }
  ],
  "condicionAnticipo": "ANTICIPO_GLOBAL",
  "anticipoGlobalPorcentaje": 30
}

Datos comerciales

CampoTipoDescripción
ordenComprastringHasta 15 caracteres
ordenVentastringHasta 15 caracteres
asientoContablestringHasta 10 caracteres
ciclostringHasta 15 caracteres; se informa junto con fechaInicioCiclo y fechaFinCiclo
fechaInicioCiclodateInicio del ciclo facturado
fechaFinCiclodateFin del ciclo; no puede ser anterior al inicio
vencimientosPagodate[]Hasta 3 fechas de vencimiento, no anteriores a la emisión
numeroContratostringHasta 30 caracteres
saldoAnteriornumberSaldo anterior, mayor o igual a cero

Datos sectoriales

  • energia: cada medición informa numeroMedidor, codigoActividad, codigoCategoria, lecturaAnterior, lecturaActual y consumo. La lectura actual no puede ser menor que la anterior, y el consumo es la diferencia entre ambas.
  • seguro: codigoEmpresa y polizas. Cada póliza informa codigo, numero, vigencia y unidadVigencia, y opcionalmente fechaInicioVigencia y fechaFinVigencia (YYYY-MM-DDTHH:mm:ss, por ejemplo 2026-01-01T00:00:00; el fin no puede ser anterior al inicio) y codigoItem, que debe ser el código de un ítem de la factura.
  • supermercado: nombreCajero, efectivo, vuelto, donacion y descripcionDonacion. El vuelto y la donación no pueden superar el efectivo recibido.

Transporte y carga

transporte es opcional en una factura y usa los mismos campos que el transporte de la nota de remisión: modalidad y responsableFlete son obligatorios; tipoTransporte, fechas del traslado, incoterm, numeroManifiesto, numeroDespachoImportacion, paisDestino, salida, entregas, vehiculos y transportista se informan cuando corresponden. Si informás el transportista, su domicilio fiscal y la dirección del conductor son obligatorios.

carga informa volumenTotal y pesoTotal como enteros positivos en string, con sus unidades, y una caracteristica. Con caracteristica: "OTRO" se describe la carga en descripcionCaracteristica.

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": "0",
    "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 y montoEntregaInicial dentro de condicionPago, o informala en pagos. Se expresa en la moneda de la operación y debe ser menor que el total.

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