UIF — Sanciones: partes
Personas y empresas sancionadas por la UIF, con CUIT/DNI validado.
RegulatorioPLA/FT — AML
Qué incluye
- 27 columnas documentadas
- Formato Parquet y CSV
- Cobertura 2010 a presente
- Actualización mensual
- Acceso por descarga, API y MCP
- Schema versionado y trazable a la fuente
Casos de uso
- ¿Figura esta persona o empresa (por CUIT/DNI exacto) como sancionada en una resolución UIF?
- ¿Qué directores u oficiales de cumplimiento fueron sancionados junto con una entidad?
- ¿Qué montos de multa impuso la UIF y a qué personas/entidades?
- ¿Hay CUITs publicados por la UIF con dígito verificador inválido (error de fuente)?
- ¿Qué partes fueron absueltas (total o parcialmente) en cada acto?
- ¿Qué filas requieren revisión manual antes de confiar en su clasificación/identificador?
Columnas27
| Columna | Tipo | Descripción | Unidad |
|---|---|---|---|
| parte_id | String | Clave primaria determinística (sha1 de acto_url|nombre|cuit_o_dni, 16 hex). Estable → upsert idempotente. | — |
| acto_url | String | URL del PDF de la resolución sancionatoria. Clave de join con data_uif_pla_ft_sanciones.acto_url. | — |
| acto | String | Referencia humana del acto sancionatorio (ej. 'RESAP UIF N°05/26'), tal como figura en data_uif_pla_ft_sanciones. | — |
| expediente | String | Número de expediente, extraído verbatim del PDF (auxiliar de auditoría). | — |
| resolucion | String | Identificación de la resolución tal como figura en el PDF (auxiliar de auditoría; puede duplicar `acto`). | — |
| nombre | String | Nombre completo o razón social de la parte, tal como figura en la dispositiva. | — |
| tipo | String | 'fisica' (persona humana) o 'juridica' (sociedad/entidad). | — |
| cuit | String | CUIT canónico (11 dígitos sin separadores) extraído verbatim del PDF. Null si la parte no tiene CUIT en el texto (típico de directores, sólo DNI). Validar con cuit_valido. | — |
| dni | String | DNI, SIEMPRE 8 dígitos (relleno con 0 a la izquierda si el documento traía 7 — es la forma que el CUIT de persona física define, dígitos 3-10, Ley 11.683; misma forma que usan el informe por CUIT y el grafo). El containment verbatim contra el PDF se chequea con los dígitos tal como aparecen en el documento, ANTES del relleno. Null si no figura o no tiene forma válida. Sin dígito verificador propio — ver dni_baja_confianza; si hay CUIT de persona física en la misma fila, sí se valida contra el DNI que ese CUIT embebe (revisar si no coincide). | — |
| rol | String | Rol/cargo de la parte según el texto (ej. 'oficial de cumplimiento', 'miembro del órgano de administración', 'sujeto obligado'). Null si no se indica. | — |
| clasificacion | String | 'sancionado' o 'absuelto'. Taxonomía de negocio vigente — es lo que decide el pipeline de extracción (ver disposicion para el campo derivado/legacy). | — |
| absuelto_parcialmente | Boolean | true si, dentro de la MISMA resolución, la parte está absuelta de un cargo y sancionada de otro (va clasificacion='sancionado' + este flag). Siempre implica revisar=true. | — |
| disposicion | String | DERIVADO de clasificacion+monto_multa: 'sancionado_multa', 'responsable', 'absuelto' (más 'prescripto'/'fallecido'/'sobreseido', valores legacy que el pipeline vigente ya no emite). Se mantiene por compatibilidad con un consumidor interno del grafo de entidades — no usar como fuente de verdad para código nuevo. | — |
| monto_multa | Float64 | Monto de la multa en pesos (ARS, unidades base). Null si a la parte no se le impone multa. | — |
| cuit_valido | Boolean | True/False según el dígito verificador IRAM 5160 del CUIT final (tras reparación si hizo falta). Null si la parte no tiene CUIT resuelto. | — |
| cuit_origen | String | Cómo se obtuvo el CUIT final: 'leido' (verbatim, sin intervención), 'reparado_homoglifo' (letra confundible con un dígito corregida porque el candidato pasa módulo 11), 'reconciliado_multiples_citas' (el documento citaba el mismo CUIT más de una vez con caracteres distintos; se resolvió con certeza). Null si no hay CUIT. | — |
| dni_origen | String | Cómo se obtuvo el DNI final: 'leido' (verbatim) o 'reconstruido_desde_cuit' (derivado de los dígitos 3-10 de un CUIT de persona física ya validado, Ley 11.683 — certeza matemática). Null si no hay DNI. | — |
| identificador_variantes | String | Citas crudas del identificador vistas en el documento cuando hubo más de una (reconciliadas o no) — auditoría de la reparación. Null si sólo hubo una cita. | — |
| identidad_corroborada_por | String | Fuente(s) externa(s) (arca/rns/igj/bora_cuit por CUIT, bora_dni por DNI — separadas por coma) cuyo nombre registrado para el identificador coincide con el extraído del PDF — corroboración independiente. bora_* = data_gold_sociedades_personas, la única fuente que alcanza a personas físicas (por dni). Null si ninguna fuente lo confirma (match exacto de tokens tras normalizar; un nombre incompleto o una denominación truncada por la fuente no cuenta como no-corroboración, queda null también). NUNCA se usa para poner un identificador que el PDF no trae — es sólo verificación. | — |
| cita_articulo | String | Frase verbatim (máx ~200 caracteres) del artículo dispositivo que sustenta la clasificación — evidencia de auditoría, no pensada para mostrar al cliente final. | — |
| cita_verbatim | Boolean | true si cita_articulo aparece literal en el texto (tolerando pies de página interpuestos por saltos de página). Informativo — NO dispara revisar. | — |
| revisar | Boolean | true cuando el identificador NO resolvió con certeza (forma inválida, no verbatim, módulo 11 fallido, más de un candidato tras reconciliar), DNI de OCR sin corroborar, DNI/CUIT algebraicamente inconsistentes, dispositiva no ubicada, o clasificación posiblemente ambigua. Ver revisar_motivo. absuelto_parcialmente y cita_verbatim=false NO disparan este flag. | — |
| revisar_motivo | String | Explicación en texto de por qué revisar=true. Null cuando revisar=false. | — |
| fuente_texto | String | 'nativo' (capa de texto digital del PDF) o 'ocr' (render + reconocimiento local, PDF escaneado sin capa de texto, ~15% del corpus). | — |
| dni_baja_confianza | Boolean | true cuando dni no es null y fuente_texto='ocr'. El DNI no tiene dígito verificador — un DNI mal reconocido por OCR no lo caza ningún invariante de forma; para screening de alto impacto, confirmar contra el PDF. | — |
| extraccion_modelo | String | Modelo LLM usado para extraer las partes (provenance/reproducibilidad). | — |
| snapshot_date | Date | Fecha del snapshot (AR-universal). Discrimina re-extracciones. | ISO 8601 YYYY-MM-DD |