Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > General/Noticias
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2022
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Validar DNI/CIF

Hola a tod@s.

Estoy teniendo un pequeño problema y es que en los programas de facturación, sobre todo los que generan datos para el sii, no controlo si el dni/cif es correcto en caso de ser extranjero. El operario se equivoca al teclearlo, luego no entra en el sii y no hay forma de buscar al cliente si son clientes de paso.

En el caso de dnis/cifs nacionales no es problema porque hay formas de calcular si el número es correcto pero mi pregunta es si hay alguna forma de hacer una consulta a algún sitio (webservice) en el que se pueda introducir un dni/cif extranjero, especificando el país, y que te diga si es correcto.

Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 15-11-2022
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Pues algo muy complicado lo que requieres.

Me encontré una página (https://expinterweb.mites.gob.es/rea/pub/consulta.htm) que válida empresas acreditadas, pero solo de España, yo vivo en México, así que la página para tal fin seria esta asi que...no lo sé, tendrías q tener un catálogo de páginas de cada país para consultar los datos...algo complicado si tus volúmenes de empresas o personas extranjeras son muchas.

Talvez tendrías que ir elaborando tu propio catálogo de empresas con sus identificadores empresariales para cada cliente/pais e ir almacenando los datos, claro, con el riesgo de que tu usuario ingrese mal los datos consultados, que se reduciría el margen de error si COPIA y PEGA esos datos de las páginas.

En fin, espero te sirvan mis comentarios.

Saludos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #3  
Antiguo 15-11-2022
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Aquí está para Europa.
https://ec.europa.eu/taxation_customs/tin/#/check-tin
Responder Con Cita
  #4  
Antiguo 15-11-2022
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Todos los comentarios son instructivos mRoman, gracias por el tuyo.

Gracias también a ti Casimiro, le echaré un vistazo a esa web. El problema es que "mi tema" se queda cojo porque, aunque los intracomunitarios sean muchos (quizás la mayoría), por el sur de España se mueve mucho marroquí (por ejemplo) y mucho inglés que ya no son comunitarios así que aunque le de solución parcial sigo teniendo el problema. A ver qué se me ocurre y/o si tiene solución este asunto.

Gracias de nuevo y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 15-11-2022
Garada Garada is offline
Miembro
 
Registrado: jul 2004
Posts: 90
Poder: 22
Garada Va por buen camino
¿Realmente el SII te echa para atrás los ID de extranjeros?

Creo recordar que bastaba con identificar el país y en el ID marcarlo como "otra identificacion"

Dudo que Hacienda pueda comprobar que un ID extranjero sea correcto como puede ser con los NIF que aparte del digito de control ya sabe el nombre.
Responder Con Cita
  #6  
Antiguo 16-11-2022
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Pues ahora que lo dices... después de poner el post me quedé dandole vueltas precisamente a ese detalle. Igual los únicos que controlan son los comunitarios y no los extranjeros. Es un tema que tengo que confirmar.

Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #7  
Antiguo 30-01-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.435
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
...no controlo si el dni/cif es correcto en caso de ser extranjero.
Creo que ninguno controlamos eso. Y ellos tampoco.

Cita:
Empezado por Garada Ver Mensaje
¿Realmente el SII te echa para atrás los ID de extranjeros?
Creo recordar que bastaba con identificar el país y en el ID marcarlo como "otra identificacion"
Veo ahora que [Garada] ya lo ha comentado.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 30-01-2023 a las 11:55:43. Razón: Añadir comentario sobre lo dicho por [Garada]
Responder Con Cita
  #8  
Antiguo 30-01-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Perfecto.

Gracias a todos.
__________________
Be water my friend.
Responder Con Cita
  #9  
Antiguo 15-03-2023
serpic serpic is offline
Registrado
 
Registrado: oct 2008
Posts: 1
Poder: 0
serpic Va por buen camino
Hola iMia, grácias por compartir el código.
He conseguido recrear el programa grácias a la información que has aportado.
Lo que no entiendo es como asignar el certificado que me interesa.
Veo que llamas a la función SetCertificate(trim(edCertificado.text), mskCertPass.text, Data) pero me da error y no se si es una función propia tuya o de algún componente.
Me puedes ayudar ?
Grácias
Responder Con Cita
  #10  
Antiguo 16-03-2023
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 147
Poder: 16
iMia Va por buen camino
Hola Serpic,

Tienes razón, no puse la función de asignación del certificado

Ahí va..

Código Delphi [-]

procedure TMainForm.SetCertificate(const FileName, Password: string; var Data: Pointer);
var
  Cert : ICertificate2;
  CertContext : ICertContext;
  PCertContext : PCCERT_CONTEXT;
begin
  try
    Cert := CoCertificate.Create;
  except
    on E: EOleSysError  do
      raise Exception.Create('CAPICOM.DLL no está registrada correctamente.')
  end;

  Cert.Load(FileName, Password, CAPICOM_KEY_STORAGE_EXPORTABLE, CAPICOM_LOCAL_MACHINE_KEY);
  CertContext := Cert as ICertContext;
  CertContext.Get_CertContext(Integer(PCertContext));
  if InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, 4096) = False then
    raise Exception.Create ( 'Error al asignar el certificado de cliente' )
