英国UTRチェックディジット
英国UTRの先頭の数字を計算・確認できます。本体123456789のチェックディジットは1なので、UTR全体は1123456789です。打ち間違えた番号を、フォームや一括取り込みに入る前に見つけられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 123456789
- 計算モード
- Compute
- 入力
- 123456789
- チェックディジット
- 1
- チェックディジット付き
- 1123456789
- 加重和
- 230
Unique Taxpayer Reference(UTR)は、HM Revenue and CustomsがSelf Assessmentおよび法人税のために個人・法人へ発行する10桁の識別子です。先頭の桁は乱数ではなく、固定の位置重みと法11の剰余表により、残り9桁の本体から導かれるチェックディジットです。本体の1桁を誤入力すると、求められるチェックディジットがほぼ必ず変わるため、フォームや一括取込みはHMRCゲートウェイに届く前にあり得ないUTRを拒否できます。本機能は、すでに保持している9桁本体から先頭のチェックディジットを計算するか、完全な10桁UTRを検証し、保存されたチェックディジットが重み付き剰余表と一致するかを報告します。どちらの経路もネットワークも納税者データの保存もなく、同一の純粋な算術を共有します。
英国UTRチェックディジットと剰余表の仕組み
会計士やソフトウェアベンダーが広く用いるHMRC様式の構成では、標準のUnique Taxpayer Referenceは10個の十進数字です。先頭がチェックディジット、続く9桁が本体です。本体の各桁に、左から右へ六・七・八・九・十・五・四・三・二の固定重みを掛けます。
その9個の積を合計し、合計を11で割った余り(0から10)を求めます。剰余表がその余りを1桁のチェックディジットに対応させます。余り0はチェック0、余り1は11−1が10となり1桁に収まらず、合法なUTR本体として発行されないため拒否されます。
余り2から10はチェック9から1に対応し、結果が10でないときの11−余りと同じ規則です。検証は9桁本体から期待される先頭桁を再計算し、提出された10桁文字列の先頭桁と比較します。この設計はLuhnでもDammでも、素のISO 7064 MOD 11-2でもなく、末尾ではなく先頭にチェックを置く固定重みの法11方式です。
EANやUPCのようなバーコード系チェックディジットと比べ、UTR規則は小売GTINレイアウトに縛られず、常に先頭にチェックを置きます。ドイツのSteuer-IDやスウェーデンのpersonnummerと比べても、文字は数字のみで、重みベクトルはこの税務参照に固有です。形式の衛生管理のみに用いてください。
通過しても、HMRCが番号を発行したこと、特定の人に属すること、申告が承認されていることは証明されません。
英国UTRチェックディジットが実システムで果たす役割
会計事務所や税務ソフトベンダーは、表計算マクロやレガシーデスクトップで使われる重み付き剰余表と一致する共有のオラクルを必要とし、誤入力UTRがHMRC提出ではなくデータ入力時に失敗するようにします。
自営業者のSelf Assessment参照を集めるフィンテックや給与製品は、フォーカス喪失時に検証し、入力チェックが一致しないとき期待される先頭桁を示して、却下申告のサポート件数を減らせます。会社秘書・設立フローはCompanies House番号の横に法人税UTRを保存し、一括アップロード前に取引先CSVの10桁列を一括検証できます。
統合テストとデータ品質ジョブは各行の期待チェックディジットを再計算し、保存された完全値が一致しなくなった行を旗立てし、人手編集と生成器の1ずれバグの両方を捉えます。どのワークフローでも契約は同じです。
番号の横に英国UTRを格納することを文書化し、National Insurance番号、VAT登録番号、Companies House CRNと無意識に混ぜないでください。詐欺用の偽納税者身分を作るために本ツールを使わないでください。形式チェックのみで、HMRCには接続しません。
活用例
Self AssessmentのUTR列を一括監査する
顧客エクスポートやCRMダンプ内のすべての10桁UTRを一括検証し、先頭チェックディジットが重み付き剰余表と一致しなくなった行を隔離します。
よくある質問
英国UTRのチェックディジットとは何ですか?
10桁Unique Taxpayer Referenceの先頭桁で、本体9桁に重み6,7,8,9,10,5,4,3,2と法11の剰余表(11−余り、余り0→0、余り1は未発行)から計算されます。
文字・空白・長さ誤りではどうなりますか?
computeはちょうど9桁、validateはちょうど10桁が必要です。失敗した検証タスクは課金されません。
英国UTRのチェックディジットはどう計算しますか?
本体の9桁に6・7・8・9・10・5・4・3・2を掛けて合計し、11で割った余りを求めます。余り0なら0、余り2〜10なら9〜1です。123456789なら合計230、余り10で、チェックディジットは1です。
チェックディジットが正しければ本物のUTRと言えますか?
いいえ。番号の形が正しいことを示すだけです。HMRCが発行した番号か、特定の人のものか、申告が認められているかは証明しません。入力ミスを早めに見つけるためのものです。
チェックディジットを付けられない9桁があるのはなぜですか?
余りが1になる場合、11から1を引くと10になり、1桁に収まりません。そのような本体はUTRとして発行されないため、数字をでっち上げずに無効として知らせます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"number": "123456789"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.utr_uk",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
非数値入力、誤った長さ、2桁のチェック値を要する本体は、明確なinvalid_inputエラーで失敗します。ブラウザで無料実行するか、公開価格でKIT APIを呼び出してください。
英国UTRチェックディジットと剰余表の仕組み
本ツールはJSONでアルゴリズム名を常にuk-utr-weights-mod11とし、下流系がどの方式で値を保護したかを記録できるようにします。
チェックディジットの計算と完全なUTRの検証方法
既定はcomputeモードです。validateモードは完全な10桁UTRを期待します。空文字、number欠落、無効なmode、validateでの9桁、computeでの10桁は走査完了前に失敗し課金されません。既に管理する本体を完成させるときはcomputeを、ユーザー・スキャナ・CSV列が10桁UTRを渡し検索前に真偽の関門が必要なときはvalidateを選んでください。任意の空白やハイフンを除いたあと、0から9の文字だけを含むnumberフィールドを送ってください。文字、小数点、科学的記数法、その他の句読点は非数値としてinvalid_inputで拒否され、静かに「清掃」されたゴミ文字列を受け付けません。ちょうど9桁の本体を渡すと、エンジンは1文字のcheck_digit、チェックを先頭に付けた10桁UTRのwith_check、監査用のweighted_sumとremainderを返します。先頭桁が本体の剰余表の値と一致するとvalidが真になり、常にcheck_digit、先頭桁を除いたbody、weighted_sum、remainder、合法な期待値がある場合はexpected_check_digitを含みます。重み付き合計の余りが1となる本体は1桁のチェックを作れず、computeはinvalid_inputで拒否し、validateはvalidを偽とします。時計も乱数源もネットワークもない純粋な解析経路のため、同じ入力は無料ブラウザとAPIで常に同じJSONになります。成功リクエストあたり$0.002で、カスタム階層を交渉せずに大量CRM取込み、Self Assessment登録フォーム、取引先ファイル監査を守れます。
英国UTRチェックディジットが実システムで果たす役割
カード様フィールドにLuhn、他国識別子にISO 7064を既に使う製品チームでも、英国税務参照仕様が先頭の重み付きチェックを求める場合はこの方式を採用できます。
連携の活用例
9桁のUTR本体にチェックディジットを付与する
システムがUnique Taxpayer Referenceの本体9桁を保持しているとき、computeモードを呼び出しwith_checkを保存すれば、帳票や手紙の印刷前に各レコードが整形式の10桁UTRを持ちます。
入力時に手入力・取込みの完全UTRを検証する
ユーザーやCSV行が10桁UTRを送ったらvalidateモードを呼び出し、validが偽のときは検索を止め、任意でexpected_check_digitを示して1桁の誤入力修正を助けます。
技術的な質問
このAPIでUTRチェックディジットを計算するには?
numberに本体9桁、modeにcompute(またはmode省略)でPOSTします。応答にはcheck_digit、with_check(先頭チェック+本体)、weighted_sum、remainderが含まれます。
完全なUnique Taxpayer Referenceを検証するには?
完全な10桁UTR(空白・ハイフン可)とmode validateでPOSTします。応答にはvalid、check_digit、該当時はexpected_check_digit、body、weighted_sum、remainderが含まれます。
英国UTRチェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。API呼び出しは公開の基本価格$0.002で前払いKIT残高を使い、無効入力は課金されません。