UK-UTR-Prüfziffer
Berechnen oder prüfen Sie die erste Ziffer einer britischen UTR: Aus den neun Ziffern 123456789 folgt die Prüfziffer 1, die vollständige UTR lautet also 1123456789. So fallen Tippfehler auf, bevor sie in ein Formular oder einen Import gelangen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Zahl
- 123456789
- Berechnungsmodus
- Compute
- Eingabe
- 123456789
- Prüfziffer
- 1
- Mit Prüfziffer
- 1123456789
- Gewichtete Summe
- 230
Die Unique Taxpayer Reference (UTR) ist die zehnstellige Kennung, die HM Revenue and Customs an Personen und Unternehmen für Self Assessment und Körperschaftsteuer vergibt. Die führende Ziffer ist nicht zufällig: Sie ist eine Prüfziffer, abgeleitet aus den neun Rumpfziffern mit festen Positionsgewichten und einer Restwerttabelle modulo elf. Ein Tippfehler in einer einzigen Rumpfziffer ändert fast immer die geforderte Prüfziffer, sodass Formulare und Stapelimporte unmögliche UTRs ablehnen können, bevor sie die HMRC-Gateways erreichen. Diese Fähigkeit berechnet jene führende Prüfziffer aus einem neunstelligen Rumpf, den Sie bereits besitzen, oder prüft eine vollständige zehnstellige UTR und meldet, ob die gespeicherte Prüfziffer zur gewichteten Restwerttabelle passt.
So funktionieren die britische UTR-Prüfziffer und die Restwerttabelle
Nach der weithin dokumentierten HMRC-ähnlichen Konstruktion, die Buchhalter und Softwareanbieter nutzen, hat eine standardmäßige Unique Taxpayer Reference zehn Dezimalziffern. Die erste ist die Prüfziffer; die nächsten neun bilden den Rumpf. Jede Rumpfziffer wird mit einem festen Gewicht aus der Folge sechs, sieben, acht, neun, zehn, fünf, vier, drei, zwei von links nach rechts multipliziert.
Diese neun Produkte werden summiert, und die Summe wird modulo elf reduziert, um einen Rest von null bis zehn zu erhalten. Eine Restwerttabelle ordnet diesen Rest einer einzelnen Prüfziffer zu: Rest null entspricht Prüfziffer null; Rest eins wird abgelehnt, weil elf minus eins zehn ergibt, was nicht in eine Dezimalstelle passt und nie als legaler UTR-Rumpf ausgegeben wird; Reste zwei bis zehn entsprechen Prüfziffern neun bis eins — dieselbe Regel wie elf minus Rest, wenn das Ergebnis nicht zehn ist.
Die Prüfung berechnet die erwartete führende Ziffer aus den neun Rumpfziffern neu und vergleicht sie mit der ersten Ziffer der eingereichten zehnstelligen Zeichenkette. Im Vergleich zu Barcode-Prüfziffern wie EAN oder UPC ist die UTR-Regel nicht an ein Einzelhandels-GTIN-Layout gebunden und setzt die Prüfung immer vorn. Nutzen Sie es nur zur Formatpflege; eine bestandene Prüfung beweist nicht, dass HMRC die Nummer ausgegeben hat, dass sie einer bestimmten Person gehört oder dass eine Steuererklärung autorisiert ist.
Wo britische UTR-Prüfziffern in realen Systemen Platz finden
Kanzleien und Steuer-Softwareanbieter brauchen ein gemeinsames Orakel, das der gewichteten Restwerttabelle aus Tabellenmakros und Legacy-Desktop-Tools entspricht, damit eine vertippte UTR bei der Datenerfassung scheitert und nicht bei der HMRC-Einreichung. Fintech- und Lohnprodukte, die Self-Assessment-Referenzen für Selbständige erfassen, können beim Fokusverlust prüfen und die erwartete führende Ziffer anzeigen, wenn die getippte Prüfung nicht passt, und so Support-Tickets zu abgelehnten Einreichungen senken. Gesellschaftssekretariats- und Gründungsabläufe speichern Körperschaftsteuer-UTRs neben Companies-House-Nummern und können jede zehnstellige Spalte in einer Partner-CSV vor einem Massenupload stapelweise prüfen.
Integrationstests und Datenqualitätsjobs berechnen die erwartete Prüfziffer für jede Zeile neu und markieren Zeilen, deren gespeicherter Vollwert nicht mehr passt — das fängt sowohl menschliche Edits als auch Off-by-one-Fehler in Generatoren. Dokumentieren Sie, dass Sie eine britische UTR neben der Nummer speichern, damit Sie sie nicht unbemerkt mit National-Insurance-Nummern, USt-IdNrn. oder Companies-House-CRNs vermischen. Verwenden Sie dieses Werkzeug nie, um gefälschte Steuerzahleridentitäten für Betrug zu erfinden; es ist nur eine Formatprüfung und kontaktiert HMRC nicht.
Anwendungsfälle
Self-Assessment-UTR-Spalten stapelweise prüfen
Prüfen Sie stapelweise jede zehnstellige UTR in einem Kundenexport oder CRM-Dump und stellen Sie Zeilen unter Quarantäne, deren führende Prüfziffer nicht mehr zur gewichteten Restwerttabelle passt.
Häufige Fragen
Was ist eine britische UTR-Prüfziffer?
Es ist die führende Ziffer einer zehnstelligen Unique Taxpayer Reference, berechnet aus den neun Rumpfziffern mit den Gewichten 6,7,8,9,10,5,4,3,2 und einer Restwerttabelle modulo elf (11 − Rest, mit Rest 0 → 0 und Rest 1 nie ausgegeben).
Was passiert bei Buchstaben, Leerzeichen oder falscher Länge?
Compute verlangt genau neun Ziffern; validate verlangt genau zehn. Fehlgeschlagene Prüfaufgaben werden nicht abgerechnet.
Wie wird die Prüfziffer einer britischen UTR berechnet?
Multiplizieren Sie die neun Ziffern mit 6, 7, 8, 9, 10, 5, 4, 3 und 2, addieren Sie die Produkte und nehmen Sie den Rest der Division durch 11. Rest 0 ergibt 0, die Reste 2 bis 10 ergeben 9 bis 1. Bei 123456789: Summe 230, Rest 10, Prüfziffer 1.
Beweist eine korrekte Prüfziffer, dass eine UTR echt ist?
Nein. Sie zeigt nur, dass die Nummer richtig aufgebaut ist. Eine bestandene Prüfung belegt nicht, dass HMRC sie vergeben hat, dass sie einer bestimmten Person gehört oder dass eine Steuererklärung autorisiert ist; sie fängt vor allem Tippfehler ab.
Warum bekommen manche neunstelligen Zahlen keine Prüfziffer?
Weil ihr Rest 1 ist: Elf minus eins ergibt zehn, und das passt nicht in eine einzige Ziffer. Solche Zahlen werden nie als UTR vergeben, deshalb meldet das Werkzeug sie als ungültig, statt eine Ziffer zu erfinden.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"number": "123456789"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.utr_uk",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Nichtnumerische Eingabe, falsche Längen und Rümpfe, die einen zweistelligen Prüfwert erfordern würden, scheitern mit einem klaren invalid_input-Fehler. Führen Sie sie kostenlos im Browser aus oder rufen Sie die KIT-API zum veröffentlichten Preis auf; beide Pfade teilen dieselbe reine Arithmetik ohne Netz und ohne gespeicherte Steuerzahlerdaten.
So funktionieren die britische UTR-Prüfziffer und die Restwerttabelle
Dieses Design ist weder Luhn noch Damm noch reines ISO 7064 MOD 11-2: Es ist ein Festgewichts-Modulo-elf-Schema mit führender statt nachgestellter Prüfstelle. Im Vergleich zu deutschem Steuer-ID- oder schwedischem Personnummer-Schema bleibt das Alphabet rein ziffernbasiert, und der Gewichtsvektor ist einzigartig für diese Steuerreferenz. Dieses Werkzeug benennt den Algorithmus im JSON stets als uk-utr-weights-mod11, damit nachgelagerte Systeme festhalten können, welches Schema den Wert schützte.
So berechnen Sie eine Prüfziffer oder prüfen eine vollständige UTR
Senden Sie ein number-Feld, das nach dem optionalen Entfernen von Leerzeichen oder Bindestrichen nur die Zeichen null bis neun enthält. Leere Zeichenketten, fehlendes number, ungültige mode-Werte, neun Ziffern in validate und zehn in compute scheitern vor Abschluss des Durchlaufs und werden nicht abgerechnet. Bevorzugen Sie compute, wenn Sie einen Rumpf vervollständigen, den Sie bereits steuern; bevorzugen Sie validate, wenn ein Benutzer, Scanner oder eine CSV-Spalte eine zehnstellige UTR liefert und Sie vor dem Nachschlagen des Datensatzes ein boolesches Tor brauchen. Buchstaben, Dezimalpunkte, wissenschaftliche Notation und andere Interpunktion werden als nichtnumerische Eingabe mit invalid_input abgelehnt, damit Sie nie stillschweigend eine bereinigte Müllzeichenkette akzeptieren. Der Modus compute ist der Standard: Geben Sie genau neun Rumpfziffern an, und die Engine liefert check_digit als ein Zeichen lange Zeichenkette, with_check als zehnstellige UTR mit vorangestellter Prüfziffer sowie weighted_sum und remainder für Audit-Spuren. Der Modus validate erwartet eine vollständige zehnstellige UTR: Die Antwort meldet valid true, wenn die führende Ziffer dem Restwerttabellenwert des Rumpfs entspricht, und enthält stets check_digit, body ohne die führende Ziffer, weighted_sum, remainder und expected_check_digit, wenn ein legaler Erwartungswert existiert. Rümpfe, deren gewichtete Summe Rest eins hinterlässt, können keinen einstelligen Prüfwert erzeugen: compute lehnt sie mit invalid_input ab, validate meldet valid false. Da der Pfad reines Parse ohne Uhr, Zufallsquelle oder Netz ist, liefert dieselbe Eingabe auf dem kostenlosen Browser-Werkzeug und der API stets dasselbe JSON. Für $0.002 pro erfolgreicher Anfrage können Sie Massen-CRM-Importe, Self-Assessment-Onboarding-Formulare und Partnerdatei-Audits schützen, ohne eine Sonderstufe zu verhandeln.
Wo britische UTR-Prüfziffern in realen Systemen Platz finden
Produktteams, die bereits Luhn für kartenartige Felder oder ISO 7064 für andere nationale Kennungen nutzen, können dieses Schema trotzdem übernehmen, wenn eine britische Steuerreferenzspezifikation die führende gewichtete Prüfung verlangt.
Integrationsbeispiele
Neunstelligen UTR-Rumpf mit Prüfziffer vervollständigen
Wenn Ihr System die neun Rumpfziffern einer Unique Taxpayer Reference hält, rufen Sie den Modus compute auf und speichern Sie with_check, damit jeder Datensatz vor dem Druck von Formularen oder Briefen eine wohlgeformte zehnstellige UTR trägt.
Getippte oder importierte vollständige UTRs beim Eingang prüfen
Wenn ein Benutzer oder eine CSV-Zeile eine zehnstellige UTR sendet, rufen Sie den Modus validate auf und blockieren Sie die Suche, wenn valid falsch ist; optional zeigen Sie expected_check_digit, um einen einzelnen Tippfehler zu korrigieren.
Technische Fragen
Wie berechne ich eine UTR-Prüfziffer mit dieser API?
Senden Sie POST mit number gleich den neun Rumpfziffern und mode compute (oder lassen Sie mode weg). Die Antwort enthält check_digit, with_check (führende Prüfung plus Rumpf), weighted_sum und remainder.
Wie prüfe ich eine vollständige Unique Taxpayer Reference?
Senden Sie POST mit der vollständigen zehnstelligen UTR (optionale Leerzeichen oder Bindestriche) und mode validate. Die Antwort enthält valid, check_digit, expected_check_digit falls zutreffend, body, weighted_sum und remainder.
Ist das britische UTR-Prüfziffer-Werkzeug kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zum veröffentlichten Basispreis $0.002; ungültige Eingabe wird nie berechnet.