Lotes
Cómo agrupa Sifende los documentos en lotes para enviarlos a SIFEN y qué estados tiene un lote.
SIFEN no acepta documentos individuales: los recibe en lotes vía el web service siRecepLoteDE. Sifende toma cada documento que emitís, lo empaqueta en un lote y lo transmite a SIFEN. El lote es la unidad de comunicación con SIFEN.
Qué es un lote
Un lote es un contenedor XML que agrupa uno o más documentos electrónicos firmados, listos para ser transmitidos a SIFEN.
Lote (siRecepLoteDE)
├── DE 1 (firmado XAdES)
├── DE 2 (firmado XAdES)
├── ...
└── DE N (hasta 50 por lote, según especificación SIFEN)Hoy Sifende envía un documento por lote. Esto simplifica el manejo de errores: si SIFEN rechaza un DE, el rechazo no afecta a otros documentos del mismo batch. Más adelante podríamos agrupar para mejor throughput, pero el contrato de la API no cambia.
Estados del lote
| Estado | Descripción |
|---|---|
PREPARADO | Sifende creó el lote y firmó los DEs adentro; aún no lo transmitió |
INTENTANDO | Worker en proceso de transmitir el lote a SIFEN (siRecepLoteDE) |
ENVIADO | El lote fue aceptado por SIFEN; esperando resultado del procesamiento |
PROCESADO | SIFEN procesó el lote; cada DE adentro tiene su veredicto (APROBADO o RECHAZADO) |
ERROR | Falló la transmisión o SIFEN devolvió un error transitorio. Se reintenta automáticamente |
FALLIDO | Reintentos agotados sin éxito. Estado terminal, requiere intervención manual |
Diagrama del ciclo de vida del lote
┌─────────────┐
POST DE ───► │ PREPARADO │
└──────┬──────┘
│ Worker toma el lote y comienza la transmisión
▼
┌─────────────┐
│ INTENTANDO │ ◄────┐
└──────┬──────┘ │
│ │ Reintento con backoff
▼ │ exponencial
┌────────┴────────┐ │
▼ ▼ │
┌───────────┐ ┌───────────┴┐
│ ENVIADO │ │ ERROR │
└─────┬─────┘ └─────┬──────┘
│ siResultLoteDE │ Reintentos
│ devuelve 0362 │ agotados
▼ ▼
┌───────────┐ ┌───────────┐
│ PROCESADO │ │ FALLIDO │
└───────────┘ └───────────┘
(terminal) (terminal)Códigos de respuesta de SIFEN
Cuando Sifende consulta el resultado de un lote vía siResultLoteDE, SIFEN devuelve uno de estos códigos:
| Código | Significado | Acción |
|---|---|---|
0360 | Lote inexistente — SIFEN no lo encuentra | Reintentar consulta; si persiste, marcar FALLIDO |
0361 | Aún en procesamiento — no concluido | Reintentar. Puede tomar 1 a 24 horas en horario pico |
0362 | Procesamiento concluido — resultados individuales adentro | Procesar veredicto de cada DE → APROBADO o RECHAZADO |
0363 | Tipos mixtos de DE en el lote | Lote rechazado completo; corregir y re-emitir |
0364 | Consulta extemporánea (después de 48h del envío) | Caer a consulta por CDC individual (siConsDE) |
Ventana de 48h: pasadas 48 horas desde el envío del lote, siResultLoteDE deja de responder y devuelve 0364. Si en ese tiempo Sifende no logró confirmar el resultado del lote, el sistema cambia a consulta individual por CDC (siConsDE) para reconciliar el estado.
Cómo Sifende procesa los lotes
Recepción del POST: tu sistema envía un documento. Sifende valida el payload, genera el XML, lo firma y lo asocia a un nuevo lote en estado PREPARADO.
Transmisión a SIFEN: un worker toma el lote y lo marca INTENTANDO. Envía el lote vía siRecepLoteDE. Si SIFEN responde con un idLote válido, el lote pasa a ENVIADO. Si la transmisión falla por error transitorio, el lote pasa a ERROR y se reintenta.
Polling de resultados: un scheduler corre cada 60 segundos consultando siResultLoteDE con cada idLote de los lotes en ENVIADO.
Procesamiento del veredicto: interpretación del código de respuesta de SIFEN según la tabla de arriba. En 0362, cada DE recibe individualmente APROBADO o RECHAZADO.
Estado final: el lote pasa a PROCESADO (éxito), FALLIDO (reintentos agotados) o queda en ENVIADO esperando que SIFEN concluya.
Estado del lote vs. estado del documento
| Lote | Documentos adentro |
|---|---|
PREPARADO / INTENTANDO | Todos en EN_LOTE |
ENVIADO | Todos en ENVIADO |
PROCESADO | Cada DE en APROBADO o RECHAZADO individualmente |
ERROR | Documentos quedan en EN_LOTE o ENVIADO hasta que se reintenta |
FALLIDO | Documentos quedan en ERROR o DESCONOCIDO para intervención manual |
Un lote puede estar PROCESADO con algunos documentos APROBADO y otros RECHAZADO. SIFEN evalúa cada DE individualmente: un rechazo aislado no invalida los otros documentos del mismo lote.
Reintentos automáticos
Si SIFEN no responde o devuelve un error transitorio (no de validación), Sifende reintenta solo:
- Backoff exponencial: 1m, 5m, 15m, 1h, 6h.
- Sin pérdida de datos: el documento queda en
EN_LOTEoENVIADOhasta que se confirma. - Sin acción de tu parte: tu sistema no necesita hacer nada. Sifende absorbe los retrasos de SIFEN.
Visualización en el panel
Desde el panel web, andá a Documentos electrónicos → Lotes para ver:
- Lista de todos los lotes con su estado actual.
- Cantidad de DEs por lote y resultado individual de cada uno.
- Códigos de respuesta de SIFEN para diagnóstico.
- Detalle del payload XML enviado y recibido.
Próximos pasos
- Ciclo de Vida: los estados del documento individual.
- Polling de Resultados: la estrategia recomendada.
- Rechazos SIFEN: códigos de error y sus causas.