MOD 11 - homebeaver/ungueltig GitHub Wiki
MOD 11 Prüfzeichensystem
Der Algorithmus mit der gewichteten Quersumme wird häufig verwendet, obwohl er wie das MOD 10 Verfahren nicht zu den standardisierten Verfahren zählt.
Eine Nummer mit Prüfziffer ist eine Folge von n Ziffern und einer Prüfziffer
$${Z_n \ldots Z_4 Z_3 Z_2 Z_1 \color{blue}p}$$
Die Nummer ist korrekt, wenn $${\color{blue}p}$$ der Modulo 11 Wert der gewichteten Quersumme gleicht
$${ \left( \sum_{i=1}^n G_i \cdot Z_i \right) \space {mod} \space 11 = \color{blue}p }$$
$${ G_i }$$ ist die Gewichtung von $${ Z_i }$$. Für $${\color{blue}p}$$ wird X geschrieben, wenn das Modulo Ergebnis gleich 10 ist. Zum
Beispiel 3-548-36480-X bei einer ISBN Nummer oder 017-002-01-X für Salzsäure bei ECIndexNumber.
Prüfziffer zur FIN
Bei der Fahrzeug-Identifizierungs-Nummer (FIN) sind auch Alphazeichen zugelassen: 0Ly341Ü59810ΙX ist eine mögliche FIN. Auch die Prüfziffer des Führerscheins wird nach dem FIN-Verfahren berechnet.
Quersumme
Ist die Gewichtung konstant $${ G_i = 1}$$, so entspricht die Summe der Quersumme der Nummer.
Wert
Ist die Gewichtung $${ G_i = 10 ^ {i-1} }$$, so entspricht die Summe dem Wert der Nummer zur Basis 10. Diese einfache Methode wird für Identifikačné číslo pre daň z pridanej hodnoty in der SLOWAKEI und TIN_SK verwendet.
i
Oft wird mit der Position in der Ziffernfolge gewichtet. Also mit $${ G_i = i }$$. Implementierung: Modulus11iWeightCheckDigit

Ein prominentes Beispiel für die Anwendung ist die zehnstellige ISBN-Buchnummer. Implementierung: Modulus11XCheckDigit
image/Modulus11iWeightCheckDigit.png
234567
Die Gewichte lassen sich ermitteln: $${ G_i = i + 1 }$$:
$${ G_1 = 2 , G_2 = 3 , \dots , G_6 = 7}$$ und dann bei Bedarf wiederholt $${ G_7 = 2 , G_8 = 3 , \dots }$$.
Dieses Verfahren wird in ISLAND, NORWEGEN und in DÄNEMARKs momsregistreringsnummer (VATIN) bzw. CPR-nummer (TIN) verwendet. Die letzte Ziffer $${\color{blue}p}$$ wird so gewählt, dass die gewichtete Summe durch 11 teilbar ist.
$${ \left( \sum_{i=1}^n G_i \cdot Z_i + \color{blue}p \color{black} \space \right) \space {mod} \space 11 = 0}$$
Gewichtung $${i}$$ von links nach rechts
Dazu muss die Nummer mit Prüfziffer anders dargestellt werden. Die Ziffern werden von links nach rechts durchnummeriert
$${Z_1 Z_2 Z_3 Z_4 \ldots Z_n \color{blue}p}$$
Die Formel für Berechnung der Prüfziffer ist dann
$${ \left( \sum_{i=1}^n i \cdot Z_i \right) \space {mod} \space 11 = \color{blue}p }$$
Übersicht der Anwendungen
Viele Anwendungen nutzen die index Gewichtungen. Sie unterscheiden sich allerdings in der Weise wie verfahren wird, wenn als Prüfziffer 10 errechnet wird. Ein anderer Verfahrensunterschied ist die Prüfziffer selber:
- es ist entweder der
modulus_11der gewichteten Summe - oder die Differenz zu 11
| index | Prüfziffer 10 | Prüfziffer MOD | Anwendungen |
|---|---|---|---|
| i | 0 |
modulus_11 |
TIN_NL VATIN_NL |
| 234567 | keine PZ | modulus_11 |
TIN_DK VATIN_DK |
| 234567 | 0 |
(11 - modulus_11) | TIN_IS, TIN_NO |
| i | 0 wird nicht vergeben bei 10 0 verwendet |
modulus_11 |
TIN_SI VATIN_SI |
| i | 0 |
(11 - modulus_11) | TIN_PT VATIN_PT |
| i | P neuberechnen |
modulus_11 |
TIN_LT TIN_EE VATIN_LT |
| ileft | nicht vergeben | modulus_11 |
TIN_HU |
| i | X |
(11 - modulus_11) | ISBN, ISSN |
| ileft | X |
modulus_11 |
ECIndexNumber |
andere Gewichtungen
75321
Diese Gewichtungen werden für RUMÄNIENs cod de înregistrare în scopuri de TVA verwendet.
657234567
Diese Gewichtungen werden für POLENs Numer identyfikacji podatkowej verwendet.
2,7,9,1,4,6,3,5,8
Diese Gewichtungen werden für RUMÄNIENs Codul de înregistrare fiscală (CIF) verwendet.
8,6,4,2,3,5,9,7
Diese Gewichtungen werden für den S10 UPU Post Standard verwendet. Siehe Identification of postal items - S10-12.pdf
Varianten
EG‐Nummer, TIN_BG und VATIN_BG, TIN_CZ und VATIN_CZ, VATIN_LV