Steuernummer oder USt-IdNr.?
Ein Werkzeug, das eine eingegebene steuerliche Kennnummer auf ihr Format prüft und erkennt, um welche Art von Nummer es sich vermutlich handelt: die elfstellige steuerliche Identifikationsnummer, eine regionale Steuernummer des Finanzamts oder ein Format aus einem anderen Land. Ohne Registeranfrage, rein anhand des Aufbaus.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Drei Nummern, die oft verwechselt werden
In Deutschland kursieren mehrere unterschiedliche Nummern nebeneinander: die elfstellige, lebenslang gleichbleibende steuerliche Identifikationsnummer, die vom jeweiligen Finanzamt vergebene und je nach Bundesland unterschiedlich lange Steuernummer, sowie die USt-IdNr. für den EU-Geschäftsverkehr. Wer eine Nummer aus einem Formular oder Schreiben vor sich hat, ist sich über die genaue Art oft unsicher, genau das klärt diese Prüfung, ohne dass Sie die drei Formate selbst auswendig kennen müssen.
Wie die Erkennung funktioniert
Anhand von Länge, Zeichensatz und, bei der Identifikationsnummer, der eingebauten Prüfziffer nach einem festgelegten Verfahren, ordnet die Funktion die eingegebene Nummer der wahrscheinlichen Art zu. Bei der elfstelligen Identifikationsnummer wird zusätzlich die Prüfziffer selbst kontrolliert; bei der regionalen Steuernummer ist mangels bundesweit einheitlicher Prüfziffer nur die Formatplausibilität möglich, nicht eine vollständige rechnerische Bestätigung wie bei der Identifikationsnummer mit ihrem festen Aufbau.
Kostenlos, ohne Anmeldung
Die Prüfung läuft vollständig im Browser, ohne Limit und ohne dass die Nummer an einen Server übertragen wird, bei einer persönlichen Kennnummer ein naheliegender Vorteil für den Datenschutz. Für die automatisierte Einbindung in eine eigene Formularstrecke oder Lohnsoftware steht dieselbe Prüfung auch per API zur Verfügung, für $0.002 pro geprüfter Nummer, mit dem Preis vorab veröffentlicht und ohne Mindestumsatz oder Abonnement im Hintergrund.
Anwendungsfälle
Formular mit Feld für die Identifikationsnummer
Ein Lohnbüro prüft die von neuen Mitarbeitenden eingetragene Identifikationsnummer auf gültige Prüfziffer, bevor sie in die Lohnsoftware übernommen wird.
Unterscheidung auf einem eingescannten Steuerbescheid
Katrin Baumann ist sich bei einer Nummer auf einem alten Steuerbescheid nicht sicher, um welche Nummernart es sich handelt, und lässt das Format prüfen.
Plausibilitätscheck vor der Weitergabe an die Steuerberatung
Lukas Fischer prüft die eingesammelten Nummern seiner Kunden auf ein plausibles Format, bevor er sie gesammelt an die Steuerberatung weitergibt.
Häufige Fragen
Ist die Prüfung kostenlos?
Ja, im Browser ohne Limit und ohne Anmeldung. Nur die API-Nutzung kostet $0.002 pro geprüfter Nummer.
Was ist der Unterschied zur Prüfung der USt-IdNr.?
Diese Funktion prüft ausschließlich das Format und die Prüfziffer, ohne eine Nummer live gegen ein Register abzugleichen. Die USt-IdNr.-Prüfung fragt dagegen live das EU-Register ab und ist eine eigene, andere Funktion.
Kann die Funktion feststellen, ob die Nummer wirklich vergeben wurde?
Nein, das ist eine reine Formatprüfung. Ob die Nummer tatsächlich einer Person oder einem Finanzamt zugeordnet ist, lässt sich damit nicht nachweisen.
Verlässt die Nummer meinen Browser?
Nein, solange Sie die Prüfung auf dieser Seite nutzen. Sie wird lokal ausgewertet und nicht übertragen.
Funktioniert das auch bei Steuernummern aus anderen Ländern?
Die Formatprüfung berücksichtigt gängige Muster mehrerer Länder, mit dem stärksten Fokus auf deutsche Formate.
Brauche ich ein Konto?
Nein, weder für den Browser-Modus noch für die API-Nutzung ist ein Konto erforderlich.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/verify/tax-id \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/tax-id", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/tax-id",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/tax-id", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/tax-id", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"items": [
"valor-1",
"valor-2"
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.tax_id",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |