ComprobadoDocumentaciónIngresar

Simulador de ARCA

El simulador es una ARCA de mentira para probar tu integración desde el primer día: no necesita certificado, ni clave fiscal, ni que ARCA esté andando. Responde siempre igual y te deja forzar a propósito un rechazo, un timeout, una falla de autenticación o una numeración desfasada, que en homologación es imposible provocar a voluntad.

Nada de lo que emite el simulador tiene validez fiscal ni existe en ARCA. Los comprobantes quedan marcados como Simulado y se imprimen con la marca de agua «MUESTRA».

Activarlo

En Configuración → Certificado (o en la tarjeta «Ambiente de tu cuenta») tocá Probar en el simulador. Lo puede hacer el Titular o un Administrador, y solo desde la consola: cambiar de ambiente cambia a dónde hablan todas tus integraciones, así que nunca se hace con una clave.

  • Tu cuenta, tus claves de API y el MCP pasan a usar el simulador al instante.
  • Se puede volver a homologación (la ARCA real de pruebas) cuando quieras; y a producción con las mismas reglas de siempre (certificado de producción vigente).
  • Una cuenta que ya emitió en producción no puede volver al simulador (candado para no mezclar numeraciones).

Qué simula

Qué Cómo responde
Emisión Autoriza con un CAE de mentira (empieza con 0000) y numeración correlativa por punto de venta y tipo
Puntos de venta 1 y 2 habilitados, 3 bloqueado; 4 para exportación
Conexión y certificado Siempre en verde; «no hace falta certificado»
Catálogos y cotización de exportación Unos pocos países, monedas (DOL a 1000, 060 a 1100), Incoterms e idiomas
Consulta de un comprobante Devuelve lo que se «autorizó»; sirve para reconciliar un incierto
FCE (GET /v1/fce/obligation) Una sociedad (CUIT que empieza con 30, 33 o 34) cuyo último dígito es 0–4 está obligada desde $5.549.862; cualquier otro CUIT no
Padrón (GET /v1/taxpayers/{cuit}) Datos inventados según el último dígito del CUIT: 0–3 responsable inscripto · 4–6 monotributo · 7 exento · 8 sin impuestos (no categorizado) · 9 no existe (AS-1022). Los que empiezan con 30, 33 o 34 son sociedades. Si el penúltimo dígito es 9, la CUIT figura inactiva; si es 8, limitada (sirve para probar cómo se muestran las alertas)
Constatación (POST /v1/purchase-invoices/{id}/constatar) Aprueba (A) si el CAE tiene 14 dígitos; lo rechaza (R, observación 21) si termina en 9 o no tiene 14 dígitos

La numeración sigue a los comprobantes ya guardados, así que reiniciar el servicio no la rompe.

Forzar un resultado: las marcas

Poné una marca en el nombre del receptor (es un texto libre; no afecta ninguna validación):

{
  "puntoVenta": 1,
  "receptor": {
    "docTipo": "dni",
    "docNro": "30111222",
    "condicionIva": "consumidorFinal",
    "nombre": "Cliente de prueba [sim:rechazo]"
  },
  "items": [{ "descripcion": "Servicio", "precioUnitario": 1000 }]
}
Marca Qué pasa Qué probás en tu sistema
(ninguna) Se autoriza El camino feliz
[sim:rechazo] 422: ARCA rechaza el comprobante («Rechazo simulado», con humano y arca) Mostrar el motivo y permitir corregir y reenviar con otra Idempotency-Key
[sim:timeout] 202 con estado incierto: ARCA lo registró pero la respuesta no llegó. A los ~20 s «aparece» y, al consultarlo, pasa a autorizado La regla de oro: no reemitir; consultar o repetir con la misma clave
[sim:timeout-perdido] 202 incierto: el pedido se perdió y ARCA nunca lo tuvo. Pasados 5 minutos, al consultarlo pasa a rechazado y el número queda libre Que no reemitas antes de tiempo y que resuelvas un incierto que termina mal
[sim:caida] 202 incierto: no se pudo hablar con ARCA Un corte de red durante la emisión
[sim:wsaa] 424: falla la autenticación («certificado vencido»). No queda incierto: nada se envió Distinguir «no se emitió» de «no sabemos»
[sim:10016] Otro sistema «se llevó» el número: Comprobado reintenta solo una vez y autoriza con el número siguiente Que no te importe el número que pediste
[sim:observacion] Se autoriza con un aviso (avisos[]) Mostrar observaciones de un comprobante aprobado
[sim:lento] Responde a los 3 segundos Timeouts y spinners de tu cliente

Las marcas se pueden combinar con el nombre real («Ana Pérez [sim:observacion]»). Valen también en los lotes (columna nombre), en el MCP y en la consola.

Un test de punta a punta

# 1. Un incierto que se resuelve solo
curl -s -X POST https://TU-DOMINIO/v1/invoices -H "Authorization: Bearer $COMPROBADO_KEY" -H "Idempotency-Key: demo-1" \
  -H "Content-Type: application/json" \
  -d '{"puntoVenta":1,"receptor":{"docTipo":"dni","docNro":"30111222","condicionIva":"consumidorFinal","nombre":"Demo [sim:timeout]"},"items":[{"descripcion":"x","precioUnitario":1000}]}'
# → 202 { "id": "inv_…", "estado": "incierto" }

# 2. Esperá ~20 s y consultalo (o repetí el POST con la MISMA clave): lo reconcilia
curl -s https://TU-DOMINIO/v1/invoices/inv_… -H "Authorization: Bearer $COMPROBADO_KEY"
# → { "estado": "autorizado", "cae": "0000…" }

Límites

  • El simulador no valida contra ARCA: acepta cosas que ARCA rechazaría (por ejemplo, un CUIT que no existe en el padrón). Antes de salir a producción, probá también en homologación, que es la ARCA real.
  • Lo «autorizado» vive en memoria: si el servicio se reinicia en medio de un incierto simulado, ese comprobante deja de existir para el simulador.
  • No importa comprobantes (Importar de ARCA): no hay nada que traer.