Dinaup.Validations
Validaciones de datos fiscales y geograficos listas para usar desde codigo .NET. Incluye verificacion de NIF/VAT contra VIES y AEAT, codigos postales, provincias y clasificacion territorial de IVA.
Validaciones de geolocalizacion
Codigo postal espanol
ValidationUtils.IsSpanishPostalCode("03201"); // true
ValidationUtils.IsSpanishPostalCode("99999"); // false
Provincia desde codigo postal
ValidationUtils.GetSpainProvinceFromPostalCode("28013"); // "Madrid"
ValidationUtils.GetSpainProvinceFromPostalCode("03201"); // "Alicante"
Normalizacion de nombres de localidad
Convierte nombres regionales o en lenguas cooficiales al nombre estandar en espanol.
ValidationUtils.NormalizeLocationName("elx"); // "Elche"
ValidationUtils.NormalizeLocationName("Bilbo"); // "Bilbao"
Busqueda de paises
// Busqueda parcial por nombre o ISO2
var results = ValidationUtils.SearchCountry("ES");
// ES - Espana / Spain
// Obtener pais exacto
var spain = ValidationUtils.GetCountry("ES");
Console.WriteLine($"{spain.ISO2} - {spain.ENName}"); // ES - Spain
// Verificar si pertenece a la UE
ValidationUtils.IsEuCountryCode("DE"); // true
ValidationUtils.IsEuCountryCode("US"); // false
Validaciones de NIF / VAT
Formato VIES
Valida estructura del NIF para el sistema VIES (solo formato, no existencia).
ValidationUtils.IsVIESVatFormat("ES123456789"); // true
ValidationUtils.IsVIESVatFormat("US123456789"); // false
Formato empresa espanola
Validacion debil de formato de NIF de empresa espanola. Util para autocompletado.
ValidationUtils.IsSpanishBusinessNIFFormat("B12345678"); // true
ValidationUtils.IsSpanishBusinessNIFFormat("X1234567"); // false
Consulta VIES (async)
Consulta online a VIES si un NIF esta dado de alta como operador intracomunitario.
var result = await dinaupClient.CheckVATViesAsync(dinaupClient.DefaultSession, "ESB09689647");
Console.WriteLine(result.Value); // true
Consulta AEAT (async)
Consulta a la AEAT si el NIF y el nombre coinciden. Util para validacion de facturas en Espana.
var result = await dinaupClient.CheckVATAEATAsync(
dinaupClient.DefaultSession, "74381925V", "Angel Albaladejo Belmonte");
Console.WriteLine(result.Identificado); // true
Las consultas a VIES y AEAT requieren una sesion Dinaup activa (dinaupClient.DefaultSession).
Clasificacion territorial de IVA
Clasifica la operacion fiscal segun el lugar de tributacion:
var tipo = ValidationUtils.ClassifyVatTerritoriality("B12345678", "ES", "03201", false);
// National
var tipo2 = ValidationUtils.ClassifyVatTerritoriality("DE267602842", "DE", "81549", true);
// IntraCommunity
Tipos posibles: Unknown, Simplified, National, OutOfVatTerritory, IntraCommunity, OneStopShop, Export.