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)

Noe277 29-09-2021 16:32:43

Cita:

Empezado por thinkows (Mensaje 543209)
Pues que simpáticos, porque la mayoría de mis clientes trabaja con IVA incluido (comercio minorista) y el preció del artículo es 1.75 si quito el iva a 8 decimales 1.44628099 si añado el iva+0.31 seran 1.76 y no será lo que el cliente pago con el ticket físico.

Estoy esperando su respuesta .....:(:(:(:(


Gracias a todos, un saludo

Yo también les he mandado 1 correo pero aquí hay 2 temas uno el del redondeo y otro el de que el detalle no coincide con el desglose de bases (Esto lo tienen que flexibilizar) y en cuanto al redondeo para mi esta mal lo que hacen tiene que ser 0,30

JoseLeeTo 29-09-2021 17:28:26

Hola!.

En una consulta a Guipuzcoa en Preproducción, con el QRTBai generado, obtengo este resultado de error en su Página:

SRVE0255E: A WebGroup/Virtual Host to handle /qr/ has not been defined.

SRVE0255E: A WebGroup/Virtual Host to handle wasprex1.sare.gipuzkoa.net:9083 has not been defined.

¿A alguien más le ha pasado?
¿Es problema de ellos, o mío de programación?

Muchas gracias.
Saludos.

ermendalenda 29-09-2021 18:26:27

Cita:

Empezado por JoseLeeTo (Mensaje 543212)
Hola!.

En una consulta a Guipuzcoa en Preproducción, con el QRTBai generado, obtengo este resultado de error en su Página:

SRVE0255E: A WebGroup/Virtual Host to handle /qr/ has not been defined.

SRVE0255E: A WebGroup/Virtual Host to handle wasprex1.sare.gipuzkoa.net:9083 has not been defined.

¿A alguien más le ha pasado?
¿Es problema de ellos, o mío de programación?

Muchas gracias.
Saludos.

Sí puedes poner el QR quizás podamos decirte lo más probable sea el qr mal generado

unomasmas 29-09-2021 21:11:52

Cita:

Empezado por edari (Mensaje 543185)
Buenas días de nuevo,
Haciendo la primera prueba con Alava me devuelve "error 12 AVISO: Dispositivo de facturación remitente no registrado"

Esto entiendo que será por no poner el campo "NumSerieDispositivo" que en la documentación viene definiodo como opcional. De la misma manera en Guipuzoa me funciona correctamente.

¿Alguna idea?

Gracias por adelantado


Yo creo que tiene que ver con el certificado que usas, ¿un certificado de dispositivo? Debe estar registrarse para que tengan constancia de a qué administrado corresponde el dispositivo. La opción que planteas no tiene sentido porque, como bien dices, es un dato opcional, con lo que no creo que lo validen.

unomasmas 29-09-2021 21:21:33

Cita:

Empezado por ermendalenda (Mensaje 543205)
No, si ya me estoy dando cuenta, pero vaya tela de cara dura tienen, esto es la queja del abuelete de que ctmo a ctmo alguien está haciendo caja

Bueno, sí que sois mal pensados ;-) Si es así, yo creo que simplemente tienen mal la función de redondeo y que lo corregirán porque al final les va a suponer más quebraderos de cabeza que beneficios :-). Lo lógico es que den un margen y que validen como correcto tanto un importe como el otro ya que ellos pensarán lógicamente en que cada programa puede tener pequeñas diferencias de redondeo...

JoseLeeTo 30-09-2021 08:35:55

Cita:

Empezado por ermendalenda (Mensaje 543213)
Sí puedes poner el QR quizás podamos decirte lo más probable sea el qr mal generado

Hola;
Agradecería vuestra ayuda. Esta es la URL a la que consulto y me da el error anterior:

https://tbai-prep.egoitza.gipuzkoa.e...=101,81&cr=057

Gracias de antemano

JoseLeeTo 30-09-2021 08:43:04

Perdon;

La URL estaba mal, y poco iba a poder consultar.

Esta es la URL que he utilizado, y llega a la página, pero ahora me dice "CRC Incorrecto".

https://tbai.prep.gipuzkoa.eus/qr/?i...=101,81&cr=057


¿Alguien podría contrastar conmigo el CRC?

Muchas gracias.

Neftali [Germán.Estévez] 30-09-2021 09:12:39

Cita:

Empezado por JoseLeeTo (Mensaje 543218)
Esta es la URL a la que consulto y me da el error anterior:
https://tbai-prep.egoitza.gipuzkoa.e...=101,81&cr=057


Esta es la URL que estás utilizando:


Y esta es la que hay que utilizar:

Si recalculas el CRC con esa te dará bien.

JoseLeeTo 30-09-2021 09:29:17

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 543221)
Esta es la URL que estás utilizando:


Y esta es la que hay que utilizar:

Si recalculas el CRC con esa te dará bien.


Efectivamente. Eso era, problema con la URL.

Muchas gracias por la ayuda.

Ramon88 30-09-2021 11:03:30

Ticket o factura
 
De nuevo con dudas...
Puedo presentar solo facturas? o tengo que presentar tambien los tickets(facturas simplificadas) ???


Particularmente trabajamos con un tipo de negocio en el cual te dejan dinero a cuenta por un producto, a veces vienen a por el, otras no... y hasta que no terminan de pagarlo, lógicamente, no emites factura, y solo la emites si la piden, claro está...

iMia 30-09-2021 11:59:40

Cita:

Empezado por Ramon88 (Mensaje 543224)
De nuevo con dudas...
Puedo presentar solo facturas? o tengo que presentar tambien los tickets(facturas simplificadas) ???


Particularmente trabajamos con un tipo de negocio en el cual te dejan dinero a cuenta por un producto, a veces vienen a por el, otras no... y hasta que no terminan de pagarlo, lógicamente, no emites factura, y solo la emites si la piden, claro está...

Tienes que presentar todas las facturas, sean completas o simplificadas...

Sobre el tema de los pagos, hay que diferenciar la factura del pago (a cuenta o a posteriori)...
A parte que las facturas hay que emitirlas, te las pidan o no, te las paguen o no... (sin conocer el tipo de negocio particular)

Sistel 30-09-2021 12:07:00

Cita:

Empezado por Ramon88 (Mensaje 543224)
De nuevo con dudas...
Puedo presentar solo facturas? o tengo que presentar tambien los tickets(facturas simplificadas) ???
Particularmente trabajamos con un tipo de negocio en el cual te dejan dinero a cuenta por un producto, a veces vienen a por el, otras no... y hasta que no terminan de pagarlo, lógicamente, no emites factura, y solo la emites si la piden, claro está...

Hola Ramon88,

Los tickets (facturas simplificadas) siguen siendo facturas y, por tanto, hay obligación de generarlas con TicketBAI (crearles su código TBAI y QR) y enviarlas, igual que el resto, a la Hacienda Foral correspondiente.
Dentro de la estructura del XML de la factura se especifica que es factura simplificada.
Es el caso de los TPVs de las tiendas y de las balanzas electrónicas de fruterías, carnicerías y pescaderías: deben generar su fichero XML, deben imprimir el código TBAI y el código QR y deben enviarlas a Hacienda.

En el caso de generar documentos tipo albarán (de entregas) o recibos (de cobro) que no sean facturas o facturas simplificadas, no hay que hacer nada en TicketBAI.
Pero ojo, porque Hacienda no es tonta y no se admite cobrar sin emitir factura (o factura simplificada) en algún momento.

De hecho, en el comercio es obligatorio imprimir el ticket (factura simplificada) aunque el cliente no lo quiera.
He tenido noticias de inspectores de Hacienda en la puerta de alguna panadería que preguntaban a los clientes, a la salida, si les habían dado ticket.
En caso negativo, ya sabes ... entrada en la tienda y apertura de informe con vistas a sanción.

Saludos

JoseLeeTo 30-09-2021 12:25:40

Hola de nuevo.
Esto es un no parar.

A la hora de consultar una factura en pruebas, en Guipuzcoa, con la URL del QRTBai, el Captcha y todo lo que pide, me aparece correctamente dada de alta dicha factura.
Pero al final de la página, me aparece un mensaje diciendo:

"Factura recibida pero los valores no coinciden"

En la Respuesta que recibo de Guipuzcoa, en el XML, NO me advierten de ningún error en dicha factura, y solo me aparece cuando la estoy consultando.

¿A alguien más le ha pasado? ¿A qué puede ser debido?

Gracias de antemano.
Un saludo.

ermendalenda 30-09-2021 13:13:46

Cita:

Empezado por Ramon88 (Mensaje 543224)
De nuevo con dudas...
Puedo presentar solo facturas? o tengo que presentar tambien los tickets(facturas simplificadas) ???


Particularmente trabajamos con un tipo de negocio en el cual te dejan dinero a cuenta por un producto, a veces vienen a por el, otras no... y hasta que no terminan de pagarlo, lógicamente, no emites factura, y solo la emites si la piden, claro está...

Según mi asesor de los pagos a cta también habría que hacer factura, pero de vuelve todo tan complejo que quizás no merece l pena. Y no he oído que en ninguna inspección se metan en ese tema.

Ramon88 30-09-2021 16:36:29

Lo de que todas las empresas deben imprimir ticket estamos de acuerdo, pero te diria que todavía hay una gran parte de negocios sin impresoras de ticket, aunque parezca mentira...


La verdad que sigo sin tener claro si debo de subir también las facturas simplificadas o no...
Si subimos facturas simplificadas, estas deben de coincidir con las facturas...
Nº de venta: 55 *que incluye las facturas simplificadas Nº 10 y 33 (Subo 2 facturas simplificadas)
Factura 11111 de la venta 55 (Subo 1 factura)


Es correcto ?

Ramon88 30-09-2021 16:38:17

Cita:

Empezado por ermendalenda (Mensaje 543228)
Según mi asesor de los pagos a cta también habría que hacer factura, pero de vuelve todo tan complejo que quizás no merece l pena. Y no he oído que en ninguna inspección se metan en ese tema.


Precisamente en las inspecciones que hemos pasado revisan las facturas simplificadas, que sean correlativas en fecha y numero y coincidan con lo declarado evidentemente. Tambien el tipo de negocio en que em muevo se declaran cobros y no ventas, ya que puedo vender algo y jamas cobrarlo.

ermendalenda 30-09-2021 17:09:52

Chequeo de cif múltiples países:
Hola me han pasado el webservice los wsdl para chequear cifs.
Alguien interesado en echarle un ojo y generar algún ejemplo: xml y parámetros curl?
Según me dicen, no solo mira si es válido si no que esté activo

Neftali [Germán.Estévez] 30-09-2021 17:15:00

Cita:

Empezado por JoseLeeTo (Mensaje 543227)
A la hora de consultar una factura en pruebas, en Guipuzcoa, con la URL del QRTBai, el Captcha y todo lo que pide, me aparece correctamente dada de alta dicha factura.
Pero al final de la página, me aparece un mensaje diciendo:

"Factura recibida pero los valores no coinciden"

En la Respuesta que recibo de Guipuzcoa, en el XML, NO me advierten de ningún error en dicha factura, y solo me aparece cuando la estoy consultando.
¿A alguien más le ha pasado? ¿A qué puede ser debido?


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,...)?

iMia 30-09-2021 17:28:34

Cita:

Empezado por ermendalenda (Mensaje 543233)
Chequeo de cif múltiples países:
Hola me han pasado el webservice los wsdl para chequear cifs.
Alguien interesado en echarle un ojo y generar algún ejemplo: xml y parámetros curl?
Según me dicen, no solo mira si es válido si no que esté activo

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

ermendalenda 30-09-2021 17:28:55

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,...)?

Teniendo en cuenta que deben indexar por la serie número de factura y cif, el único valor que queda por revisar es que el importe del XML sea igual al del qr y la firma y evidentemente que no hayas enviado con una firma y hayas vuelto a generarlo con otra firma para el qr

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 18:45:56.

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