SIFENParaguayFacturacionAPIIntegracionKuatiApp

Facturacion electronica SIFEN en Paraguay: guia tecnica para empresas que quieren integrarse

Por Emmanuel Almada7 de abril de 20266 min de lectura

Que es SIFEN y por que importa

SIFEN (Sistema Integrado de Facturacion Electronica Nacional) es el sistema de facturacion electronica de Paraguay, administrado por la SET (Subsecretaria de Estado de Tributacion). Desde 2022, la SET viene incorporando contribuyentes de forma gradual al regimen obligatorio de facturacion electronica.

Si tu empresa opera en Paraguay o tenes clientes paraguayos, necesitas entender como funciona SIFEN. Esta guia cubre los aspectos tecnicos que necesitas para integrar tu sistema.

En NexPO desarrollamos KuatiApp, un SaaS de facturacion electronica 100% integrado con SIFEN. Lo que compartimos aca es experiencia directa, no teoria.

Tipos de Documentos Electronicos (DE)

SIFEN maneja varios tipos de documentos:

CodigoTipoDescripcion
1Factura electronicaComprobante de venta standard
2Factura electronica de exportacionVentas a clientes extranjeros
3Factura electronica de importacionCompras a proveedores extranjeros
4Autofactura electronicaCompras a no contribuyentes
5Nota de credito electronicaAnulacion parcial o total de factura
6Nota de debito electronicaAjuste de precios o cargos adicionales
7Nota de remision electronicaTraslado de mercancias
Cada tipo tiene su propio esquema XML y reglas de validacion. No son intercambiables.

Flujo de emision de un DE

El flujo completo de emision es:

``

  • Tu sistema genera el XML del DE con todos los datos
  • Firmas el XML con tu certificado digital
  • Envias el XML firmado al SICORE (web service de la SET)
  • La SET valida el XML y devuelve un CDC (Codigo de Control)
  • Tu sistema recibe la respuesta (aprobado o rechazado)
  • Si es aprobado, generas el KUDE (representacion grafica)
  • El KUDE se entrega al cliente (PDF, email, impreso)
`

Detalle de cada paso

Paso 1: Generacion del XML

El XML sigue el esquema definido por la SET. Los campos obligatorios minimos para una factura electronica son:

`xml 1 000000001 1 Documento generado por KuatiApp 1 12345678 001 001 0000001 2026-01-01 `

Paso 2: Firma digital

Se usa un certificado digital emitido por un prestador autorizado por la SET. La firma es XMLDSig (XML Digital Signature) con algoritmo RSA-SHA256.

Paso 3: Envio al SICORE

El webservice de la SET tiene dos ambientes:

  • Pruebas: https://sifen-test.set.gov.py/de/ws/...
  • Produccion: https://sifen.set.gov.py/de/ws/...
Los endpoints principales:
EndpointFuncion
recibeRecibir un DE individual
recibeLoteRecibir un lote de DEs (hasta 50)
consultaConsultar estado de un DE por CDC
consultaRUCConsultar datos de un contribuyente
eventoRegistrar eventos sobre un DE
Pasos 4-7: Respuesta, CDC y KUDE

Si el DE es valido, la SET devuelve un CDC (Codigo de Control de 44 digitos) que identifica univocamente al documento. Con ese CDC se genera el KUDE (Constancia de Documento Electronico), que es la representacion visual del DE con QR para verificacion.

Errores comunes y como evitarlos

Error: Timbrado vencido o invalido

El timbrado tiene fecha de vencimiento. Si tu sistema no lo valida antes de emitir, la SET te rechaza el DE. Solucion: validar la vigencia del timbrado en cada emision y alertar cuando este por vencer.

Error: Numeracion no correlativa

La SET exige numeracion correlativa por punto de expedicion. Si emitiste la factura 001-001-0000045, la siguiente tiene que ser 001-001-0000046. Si tu sistema permite saltar numeros (por eliminacion de borradores, por ejemplo), la SET rechaza el DE.

Error: RUC del receptor invalido

Antes de emitir, valida el RUC del receptor contra el webservice consultaRUC de la SET. Un RUC invalido o inactivo hace que el DE sea rechazado.

Error: Calculo de IVA incorrecto

La SET valida que el total de IVA sea consistente con los items. Las tasas en Paraguay son: 10% (general), 5% (reducida) y 0% (exento). Los redondeos son al guarani (sin decimales). Un error de redondeo de 1 guarani rechaza todo el documento.

`typescript // Ejemplo de calculo correcto en TypeScript function calcularIVA(montoBase: number, tasa: 10 | 5 | 0): number { if (tasa === 0) return 0 // Redondear al guarani return Math.round(montoBase * tasa / (100 + tasa)) }

// montoBase: 100.000 Gs con IVA 10% // IVA = Math.round(100000 * 10 / 110) = 9.091 Gs ``

Como lo resolvimos en KuatiApp

KuatiApp es nuestro SaaS de facturacion electronica integrado con SIFEN. Algunas decisiones tecnicas que tomamos:

Capa de abstraccion sobre la API de la SET: No hablamos directamente con el webservice desde la logica de negocio. Creamos un modulo intermedio que se encarga de: armado del XML, firma digital, envio, manejo de reintentos, parseo de respuesta. Si la SET cambia algo de su API (que pasa), solo tocamos ese modulo.

Cola de emision: Los DEs no se envian sincrono. Van a una cola que los procesa en orden. Si la SET esta caida (pasa mas de lo que deberia), los DEs quedan en cola y se reintentan automaticamente.

Validacion previa completa: Antes de enviar a la SET, validamos el 100% de las reglas que conocemos. Asi el 95%+ de los DEs se aprueban en el primer intento y no hacemos requests innecesarios.

Multi-empresa: Cada empresa tiene su timbrado, certificado digital y configuracion de numeracion independiente. Row Level Security de Supabase garantiza aislamiento de datos.

Que necesitas para empezar

  • Solicitar habilitacion ante la SET: Tu empresa debe estar registrada como contribuyente electronico
  • Obtener certificado digital: De un prestador autorizado (ej: Code 100)
  • Solicitar timbrado electronico: Via la pagina de la SET (Marangatue)
  • Ambiente de pruebas: La SET te da credenciales de testing para validar tu integracion
  • Desarrollo de la integracion: Aca es donde entramos nosotros
Si tu empresa necesita integrarse con SIFEN y queres hacerlo bien desde el principio, contactanos. Tenemos experiencia directa con la API de la SET y podemos ahorrarte semanas de ensayo y error.

¿Necesitas ayuda con tu proyecto?

Diagnostico gratuito, presupuesto cerrado y soporte post-lanzamiento incluido.