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 11-09-2021 10:07:28

Ayuda error Anulación Factura
 
Buenos días, he enviado una factura y me la ha aceptado y registrado )para comprobarlo la he vuelto a mandar y me ha dado el rror de que ya existe...)
El problema es que ahora aquiero anularla.
Lo envio con curl
curl -v --insecure --data-binary "@C:\xxxx\Fact_Anul_156-1-197_20210911_083544.xml.xsig" --cert-type P12 --cert c:\certs\Ciudadano.pfx:xxxxx -H "Content-Type: application/xml;charset=UTF8" -X POST https://tbai-prep.egoitza.gipuzkoa.e...uras/anulacion

Y me devuelve este error:

11-09-2021 10:01:27 01 Rechazado Baztertua 002 Error: El fichero de anulación TicketBAI no cumple el esquema XSD. Detalle del error: cvc-elt.1: Cannot find the declaration of element 'T:AnulaTicketBai'. Errorea: TicketBAI baliogabetze fitxategiak ez du betetzen XSD eskema. Errorearen xehetasuna: cvc-elt.1: Cannot find the declaration of element 'T:AnulaTicketBai'.


He seguido el esquema XSD de anulacion, firmado correctamente con los tres digest valid:

<?xml version="1.0" encoding="UTF-8" ?>
- <T:AnulaTicketBai xmlns:T="http://ticketbai.eus/anulacion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xm...ore-schema.xsd">
- <Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>

</Cabecera>


- <IdFactura>
- <Emisor>
<NIF>XXXXXXXXXXX</NIF>
<ApellidosNombreRazonSocial>XXXXXXXXX</ApellidosNombreRazonSocial>
</Emisor>


<CabeceraFactura>
<SerieFactura>F.Simp.156.1</SerieFactura>
<NumFactura>197</NumFactura>
<FechaExpedicionFactura>11-09-2021</FechaExpedicionFactura>
<HoraExpedicionFactura>08:35:44</HoraExpedicionFactura>
</CabeceraFactura>



</IdFactura>

<HuellaTBAI>

<Software>
<LicenciaTBAI>TBAIPRUEBA</LicenciaTBAI>
<EntidadDesarrolladora>
<NIF>ZZZZZZ</NIF>
</EntidadDesarrolladora>
<Nombre>XXXXXX</Nombre>
<Version>1.0.2313</Version>
</Software>
<NumSerieDispositivo>MAC:ZZZZZ</NumSerieDispositivo>
</HuellaTBAI>
<ds:Signature ....... </ds:Signature>
</T:AnulaTicketBai>

ermendalenda 11-09-2021 10:25:14

.continuo
 
he comprobado el xxsd-xlm
https://www.freeformatter.com/xml-validator-xsd.html
y he arreglado un par de errores
IdFactura por IDFactura y he quitado HoraExpedicion..
Pero sigue dando el mismo error

ermendalenda 11-09-2021 12:07:26

Cita:

Empezado por ermendalenda (Mensaje 542767)
Buenos días, he enviado una factura y me la ha aceptado y registrado )para comprobarlo la he vuelto a mandar y me ha dado el rror de que ya existe...)
El problema es que ahora aquiero anularla.
Lo envio con curl
curl -v --insecure --data-binary "@C:\xxxx\Fact_Anul_156-1-197_20210911_083544.xml.xsig" --cert-type P12 --cert c:\certs\Ciudadano.pfx:xxxxx -H "Content-Type: application/xml;charset=UTF8" -X POST https://tbai-prep.egoitza.gipuzkoa.e...uras/anulacion

Y me devuelve este error:

11-09-2021 10:01:27 01 Rechazado Baztertua 002 Error: El fichero de anulación TicketBAI no cumple el esquema XSD. Detalle del error: cvc-elt.1: Cannot find the declaration of element 'T:AnulaTicketBai'. Errorea: TicketBAI baliogabetze fitxategiak ez du betetzen XSD eskema. Errorearen xehetasuna: cvc-elt.1: Cannot find the declaration of element 'T:AnulaTicketBai'.


He seguido el esquema XSD de anulacion, firmado correctamente con los tres digest valid:

<?xml version="1.0" encoding="UTF-8" ?>
- <T:AnulaTicketBai xmlns:T="http://ticketbai.eus/anulacion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xm...ore-schema.xsd">
- <Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>

