Dígito de control UTR Reino Unido
Calcule o compruebe el primer dígito de un UTR del Reino Unido: el cuerpo 123456789 da el dígito de control 1, así que el UTR completo es 1123456789. Detecte una referencia mal tecleada antes de que llegue a un formulario o una importación. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Número
- 123456789
- Modo de cálculo
- Compute
- Entrada
- 123456789
- Dígito de control
- 1
- Con dígito de control
- 1123456789
- Suma ponderada
- 230
El Unique Taxpayer Reference (UTR) es el identificador de diez dígitos que HM Revenue and Customs emite a personas y empresas para Self Assessment e impuesto de sociedades. El dígito inicial no es aleatorio: es un dígito de control derivado de los nueve dígitos del cuerpo con pesos posicionales fijos y una tabla de restos módulo once. Un error al teclear un solo dígito del cuerpo casi siempre cambia el control exigido, de modo que formularios e importaciones masivas pueden rechazar UTR imposibles antes de llegar a las pasarelas de HMRC. Esta capacidad calcula ese dígito de control inicial a partir de un cuerpo de nueve dígitos que usted ya posee, o valida un UTR completo de diez dígitos e indica si el control almacenado coincide con la tabla de restos ponderados.
Cómo funcionan el dígito de control del UTR del Reino Unido y la tabla de restos
Según la construcción de estilo HMRC ampliamente documentada entre contables y proveedores de software, un Unique Taxpayer Reference estándar tiene diez dígitos decimales. El primero es el dígito de control; los nueve siguientes son el cuerpo. Cada dígito del cuerpo se multiplica por un peso fijo de la secuencia seis, siete, ocho, nueve, diez, cinco, cuatro, tres, dos de izquierda a derecha.
Esos nueve productos se suman y la suma se reduce módulo once para obtener un resto entre cero y diez.
Una tabla de restos asigna ese resto a un único dígito de control: el resto cero corresponde al control cero; el resto uno se rechaza porque once menos uno es diez, que no cabe en una sola cifra decimal y nunca se emite como cuerpo legal de UTR; los restos de dos a diez se asignan a los controles de nueve a uno, la misma regla que once menos el resto cuando el resultado no es diez.
La validación recalcula el dígito inicial esperado a partir de los nueve dígitos del cuerpo y lo compara con el primer dígito de la cadena de diez dígitos enviada. Ese diseño no es Luhn, ni Damm, ni el ISO 7064 MOD 11-2 puro: es un esquema de módulo once con pesos fijos y control en posición inicial, no final.
Frente a dígitos de control de códigos de barras como EAN o UPC, la regla del UTR no está atada a un diseño de GTIN minorista y siempre coloca el control al frente. Frente a esquemas como el Steuer-ID alemán o el personnummer sueco, el alfabeto sigue siendo solo dígitos y el vector de pesos es exclusivo de esta referencia fiscal. Úselo solo para higiene de formato; un control superado no prueba que HMRC haya emitido el número, que pertenezca a una persona concreta ni que una declaración esté autorizada.
Dónde encajan los dígitos de control del UTR del Reino Unido en sistemas reales
Los despachos de contabilidad y los proveedores de software fiscal necesitan un oráculo compartido que coincida con la tabla de restos ponderados usada en macros de hojas de cálculo y herramientas de escritorio heredadas, para que un UTR mal tecleado falle en la entrada de datos y no en el envío a HMRC.
Los productos de fintech y nóminas que recogen referencias de Self Assessment para autónomos pueden validar al perder el foco y mostrar el dígito inicial esperado cuando el control tecleado no coincide, reduciendo tickets de soporte por declaraciones rechazadas. Los flujos de secretaría societaria y constitución guardan UTR de impuesto de sociedades junto a números de Companies House y pueden validar por lotes cada columna de diez dígitos de un CSV de socio antes de una carga masiva.
Las pruebas de integración y los trabajos de calidad de datos recalculan el dígito de control esperado en cada fila y marcan aquellas cuyo valor completo almacenado ya no coincide, lo que caza tanto ediciones humanas como errores de desfase por uno en los generadores. Los equipos de producto que ya usan Luhn en campos tipo tarjeta o ISO 7064 en otros identificadores nacionales pueden adoptar este esquema cuando una especificación de referencia fiscal del Reino Unido exija el control ponderado inicial.
Documente que almacena un UTR del Reino Unido junto al número para no mezclarlo con números de National Insurance, de IVA o CRN de Companies House sin darse cuenta. No use esta herramienta para inventar identidades fiscales falsas con fines de fraude; es solo una comprobación de formato y no contacta con HMRC.
Qué puede hacer con ella
Auditar columnas de UTR de Self Assessment en lote
Valide por lotes todos los UTR de diez dígitos de una exportación de cliente o un volcado de CRM y ponga en cuarentena las filas cuyo dígito de control inicial ya no coincida con la tabla de restos ponderados.
Preguntas frecuentes
¿Qué es el dígito de control de un UTR del Reino Unido?
Es el dígito inicial de un Unique Taxpayer Reference de diez dígitos, calculado a partir de los nueve dígitos del cuerpo con pesos 6,7,8,9,10,5,4,3,2 y una tabla de restos módulo once (11 − resto, con resto 0 → 0 y resto 1 nunca emitido).
¿Qué ocurre con letras, espacios o longitud incorrecta?
Compute exige exactamente nueve dígitos; validate exige exactamente diez. Las tareas de validación fallidas no se facturan.
¿Es gratuita la herramienta de dígito de control del UTR del Reino Unido?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cómo se calcula el dígito de control de un UTR del Reino Unido?
Multiplique los nueve dígitos del cuerpo por 6, 7, 8, 9, 10, 5, 4, 3 y 2, sume los productos y tome el resto de dividir entre 11. El resto 0 da 0; los restos 2 a 10 dan 9 a 1. Con 123456789, la suma es 230, el resto 10 y el dígito 1.
¿Un dígito de control correcto prueba que el UTR es auténtico?
No. Solo indica que el número está bien formado. Que pase la comprobación no demuestra que HMRC lo haya emitido, que pertenezca a una persona concreta ni que una declaración esté autorizada; sirve para atrapar errores de tecleo a tiempo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/utr-uk \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/utr-uk", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/utr-uk",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/utr-uk", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/utr-uk", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"number": "123456789"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.utr_uk",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Entrada no numérica, longitudes incorrectas y cuerpos que exigirían un valor de control de dos dígitos fallan con un error claro invalid_input. Ejecútela gratis en el navegador o llame a la API del KIT al precio publicado; ambas vías comparten la misma aritmética pura, sin red y sin datos de contribuyentes almacenados.
Cómo funcionan el dígito de control del UTR del Reino Unido y la tabla de restos
Esta herramienta siempre nombra el algoritmo como uk-utr-weights-mod11 en el JSON para que los sistemas posteriores registren qué esquema protegió el valor.
Cómo calcular un dígito de control o validar un UTR completo
Envíe un campo number que contenga solo caracteres del cero al nueve tras eliminar espacios o guiones opcionales. Cadenas vacías, number ausente, valores de mode no válidos, nueve dígitos en validate y diez en compute fallan antes de completar el recorrido y no se facturan. Prefiera compute al completar un cuerpo que usted ya controla; prefiera validate cuando un usuario, un escáner o una columna CSV aporte un UTR de diez dígitos y necesite una puerta booleana antes de buscar el registro. Letras, puntos decimales, notación científica y otra puntuación se rechazan como entrada no numérica con invalid_input, de modo que nunca acepte en silencio una cadena basura «limpiada». El modo compute es el predeterminado: proporcione exactamente nueve dígitos de cuerpo y el motor devuelve check_digit como cadena de un carácter, with_check como el UTR de diez dígitos con el control al inicio, más weighted_sum y remainder para pistas de auditoría. El modo validate espera un UTR completo de diez dígitos: la respuesta indica valid verdadero cuando el dígito inicial coincide con el valor de la tabla de restos del cuerpo, e incluye siempre check_digit, body sin el dígito inicial, weighted_sum, remainder y expected_check_digit cuando existe un valor esperado legal. Los cuerpos cuya suma ponderada deja resto uno no pueden producir un control de un solo dígito: compute los rechaza con invalid_input y validate informa valid falso. Como la ruta es un análisis puro sin reloj, fuente aleatoria ni red, la misma entrada siempre produce el mismo JSON en la herramienta gratuita del navegador y en la API. A $0.002 por solicitud correcta usted puede proteger importaciones masivas de CRM, formularios de alta de Self Assessment y auditorías de ficheros de socios sin negociar un nivel a medida.
Dónde encajan los dígitos de control del UTR del Reino Unido en sistemas reales
En cada flujo el contrato es el mismo: nueve dígitos de cuerpo para compute o diez para validate, JSON estructurado que usted puede someter a pruebas de referencia, comportamiento idéntico gratis en el navegador o con saldo prepago del KIT, y un fallo honesto cuando la entrada no es numérica o tiene longitud incorrecta.
Casos de integración
Completar un cuerpo UTR de nueve dígitos con su dígito de control
Cuando su sistema conserve los nueve dígitos del cuerpo de un Unique Taxpayer Reference, llame al modo compute y almacene with_check para que cada registro lleve un UTR de diez dígitos bien formado antes de imprimir formularios o cartas.
Validar UTR completos tecleados o importados en la entrada
Cuando un usuario o una fila CSV envíe un UTR de diez dígitos, llame al modo validate y bloquee la búsqueda cuando valid sea falso, mostrando opcionalmente expected_check_digit para ayudar a corregir una sola errata.
Preguntas técnicas
¿Cómo se calcula un dígito de control de UTR con esta API?
Haga POST con number igual a los nueve dígitos del cuerpo y mode compute (u omita mode). La respuesta incluye check_digit, with_check (control inicial más cuerpo), weighted_sum y remainder.
¿Cómo se valida un Unique Taxpayer Reference completo?
Haga POST con el UTR completo de diez dígitos (espacios o guiones opcionales) y mode validate. La respuesta incluye valid, check_digit, expected_check_digit cuando proceda, body, weighted_sum y remainder.