Saltar al contenido principal

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
info

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.