</Cabecera>


- <IdFactura>
- <Emisor>
<NIF>XXXXXXXXXXX</NIF>
<ApellidosNombreRazonSocial>XXXXXXXXX</ApellidosNombreRazonSocial>
</Emisor>


<CabeceraFactura>
<SerieFactura>F.Simp.156.1</SerieFactura>
<NumFactura>197</NumFactura>
<FechaExpedicionFactura>11-09-2021</FechaExpedicionFactura>
<HoraExpedicionFactura>08:35:44</HoraExpedicionFactura>
</CabeceraFactura>



</IdFactura>

<HuellaTBAI>

<Software>
<LicenciaTBAI>TBAIPRUEBA</LicenciaTBAI>
<EntidadDesarrolladora>
<NIF>ZZZZZZ</NIF>
</EntidadDesarrolladora>
<Nombre>XXXXXX</Nombre>
<Version>1.0.2313</Version>
</Software>
<NumSerieDispositivo>MAC:ZZZZZ</NumSerieDispositivo>
</HuellaTBAI>
<ds:Signature ....... </ds:Signature>
</T:AnulaTicketBai>



Me respondo a mi mismo
Cambiado:
<T:AnulaTicketBai xmlns:T="http://ticketbai.eus/anulacion"
Por:
<T:AnulaTicketBai xmlns:T="urn:ticketbai:anulacion"


Por otro lado es curioso que me haya aceptado el de alta de factura sin tener la licencia Software Garante
Pero me rechace la anulacion por no tener la licencia

ermendalenda 11-09-2021 17:59:15

Factura Rectificativa
 
Por favor, teneis un ejemplo de Factura Rectificativa?

ermendalenda 12-09-2021 11:30:08

Joder esta norma no la había visto, ahora a retocar medida:
El código QR TicketBAI consiste en un código con formato QR de tamaño mayor o
igual a 30x30 milímetros y menor o igual a 40x40 milímetros.

rci 13-09-2021 11:17:51

Cita:

Empezado por Band (Mensaje 542764)
Los descargué de aquí: https://www.izenpe.eus/web_corporati...ificados.shtml

Lo que no me acuerdo es si descargué los de prueba (desarollo) o prueba (producción) pero el que uso yo es el 'sello_entidad_act'

Luego para enviar (uso curl) el trozo de código del certificado es este:
Código Delphi [-]' --cert-type P12 --cert sello_entidad_act.p12:IZDesa2021 '


Cracias por la respuesta Band, he vuelto a probarlo poniendo ese certificado pero nada.

Con Bizkaia no puedo ni comunicarme, me da un error 10054 ConnectionReset:
No se puede escribir datos de en la conexión de transporte: Se ha forzado la interrupción de una conexión existente por el host remoto.
Con Gipuzkoa si comunica y contestan Error: No se ha utilizado certificado de cliente.


En cambio con un certificado real válido no tengo problema. Pero es de persona jurídica y me falta el de persona física, lo solicitaré en la fnmt


Muchas gracias de todos modos

chuski1212 13-09-2021 15:35:33

