Tesorería General de la República
Los convenios de pago de una empresa con la Tesorería: resoluciones, estado de pago, cuotas pagadas y por pagar, y deudas acogidas, con la Clave Tributaria del SII.
Con la Clave Tributaria del SII de la empresa, tgr sincroniza las pantallas de convenios de la Tesorería General de la República hacia el plano persistido de Connect, y cuatro tools de consulta las leen de ahí sin volver a entrar al portal. El conn_… de la conexión dice qué empresa lees y viaja en toda llamada (en REST, el header X-Connect-Connection).
Qué necesitas para conectar
En el enlace de conexión la persona entrega la Clave Tributaria de la empresa, la misma con que entra a sii.cl:
| Campo | Qué es |
|---|---|
| RUT de la empresa | El contribuyente cuyos convenios se van a leer. |
| Clave tributaria | La clave del SII de ese RUT. |
El portal de la Tesorería también acepta Clave Tesorería y ClaveÚnica; esta conexión usa solo la Clave Tributaria. El acceso solo lee: nunca paga, pacta ni modifica un convenio, y desde el dashboard se revoca en el acto.
El alcance
Hay un alcance, convenios, que en un mismo login lee tres pantallas del portal y, desde cada fila, el detalle del convenio. Cada una tiene su tool:
| Pantalla del portal | Qué trae | Tool que la lee |
|---|---|---|
| Estado de pago de convenio | Los convenios activos, con tipo, número de cuotas y fecha de término | tgr.convenios.consultar |
| Cuotas convenios vigentes | Los convenios activos y las propuestas aceptadas, con su número de cuotas | tgr.convenios_cuotas.consultar |
| Comprobante de resolución | Las resoluciones que otorgaron cada beneficio, con fecha de resolución y de activación | tgr.resoluciones.consultar |
| El detalle que abre cada fila | Cada cuota con su vencimiento, monto y si está pagada; la próxima por pagar; el total; y las deudas acogidas con su condonación | tgr.convenios_detalle.consultar |
El número de resolución identifica al convenio en las tres pantallas y en su detalle: es la llave para cruzarlas. Las cuatro tools aceptan el filtro numeroResolucion.
Sincronizar
curl -X POST https://connect.emisso.ai/api/v1/tools/tgr.conexion.sincronizar/execute \
-H "Authorization: Bearer connect_sk_..." \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{}}'Respuesta:
{
"data": { "periodo": "2026-10", "estado": "encolado", "jobId": "sjb_3h5j7k9m1n2p4q6r8s0t1", "yaEnCurso": false },
"meta": { "request_id": "req_...", "tool_id": "tgr.conexion.sincronizar", "plane": "read" }
}La llamada vuelve al instante con estado: "encolado" y un jobId; el resultado de la corrida llega por webhook o en el estado de la conexión. Connect además sincroniza solo una vez al día.
Las pantallas son el estado actual de la empresa ante la Tesorería, no un historial por mes: periodo es opcional y solo organiza la ejecución. Un período que no es el corriente no vuelve a consultar el portal.
Consultar
curl -X POST https://connect.emisso.ai/api/v1/tools/tgr.convenios.consultar/execute \
-H "Authorization: Bearer connect_sk_..." \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{}}'Respuesta de una empresa sin convenios activos:
{
"data": { "convenios": [], "pantallaLeidaEn": "2026-10-02T14:02:11.000Z", "cursor": null },
"meta": { "request_id": "req_...", "tool_id": "tgr.convenios.consultar", "plane": "action" }
}Cada fila trae los campos derivados (fechas en AAAA-MM-DD, cuotas como número) y, en celdas, el texto original de la Tesorería por columna. Si un campo derivado viene en null, el texto está ahí.
El detalle: cuotas, pagos y deudas
tgr.convenios_detalle.consultar responde cuánto se debe y cuándo vence lo siguiente. Filtra por numeroResolucion para ver un convenio:
curl -X POST https://connect.emisso.ai/api/v1/tools/tgr.convenios_detalle.consultar/execute \
-H "Authorization: Bearer connect_sk_..." \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{"numeroResolucion":"4455667"}}'Respuesta (datos ficticios, con las cuotas recortadas):
{
"data": {
"convenios": [{
"numeroResolucion": "4455667",
"tipoConvenio": "Ley 20.780 Fiscal",
"tipoPago": "CONVENIO CON CONDONACION",
"numeroCuotas": 3,
"cuotasPagadas": 1,
"montoCuotaContado": 250000,
"totalAPagar": 600000,
"proximaCuota": { "numero": 2, "fechaVencimiento": "2026-04-30", "monto": 175000 },
"cuotas": [
{ "numero": 1, "fechaVencimiento": "2026-03-31", "monto": 250000, "tipo": "Cuota contado", "pagada": true },
{ "numero": 2, "fechaVencimiento": "2026-04-30", "monto": 175000, "tipo": "Cuota normal", "pagada": false },
{ "numero": 3, "fechaVencimiento": "2026-05-31", "monto": null, "tipo": "Cuota de ajuste", "pagada": false }
],
"deudas": [{ "tipo": "FISCAL", "formulario": "22", "folio": "998877665", "condonacionIntereses": 40, "condonacionMultas": 40, "totalAPagar": 600000 }]
}],
"pantallaLeidaEn": "2026-10-04T14:02:11.000Z",
"cursor": null
},
"meta": { "request_id": "req_...", "tool_id": "tgr.convenios_detalle.consultar", "plane": "action" }
}Los montos son pesos enteros. proximaCuota es la primera que la Tesorería no registra pagada; Connect no la marca como vencida, porque eso depende de la fecha en que leas.
Verdades operativas
Una lista vacía tiene dos lecturas, y pantallaLeidaEn las separa
Las cuatro tools devuelven pantallaLeidaEn: cuándo se leyó esa pantalla (o el detalle) por última vez.
- Con fecha y sin filas: la Tesorería mostró la pantalla vacía. La empresa no tiene convenios ahí.
- En
null: la pantalla todavía no se ha leído. Sincroniza antes de concluir nada.
Lo que sale de la pantalla deja de aparecer
Cada sincronización reemplaza lo que se ve de cada pantalla. Un convenio que terminó y ya no aparece en el portal deja de salir en la consulta en la sincronización siguiente; observadoEn dice cuándo se vio cada fila por última vez.
La cuota de ajuste no tiene monto hasta que la Tesorería la liquida
La última cuota de un convenio se calcula después de pagar la penúltima. Mientras tanto tgr.convenios_detalle.consultar la devuelve con monto: null, aunque el portal pinte un 0 en una de sus pantallas: ese cero no es lo que se debe. Un detalle que el portal no enlazó desde una fila deja su parte en null (por ejemplo, pagada sin la pantalla de cuotas).
Una fila que Connect no reconoce detiene la sincronización
Si el portal cambia las columnas de una pantalla o publica una fila con otra forma, la sincronización falla con upstream_unexpected_response en vez de guardar una lectura parcial. Nunca vas a recibir una lista vacía que en realidad era un error de lectura.
Errores que vas a ver
| Código | Qué significa | Qué hacer |
|---|---|---|
428 connection_credential_required | El SII rechazó la Clave Tributaria: incorrecta, bloqueada, caducada o pendiente de actualizar. El marcador dice cuál. | Emite un enlace de reconexión y pide la clave de nuevo. No reintentes con la anterior: cada intento fallido cuenta para el bloqueo del SII. |
428 connector_onboarding_required | El SII pide que una persona haga algo antes de seguir, como comprobar su identidad. | Que la persona entre una vez a sii.cl con esa clave y luego vuelve a sincronizar. |
409 connection_identity_mismatch | La Tesorería abrió los convenios de otro RUT. | Revisa que la clave sea la de la empresa conectada. |
502 upstream_error | La Tesorería o el SII fallaron de forma transitoria. | Reintenta más tarde. La sincronización programada lo reintenta sola. |
502 upstream_unexpected_response | El portal cambió una pantalla o el camino del login. | Avísanos: hay que actualizar el conector. |
El envelope de cada código está en el catálogo de errores.
Próximos pasos
- Las seis tools, con contrato completo: referencia de
tgr. - La separación entre escribir la caché y leerla: Sincronizar y consultar.
Previred
Planillas de cotizaciones pagadas, el desglose por trabajador, la deuda previsional y el archivo para el F30-1, sincronizados a la caché de Connect. Con el comprobante en PDF.
Mercado Público
Pide una licitación por su ID y recibe sus adjuntos (bases, anexos, resoluciones) en PDF, Word, Excel o imagen, con enlaces de descarga. Sin clave: la conexión sólo pide la empresa.