Guías SIFEN

Errores comunes al integrar facturación electrónica (SIFEN)

Causas, cómo detectarlos y cómo resolverlos — con tips prácticos para producción.

·

1) Certificados y reloj del servidor

Síntomas: errores SSL/TLS, “firma inválida”, “certificado vencido” o rechazos intermitentes.
  • Sincronizá NTP (offset de tiempo rompe validaciones de firma).
  • Verificá vigencia del certificado y cadena completa (CA intermedia).
  • Almacenar y rotar claves de forma segura (mín. 2048 bits).

2) XML y esquema SIFEN

Estructuras, tipos y totales deben cumplir 1:1 con el XSD.

  • Validá el XML contra el XSD antes de firmar.
  • Normalizá totales, IVA, decimales y scale.
  • Usá nombres exactos de campos y códigos SIFEN.

Ejemplo rápido (JSON → XML con FactPy):

// Enviás JSON a la API y FactPy se encarga del XML conforme SIFEN
POST /api/de
{
  "emisor": {"ruc":"80000000-1","establecimiento":"001","punto":"001"},
  "receptor": {"ruc":"1234567-8","razon":"Cliente SA"},
  "items":[{"cod":"A1","desc":"Producto A","cant":1,"precio":100000,"iva":10}],
  "condicion":"contado"
}

3) Firma electrónica

Errores típicos: “signature value mismatch”, “digest value no coincide”.
  • Firmá el XML final (sin modificarlo luego).
  • Usá el algoritmo requerido y canonicalización correcta.
  • Protegé el PKCS#12 / .pfx y rotá contraseñas.

4) Ambientes (Pruebas vs Producción)

  • Configurá endpoints por ambiente.
  • Separá credenciales y numeraciones.
  • Automatizá una batería de smoke tests tras cambiar de ambiente.

5) Eventos y ciclo de vida

Olvidar eventos (acuse, aceptación/rechazo, confirmación) genera desincronización con clientes y la SET.

  • Implementá colas y reintentos para publicar eventos.
  • Mostrá estado y eventos en tu ERP (transparencia al usuario).

6) KuDE y QR

  • Generá el QR conforme a especificación SIFEN.
  • Guardá PDF/KuDE y correlacioná con el CDC.

7) Reintentos e idempotencia

Si hay timeouts y reenvíos sin control, podés duplicar DE.

  • Usá un idempotency key (o correlativo único por DE).
  • Registrá estados y evitá reenvíos si ya hay CDC.

8) Encoding, tamaños y adjuntos

  • UTF-8 sin BOM siempre.
  • Evitar caracteres de control, normalizar acentos/ñ.
  • Comprimir/optimizar adjuntos si aplica.

9) Almacenamiento y auditoría

  • Guardá XML, PDF/KuDE, CDC, hash y respuestas de SIFEN.
  • Respaldo y retención según plazo legal.
  • Bitácoras: quién emite, cuándo, desde dónde.

Checklist rápido

  • ✅ NTP en hora y certificado vigente/cadena completa
  • ✅ Validación XSD antes de firmar
  • ✅ Firma y canonicalización correctas
  • ✅ Config de ambiente y credenciales separadas
  • ✅ Publicación de eventos con reintentos
  • ✅ KuDE/QR generado y almacenado
  • ✅ Idempotencia y control de duplicados
  • ✅ Logs + backups + retención legal

FAQ

¿Cómo reduzco rechazos por estructura?
Valida siempre con XSD antes de firmar y enviar. En FactPy los endpoints ya aplican validación previa.
¿Qué hago si el CDC no llega?
Consulta de estado, backoff exponencial y reintento. Evitá reenviar DE sin verificar idempotencia.
¿Puedo operar on-premise?
Sí. FactPy ofrece código fuente completo para operar localmente con tu infraestructura.
¿Querés evitar todo esto? Con FactPy enviás JSON y nosotros nos encargamos del XML, firma, envío, KuDE y eventos. Ver documentación.