Umsatzsteuer-ID-Validierung (VAT-ID) für alle 26 EU-Mitgliedstaaten gemäß den jeweiligen nationalen Formatregeln. Jedes Land definiert ein eigenes Präfix und eigene Prüfregeln — die Unit implementiert länderspezifische Validierungslogik (z.B. Prüfziffer-Algorithmus für DE, Modulo-Prüfung für FR, Format-Regex für PL). Die Normalisierung bereinigt Leerzeichen und Bindestriche vor der Prüfung.
std.country| Name | Wert | Bedeutung |
|---|---|---|
VAT_OK | 0 | Gültig |
VAT_ERR_INVALID_LENGTH | 1 | Falsche Länge |
VAT_ERR_INVALID_CHAR | 2 | Ungültiges Zeichen |
VAT_ERR_INVALID_FORMAT | 3 | Format entspricht nicht dem Landesstandard |
VAT_ERR_UNKNOWN_COUNTRY | 4 | Unbekanntes Länderkürzel |
import std.validate.vat;
// Automatische länderspezifische Validierung (anhand 2-Buchstaben-Präfix)
var vatId: pchar := "DE123456789";
var result: int64 := VATValidate(vatId);
if (result = VAT_OK) {
log_info("Gültige USt-ID");
} else {
log_info("Ungültig");
}
// Normalisieren (Leerzeichen/Bindestriche entfernen)
var norm: pchar := VATNormalize("DE 123 456 789");
// Landesspezifisch validieren
var deOk: int64 := VATValidateDE("DE123456789");
var atOk: int64 := VATValidateAT("ATU12345678");
var frOk: int64 := VATValidateFR("FR40303265045");
// Informationen zum Format
log_info(VATGetCountryName("DE")); // "Deutschland"
log_info(VATGetFormat("DE")); // "DE + 9 Ziffern"
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
VATValidate(vat: pchar): int64 | pub | USt-ID länderspezifisch validieren (erkennt Land am Präfix) |
VATNormalize(vat: pchar): pchar | pub | Leerzeichen und Bindestriche entfernen |
VATGetCountryName(code: pchar): pchar | pub | Ländername anhand 2-Buchstaben-Länderkürzel liefern |
VATGetFormat(code: pchar): pchar | pub | Erwartetes Format der USt-ID für das Land beschreiben |
VATValidateDE(vat: pchar): int64 | pub | Deutsche USt-ID validieren (DE + 9 Ziffern) |
VATValidateAT(vat: pchar): int64 | pub | Österreichische USt-ID validieren (ATU + 8 Ziffern) |
VATValidateBE(vat: pchar): int64 | pub | Belgische USt-ID validieren |
VATValidateFR(vat: pchar): int64 | pub | Französische USt-ID validieren |
VATValidateIT(vat: pchar): int64 | pub | Italienische USt-ID validieren |
VATValidateES(vat: pchar): int64 | pub | Spanische USt-ID validieren |
VATValidateNL(vat: pchar): int64 | pub | Niederländische USt-ID validieren |
VATValidatePL(vat: pchar): int64 | pub | Polnische USt-ID validieren |
VATValidatePT(vat: pchar): int64 | pub | Portugiesische USt-ID validieren |
VATValidateSE(vat: pchar): int64 | pub | Schwedische USt-ID validieren |
VATValidateCZ(vat: pchar): int64 | pub | Tschechische USt-ID validieren |
VATValidateSK(vat: pchar): int64 | pub | Slowakische USt-ID validieren |
VATValidateIE(vat: pchar): int64 | pub | Irische USt-ID validieren |
VATValidateLU(vat: pchar): int64 | pub | Luxemburgische USt-ID validieren |
VATValidateFI(vat: pchar): int64 | pub | Finnische USt-ID validieren |
VATValidateDK(vat: pchar): int64 | pub | Dänische USt-ID validieren |
VATValidateGR(vat: pchar): int64 | pub | Griechische USt-ID validieren |
VATValidateCY(vat: pchar): int64 | pub | Zypriotische USt-ID validieren |
VATValidateHU(vat: pchar): int64 | pub | Ungarische USt-ID validieren |
VATValidateRO(vat: pchar): int64 | pub | Rumänische USt-ID validieren |
VATValidateSI(vat: pchar): int64 | pub | Slowenische USt-ID validieren |
VATValidateHR(vat: pchar): int64 | pub | Kroatische USt-ID validieren |
VATValidateLV(vat: pchar): int64 | pub | Lettische USt-ID validieren |
VATValidateLT(vat: pchar): int64 | pub | Litauische USt-ID validieren |
VATValidateEE(vat: pchar): int64 | pub | Estnische USt-ID validieren |
VATValidateMT(vat: pchar): int64 | pub | Maltesische USt-ID validieren |
Letzte Aktualisierung: 2026-05-22