Resolución N° 5.616/2024. Más información

Consultar constancia de Inscripción de ARCA en Lovable

Obtené datos de inscripción con Afip SDK API


Consultar constancia de Inscripción de ARCA en Lovable

Si todavía no viste cómo funciona esta consulta mediante la API, te recomiendo leer el artículo introductorio:

Consultar constancia de Inscripción de ARCA via API

Consultar constancia de Inscripción de ARCA via API

Con pocas líneas de código

En este tutorial vamos a pedirle a Lovable que genere una app para consultar la constancia de inscripción de ARCA usando el web service ws_sr_constancia_inscripcion y Afip SDK API.

Requisitos previos

Para poder seguir esta guía, primero necesitarás:

Para usar los web services de ARCA se requiere un certificado digital. Con Afip SDK podés integrarte en modo desarrollo usando el CUIT 20409378472 sin obtener un certificado propio. Cuando quieras usar tu CUIT, podés seguir la guía para usar tu propio certificado para desarrollo.

Crear el proyecto en Lovable

Lovable puede generar la interfaz visual y la lógica de backend a partir de un prompt. Para conectarte con ARCA, pedile explícitamente que el access_token quede en una función server-side o endpoint privado. En Lovable, creá un nuevo proyecto.

Prompt listo para pegar en Lovable

Pegá este prompt:

Quiero crear una app para consultar constancias de inscripción de ARCA usando Afip SDK API.

Necesito que generes toda la implementación lista para usar.

Stack:
- App web generada en Lovable
- Función server-side, Edge Function o endpoint backend privado
- Frontend para cargar datos y ver resultados

Objetivo:
- Consultar datos de inscripción de un contribuyente.
- Usar el web service `ws_sr_constancia_inscripcion`.
- Ejecutar el método `getPersona_v2`.
- Mostrar la constancia en pantalla.

Reglas importantes:
- No llames a Afip SDK API desde componentes frontend.
- No expongas el access token en el navegador.
- Usá una función server-side, Edge Function o endpoint backend privado.
- Usá ambiente de desarrollo: `dev`.
- Usá CUIT de desarrollo: `20409378472`.

Variables privadas que debo configurar:
- AFIP_SDK_ACCESS_TOKEN: mi access_token de Afip SDK.
- AFIP_TAX_ID: 20409378472.
- AFIP_ENVIRONMENT: dev.

Pantalla:
- Título: "Consultar constancia de inscripción de ARCA".
- Campo CUIT, default 33693450239.
- Botón "Consultar constancia".
- Estado de carga.
- Resultado con datos generales, domicilio fiscal, impuestos y actividades si están disponibles.
- Mensaje de error claro si ARCA no devuelve información.

Backend:
Crear un endpoint privado `/api/constancias/consultar`.

El endpoint debe hacer todo este flujo:

1. Obtener autorización:
POST https://app.afipsdk.com/api/v1/afip/auth
Headers:
Authorization: Bearer ${AFIP_SDK_ACCESS_TOKEN}
Content-Type: application/json
Body:
{
  "environment": "dev",
  "tax_id": "20409378472",
  "wsid": "ws_sr_constancia_inscripcion"
}

Guardar de la respuesta:
- token
- sign

2. Consultar la constancia:
POST https://app.afipsdk.com/api/v1/afip/requests
Headers:
Authorization: Bearer ${AFIP_SDK_ACCESS_TOKEN}
Content-Type: application/json
Body:
{
  "environment": "dev",
  "method": "getPersona_v2",
  "wsid": "ws_sr_constancia_inscripcion",
  "params": {
    "token": token,
    "sign": sign,
    "cuitRepresentada": "20409378472",
    "idPersona": cuitConsultado
  }
}

3. Devolver al frontend:
{
  "success": true,
  "taxId": cuitConsultado,
  "certificate": respuestaDeGetPersonaV2
}

Manejo de errores:
- Si falta `AFIP_SDK_ACCESS_TOKEN`, mostrar "Falta configurar el access_token de Afip SDK".
- Si ARCA devuelve `personaNoRegistrada`, mostrar "No se encontró una constancia para ese CUIT".
- Si ARCA devuelve "No existe persona con ese ID", mostrar ese mensaje de forma clara.
- Loguear detalles en consola del servidor, pero no mostrar secrets.

Agregá estados de carga, éxito y error. Dejá la app lista para probar con los valores iniciales en ambiente `dev`.

Configurar el token

Después de generar la app, configurá AFIP_SDK_ACCESS_TOKEN en los secrets o variables privadas del proyecto de Lovable. No pegues el token en un campo visible de la pantalla ni dentro de un componente React. El token solo debe vivir en el backend.

Probar la consulta

Con el CUIT inicial, Lovable debería consultar la constancia y mostrar los datos disponibles del contribuyente.

Al finalizar, la pantalla debe mostrar:

  • CUIT consultado
  • Datos generales
  • Domicilio fiscal, impuestos y actividades disponibles

Problemas comunes

Si estás teniendo el error “No existe persona con ese ID”, se debe a que no todos los CUIT están disponibles en el ambiente de desarrollo. Te recomiendo leer este artículo:

No existe persona con ese Id

No existe persona con ese Id

Pasos para resolver este error

También podés usar el padrón de alcance 13 o el padrón de alcance 10. Lo único que queda es pasar a modo producción para obtener información real de los contribuyentes.


Ante cualquier duda o pregunta, podés resolverla rápidamente en la Comunidad Afip SDK.

Conéctate a ARCA hoy mismo

Evitá la complejidad de ARCA. Con Afip SDK integrás tu sistema en minutos y te enfocás en hacer crecer tu negocio.