Inhaltsverzeichnis

std.validate.vat

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.validate · std.country


Imports


Konstanten

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

Verwendung

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"


Funktionen

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