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.