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

zehnstellige ISBN

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_11 der 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