Validar el RUC al facturar
Al emitir una factura necesitas datos fiables del cliente: razón social, domicilio fiscal y si su RUC está activo. En vez de pedirlos a mano o copiarlos de una página web, tu sistema puede consultarlos por API con consultaruc.
Qué consultar
GET /ruc/{id} devuelve, entre otros, estos campos del padrón reducido de SUNAT:
razon_socialydireccion, para rellenar el comprobante;estado, por ejemploACTIVO,BAJA DEFINITIVAoSUSPENSION TEMPORAL;condicion, por ejemploHABIDOoNO HABIDO.
Un ejemplo de comprobación
Qué hacer con cada estado o condición es una decisión de tu negocio. Este es solo un ejemplo de cómo leer la respuesta:
const res = await fetch('https://consultaruc-api.karvesol.com/ruc/' + ruc, {
headers: { Authorization: 'Bearer sk_tu_clave' },
});
if (res.status === 404) return { valido: false, motivo: 'RUC no encontrado' };
const cliente = await res.json();
const activo = cliente.estado === 'ACTIVO' && cliente.condicion === 'HABIDO';
Ten en cuenta que los textos de estado y condicion llegan como los publica SUNAT; algunos vienen abreviados. Los detalles están en la referencia de GET /ruc/{id}.
Costos y límites
Cada consulta consume 1 crédito, y puedes empezar con el plan Free. Los códigos de error y el límite por minuto están en errores y límites; los planes, en precios.
Preguntas frecuentes
¿Qué debo revisar de un RUC antes de facturar?
Lo habitual es mirar el estado (estado) y la condición de domicilio (condicion) del cliente. Las reglas para decidir si emites o no las defines tú según tu negocio.
¿Esta API valida comprobantes electrónicos?
No. Solo consulta los datos del contribuyente en el padrón reducido de SUNAT; no emite ni valida comprobantes.
¿Qué pasa si el RUC no existe?
La API responde 404 con {"error": "RUC no encontrado"}. Una respuesta 404 también consume 1 crédito.
¿Puedo consultar muchos RUC seguidos?
Sí, hasta 240 solicitudes por minuto por API key. Guarda en tu sistema los clientes que facturas seguido para no pedirlos cada vez.