Chiffre de contrôle Steuer-ID Allemagne
À partir des dix premiers chiffres 8609574271, vous obtenez le chiffre de contrôle 9 et le numéro complet 86095742719. Vous pouvez aussi coller une IdNr de onze chiffres pour vérifier si le dernier est juste. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Nombre
- 8609574271
- Mode de calcul
- Compute
- Entrée
- 8609574271
- Chiffre de contrôle
- 9
- Avec chiffre de contrôle
- 86095742719
Le numéro d'identification fiscale allemand —steuerliche Identifikationsnummer, souvent abrégé en Steuer-ID ou IdNr— est la référence fiscale personnelle de onze chiffres, à vie, délivrée par l'Office fédéral central des impôts (Bundeszentralamt für Steuern). Employeurs, banques, assureurs et portails publics le demandent sur les bulletins de paie, les comptes d'investissement et les déclarations numériques. Le chiffre final n'est pas une décoration arbitraire : il est produit par une somme-produit itérée de type ISO 7064 sur les dix premiers chiffres, de sorte qu'une seule faute de frappe est en général rejetée avant que le numéro soit stocké ou rapproché d'un enregistrement maître. Cette capacité n'implémente que cette somme de contrôle. Le mode compute accepte le corps de dix chiffres sans le chiffre de contrôle et renvoie le chiffre attendu plus la chaîne complète de onze chiffres. Le mode validate accepte un IdNr complet de onze chiffres (espaces ou tirets optionnels) et indique si le chiffre final correspond à la valeur recalculée.
Comment le chiffre de contrôle du Steuer-ID allemand est calculé
Selon les règles officielles de l'Identifikationsnummer publiées pour le schéma du Bundeszentralamt für Steuern, le chiffre de contrôle est une somme-produit itérée de la famille ISO 7064 MOD 11,10 appliquée à exactement dix chiffres de charge. Le produit courant commence à dix. Pour chaque chiffre de gauche à droite, ajoutez le chiffre au produit actuel, réduisez cette somme modulo dix, remplacez un résultat zéro par dix, multipliez par deux et réduisez modulo onze pour obtenir le produit suivant.
Après le dixième chiffre, le chiffre de contrôle est onze moins le produit final ; si cette valeur est dix, le chiffre stocké est zéro. La validation recalcule le chiffre attendu à partir des dix premiers chiffres et le compare au onzième caractère du numéro soumis. Un exemple public bien connu est la base 8609574271, qui donne le chiffre de contrôle neuf et la forme complète 86095742719 ; un autre est 4703689281 avec le chiffre de contrôle six.
Le premier chiffre d'un vrai IdNr n'est jamais zéro, et cet outil rejette un zéro initial avant toute arithmétique afin que des données de test remplies de zéros ne passent pas pour un numéro officiel. L'algorithme est déterministe et local : pas d'appel au registre de population, pas d'horloge et pas d'aléa.
Par rapport aux outils génériques Luhn ou mod-11 pour cartes et codes-barres, l'intention de recherche ici est étroite : des personnes qui ont besoin d'une calculatrice de chiffre de contrôle du tax ID allemand, d'un outil Prüfziffer Steuer-ID ou d'un validateur d'Identifikationsnummer à onze chiffres, pas d'un hub de paiement, d'appareil ou de formats fiscaux multi-pays.
Où les chiffres de contrôle du tax ID allemand s'intègrent aux flux réels
Les employeurs et éditeurs de paie valident des valeurs d'Identifikationsnummer de onze chiffres à l'embauche pour qu'une seule transposition ne crée pas un fichier ELStAM ou Lohnsteuer rejeté. Les jobs ETL qui chargent des fichiers maîtres de clients ou d'employés allemands parcourent chaque colonne de tax ID dans un flux CSV ou XML, appellent le mode validate et mettent en quarantaine les lignes où valid est false, capturant à la fois les éditions humaines et les bugs d'un dans les générateurs.
Les portails du secteur public acceptent souvent les formes espacées et compactes ; retirer espaces et tirets avant le contrôle de chiffres garde le contrat simple sans inventer un second algorithme.
Ne traitez pas un Steuer-ID dont la somme de contrôle passe comme preuve que le titulaire est vivant dans le registre de l'Office fédéral central des impôts, a une résidence allemande ou est autorisé à un service ; cela prouve seulement que le chiffre de contrôle de style ISO 7064 est cohérent avec les dix premiers chiffres selon l'algorithme officiel de l'Identifikationsnummer allemande.
Cas d’usage
Auditer les colonnes Steuer-ID des données maîtres
Validez en lot chaque numéro d'identification fiscale allemand dans un CSV RH, ERP ou comptable et mettez en quarantaine les lignes dont le chiffre de contrôle ne correspond plus à la valeur attendue recalculée.
Questions fréquentes
Qu'est-ce que le chiffre de contrôle du tax ID allemand ?
C'est le onzième chiffre du numéro personnel d'identification fiscale allemand (steuerliche Identifikationsnummer / Steuer-ID), calculé par une somme-produit itérée de type ISO 7064 sur les dix premiers chiffres afin de capturer les fautes de frappe et de lecture avant le stockage du numéro.
Que se passe-t-il avec une mauvaise longueur, des lettres ou un zéro initial ?
Les tâches de validation en échec ne sont pas facturées.
Comment se calcule le chiffre de contrôle de la Steuer-ID ?
Un produit cumulé démarre à 10. Chacun des dix premiers chiffres lui est ajouté ; on garde le reste de la division par 10 (un zéro compte pour 10), on le double et on garde le reste de la division par 11. Le chiffre vaut 11 moins le produit final, et 10 s'écrit 0.
Un chiffre de contrôle valide prouve-t-il que le numéro existe ?
Non. Il montre seulement que le dernier chiffre concorde avec les dix premiers. Il ne dit pas si la personne figure au registre de l'Office fédéral central des impôts, réside en Allemagne ou a droit à un service.
Puis-je saisir le numéro avec des espaces ou des tirets ?
Oui. Les espaces et les tirets sont retirés avant le contrôle, donc 86 095 742 719 donne le même résultat que la forme compacte. Toute autre ponctuation est refusée au lieu d'être effacée sans prévenir.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/steuer-id-germany \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"8609574271"}'const res = await fetch("https://api.kit.forhosting.com/enc/steuer-id-germany", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "8609574271"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/steuer-id-germany",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "8609574271"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/steuer-id-germany", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"8609574271"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"8609574271"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/steuer-id-germany", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"number": "8609574271"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.steuer_id_germany",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les corps non numériques, les longueurs incorrectes et un zéro initial échouent avec invalid_input au lieu d'un nettoyage silencieux. La même arithmétique pure s'exécute gratuitement dans le navigateur et au prix API publié, sans consultation de registre et sans prétendre qu'une somme de contrôle valide signifie que la personne est inscrite, résidente ou autorisée à un service.
Contrat d'entrée, modes et comportement d'erreur
Envoyez un champ number contenant le corps du tax ID allemand. Le mode compute est le mode par défaut : le moteur accepte exactement dix chiffres sans le chiffre de contrôle. Une longueur incorrecte est une erreur explicite qui nomme le mode et la longueur envoyée —dix pour compute, onze pour validate— afin que les formulaires clients affichent un message précis sans deviner. Les chaînes vides, number manquant, valeurs de mode invalides et un zéro initial échouent avant ou à la place d'une somme de contrôle réussie et ne sont pas facturés. Une chaîne bien formée de onze chiffres qui a simplement le mauvais chiffre de contrôle renvoie valid false sans lever d'exception. Les espaces et tirets sont retirés pour que les formes d'affichage avec chiffres groupés soient acceptées après normalisation ; toute autre ponctuation et les lettres sont rejetées comme entrée non numérique avec invalid_input, afin qu'une valeur nettoyée en silence n'atteigne jamais le stockage. En cas de succès, il renvoie check_digit comme chaîne d'un caractère, with_check comme l'Identifikationsnummer complète de onze chiffres, payload comme les dix chiffres de base, length onze et algorithm avec la valeur germany-steuer-id-iso7064-iterated. Le mode validate accepte exactement onze chiffres ; la réponse indique valid true lorsque le chiffre final correspond à expected_check_digit recalculé, et inclut toujours payload, check_digit, expected_check_digit et length. Des alias tels que steuer_id, idnr, tin, digits et code sont acceptés pour le même champ de charge utile, afin que les intégrations qui parlent déjà des noms allemands ou anglais n'aient pas à renommer. Comme le chemin est parse pur sans horloge, source aléatoire ni réseau, le même corps JSON produit toujours le même résultat JSON sur l'outil gratuit du navigateur et sur l'API à $0.002 par requête réussie.
Où les chiffres de contrôle du tax ID allemand s'intègrent aux flux réels
Les banques et fintechs recalculent expected_check_digit lorsqu'un client colle un Steuer-ID depuis une lettre ou le saisit dans un formulaire d'ouverture de compte, capturant les fautes avant le stockage KYC. Les conseillers fiscaux et outils de comptabilité complètent des bases de dix chiffres dans des sandboxes en mode compute, puis stockent with_check pour des clients de démonstration qui doivent ressembler à des identifiants de production.
Cas d'intégration
Compléter une base Steuer-ID de 10 chiffres pour les tests
Appelez le mode compute avec dix chiffres de charge, stockez check_digit ou with_check, et utilisez le résultat dans des enregistrements de test de paie, KYC bancaire ou portail fiscal qui doivent ressembler à de vraies Identifikationsnummer allemandes.
Valider des tax ID allemands saisis ou importés
Lorsqu'un formulaire, un fichier de paie ou un flux CRM envoie onze chiffres, appelez le mode validate et bloquez l'inscription si valid est false, en affichant expected_check_digit pour aider à corriger une seule faute de frappe.
Questions techniques
Comment calculer un chiffre de contrôle Steuer-ID avec cette API ?
Envoyez un POST avec number égal à exactement dix chiffres (sans zéro initial) et mode compute (ou omettez mode). La réponse inclut check_digit et with_check (l'Identifikationsnummer complète de onze chiffres).
Comment valider un tax ID allemand complet de onze chiffres ?
Envoyez un POST avec la chaîne de chiffres (espaces ou tirets optionnels) et mode validate. La réponse inclut valid, check_digit, expected_check_digit et payload (les dix chiffres de base).
L'outil de chiffre de contrôle du tax ID allemand est-il gratuit ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; l'entrée invalide n'est pas facturée.