ポルトガルNIBチェックディジット
本体0002 0123 12345678901のチェックディジットは54で、NIB全体は0002.0123.12345678901.54になります。19桁を入力すれば2桁が分かり、NIB全体を貼り付ければ振込や給与ファイルの前に確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Nib
- 0002012312345678901
- 計算モード
- Compute
- 入力
- 0002012312345678901
- 銀行
- 0002
- ブランチ
- 0123
- 口座
- 12345678901
ポルトガルのNIB(Número de Identificação Bancária)は、振込・給与ファイル・口座振替・各種支払フォームで使われる21桁の国内銀行口座識別子です。4桁の銀行コード、4桁の支店コード、11桁の口座番号、末尾2桁のチェックディジットから成ります。末尾2桁は自由入力ではなく、19桁本体に対するISO 7064 MOD 97-10で一意に決まり、1桁の打ち間違いでもほぼ必ずモジュラー検査に失敗します。本機能は銀行・支店・口座(または結合した19桁本体)から正しい2桁を計算するか、それらを含む21桁NIBを検証し、不正入力は結果を捏造せず報告します。
ポルトガルNIBとは何か、ISO 7064 MOD 97-10の適用
ポルトガルNIBは国内決済レール上の国内銀行口座を識別し、IBANと並存または代わりに21桁形式を保存する業務システムでも使われます。印刷された明細やフォームでは4・4・11・2桁を点や空白で区切ることが多いですが、実体は常に21個の十進数字です。
先頭4桁はポルトガル銀行システム上の銀行コード、次の4桁は支店(balcão)、続く11桁は銀行が保持する口座番号、末尾2桁は直前19桁から算出されるチェックディジットです。公式規則はISO 7064 MOD 97-10です。
19桁本体を整数として扱い、00を付加し、その値を97で割った余りを98から引いて、必要に応じて先頭ゼロ埋めした2桁の検査値(01〜97)を得ます。同等に、整形式のNIBは21桁全体を97で割った余りが1であるという性質を満たします。
このモジュラー同一性はIBAN構築で使われる検査と同族であり、ポルトガルIBANが国コードとIBANチェックディジットの後にNIBを埋め込む理由です。カードのLuhn mod-10やポーランドNIPのような1桁重み方式と比べ、NIBは本体全体に対する2桁のMOD 97-10残差を用いるため、ポルトガル口座欄にLuhn検証器を流用してはなりません。
MOD 11-2やMOD 37-2のみの汎用ISO 7064純系ツールと比べ、本機能はポルトガルNIBの桁配置と銀行口座向けMOD 97-10ハイブリッドを固定実装します。どの方式が必要かを把握すれば、汎用チェックディジットツールが整形式NIBでない数字列を受け入れても過信を避けられます。
本ツールは任意の空白・点・ハイフン除去後の純粋な数字に対してモジュラー算術を行います。銀行ディレクトリ照会、口座開設の証明、IBANへの自動変換は行わず、公開されたNIB検査アルゴリズム下で数字列が一貫していることのみを確認します。
支払・給与・オンボーディングでのポルトガルNIBチェックディジットの位置づけ
ポルトガル国内振込、NIBをまだ収集するSEPA設定、給与・仕入先マスタの多くは21桁識別子を保存します。オンボーディング時の1桁のチェックディジット誤入力で誤口座へ送金したり、後段の銀行検証に失敗したりし得ます。
NIBからポルトガルIBANを組み立てるフィンテックは本体にcomputeを呼び、IBAN検査の後に置くNIBと埋め込みチェックディジットの一致を確認できます。一般のLuhnや純系ISO 7064ツールを既に公開するプロダクトチームも、ポルトガル口座欄では長さ・MOD 97-10・表示形式がドメインに合う本NIB専用機能を使うべきです。
portuguese nib check digitsやportugal nib calculatorのような検索語句向けの教育・SEOランディングには、自動化と一致する無料ライブツールが必要で、チュートリアル画面の正確さを保てます。どのワークフローでも契約は同じです。
NIB検査合格を、口座が開いている・名義顧客に属する・振込が許可されている証拠としないでください。それはポルトガルNIB配置におけるISO 7064 MOD 97-10下での数字列の一貫性のみを示します。
活用例
給与・取引先ファイルのNIB列を監査する
CSV取込の各NIBを一括検証し、ISO 7064 MOD 97-10で再計算した期待ペアとチェックディジットが一致しない行を隔離します。
よくある質問
ポルトガルNIBのチェックディジットはどう計算しますか?
19桁本体(銀行4+支店4+口座11)に00を付け、その数を97で割った余りを98から引いて2桁にゼロ埋めします(ISO 7064 MOD 97-10)。21桁NIB全体が97で割って1なら有効です。
computeとvalidateの違いは何ですか?
validateは検査ペアを含む21桁を受け、再計算結果と一致するかを返します。
ポルトガルのNIBはどんな構成ですか?
21桁で、4桁の銀行コード、4桁の支店コード、11桁の口座番号、2桁のチェックディジットの4つに分かれます。明細では点や空白で区切って印字されることがよくあります。
NIBが有効なら口座は実在しますか?
いいえ。有効という結果は、数字が公式の計算と一致していることを示すだけです。銀行の名簿を照会したり、口座が開設済みか、名義人が誰かを確かめたりはしません。
NIBとポルトガルのIBANはどう関係していますか?
ポルトガルのIBANには、国コードとIBAN用の2桁のチェックディジットの直後にNIB全体が入っています。どちらもモジュロ97系の検査を使いますが、このツールはNIBだけを扱い、IBANは作りません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/nib-portugal \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nib":"0002012312345678901","number":"valor-ejemplo"}'const res = await fetch("https://api.kit.forhosting.com/enc/nib-portugal", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nib": "0002012312345678901",
"number": "valor-ejemplo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/nib-portugal",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nib": "0002012312345678901",
"number": "valor-ejemplo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/nib-portugal", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nib":"0002012312345678901","number":"valor-ejemplo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nib":"0002012312345678901","number":"valor-ejemplo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/nib-portugal", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"nib": "0002012312345678901",
"number": "valor-ejemplo"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.nib_portugal",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ブラウザでは無料、公開価格のKIT APIでも利用でき、どちらもネットワーク照会や銀行ディレクトリなしで同じ決定的算術を実行します。
2桁のチェックディジットの計算方法と完全なNIBの検証
0〜9の数字が必須で、任意の空白・点・アンダースコア・ハイフンは解析前に除去されます。validateモードは末尾の検査ペアを含む完全な21桁NIB(例:000201231234567890154または0002.0123.12345678901.54)を期待します。既知の銀行・支店・口座からNIBを組み立てるときはcomputeを、利用者・取引先ファイル・スキャン明細が完全番号を渡し、振込やマスタ書き込み前に真偽ゲートが必要なときはvalidateを選んでください。結合したnibフィールド、または構造化フィールドbank・branch・accountのいずれかを送ってください。文字やその他の句読点はmalformed入力としてinvalid_inputで拒否され、黙って正規化した値を受け入れることはありません。既定モードcomputeでは、チェックディジットなしの本体ちょうど19桁(例:0002012312345678901、またはbank 0002、branch 0123、account 12345678901)を与えると、エンジンは2文字のcheck_digits、21桁のwith_check、一般的な表示形XXXX.XXXX.XXXXXXXXXXX.XXのformatted、ならびにbank・branch・account・algorithm iso7064_mod97_10・完成数のmod97_remainder(1)を返します。再計算したチェックディジットが末尾2桁と一致し、全体が97で割って1と合同ならvalidはtrueとなり、常にexpected_check_digits、検査ペアを除いたpayload、表示用formattedが含まれます。空文字・欠落フィールド・不正なmode・誤った桁数はモジュラー算術の前に失敗し、課金されません。時計・乱数・ネットワークのないpure parseのため、同じ入力は無料ブラウザ経路とAPIで常に同じJSONになります。成功リクエストあたり$0.002で、一括支払取込・給与ファイル・オンボーディングを専用ティア交渉なしでゲートできます。
支払・給与・オンボーディングでのポルトガルNIBチェックディジットの位置づけ
入口のvalidateモードはvalidがfalseのとき保存を止め、expected_check_digitsを示して記録書き込み前にフォーム修正を促せます。給与・ERP取込は表計算から取引先NIBを受け取り、末尾ペア誤りで一括が落ちるため、validとwith_checkを返す決定的オラクルで本番前に行をフラグできます。
連携の活用例
支払・仕入先フォームのNIB欄をゲートする
利用者が完全なポルトガルNIBを送信したらvalidateモードを呼び、validがfalseのときは保存を止め、支払マスタ書き込み前にexpected_check_digitsで打ち間違い修正を促します。
口座組み立て時に2桁のチェックディジットを計算する
銀行・支店・口座(または19桁本体)からcomputeモードを呼び、印刷・エクスポート・振込生成前にwith_checkまたはformattedを保存して、新しいNIBすべてに正しい末尾ペアを付けます。
技術的な質問
空白・点・ハイフンは使えますか?
はい。一般的な区切りは解析前に除去されます。文字やその他の句読点はinvalid_inputで拒否されます。
チェックディジットが誤っているとどうなりますか?
validateモードではexpected_check_digitsが返り、validはfalseになります。完全に不正な入力や桁数誤りはinvalid_inputで失敗します。
ポルトガルNIBチェックディジット計算機の料金は?
ブラウザツールは無料です。APIは成功コールあたり$0.002の前払いKIT残高を使い、不正入力は課金されません。