end;

Como se ve en el código inicial, hay que importar la libreria CAPICOM.DLL (y registrarla en cada equipo que se vaya a utilizar la app) y generar el TLB y así se pueden utilizar las constantes de CAPICOM

Saludos...


P.D.: Espero no tengas los problemas que estoy experimentando en alqunas máquinas. en el Hilo: https://www.clubdelphi.com/foros/sho...d.php?p=550756

Saludos.

Última edición por iMia fecha: 16-03-2023 a las 08:34:23.
Responder Con Cita
  #11  
Antiguo 16-03-2023
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 147
Poder: 16
iMia Va por buen camino
Cita:
Empezado por iMia Ver Mensaje
Hola Serpic,

Tienes razón, no puse la función de asignación del certificado

Ahí va..

Código Delphi [-]

procedure TMainForm.SetCertificate(const FileName, Password: string; var Data: Pointer);
var
  Cert : ICertificate2;
  CertContext : ICertContext;
  PCertContext : PCCERT_CONTEXT;
begin
  try
    Cert := CoCertificate.Create;
  except
    on E: EOleSysError  do
      raise Exception.Create('CAPICOM.DLL no está registrada correctamente.')
  end;

  Cert.Load(FileName, Password, CAPICOM_KEY_STORAGE_EXPORTABLE, CAPICOM_LOCAL_MACHINE_KEY);
  CertContext := Cert as ICertContext;
  CertContext.Get_CertContext(Integer(PCertContext));
  if InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, 4096) = False then
    raise Exception.Create ( 'Error al asignar el certificado de cliente' )
end;

Como se ve en el código inicial, hay que importar la libreria CAPICOM.DLL (y registrarla en cada equipo que se vaya a utilizar la app) y generar el TLB y así se pueden utilizar las constantes de CAPICOM

Saludos...


P.D.: Espero no tengas los problemas que estoy experimentando en alqunas máquinas. en el Hilo: https://www.clubdelphi.com/foros/sho...d.php?p=550756

Saludos.
Atención!!
la llamada de carga del certificado es incorrecta...

deberia ser:

Código Delphi [-]
Cert.Load(FileName, Password, CAPICOM_KEY_STORAGE_EXPORTABLE, CAPICOM_CURRENT_USER_KEY);
Responder Con Cita
  #12  
Antiguo 20-06-2025
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 5
edari Va por buen camino
Consulta NIF Intracomunitario

Buenos días,


Como complemento a la consulta a la AEAT de los NIFS nacionales para tener localizados los que están identificados o no quiero empezar a hacer lo mismo con los clientes intracomunitarios y preparar un xml que pueda enviar a algún sitio para que me los valide


No encuentro mucha documentación oficial de como hacerlo pero sí he llegado al hilo común donde teníamos todo lo de Verifactu mezclado y en eso estoy


Genero un fichero tal que así

Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types">
<soapenv:Body>                                                                    
<urn:checkVat>
<urn:countryCode>DE</urn:countryCode>
<urn:vatNumber>DE12345678</urn:vatNumber>
</urn:checkVat>
</soapenv:Body>
</soapenv:Envelope>
Y lo intento subir con
Código PHP:
curl.exe --tlsv1.2 --data-binary @VIESEJEMPLO.XML --cert-type P12 --cert Certificado.p12:CONTRASEÑA -"Content-Type: application/xml;charset=UTF8" -X POST http://ec.europa.eu/taxation_customs/vies/services/checkVatService -o RESPUESTA.XML 
Y no consigo respuesta


Alguien me pueda ayudar?


Gracias
Responder Con Cita
  #13  
Antiguo 20-06-2025
Avatar de gcqZW
gcqZW gcqZW is offline
Miembro
 
Registrado: ene 2025
Ubicación: Zaragoza
Posts: 274
Poder: 2
gcqZW Va por buen camino
Nosotros lo hacemos así, no se si te servirá:

