No descargues el padrón.
Preguntale.
Consultá por HTTP la alícuota de ingresos brutos de un CUIT para una jurisdicción, un régimen y una fecha. Cada respuesta trae su período, versión y vigencia.
Respuesta
HTTP 200Demo sintéticaAlícuota 2,50 %, padrón iibb-ba, período 2026-11.
2,50 %Alícuota del padrón para este CUIT en la fecha consultada.
- Padrón
iibb-ba- Período
- 2026-11
- Versión
sintetico-2026-11- Vigencia
- 01/11/2026 – 30/11/2026
Ver JSON
{
"data": {
"status": "found",
"found": true,
"registry": "iibb-ba",
"cuit": "20123456786",
"date": "2026-11-04",
"period": "2026-11",
"version": "sintetico-2026-11",
"rate": 2.5,
"validFrom": "2026-11-01",
"validTo": "2026-11-30"
}
}El problema
Cada provincia publica su padrón en su propio formato, cada mes. Los equipos los descargan, los interpretan, cargan millones de filas y resuelven vigencias a mano. Coco Padrones los carga, los versiona y responde cada consulta por HTTP.
Cada respuesta dice de dónde salió
Padrón, período, versión del snapshot y vigencia viajan con la alícuota. Guardalos con el comprobante y vas a poder mostrar de dónde salió cada percepción o retención.
- Padrón
iibb-ba - Período
2026-11 - Snapshot
sintetico-2026-11 - Vigencia
01/11 – 30/11 - Alícuota
valor sintético
Cero, ausente y sin publicar no son lo mismo
Un 0 % es una respuesta válida. Un CUIT que no figura es una ausencia confirmada. Un período sin publicar nunca se presenta como resultado.
- 200EncontradoAlícuota, período, versión del snapshot y vigencia. Un 0 % es un resultado válido.
- 200No encontradoEl CUIT no figura en ese padrón para ese período. Ausencia confirmada, no un error.
- 400Cobertura no soportadaLa combinación de jurisdicción y régimen no está disponible.
- 409Clave reutilizadaLa misma Idempotency-Key llegó con otros parámetros.
- 429Cuota agotadaSe consumió la cuota mensual del cliente.
- 503Período sin publicarEl padrón de ese período todavía no se publicó o no está disponible.
Una llamada, cuatro parámetros
GET /v1/alicuotas con CUIT, fecha, jurisdicción y régimen, más tu token y una Idempotency-Key. El ejemplo usa la consulta que armaste arriba.
curl -G "$COCO_API_URL/v1/alicuotas" \
-H "Authorization: Bearer $COCO_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-d cuit=20123456786 -d fecha=2026-11-04 \
-d jurisdiccion=ba -d regimen=percepcionHecho para sistemas que facturan
Credenciales por cliente
Bearer token y permisos por padrón. Cada cliente ve solo lo suyo.
CUIT fuera de los logs
Se registran estado y padrón, nunca el contribuyente consultado.
Reintentos idempotentes
La misma Idempotency-Key con los mismos parámetros no consume dos veces.
Snapshots versionados
Cada respuesta nombra el padrón, el período y la versión que la resolvió.
Siete jurisdicciones, dos regímenes
Es la cobertura de la versión en desarrollo. Para saber qué admite cada entorno, consultá GET /v1/cobertura.
| Jurisdicción | Percepción | Retención |
|---|---|---|
| Buenos Aires | iibb-ba | ret-iibb-ba |
| CABA | iibb-caba | ret-iibb-caba |
| Córdoba | iibb-cba | ret-iibb-cba |
| Tucumán | iibb-tucuman | ret-iibb-tucuman |
| Entre Ríos | iibb-entre-rios | ret-iibb-entre-rios |
| Santa Fe | iibb-santa-fe | ret-iibb-santa-fe |
| Salta | iibb-salta | ret-iibb-salta |
Preguntas frecuentes
¿De dónde salen las alícuotas?
De los padrones que publica cada jurisdicción, cargados como snapshots versionados. Cada respuesta dice de qué padrón, período y versión salió.
¿Qué pasa si el CUIT no figura?
La API responde 200 con status not_found: es una ausencia confirmada, distinta de un error o de un período sin publicar (503).
¿Puedo reintentar sin que se cobre dos veces?
Sí. Cada consulta lleva una Idempotency-Key; un reintento con la misma clave y los mismos parámetros no se cuenta de nuevo.
¿Guardan los CUIT que consulto?
La API no registra el CUIT en sus logs. El consumo se cuenta por cliente.
Dejá de mantener padrones.
Coco Padrones está en desarrollo: hoy funciona en local con datos sintéticos y todavía no tiene planes ni precios definidos.