====== 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. → [[lyx_-_programmiersprache:units:validate|std.validate]] · [[lyx_-_programmiersprache:units:country|std.country]] ---- ===== Imports ===== * ''std.country'' ---- ===== 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