Código PHP:
try {
        
$client = new SoapClient("https://ec.europa.eu/taxation_customs/tin/services/checkTinService.wsdl", [
            
'trace' => 0,
            
'exceptions' => true,
        ]);

        
$params = [
            
'countryCode' => $codigo_pais,
            
'tinNumber' => $nif,
        ];

        
$response $client->__soapCall('checkTin', [$params]);
        if (
$response->validStructure) {
            if (
$response->validSyntax) {
                
$nif_valido[$id_res] = 1;
                if (
$codigo_pais == 'ES') {
                    
$res_dni[$id_res]['dni_tipo'] = '07';
                }
            } else {
                
$nif_valido[$id_res] = 0;
            }
        } else {
            
$nif_valido[$id_res] = 0;
        }
    } catch (
SoapFault $e) {
        
// Manejo de errores
        
enviarLog('ERROR'$opcion$vista'Error en la petición al webservice de validación de NIF: ' $e->getMessage());
        
$nif_valido[$id_res] = 0;
    } 
__________________
La religión es personal e intransferible.
Responder Con Cita
  #14  
Antiguo 20-06-2025
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 5
edari Va por buen camino
Pues no mucho, pero gracias en cualquier caso...a alguien seguro que le vale

Última edición por edari fecha: 20-06-2025 a las 10:49:55.
Responder Con Cita
  #15  
Antiguo 20-06-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.435
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo uno con este otro hilo que parece que va de lo mismo.
https://www.clubdelphi.com/foros/showthread.php?t=95967

Por favor, hagamos búsquedas sobre el tema a preguntar antes de crear nuevos hilos.
Y revisad bien los foros; La consulta de un NIF intracomunitario (el título es correcto) no tiene que ver expresamente con LeyAntifraude, creo que se puede usar en muchos más ámbitos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #16  
Antiguo 03-07-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Verificación de VAT comunitario

Buenas tardes. Alguien ha tenido la necesidad de verificar un NIF comunitario??? Yo lo estoy intentando a través de http://ec.europa.eu/taxation_customs...heckVatService pero no debo estar montando bien el XML de entrada. Alguien que lo haya utilizado y pueda colgar aquí un ejemplo???

Gracias
Responder Con Cita
  #17  
Antiguo 04-07-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.435
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Decanato Ver Mensaje
Buenas tardes. Alguien ha tenido la necesidad de verificar un NIF comunitario??? Yo lo estoy intentando a través de http://ec.europa.eu/taxation_customs...heckVatService pero no debo estar montando bien el XML de entrada. Alguien que lo haya utilizado y pueda colgar aquí un ejemplo???
Por favor, utilicemos las búsquedas antes de crear hilos nuevos.
Uno con el hilo ya existente sobre el tema....

revisa los códigos anteriores
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #18  
Antiguo 04-07-2025
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 5
edari Va por buen camino
Cita:
Empezado por Decanato Ver Mensaje
Buenas tardes. Alguien ha tenido la necesidad de verificar un NIF comunitario??? Yo lo estoy intentando a través de http://ec.europa.eu/taxation_customs...heckVatService pero no debo estar montando bien el XML de entrada. Alguien que lo haya utilizado y pueda colgar aquí un ejemplo???

Gracias



Yo también lo necesitaría y tampoco avanzo nada


Tienes más arriba en este hilo el xml que yo genero sin éxito a ver como de diferentes son los dos pero vamos


Tampoco he encontrado documentación oficial de la cual tirar




Seguiremos buscando
Responder Con Cita
  #19  
Antiguo 04-07-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.229
Poder: 24
keys Va por buen camino
Yo con xml no lo logré. Con JSON si. tienes el ejemplo en este mismo tema más atrás.
Responder Con Cita
  #20  
Antiguo 04-07-2025
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 5
edari Va por buen camino
Vi tu solución pero no trabajo con Delphi y no sé como "transportarlo" a generar el xml
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Verificación de RUC Peru. F3niX Varios 7 26-05-2017 04:36:50
Rutina de verificacion de campos JosepMiquel Varios 3 08-12-2007 19:43:19
Búsqueda sin imagen de verificación kuan-yiu La Taberna 8 13-11-2007 18:22:10
Verificación de los datos grabados en CD o DVD rretamar API de Windows 24 16-01-2007 06:32:47
Verificación de dni luna Varios 4 29-05-2004 21:33:46


La franja horaria es GMT +2. Ahora son las 06:50:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi