Constatar comprobantes
Constatar es preguntarle a ARCA si un comprobante con esos datos existe y está autorizado. Hay dos endpoints, según de dónde venga el comprobante.
| Endpoint | Para |
|---|---|
POST /invoices/{id}/verify | Un comprobante emitido con esta API. Toma los datos del comprobante guardado. |
POST /voucher-verifications | Cualquier comprobante con CAE, CAI o CAEA, incluso uno emitido por otro sistema (por ejemplo, una factura de un proveedor). |
Un comprobante propio
curl -X POST "$API_URL/invoices/<id>/verify" -H "Authorization: Bearer $TOKEN"
Solo funciona con comprobantes que ya tienen autorización de ARCA. Si el comprobante está REJECTED o PENDING, responde 409.
Un comprobante de terceros
Mandás los datos tal como figuran en el comprobante:
curl -X POST "$API_URL/voucher-verifications" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"issuer_cuit": "20222222223",
"sales_point_number": 1,
"voucher_type": 6,
"voucher_number": 124,
"issue_date": "2026-09-09",
"total_amount": 12100,
"authorization_code": "71234567890123"
}'
issuer_cuites el emisor del comprobante que estás verificando, no el tuyo.voucher_typees el código de comprobante deGET /catalogs/tipos-comprobante(6 = Factura B).receptor_document_typeyreceptor_document_valueson opcionales, pero ARCA los exige cuando el total supera cierto umbral.- En modo contador,
represented_cuit_idindica con qué certificado se hace la consulta. No tiene por qué coincidir con el emisor.
Resultado
{
"result": "R",
"observations": [
{ "code": 102, "message": "El importe no coincide" }
],
"errors": []
}
result | Significado |
|---|---|
A | ARCA tiene registrado un comprobante autorizado con esos datos. |
R | Los datos no coinciden con un comprobante autorizado. observations explica qué no coincide. |