Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco (https://www.clubdelphi.com/foros/showthread.php?t=94264)

ermendalenda 30-09-2021 17:35:29

Cita:

Empezado por iMia (Mensaje 543235)
Código Delphi [-]
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : https://www2.agenciatributaria.gob.e...ws/VNifV2.wsdl
//  >Import : https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2.wsdl>0
//  >Import : https://www2.agenciatributaria.gob.e.../VNifV2Ent.xsd
//  >Import : https://www2.agenciatributaria.gob.e.../VNifV2Sal.xsd
// Encoding : UTF-8
// Version  : 1.0
// (09/07/2021 15:44:34 - - $Rev: 90173 $)
// ************************************************************************ //

unit VNifV21;

interface

uses Soap.InvokeRegistry, Soap.SOAPHTTPClient, System.Types, Soap.XSBuiltIns;

const
  IS_UNBD = $0002;


type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Embarcadero types; however, they could also
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string          - "http://www.w3.org/2001/XMLSchema"[Gbl]

  Contribuyente        = class;                 { "http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd"[Cplx] }
  Contribuyente2       = class;                 { "http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Sal.xsd"[Cplx] }

  VNifV2Sal2 = array of Contribuyente2;         { "http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Sal.xsd"[Lit][GblCplx] }
  VNifV2Sal       =  type VNifV2Sal2;      { "http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Sal.xsd"[Lit][GblElm] }
  VNifV2Ent2 = array of Contribuyente;          { "http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd"[Lit][GblCplx] }
  VNifV2Ent       =  type VNifV2Ent2;      { "http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd"[Lit][GblElm] }


  // ************************************************************************ //
  // XML       : Contribuyente, 
  // Namespace : http://www2.agenciatributaria.gob.es.../VNifV2Ent.xsd
  // ************************************************************************ //
  Contribuyente = class(TRemotable)
  private
    FNif: string;
    FNombre: string;
  published
    property Nif:    string  read FNif write FNif;
    property Nombre: string  read FNombre write FNombre;
  end;



  // ************************************************************************ //
  // XML       : Contribuyente, 
  // Namespace : http://www2.agenciatributaria.gob.es.../VNifV2Sal.xsd
  // ************************************************************************ //
  Contribuyente2 = class(TRemotable)
  private
    FNif: string;
    FNombre: string;
    FResultado: string;
  published
    property Nif:       string  read FNif write FNif;
    property Nombre:    string  read FNombre write FNombre;
    property Resultado: string  read FResultado write FResultado;
  end;


  // ************************************************************************ //
  // Namespace : http://www2.agenciatributaria.gob.es...ws/VNifV2.wsdl
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // use       : literal
  // binding   : VNifV2SoapBinding
  // service   : VNifV2Service
  // port      : VNifPort1
  // URL       : https://www1.agenciatributaria.gob.e.../ws/VNifV2SOAP
  // ************************************************************************ //
  VNifV2 = interface(IInvokable)
  ['{0FA68156-DD7D-DED4-F168-3936F989AAA0}']

    // Cannot unwrap: 
    //     - Input element wrapper name does not match operation's name
    function  VNifV2(const VNifV2Ent: VNifV2Ent): VNifV2Sal; stdcall;
  end;

function GetVNifV2(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): VNifV2;


implementation
  uses System.SysUtils;

function GetVNifV2(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): VNifV2;
const
  defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2.wsdl';
  defURL  = 'https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP';
  defSvc  = 'VNifV2Service';
  defPrt  = 'VNifPort1';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as VNifV2);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


initialization
  { VNifV2 }
  InvRegistry.RegisterInterface(TypeInfo(VNifV2), 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2.wsdl', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(VNifV2), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(VNifV2), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(VNifV2), ioLiteral);
  RemClassRegistry.RegisterXSInfo(TypeInfo(VNifV2Sal2), 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Sal.xsd', 'VNifV2Sal2', 'VNifV2Sal');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(VNifV2Sal2), [xoLiteralParam]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(VNifV2Sal), 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Sal.xsd', 'VNifV2Sal');
  RemClassRegistry.RegisterXSInfo(TypeInfo(VNifV2Ent2), 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd', 'VNifV2Ent2', 'VNifV2Ent');
  RemClassRegistry.RegisterSerializeOptions(TypeInfo(VNifV2Ent2), [xoLiteralParam]);
  RemClassRegistry.RegisterXSInfo(TypeInfo(VNifV2Ent), 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd', 'VNifV2Ent');
  RemClassRegistry.RegisterXSClass(Contribuyente, 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Ent.xsd', 'Contribuyente');
  RemClassRegistry.RegisterXSClass(Contribuyente2, 'http://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/burt/jdit/ws/VNifV2Sal.xsd', 'Contribuyente2', 'Contribuyente');

end.

envias nif/cif y nombre en VNifV2Ent y te dice si es correcto o no en VNifV2Sal
Ojo que el nombre debe ser muy aproximado, no hace falta que sea exactamente igual...
debes meter un certificado vàlido en el THTTPRIO con el HTTPRIO.HTTPWebNode.OnBeforePost := HTTPWebNode1BeforePost;

puedes enviar una lista para comprobar con VNifV2Ent2

Hola graciassss.
Vale para extranjeros?

iMia 30-09-2021 17:50:11

Cita:

Empezado por ermendalenda (Mensaje 543237)
Hola graciassss.
Vale para extranjeros?

:confused: pos no lo he probado.... :eek:

ermendalenda 30-09-2021 17:55:57

Cita:

Empezado por iMia (Mensaje 543238)
:confused: pos no lo he probado.... :eek:

Bueno lo investigaré, lo primero a ver si consigo pasarlo a comandos curl
al menos resuelve lo del nombre para futuras comprobaciones que seguro que harán en el tbai

sEngine 30-09-2021 18:54:34

El de alava no funciona aun verdad? Me sale esto (entre otros avisos)


Código Delphi [-]
El servicio de recepción no está disponible. Repita la operación más tarde

JoseLeeTo 01-10-2021 08:26:41

Cita:

Empezado por sEngine (Mensaje 543240)
El de alava no funciona aun verdad? Me sale esto (entre otros avisos)


Código Delphi [-]
El servicio de recepción no está disponible. Repita la operación más tarde

El servicio de alta y Anulación SI están operativos.
Hasta donde yo sé, solo faltaría para Alava (y Guipuzcoa) que publiquen las especificaciones del servicio Zuzendu

JoseLeeTo 01-10-2021 08:28:46

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 543234)
A mi no me ha pasado antes, ni tampoco ahora que acabo de generar una.
¿Te pasa con todas o sólo con algunas?

Si cuando envías el XML no te da error es que debe estar bien.
Así que el problema debe ser de la consulta. ¿Los valores que añades en el título son correctos (total, serie,...)?

Hola.
Solucionado.
Era que el importe de la URL lo mandaba con "comas" y con con "punto" en la parte decimal. Una vez he cambiado eso, todo correcto.

Gracias.

Noe277 01-10-2021 08:59:35

Cita:

Empezado por ermendalenda (Mensaje 543237)
Hola graciassss.
Vale para extranjeros?

Ese es el webservice de la aeat y solo es para dni españoles.

rci 01-10-2021 09:17:39

facturas intracomunitarias con IVA?
 
Buenos días, sabeis si es posible expedir facturas intracomunitarias con IVA?
Pensaba que si y he preguntado a las diputaciones como se envia a TicketBAI, porque en las FAQ solo aparece como enviar exenta, y dicen que no entienden que estoy preguntando...
Existen facturas a clientes no nacionales en que se les aplique IVA o siempre tiene que ser exenta?

Tenemos usuarios de nuestro programa que en algun caso necesitan hacerlo.


Sabeis donde puedo consultar esta información?


Muchas gracias

ermendalenda 01-10-2021 09:18:19

Cita:

Empezado por Noe277 (Mensaje 543244)
Ese es el webservice de la aeat y solo es para dni españoles.


Gracias al menos podemos comprobar la mayoría de los Nombres y NIFS/CIFS
Ya lo tengo funcionando, gracias iMIA

Noe277 01-10-2021 09:30:56

Cita:

Empezado por rci (Mensaje 543245)
Buenos días, sabeis si es posible expedir facturas intracomunitarias con IVA?
Pensaba que si y he preguntado a las diputaciones como se envia a TicketBAI, porque en las FAQ solo aparece como enviar exenta, y dicen que no entienden que estoy preguntando...
Existen facturas a clientes no nacionales en que se les aplique IVA o siempre tiene que ser exenta?

Tenemos usuarios de nuestro programa que en algun caso necesitan hacerlo.


Sabeis donde puedo consultar esta información?


Muchas gracias

Una empresa española vende a una empresa francesa ambos tienen que estar inscritos en el ROI por tanto tienen nif intracomunitario ->Exento
Una empresa española vende a una empresa francesa que no esta inscrita en el ROI no tiene nif intracomunitario. Generalmente no serán empresas serán particulares-> Iva Español
Se entiende que una empresa al realizar operación intracomunitarias tiene que darse de alta en el ROI/VIES

ermendalenda 01-10-2021 09:36:43

Agradecería que alguien pasara(parametrizara) a Curl.exe para verificar los nifs extranjeros, aqui os dejo la documentación:
https://ec.europa.eu/taxation_custom...formation.html

rci 01-10-2021 09:49:51

Cita:

Empezado por Noe277 (Mensaje 543247)
Una empresa española vende a una empresa francesa ambos tienen que estar inscritos en el ROI por tanto tienen nif intracomunitario ->Exento
Una empresa española vende a una empresa francesa que no esta inscrita en el ROI no tiene nif intracomunitario. Generalmente no serán empresas serán particulares-> Iva Español
Se entiende que una empresa al realizar operación intracomunitarias tiene que darse de alta en el ROI/VIES


Muchas gracias Noe277, puede que yo tenga algunos conceptos mal entendidos:confused:


Si lo he entendido bien una intracomunitaria siempre es exenta, y si en una factura se aplica iva es que no es intracomunitaria, aunque el cliente no se nacional.


Si es así ya me cuadra para declarar facturas a TicketBAI ...


Gracias

Noe277 01-10-2021 10:01:17

Cita:

Empezado por rci (Mensaje 543249)
Muchas gracias Noe277, puede que yo tenga algunos conceptos mal entendidos:confused:


Si lo he entendido bien una intracomunitaria siempre es exenta, y si en una factura se aplica iva es que no es intracomunitaria, aunque el cliente no se nacional.


Si es así ya me cuadra para declarar facturas a TicketBAI ...


Gracias

Por ponerte un caso imagínate que el Frances compra un coche en la península pues en este caso lleva iVA porque es un particular

ermendalenda 01-10-2021 10:25:25

Curl Nifs
 
Ya tengo curl para comprobar todos los NIFS
Extranjeros y españoles.

Oe
oeeoeoe
Y metiendo el cif me devuleve el nombre y direccion
Tengo 2 comprobaciones españoles, y el extranjero(que tiene que estar dado de alta en el ROI)

JoseLeeTo 01-10-2021 11:01:13

Cita:

Empezado por ermendalenda (Mensaje 543251)
Ya tengo curl para comprobar todos los NIFS
Extranjeros y españoles.

Oe
oeeoeoe
Y metiendo el cif me devuleve el nombre y direccion
Tengo 2 comprobaciones españoles, y el extranjero(que tiene que estar dado de alta en el ROI)

Enhorabuena!
¿Podrías compartir la llamada, datos, etc.. en el foro para que el que quiera pueda utilizarlo?

Saludos

JoseLeeTo 01-10-2021 11:07:02

Cita:

Empezado por sEngine (Mensaje 543240)
El de alava no funciona aun verdad? Me sale esto (entre otros avisos)


Código Delphi [-]
El servicio de recepción no está disponible. Repita la operación más tarde

Disculpa. Creía que te referías al servicio "como tal", que si estaba publicado o no. :rolleyes:
Hoy está caído parece ser. Sí.
Tienes razón.

ermendalenda 01-10-2021 11:40:31

Cita:

Empezado por JoseLeeTo (Mensaje 543252)
Enhorabuena!
¿Podrías compartir la llamada, datos, etc.. en el foro para que el que quiera pueda utilizarlo?

Saludos


Sí, no te preocupes, estoy afinando, le voy a meter la tabla de paises para comprobar los nifs extranjero, etc, ya os explicare, voy a tardar un poco (no se si horas o algun dia), pero lo comparto cuando lo tenga.
Adelanto que parala comprobacion de nifs españoles hace falta el certificado(el mismo de TBAI) y para el de los extranjeros se puede hacer con o sin certificado(que no entiendo para que las 2 formas, si habra algun limite de consultas, no le encuentro sentido)

JoseLeeTo 01-10-2021 12:04:47

Cita:

Empezado por ermendalenda (Mensaje 543254)
Sí, no te preocupes, estoy afinando, le voy a meter la tabla de paises para comprobar los nifs extranjero, etc, ya os explicare, voy a tardar un poco (no se si horas o algun dia), pero lo comparto cuando lo tenga.
Adelanto que parala comprobacion de nifs españoles hace falta el certificado(el mismo de TBAI) y para el de los extranjeros se puede hacer con o sin certificado(que no entiendo para que las 2 formas, si habra algun limite de consultas, no le encuentro sentido)

Gracias!

Si es que aquí en este proyecto nada tiene sentido, ya sabes. :rolleyes:

JoseLeeTo 01-10-2021 12:06:20

Hola de nuevo;

Estoy teniendo problemas al mandar a Bizkaia.
Me dice continuamente "Tiempo de respuesta agotado - Sin Respuesta"

Alava devuelve que tiene caído el servicio.
Guipzucoa aparentemente funciona bien.

¿Os está ocurriendo a vosotros también?

Muchas gracias.
Saludos.

iMia 01-10-2021 12:17:46

Cita:

Empezado por JoseLeeTo (Mensaje 543256)
Hola de nuevo;

Estoy teniendo problemas al mandar a Bizkaia.
Me dice continuamente "Tiempo de respuesta agotado - Sin Respuesta"

Alava devuelve que tiene caído el servicio.
Guipzucoa aparentemente funciona bien.

¿Os está ocurriendo a vosotros también?

Muchas gracias.
Saludos.

Hoy chapaban el servicio de Bizkaia durante 15 dias...


La franja horaria es GMT +2. Ahora son las 22:31:02.

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