12 de junio de 2026
¿Cómo manejar la idempotencia en WSFEv1? ¿Qué pasa si el request se corta a mitad?
WSFEv1 NO tiene idempotencia nativa. Si el request de FECAESolicitar se corta, no se sabe si ARCA procesó el comprobante. La solución es usar FECompConsultar(PtoVta, CbteTipo, CbteNro) antes de reintentar: si ya existe con CAE, la emisión fue exitosa; si no existe, reintentar con el mismo número.
El problema de los timeouts en facturación
Una venta puede quedar en estado ambiguo — el negocio cree que falló pero ARCA ya autorizó el comprobante. Reintentar sin verificar genera error 10016 o duplicados.
Caso documentado en pyafipws: 8 facturas aparecieron en AFIP cuando solo se imprimió 1, por reintentos sin verificar.
Patrón robusto de emisión
1. Reservar el número localmente (DB con estado PENDIENTE).
2. Llamar a FECAESolicitar.
3. Si OK → guardar CAE, estado EMITIDA.
4. Si timeout/error → llamar FECompConsultar con ese mismo número:
- Si retorna CAE → guardar CAE, estado EMITIDA (ya existía).
- Si retorna no encontrado → reintentar FECAESolicitar con el mismo número.
5. Si ARCA devuelve número ya autorizado → consultar y guardar el CAE existente.