Por OpenData CR
La DGII extendió hasta el 15 de noviembre de 2026 el plazo de facturación electrónica (e-CF) para contribuyentes pequeños, micros y no clasificados (aviso de la DGII del 6 de mayo de 2026). Si mantiene un ERP, un sistema de facturación o una tienda en línea en República Dominicana, conviene confirmar que el RNC del comprador existe y está activo antes de emitir el comprobante.
En este tutorial usamos el Validador de RNC DGII de OpenData CR, que trabaja sobre el padrón público de contribuyentes que publica la DGII (DGII_RNC.zip).
Qué valida
Para cada valor enviado devuelve: formato, dígito verificador, si está en el padrón, estado, razón social, nombre comercial, actividad económica y régimen (NORMAL o RST).
Regla práctica para aceptar un RNC en facturación:
code == "active" and checkDigitValid == true
code |
Significado |
|---|---|
active |
En el padrón, estado ACTIVO |
inactive |
En el padrón, con otro estado |
not_found |
9 dígitos, no está en el padrón |
cedula_not_supported |
11 dígitos (persona física): no se consulta |
invalid_format |
Otra cantidad de dígitos |
Guiones, espacios y puntos se ignoran: 1-01-01063-2 y 101010632 son el mismo RNC.
Python
from apify_client import ApifyClient
client = ApifyClient("SU_TOKEN_DE_APIFY")
run = client.actor("opendata-cr/dominican-rnc-validator").call(
run_input={"mode": "validate", "rncs": ["1-01-01063-2", "101003723"]}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
ok = item["code"] == "active" and item["checkDigitValid"]
print(item["rncFormatted"], item.get("razonSocial"), "OK" if ok else item["code"])
JavaScript (Node)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('opendata-cr/dominican-rnc-validator').call({
mode: 'validate',
rncs: ['1-01-01063-2', '101003723'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const i of items) {
const ok = i.code === 'active' && i.checkDigitValid;
console.log(i.rncFormatted, i.razonSocial, ok ? 'OK' : i.code);
}
Respuesta de ejemplo (recortada)
{
"input": "1-01-01063-2",
"rncFormatted": "1-01-01063-2",
"checkDigitValid": true,
"found": true,
"code": "active",
"razonSocial": "BANCO POPULAR DOMINICANO S A BANCO MULTIPLE",
"nombreComercial": "BANCO POPULAR DOMINICANO",
"actividadEconomica": "BANCOS MULTIPLES",
"status": "ACTIVO",
"regimenPagos": "NORMAL",
"isActive": true,
"padronFecha": "2026-10-03"
}
Cada fila indica la fecha del archivo del padrón usado (padronFecha), útil para auditoría.
Buscar o exportar empresas
Además de validar, puede buscar en el padrón por nombre, actividad o estado:
{ "mode": "search", "nameContains": "EDENORTE DOMINICANA", "onlyActive": true, "maxResults": 10 }
Costo
Pago por uso (según la página del Actor):
- US$0,003 por RNC validado (encontrado o no);
- US$0,0005 por empresa en búsqueda/exportación;
- cédulas y valores mal formados no se cobran.
Ejemplo publicado: validar 1.000 RNC cuesta US$3.
Límites
- No consulta cédulas (personas físicas).
- Trabaja con el último archivo público del padrón, no con la Oficina Virtual en tiempo real.
¿Comentarios o casos de uso? Déjelos abajo. Herramienta: https://apify.com/opendata-cr/dominican-rnc-validator
Top comments (0)