Ya no se que mas hacer :(

He validado la firma con la misma libreria xadesjs y con el validador de chilkat y ambos me dan Valid Signature, pero al intentar enviar el fichero a la URL de pruebas de Guipuzkoa me sigue dando todo el rato error 006 Error inesperado en la verificación de la firma.

Alguien tiene alguna idea o puede enviarme aunque sea por privado un fichero aceptado para ver las posibles diferencias?

Muchas gracias, entre todos lo conseguiremos!

ermendalenda 13-09-2021 16:21:36

1 Archivos Adjunto(s)
Cita:

Empezado por chuski1212 (Mensaje 542798)
Ya no se que mas hacer :(

He validado la firma con la misma libreria xadesjs y con el validador de chilkat y ambos me dan Valid Signature, pero al intentar enviar el fichero a la URL de pruebas de Guipuzkoa me sigue dando todo el rato error 006 Error inesperado en la verificación de la firma.

Alguien tiene alguna idea o puede enviarme aunque sea por privado un fichero aceptado para ver las posibles diferencias?

Muchas gracias, entre todos lo conseguiremos!

Te envio sin firmar y firmado, he cambiado los datos de cif... que si le pones cifs oks y los vuelves a firmar y enviar funciona perfectamente.
Fijate que temgas bien el encabezado, el orden de los campos y hay muchos errore en los nombres de campos cambiados alguna letra de mayusculas a minusculas...

Band 13-09-2021 17:01:11

Cita:

Empezado por chuski1212 (Mensaje 542798)
Ya no se que mas hacer :(

He validado la firma con la misma libreria xadesjs y con el validador de chilkat y ambos me dan Valid Signature, pero al intentar enviar el fichero a la URL de pruebas de Guipuzkoa me sigue dando todo el rato error 006 Error inesperado en la verificación de la firma.

Alguien tiene alguna idea o puede enviarme aunque sea por privado un fichero aceptado para ver las posibles diferencias?

Muchas gracias, entre todos lo conseguiremos!



Cuidado con el envío, porque puedes estar firmando bien pero luego al enviar sin querer estás modificando algo. Cuidado con los caracteres especiales también.

ermendalenda 13-09-2021 17:30:30

Cita:

Empezado por Band (Mensaje 542800)
Cuidado con el envío, porque puedes estar firmando bien pero luego al enviar sin querer estás modificando algo. Cuidado con los caracteres especiales también.

Efectivamente
Que este enviando con Curl y le cambié algún retorno de carro...
El envío con el parámetro binary es importante

Band 13-09-2021 17:40:57

Cita:

Empezado por ermendalenda (Mensaje 542804)
Efectivamente
Que este enviando con Curl y le cambié algún retorno de carro...
El envío con el parámetro binary es importante

Por si hace falta, o alguien tiene dudas, en curl lo hago así y de momento no tengo problemas:

Código Delphi [-]
curlCommand := '--data-binary "@' + path_fichero + '\' + nombre_fichero + '" ' +
    ' --cert-type P12 --cert sello_entidad_act.p12:IZDesa2021 ' + 
    ' -D "' + PATH_CURL + '\header-dump.txt" ' + 
    ' -H "Content-Type: application/xml;charset=UTF-8" ' +  
    ' -H "Accept-Encoding: ''gzip''" ' +
    ' -H "Content-Encoding: ''gzip''" ' +
    ' -X POST ' + url;

(El parámetro -D con el que capturo el header, realmente es innecesario y en un futuro lo quitaré)

ermendalenda 13-09-2021 18:02:43

Cita:

Empezado por Band (Mensaje 542805)
Por si hace falta, o alguien tiene dudas, en curl lo hago así y de momento no tengo problemas:

Código Delphi [-]
curlCommand := '--data-binary "@' + path_fichero + '\' + nombre_fichero + '" ' +
    ' --cert-type P12 --cert sello_entidad_act.p12:IZDesa2021 ' + 
    ' -D "' + PATH_CURL + '\header-dump.txt" ' + 
    ' -H "Content-Type: application/xml;charset=UTF-8" ' +  
    ' -H "Accept-Encoding: ''gzip''" ' +
    ' -H "Content-Encoding: ''gzip''" ' +
    ' -X POST ' + url;

(El parámetro -D con el que capturo el header, realmente es innecesario y en un futuro lo quitaré)

Yo si lo uso para comprobar que el envío es ok
Una primera comprobación.

ermendalenda 14-09-2021 10:35:02

Atascado con descuentos
 
Buenas, tengo una duda respecto al importe unitario de las lineas de detalle, ¿Cuando existe descuento, a nivel de línea, el precio unitario debe ir con descuento o sin descuento ?


Gracias y saludos

iMia 14-09-2021 11:47:04

Cita:

Empezado por ermendalenda (Mensaje 542811)
Buenas, tengo una duda respecto al importe unitario de las lineas de detalle, ¿Cuando existe descuento, a nivel de línea, el precio unitario debe ir con descuento o sin descuento ?


Gracias y saludos

Hola Menda,
el precio unitario es el pvp, sin descuentos ni impuestos...

elguille 14-09-2021 13:25:23

Content is not allowed in prolog
 
1 Archivos Adjunto(s)
Cita:

Empezado por ermendalenda (Mensaje 542799)
Te envio sin firmar y firmado, he cambiado los datos de cif... que si le pones cifs oks y los vuelves a firmar y enviar funciona perfectamente.
Fijate que temgas bien el encabezado, el orden de los campos y hay muchos errore en los nombres de campos cambiados alguna letra de mayusculas a minusculas...

Hola, he creado el XML con las chillkat y he validado las firmas con las utilidades para verificarlas y en principio estan correctas, pero al enviarlo a Guipuzcoa recibo
Error: El fichero de alta TicketBAI no cumple el esquema XSD. No se ha podido procesar el mensaje. Detalle del error: Content is not allowed in prolog
Creo que este error es debibo a los tag de definicion, yo empleo estos que he copiado de post anteriores y no consigo ver donde he metido la pata.

Cita:

<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">
He validado el XML contra el xsd mediante ttps://www.freeformatter.com/xml-validator-xsd.html y recibo el mismo error, los ficheros de ejemplo que has enviado tambien dan el mismo error al validarlos, no acabo de entender como puede ser que a ti no den error, ¿alguien es capaz de ver donde esta el problema?

Adjunto zip con el xml y el codigo que empleo.

Gracias y saludos

iMia 14-09-2021 13:54:21

Cita:

Empezado por elguille (Mensaje 542813)
Hola, he creado el XML con las chillkat y he validado las firmas con las utilidades para verificarlas y en principio estan correctas, pero al enviarlo a Guipuzcoa recibo
Error: El fichero de alta TicketBAI no cumple el esquema XSD. No se ha podido procesar el mensaje. Detalle del error: Content is not allowed in prolog
Creo que este error es debibo a los tag de definicion, yo empleo estos que he copiado de post anteriores y no consigo ver donde he metido la pata.



He validado el XML contra el xsd mediante ttps://www.freeformatter.com/xml-validator-xsd.html y recibo el mismo error, los ficheros de ejemplo que has enviado tambien dan el mismo error al validarlos, no acabo de entender como puede ser que a ti no den error, ¿alguien es capaz de ver donde esta el problema?

Adjunto zip con el xml y el codigo que empleo.

Gracias y saludos


Respecto al que yo genero, veo que sobran cosas...


<?xml version="1.0" encoding="UTF-8"?>
<T:TicketBai xmlns:T="urn:ticketbai:emision">
<Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>
....


prueba de quitar el ds, el xsi y el shemaLocation...

yo no los tengo y me funciona...

elguille 14-09-2021 14:09:32

Cita:

Empezado por iMia (Mensaje 542814)
Respecto al que yo genero, veo que sobran cosas...


<?xml version="1.0" encoding="UTF-8"?>
<T:TicketBai xmlns:T="urn:ticketbai:emision">
<Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>
....


prueba de quitar el ds, el xsi y el shemaLocation...

yo no los tengo y me funciona...

Me da el mismo error tanto en el validador como en el servicio ¿?

iMia 14-09-2021 14:56:32

Cita:

Empezado por elguille (Mensaje 542815)
Me da el mismo error tanto en el validador como en el servicio ¿?

las otras dos diferencias que veo con el mio son;

- El orden de KeyValue y el X509Data

en el mio....
<ds:KeyInfo>
<ds:X509Data>
...
</ds:X509Data>
<ds:KeyValue>
...
</ds:KeyValue>
</ds:KeyInfo>

en el tuyo

<ds:KeyInfo Id="....">
<ds:KeyValue>
...
</ds:KeyValue>
<ds:X509Data>
...
</ds:X509Data>
</ds:KeyInfo>


- En el nodo ds:Reference tienes un atributo Type que yo no tengo...

Si revisando eso, no te sigue dando error, prueba de firmar con autofirma, a ver si ves alguna otra diferencia....

ermendalenda 14-09-2021 15:08:25

Cita:

Empezado por iMia (Mensaje 542812)
Hola Menda,
el precio unitario es el pvp, sin descuentos ni impuestos...

Gracias

Gracias
Gracias

ermendalenda 14-09-2021 15:11:17

Serie Simplificada Rectificativa
 
Hola, tengo claro que la serie de las facturas rectificativas tiene que ser diferentes.
Sabeis si se sigue conservando la posibilidad de que la SERIE de la [FACTURA SIMPLIFICADA RECTIFICATIVA], sea la MISMA SERIE que la [FACTURA SIMPLIFICADA NORMAL]?


Buff me ahorraria bastante cambio de código.

Gracias


La franja horaria es GMT +2. Ahora son las 11:13:07.

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