Comprobantes

Simular respuestas del SRI

Prueba en Sandbox cada camino de tu integración, incluidos los que el SRI rara vez te muestra.

Tu integración tiene que manejar un comprobante devuelto, uno rechazado y uno que el SRI tarda en decidir. En el SRI real esos casos son difíciles de provocar. En Sandbox los pides.

Agrega simulate al emitir o corregir, con una clave fb_sandbox_…:

{
  "buyer": { "identification_type": "consumidor_final" },
  "lines": [
    {
      "description": "Café pasado",
      "quantity": "1",
      "unit_price": "2.50",
      "taxes": [{ "type": "iva", "rate": "iva_15" }]
    }
  ],
  "payments": [{ "method": "sin_sistema_financiero" }],
  "simulate": { "outcome": "returned" }
}
outcomeQué pasaMensaje del SRI
authorized (por defecto)Se autoriza a los pocos segundos60, realizado en el ambiente de pruebas (aviso)
returnedSe devuelve al recibirlo35, archivo no cumple estructura XML
not_authorizedSe recibe y luego se rechaza52, error en diferencias
delayedQueda en submitted durante un minuto y luego se autoriza—
sequence_takenEl SRI dice que su número ya está usado: toma el siguiente, como en Pruebas, y ese se autoriza45, secuencial registrado

El resto es real: lo numeramos, lo firmamos con un certificado de práctica, recorre los mismos estados, genera los mismos webhooks y un RIDE con marca de agua. Solo el SRI es simulado.

Prueba la corrección completa

  1. Emite con "simulate": { "outcome": "returned" }.
  2. Espera el webhook invoice.returned y lee sri_messages.
  3. Corrige con POST …/{id}/resubmit, sin simulate.
  4. Recibe invoice.authorized, con el mismo número y la misma clave de acceso.

Cada revisión lleva su propio simulate: una corrección sin él se autoriza.

Prueba un número ocupado

Emite con "simulate": { "outcome": "sequence_taken" }. El comprobante toma el siguiente número de su serie con una clave de acceso nueva, y invoice.authorized llega con ese número, no con el de la respuesta al emitir. Si tu integración guarda el número al emitir, este es el caso que debe manejar: el número definitivo es el del comprobante autorizado. En Producción, en cambio, el comprobante queda returned y lo renumeras tú.

simulate solo existe en Sandbox. Con una clave de Pruebas o Producción respondemos 422: en esos ambientes decide el SRI de verdad.

En esta página