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:
| Codigo | Tipo | Descripcion |
|---|---|---|
| 1 | Factura electronica | Comprobante de venta standard |
| 2 | Factura electronica de exportacion | Ventas a clientes extranjeros |
| 3 | Factura electronica de importacion | Compras a proveedores extranjeros |
| 4 | Autofactura electronica | Compras a no contribuyentes |
| 5 | Nota de credito electronica | Anulacion parcial o total de factura |
| 6 | Nota de debito electronica | Ajuste de precios o cargos adicionales |
| 7 | Nota de remision electronica | Traslado de mercancias |
Flujo de emision de un DE
El flujo completo de emision es:
``
`
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
`
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/...
| Endpoint | Funcion |
|---|---|
recibe | Recibir un DE individual |
recibeLote | Recibir un lote de DEs (hasta 50) |
consulta | Consultar estado de un DE por CDC |
consultaRUC | Consultar datos de un contribuyente |
evento | Registrar eventos sobre un DE |
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
¿Necesitas ayuda con tu proyecto?
Diagnostico gratuito, presupuesto cerrado y soporte post-lanzamiento incluido.