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)

MikusMikae 14-06-2021 12:24:01

Buenas,


Estamos utilizando chilkat para firmar los xml, al firmar tiquets consecutivos, genera la misma firma en cada uno de ellos y al publicar en el servicio web, nos dice ya estan registrados en el sistema.
Pero son tiquets distintos.


¿Que puede ser?


Saludos.

Neftali [Germán.Estévez] 14-06-2021 17:20:55

Cita:

Empezado por MikusMikae (Mensaje 541317)
Estamos utilizando chilkat para firmar los xml, al firmar tiquets consecutivos, genera la misma firma en cada uno de ellos y al publicar en el servicio web, nos dice ya estan registrados en el sistema.
Pero son tiquets distintos.
¿Que puede ser?


Revisar el XML antes de firmarlo.
¿Seguro que el numero de documento no es el mismo en todos ellos?
Facturas con números distintos no deberían dar duplicados en el sistema.
Ojo, que si estáis haciendo pruebas, puede ser que anteriormente ya hayáis subido pruebas con el mismo número.

tejano 14-06-2021 17:55:46

Hola, alguien sabe cuando tardan en decir si el registro del Software Garante es correcto o hay que añadir más documentación?
Desde el día 1 de Junio que lo mande de nuevo la documentación a la DFB , todavía no nos han contestado. Me gustaría tenerlo antes de irme de vacaciones para estar más relajado.
Graciasssss

luismartin 15-06-2021 10:51:47

primera factura
 
Hola a todos. He conseguido que el entorno de pruebas de Gipuzkoa me acepte los envíos de facturas , pero hay un detalle importante que me falta:

Quizás es una tontería :confused:, pero no sé qué es lo que habría que hacer. El envío de la primera factura a enviar por este sistema falla, simplemente, porque, o no hay factura anterior de la cual obtener el identificador TBAI para añadir en la actual, o se iba a comenzar a usar ese sistema a partir de la actual, con lo cual, la anterior no tiene dicho identificador TBAI. Obtengo lo siguiente:
Cita:

Falta dato obligatorio o el dato es erróneo [SignatureValueFirmaFacturaAnterior]
¿Qué firma anterior si no la hay?

¿Sabéis alguien qué hacer en este primer caso? En el resto no tengo problema, porque aunque el envío de la primera factura me falla, al realizar dicho envío, se le genera su identificador TBAI, el cual sirve ya para la siguiente, y así sucesivamente.

luismartin 15-06-2021 10:57:36

Cita:

Empezado por tejano (Mensaje 541322)
Hola, alguien sabe cuando tardan en decir si el registro del Software Garante es correcto o hay que añadir más documentación?
Desde el día 1 de Junio que lo mande de nuevo la documentación a la DFB , todavía no nos han contestado. Me gustaría tenerlo antes de irme de vacaciones para estar más relajado.
Graciasssss

Hola tejano. Si te refieres a registrar vuestra empresa y software en la DFB para la emisión de facturas por el sistema TBAI, yo no hice esa gestión, lo hizo mi jefa, pero te puedo decir que no le costó apenas tiempo en que nos incluyeran. Yo insistiría porque 15 días sin contestación me parece mucho.

yaedev 15-06-2021 12:04:48

Cita:

Empezado por luismartin (Mensaje 541336)
Hola a todos. He conseguido que el entorno de pruebas de Gipuzkoa me acepte los envíos de facturas , pero hay un detalle importante que me falta:

Quizás es una tontería :confused:, pero no sé qué es lo que habría que hacer. El envío de la primera factura a enviar por este sistema falla, simplemente, porque, o no hay factura anterior de la cual obtener el identificador TBAI para añadir en la actual, o se iba a comenzar a usar ese sistema a partir de la actual, con lo cual, la anterior no tiene dicho identificador TBAI. Obtengo lo siguiente: ¿Qué firma anterior si no la hay?

¿Sabéis alguien qué hacer en este primer caso? En el resto no tengo problema, porque aunque el envío de la primera factura me falla, al realizar dicho envío, se le genera su identificador TBAI, el cual sirve ya para la siguiente, y así sucesivamente.

Hola:

Según la documentación el subnodo: Encadenamiento/FacturaAnterior es opcional. Ya que cuando se envíe la 1ª factura será ninguna. Aún no lo he probado, pero entiendo que no debes añadirlo. Ya que si se añade y lo cumplimentas vacío, debe ser cuando da error.

luismartin 15-06-2021 12:46:10

Cita:

Empezado por yaedev (Mensaje 541338)
Hola:

Según la documentación el subnodo: Encadenamiento/FacturaAnterior es opcional. Ya que cuando se envíe la 1ª factura será ninguna. Aún no lo he probado, pero entiendo que no debes añadirlo. Ya que si se añade y lo cumplimentas vacío, debe ser cuando da error.

Gracias yaedev! No me había percatado de ello. Lo pruebo a ver.

tejano 15-06-2021 14:51:33

Cita:

Empezado por luismartin (Mensaje 541337)
Hola tejano. Si te refieres a registrar vuestra empresa y software en la DFB para la emisión de facturas por el sistema TBAI, yo no hice esa gestión, lo hizo mi jefa, pero te puedo decir que no le costó apenas tiempo en que nos incluyeran. Yo insistiría porque 15 días sin contestación me parece mucho.

Gracias Luismartin, a ver si hay suerte y me dicen algo en breve, porque me imagino que andarán con bastante trabajo.

Edgar7 15-06-2021 16:31:36

Buenas tardes,

Una consulta que a lo mejor a estas alturas es un poco rara pero tengo un lio bastante grande con estos temas:

1.- En el TicketBAI, el nodo Emisor en el que se indica el campo NIF y el campo ApellidosNombreRazonSocial, entiendo que estos campos han de ser los del usuario que usa el software, ¿el usuario se tiene que dar de alta en algún sitio para poder enviar los ticketBAI o no es necesario que ello hagan nada?

2.- En el caso de Bizkaia, ¿esos datos deben ser los mismos que se envían en el json de la cabecera, en los campos NIF y NRS?
{"con":"LROE","apa":"1.1","inte":{"nif": " ","nrs": " "},"drs":{"mode":" ","ejer":" "}}

3.- ¿Es necesario dar de alta el programa en todas las haciendas, o con darle de alta en una vale para todas?

4.- ¿Qué pasos se han de seguir para dar de alta un programa adaptado para TicketBAI en las haciendas?

Gracias

Un saludo

Edgar7 15-06-2021 16:34:41

Cita:

Empezado por luismartin (Mensaje 541340)
Gracias yaedev! No me había percatado de ello. Lo pruebo a ver.

Hola,

Si no me equivoco es como dice yaedev (o así lo hice yo), en caso de ser la primera factura no es necesario enviar el nodo y en cambio en la respuesta te vendrá lo siguiente:

<Estado>00</Estado>
<Descripcion>Recibido</Descripcion>
<Azalpena>Jasota</Azalpena>
<ResultadosValidacion>
<Codigo>010</Codigo>
<Descripcion>Aviso: Posible error de encadenamiento</Descripcion>
<Azalpena>Abisua: Posible da Kateamendu errorea gertatu izatea</Azalpena>
</ResultadosValidacion>

Espero que os sirva.

Un saludo.

Neftali [Germán.Estévez] 16-06-2021 08:19:09

Cita:

Empezado por Edgar7 (Mensaje 541345)
1.- En el TicketBAI, el nodo Emisor en el que se indica el campo NIF y el campo ApellidosNombreRazonSocial, entiendo que estos campos han de ser los del usuario que usa el software, ¿el usuario se tiene que dar de alta en algún sitio para poder enviar los ticketBAI o no es necesario que ello hagan nada?

2.- En el caso de Bizkaia, ¿esos datos deben ser los mismos que se envían en el json de la cabecera, en los campos NIF y NRS?
{"con":"LROE","apa":"1.1","inte":{"nif": " ","nrs": " "},"drs":{"mode":" ","ejer":" "}}

3.- ¿Es necesario dar de alta el programa en todas las haciendas, o con darle de alta en una vale para todas?

4.- ¿Qué pasos se han de seguir para dar de alta un programa adaptado para TicketBAI en las haciendas?


1. Los del usuario. Creo que los usuarios no. Esos datos ya los tienen la hacienda Vasca.
2. Si, los mismos datos de arriba (pag. 18 del documento Batuz_LROE_Especificaciones_Envío_Masivo_V1_0_7.pdf).
3. Como empresa desarrolladora de software, debes gestionarlo en ambas.

Band 16-06-2021 10:39:52

Cita:

Empezado por Edgar7 (Mensaje 541346)
Hola,

Si no me equivoco es como dice yaedev (o así lo hice yo), en caso de ser la primera factura no es necesario enviar el nodo y en cambio en la respuesta te vendrá lo siguiente:

<Estado>00</Estado>
<Descripcion>Recibido</Descripcion>
<Azalpena>Jasota</Azalpena>
<ResultadosValidacion>
<Codigo>010</Codigo>
<Descripcion>Aviso: Posible error de encadenamiento</Descripcion>
<Azalpena>Abisua: Posible da Kateamendu errorea gertatu izatea</Azalpena>
</ResultadosValidacion>

Espero que os sirva.

Un saludo.


Buenas,

exacto, para la primera factura no hace falta enviar el nodo y yo leí en la documentación de ticket bai (no recuerdo donde) que era normal que en la primera factura que se envía siempre salte el "warning" del posible error de encadenamiento.
Como en las siguientes ya se añade el nodo con el correspondiente trozo de firma de la factura anterior ya no saldrá el warning y la respuesta será de este tipo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
<Salida>
<IdentificadorTBAI>TBAI-B12345679-250320-03t/OA9KRVuno-176</IdentificadorTBAI>
<FechaRecepcion>16-06-2021 10:01:58</FechaRecepcion>
<Estado>00</Estado>
<Descripcion>Recibido</Descripcion>
<Azalpena>Jasota</Azalpena>
<CSV>TBAI40ac884e-cd6d-4d6e-98db-19d47fb530d9</CSV>
</Salida>
</ns2:TicketBaiResponse>

Eric Mtz 16-06-2021 13:51:37

Hola a todos, ¿Cómo lo lleváis?, parece que poco a poco vamos avanzando entre todos, ¡Ánimo ostia!
Bueno... me habéis pillado, hasta aquí la parte positiva del mensaje, como ya imaginaréis tengo un problema, aunque ésta vez para variar es de ámbito teórico, en fin, allá va:

Estoy redactando la memoria descriptiva del software para solicitar el certificado y el caso es que exigen una descripción detallada del proceso de firma... Mmm... Entiendo... ¿¡Qué!?

Es decir "tipos de certificados admitidos" es algo que puedo medio concretar, pero ¿Arquitectura de la firma?... ¡No tengo ni idea!.
Sé que utilizo algo llamado Xades, que los certificados se almacenan en variables de tipo X509Certificate2, y que al realizar la firma se ejecutan doscientas funciones distintas pero ya está, no sabría concretar nada más, pero piden y cito textualmente "Una descripción del proceso de firma en función del tipo de certificado utilizado".

Bueno señores, recuperando la cordura, me da la sensación de que es mas sencillo de lo que lo estoy planteando, aunque realmente no estoy seguro ya que todo este tema de los certificados me pilla un poco verde.

Como siempre cualquier ayuda es bien recibida, gracias de antemano a todos los que andáis por aquí resolviendo dudas, esta comunidad es esencial para cualquiera que quiera implementar el TicketBAI y salir con vida del intento.

Un saludo.

Edgar7 16-06-2021 19:06:35

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 541349)
1. Los del usuario. Creo que los usuarios no. Esos datos ya los tienen la hacienda Vasca.
2. Si, los mismos datos de arriba (pag. 18 del documento Batuz_LROE_Especificaciones_Envío_Masivo_V1_0_7.pdf).
3. Como empresa desarrolladora de software, debes gestionarlo en ambas.

Muchas gracias Neftali! A ver si vamos saliendo del túnel poco a poco entre todos.

Sistel 17-06-2021 00:04:28

Cita:

Empezado por Eric Mtz (Mensaje 541351)
...
Estoy redactando la memoria descriptiva del software para solicitar el certificado y el caso es que exigen una descripción detallada del proceso de firma... Mmm... Entiendo... ¿¡Qué!?
Es decir "tipos de certificados admitidos" es algo que puedo medio concretar, pero ¿Arquitectura de la firma?... ¡No tengo ni idea!.
Sé que utilizo algo llamado Xades, que los certificados se almacenan en variables de tipo X509Certificate2, y que al realizar la firma se ejecutan doscientas funciones distintas pero ya está, no sabría concretar nada más, pero piden y cito textualmente "Una descripción del proceso de firma en función del tipo de certificado utilizado".
...

Hola Eric Mtz,

Lo tienes todo en el documento de Especificaciones funcionales y técnicas del sistema TicketBAI en la página 8, punto 5, donde dice:
A la declaración de alta deberá adjuntarse la memoria descriptiva a la que se refiere el número 5.º del apartado anterior, en la que deberán describirse los siguientes extremos:

Fíjate en los puntos:
1) Tipo de software (según las categorías descritas en el artículo 2 de la presente Orden Foral): aplicación de escritorio y/o aplicación con arquitectura distribuida
Debes indicar si tu aplicación es de escritorio (local) o es aplicación con arquitectura distribuida (servidor)

3) Proceso de firma de los ficheros de alta y de anulación de operación con software garante, indicando en particular, los tipos de certificados electrónicos que pueden ser utilizados por el software garante para el proceso de firma
Debes indicar cómo será el proceso de firma y el tipo de certificados que usará la aplicación (de representante, de persona física, de autónomo, de dispositivo o sello de empresa)

Hoy he presentado yo la solicitud de la primera de mis aplicaciones de software garante.
Con un par de folios para la memoria descriptiva (indicando cada uno de los puntos de esa página 8, punto 5) me ha sobrado espacio.
A ver si no me ponen ninguna pega.

Saludos

tejano 17-06-2021 11:09:57

Buenos días,

Me surge una duda, y no sé si os ha pasado a vosotros. En el caso de las autofacturas por parte de nuestros clientes, en el código QR que debemos poner como Serie, lo digo porque el cliente únicamente da un número de factura y no se sabe cual es la serie y dentro del código QR va la serie "&s=&nf=B1159766001"

Gracias

yaedev 17-06-2021 11:43:23

Echando un vistazo también a la parte burocrática y legal sobre los requisitos y obligaciones del software garante, quería hacer un checklist de acciones permitidas o no, que se me pueden colar. Hay que restringir muchas las acciones que hasta ahora se podía "hacer" en un software.... Bueno, en parte a algun@s ya nos va a servir para la futura ley nacional, el que no se pueda mangonear las facturaciones, aunque no sea por un fin ilícito, sino por la costumbre de editar o borrar en vez de anular o rectificar.


Leyendo del boletín oficial, el software garante de cumplir con ciertas condiciones:

Cita:

"Que el software cumple de forma incondicionada sin salvedad ni reserva alguna, todas las condiciones y requisitos establecidos en los artículos 122 bis y 113 bis de las Normas Forales del Impuesto sobre Sociedades y del Impuesto sobre la Renta de las Personas Físicas, respectivamente, relativos al sistema informático garante de la trazabilidad e inviolabilidad de los registros que documenten las entregas de bienes y prestaciones de servicios, y en la presente Orden Foral."
link: https://www.batuz.eus/fitxategiak/ba...fff1ab3ce3c5e5

Cita:

Art. 122 bis. Obligación de utilizar un sistema informático que garantice la integridad, conservación, trazabilidad, inviolabilidad y remisión de los ficheros que documenten las entregas de bienes y prestaciones de servicios.(...)
Link: https://www.iberley.es/legislacion/n...gicas-26852041



Que está permitido y qué no:
  • No se pueden modificar ni eliminar facturas / tickets emitidos. Si la ha fastidiado, obligar al usuario a crear una factura de anulación o de rectificación según proceda el caso.
  • Cuando el envío del fichero TicketBAI no es inminente: por ejemplo, la tienda ha generado un ticket de ventas y por consiguiente el fichero ticket BAI, el cual ha quedado almacenado en el PC. Si el usuario pierde el fichero TicketBAI (fallos disco, virus, etc.) ¿Se puede permitir que vuelva a generar el fichero TicketBAI de un ticket / factura emitida pero que aún no ha sido enviado a Hacienda?
  • Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?
  • No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....
  • En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

Eric Mtz 17-06-2021 15:10:01

Cita:

Empezado por Sistel (Mensaje 541354)
Hola Eric Mtz,

Lo tienes todo en el documento de Especificaciones funcionales y técnicas del sistema TicketBAI en la página 8, punto 5, donde dice:
A la declaración de alta deberá adjuntarse la memoria descriptiva a la que se refiere el número 5.º del apartado anterior, en la que deberán describirse los siguientes extremos:

Fíjate en los puntos:
1) Tipo de software (según las categorías descritas en el artículo 2 de la presente Orden Foral): aplicación de escritorio y/o aplicación con arquitectura distribuida
Debes indicar si tu aplicación es de escritorio (local) o es aplicación con arquitectura distribuida (servidor)

3) Proceso de firma de los ficheros de alta y de anulación de operación con software garante, indicando en particular, los tipos de certificados electrónicos que pueden ser utilizados por el software garante para el proceso de firma
Debes indicar cómo será el proceso de firma y el tipo de certificados que usará la aplicación (de representante, de persona física, de autónomo, de dispositivo o sello de empresa)

Hoy he presentado yo la solicitud de la primera de mis aplicaciones de software garante.
Con un par de folios para la memoria descriptiva (indicando cada uno de los puntos de esa página 8, punto 5) me ha sobrado espacio.
A ver si no me ponen ninguna pega.

Saludos

Gracias por la ayuda Sistel, ya lo he enviado, a ver si los dos tenemos suerte y nos lo aceptan.

Neftali [Germán.Estévez] 17-06-2021 17:18:39

Cita:

Empezado por yaedev (Mensaje 541360)
Cuando el envío del fichero TicketBAI no es inminente: por ejemplo, la tienda ha generado un ticket de ventas y por consiguiente el fichero ticket BAI, el cual ha quedado almacenado en el PC. Si el usuario pierde el fichero TicketBAI (fallos disco, virus, etc.) ¿Se puede permitir que vuelva a generar el fichero TicketBAI de un ticket / factura emitida pero que aún no ha sido enviado a Hacienda?

Creo que el envío debe ser "lo antes posible", por lo tanto no se a qué te refieres con "que quede almacenado en el PC" cuando no es inminente.
De todas formas, la idea es que cuando generas el ticket debes firmarlo, porque necesitas el TBAI (incluye la firma) y a su vez ese debe ir impreso en el ticket que se lleva el cliente. Quieren asegurar que cuando el cliente sale con el ticket/factura ya la has firmado.
Por lo tanto no puedes volver a generar el TicketBAI, porque no sería el mismo que el original.
Si los has perdido, debeás justificarlo por los cauces adecuados para ello.

Cita:

Empezado por yaedev (Mensaje 541360)
Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?

En teoría debes poder modificar cualquier cosa de la factura/ticket, que no afecte a los campos del TicketBAI. Por poner un ejemplo, si tienes un campo descripción, puedes modificar y guardar, siempre que no sean datos del TBAI.

Cita:

Empezado por yaedev (Mensaje 541360)
No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....

Los cobros/Pagos/vencimientos de la factura son independientes de la propia factura.
Que cobres el total o parte de ella no debería afectar a la factura.
(tal vez no te he entendido)

Cita:

Empezado por yaedev (Mensaje 541360)
En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

Los clientes no deberían tener acceso a la Base de Datos y si lo hacen debe quedar claro que es su responsabilidad (por ejemplo, vía un contrato).

Sistel 17-06-2021 17:42:34

Cita:

Empezado por yaedev (Mensaje 541360)
...
Que está permitido y qué no:
  • No se pueden modificar ni eliminar facturas / tickets emitidos. Si la ha fastidiado, obligar al usuario a crear una factura de anulación o de rectificación según proceda el caso.
  • Cuando el envío del fichero TicketBAI no es inminente: por ejemplo, la tienda ha generado un ticket de ventas y por consiguiente el fichero ticket BAI, el cual ha quedado almacenado en el PC. Si el usuario pierde el fichero TicketBAI (fallos disco, virus, etc.) ¿Se puede permitir que vuelva a generar el fichero TicketBAI de un ticket / factura emitida pero que aún no ha sido enviado a Hacienda?
  • Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?
  • No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....
  • En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

Hola yaedev,

Creo que son buenas consultas para que les hagas, por email, a los chicos de TicketBAI (y que nos cuentes después la respuesta)

Te doy mis opiniones de algunas de las cuestiones:

Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?

Como la firma de la factura debe ser en el mismo momento de creación de la factura, la fecha y hora de la factura debería ser la misma que la de la firma.
No se debe modificar una vez firmada.

No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....

Los temas de cobros, pagos y vencimientos son temas contables que no deben afectar en nada al fichero XML firmado de la factura.
Además esos temas contables a Hacienda no le interesan en absoluto (le da igual que puedas cobrar o no una factura, por ejemplo).

En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

El cliente debe guardar los ficheros XML firmados de las facturas INTACTOS.
Es de vital importancia que no se alteren en ningún caso.
Para que no me salpique, en caso de que el cliente haga alguna de las suyas, yo prefiero que esos ficheros XML firmados estén bajo mi custodia en mis propios servidores.
Al cliente le doy sólo acceso remoto de sólo lectura a esos ficheros.

Son bienvenidos los comentarios sobre estos temas.

Saludos
PD: Veo que el colega Neftali [Germán.Estévez] acababa de contestar también a esas cuestiones

tejano 17-06-2021 18:28:05

Error link Codigo QR
 
Hola!!!! No sé si os ha pasado a alguien, a la hora de generar el link o código QR, si la firma en sus 13 primeros caracteres tiene símbolos como "-", "+", ..... da error el link

Como por ejemplo

https://batuz.eus/QRTBAI/?id=TBAI-A4...3207.07&cr=216

Podéis decirme si os ha pasado al alguno? Ya no sé si es problema del programa o lo es del entorno de pruebas.

Gracias

Sistel 17-06-2021 20:00:39

Cita:

Empezado por tejano (Mensaje 541369)
Hola!!!! No sé si os ha pasado a alguien, a la hora de generar el link o código QR, si la firma en sus 13 primeros caracteres tiene símbolos como "-", "+", ..... da error el link

Como por ejemplo

https://batuz.eus/QRTBAI/?id=TBAI-A4...3207.07&cr=216

Podéis decirme si os ha pasado al alguno? Ya no sé si es problema del programa o lo es del entorno de pruebas.

Gracias

Hola tejano,

Ese tema ya se trató en este hilo.
Mira en la página 32 y sucesivas

Saludos

tejano 18-06-2021 09:28:47

Cita:

Empezado por Sistel (Mensaje 541370)
Hola tejano,

Ese tema ya se trató en este hilo.
Mira en la página 32 y sucesivas

Saludos

Muchas gracias Sistel, cambiado, probado y funciona bien como indicas.

Gracias

luismartin 18-06-2021 12:13:09

Buenos días. Conseguido funcionamiento en entorno de pruebas de Gipuzkoa.

Ahora estoy peleándome con Batuz y el LROE (Bizkaia). Pero sólo obtengo errores 400 del servidor. No consigo que acepte las peticiones. ¿ Alguien sabría decirme el por qué? Creo seguir las especificaciones.

Para los de PHP (aunque no creo que sea difícil de entender por otros). Este es el código de la petición, a ver si alguien ha pasado por este trance ya:

Código PHP:

    // codificamos a gzip la cadena XML del LROE, 
    // la cual contiene a su vezl el XML del TicketBAI codificado en base64, conforme a las especificaciones
    
$gzipStr gzencode($xmlStr);

    
$cabeceras = array(
        
'Accept-Encoding: gzip',
        
'Content-Encoding: gzip',
        
'Content-Length: ' mb_strlen($gzipStr),
        
'Content-Type:  application/octet-stream',
        
'eus-bizkaia-n3-version: 1.0.',
        
'eus-bizkaia-n3-content-type: application/xml',
        
'eus-bizkaia-n3-data:  {"con": "LROE", "apa": "1.1", "inte": {"nif": "' .
        
$nif '","nrs":"' .
        
$nombre '"},"drs": {"mode": "240","ejer": "' $ejercicio '"}}',
    );
    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_SSLCERTPATH_TEMP '/client.pem');
    
curl_setopt($chCURLOPT_SSLKEYPATH_TEMP '/key.pem');
    
curl_setopt($chCURLOPT_SSLKEYPASSWD$claveCert);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEER1);
    
curl_setopt($chCURLOPT_POSTFIELDS$gzipStr);
    
curl_setopt($chCURLOPT_HTTPHEADER$cabeceras);
    
$resp curl_exec($ch); 

Vi un post en la web de Batuz indicando que ayer día 17, el entorno de pruebas no estaba operativo, con lo cual, di por sentado que era eso. Pero hoy me encuentro con el mismo error. Y ya me estoy planteando si es que hay algún problema en mi petición.

No sé si el problema puede estar en la compresión a GZIP. Uso gzencode, pero también he probado con gzcompress y gzdeflate, con igual resultado.

tejano 18-06-2021 12:26:00

Cita:

Empezado por luismartin (Mensaje 541378)
Buenos días. Conseguido funcionamiento en entorno de pruebas de Gipuzkoa.

Ahora estoy peleándome con Batuz y el LROE (Bizkaia). Pero sólo obtengo errores 400 del servidor. No consigo que acepte las peticiones. ¿ Alguien sabría decirme el por qué? Creo seguir las especificaciones.

Para los de PHP (aunque no creo que sea difícil de entender por otros). Este es el código de la petición, a ver si alguien ha pasado por este trance ya:

Código PHP:

    // codificamos a gzip la cadena XML del LROE, 
    // la cual contiene a su vezl el XML del TicketBAI codificado en base64, conforme a las especificaciones
    
$gzipStr gzencode($xmlStr);

    
$cabeceras = array(
        
'Accept-Encoding: gzip',
        
'Content-Encoding: gzip',
        
'Content-Length: ' mb_strlen($gzipStr),
        
'Content-Type:  application/octet-stream',
        
'eus-bizkaia-n3-version: 1.0.',
        
'eus-bizkaia-n3-content-type: application/xml',
        
'eus-bizkaia-n3-data:  {"con": "LROE", "apa": "1.1", "inte": {"nif": "' .
        
$nif '","nrs":"' .
        
$nombre '"},"drs": {"mode": "240","ejer": "' $ejercicio '"}}',
    );
    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_SSLCERTPATH_TEMP '/client.pem');
    
curl_setopt($chCURLOPT_SSLKEYPATH_TEMP '/key.pem');
    
curl_setopt($chCURLOPT_SSLKEYPASSWD$claveCert);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEER1);
    
curl_setopt($chCURLOPT_POSTFIELDS$gzipStr);
    
curl_setopt($chCURLOPT_HTTPHEADER$cabeceras);
    
$resp curl_exec($ch); 

Vi un post en la web de Batuz indicando que ayer día 17, el entorno de pruebas no estaba operativo, con lo cual, di por sentado que era eso. Pero hoy me encuentro con el mismo error. Y ya me estoy planteando si es que hay algún problema en mi petición.

No sé si el problema puede estar en la compresión a GZIP. Uso gzencode, pero también he probado con gzcompress y gzdeflate, con igual resultado.

A ver si te sirve como lo envío yo

curl --insecure --cert-type P12 --cert nombre_certificado:contraseña_certificado -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"CIF\",\"nrs\":\"NOMBRE_EMPRESA\"},\"drs\" :{\"mode\":\"240\",\"ejer\":\"2021\"}}" -v "https://pruesarrerak.bizkaia.eus/N3B4001M/kontsulta" --data-binary "@c:\tmp\consulta.gz" --output c:\tmp\respuesta.gz -D c:\tmp\cabecera.txt

y me funciona bien, comprimo con el 7z

Saludos

HerensugeBeltz 18-06-2021 13:20:04

Cita:

Empezado por Sistel (Mensaje 541366)

En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

El cliente debe guardar los ficheros XML firmados de las facturas INTACTOS.
Es de vital importancia que no se alteren en ningún caso.
Para que no me salpique, en caso de que el cliente haga alguna de las suyas, yo prefiero que esos ficheros XML firmados estén bajo mi custodia en mis propios servidores.
Al cliente le doy sólo acceso remoto de sólo lectura a esos ficheros.

Son bienvenidos los comentarios sobre estos temas.

Hola,

Yo todavía tengo el tema muy verde, pero en cuanto al almacenamiento de los ficheros XML mi idea era grabarlos en la propia base de datos, en un campo BLOB del registro de la factura asociada.
¿Alguien ve algún problema en ello? (aparte del tamaño que pueda alcanzar la base de datos aunque, según mi experiencia, esto sólo afecta a las copias de seguridad, no a la velocidad de acceso a datos [Firebird])

Gracias.

luismartin 18-06-2021 13:45:34

Cita:

Empezado por tejano (Mensaje 541379)
A ver si te sirve como lo envío yo

curl --insecure --cert-type P12 --cert nombre_certificado:contraseña_certificado -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"CIF\",\"nrs\":\"NOMBRE_EMPRESA\"},\"drs\" :{\"mode\":\"240\",\"ejer\":\"2021\"}}" -v "https://pruesarrerak.bizkaia.eus/N3B4001M/kontsulta" --data-binary "@c:\tmp\consulta.gz" --output c:\tmp\respuesta.gz -D c:\tmp\cabecera.txt

y me funciona bien, comprimo con el 7z

Saludos

Hola tejano. He intentado la prueba por línea de comandos, teniendo ya generado el gzip, en un fichero llamado lroe_1624012540.gz, pero me da problemas :confused:. Por lo visto, algo del certificado, pero parece más cosa del certificado del servidor (lógicamente, he ocultado datos sensibles):

Código:

$ curl --insecure --cert-type P12 --cacert cert_certFNMTEmpresa.pfx --pass contraseña -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"BXXXXXXXX\",\"nrs\":\"NOMBRE EMPRESA\"},\"drs\" :{\"mode\":\"240\",\"ejer\":\"2021\"}}" -v "https://pruesarrerak.bizkaia.eus/N3B4001M/kontsulta" --data-binary lroe_1624012540.gz --output respuesta.gz -D cabeceras_respuesta.txt
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                Dload  Upload  Total  Spent    Left  Speed
  0    0    0    0    0    0      0      0 --:--:-- --:--:-- --:--:--    0*  Trying 80.245.2.232...
* TCP_NODELAY set
  0    0    0    0    0    0      0      0 --:--:-- --:--:-- --:--:--    0* Connected to pruesarrerak.bizkaia.eus (80.245.2.232) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* error setting certificate verify locations, continuing anyway:
*  CAfile: cert_certFNMTEmpresa.pfx
  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [81 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4450 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [527 bytes data]
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
{ [36 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
} [7 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [134 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / DHE-RSA-AES256-GCM-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: jurisdictionC=ES; jurisdictionST=BIZKAIA; jurisdictionL=BILBAO; businessCategory=Government Entity; postalCode=48009; C=ES; ST=BIZKAIA; L=BILBAO; street=GRAN V�A 25; O=BIZKAIKO FORU ALDUNDIA - DIPUTACION FORAL DE BIZKAIA; OU=IT; serialNumber=P4800000D; CN=pruesarrerak.bizkaia.eus
*  start date: Jul  3 12:41:06 2020 GMT
*  expire date: Jul  3 12:41:06 2022 GMT
*  issuer: C=ES; O=IZENPE S.A.; OU=BZ Ziurtagiri publikoa - Certificado publico EV; CN=CA de Certificados SSL EV
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
} [5 bytes data]
> POST /N3B4001M/kontsulta HTTP/1.1
> Host: pruesarrerak.bizkaia.eus
> User-Agent: curl/7.64.0
> Accept: */*
> Accept-Encoding:gzip
> Content-Encoding:gzip
> Content-Type:application/octet-stream
> eus-bizkaia-n3-version:1.0
> eus-bizkaia-n3-content-type:application/xml
> eus-bizkaia-n3-data:{"con":"LROE","apa":"1.1","inte":{"nif":"BXXXXXXXX","nrs":"NOMBRE EMPRESA"},"drs" :{"mode":"240","ejer":"2021"}}
> Content-Length: 18
>
} [18 bytes data]
* upload completely sent off: 18 out of 18 bytes
* OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104
100    18    0    0  100    18      0    68 --:--:-- --:--:-- --:--:--    68
* Closing connection 0
curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104

Como decía, lroe_1624012540.gz es donde tengo el gzip conteniendo el XML del LROE (que a su vez contiene la factura TBAI)

Neftali [Germán.Estévez] 18-06-2021 14:01:29

Cita:

Empezado por luismartin (Mensaje 541378)
...Pero hoy me encuentro con el mismo error. Y ya me estoy planteando si es que hay algún problema en mi petición.
No sé si el problema puede estar en la compresión a GZIP. Uso gzencode, pero también he probado con gzcompress y gzdeflate, con igual resultado.

Igual que envías datos en la cabecera de la petición, en la respuesta también llega información en los datos de cabecera.
¿Puedes poner esa cabecera?

Puede ser algo como esto, por ejemplo:

Código:

eus-bizkaia-n3-numero-registro=
eus-bizkaia-n3-tipo-respuesta=Incorrecto
Keep-Alive=timeout=5, max=100
X-Powered-By=Undertow/1
eus-bizkaia-n3-mensaje-respuesta=Todos los registros incluidos en la petición son incorrectos.
eus-bizkaia-n3-codigo-respuesta=B4_1000002

Connection=Keep-Alive
Content-Encoding=gzip
Content-Length=8332
Date=Tue, 25 May 2021 08:17:36 GMT
Content-Type=application/xml;charset=UTF-8
eus-bizkaia-n3-identificativo=94716


Eric Mtz 18-06-2021 14:05:11

Buenos días y/o tardes señores, tengo otro problema. (Como podéis ver estoy en racha)

El de hoy tiene tela, veréis, estoy realizando el envío de facturas a Bizkaia, y con el modelo 240 no tengo problemas, sin embargo al realizar el envío del 140 no logro que tan siquiera me devuelvan una respuesta, el servidor directamente rechaza la solicitud y no entiendo la razón, utilizo las clases del modelo 140 e incluso la cabecera del envío tiene la estructura que ellos exigen.

El certificado que empleo para el envío es el del DNI electrónico, ¿Utilizáis vosotros también el DNI? ¿Os ha funcionado? ¿Hicisteis algo especial?, bueno, como digo siempre cualquier ayuda será bien recibida.

Un saludo y que paséis un buen fin de semana, a no ser que trabajes para hacienda... nah es broma, todo el mundo a descansar que el lunes hay que seguir.

Sistel 18-06-2021 16:04:33

Cita:

Empezado por luismartin (Mensaje 541378)
...
Código PHP:

    $ch curl_init($url);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_SSLCERTPATH_TEMP '/client.pem');
    
curl_setopt($chCURLOPT_SSLKEYPATH_TEMP '/key.pem');
    
curl_setopt($chCURLOPT_SSLKEYPASSWD$claveCert);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEER1);
    
curl_setopt($chCURLOPT_POSTFIELDS$gzipStr);
    
curl_setopt($chCURLOPT_HTTPHEADER$cabeceras);
    
$resp curl_exec($ch); 


Hola luismartin,

Yo también lo hago con PHP, siguiendo, prácticamente, el mismo modelo que presentó en este hilo el colega Bilbur.

Las únicas diferencias que encuentro es que yo no utilizo ninguna de estas dos líneas:
Código PHP:

    curl_setopt($chCURLOPT_SSLKEYPASSWD$claveCert);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEER1); 

CURLOPT_SSLKEYPASSWD - Si tienes el certificado convertido a PEM, no necesitas password alguna.
CURLOPT_SSL_VERIFYPEER - Ya está, por defecto en TRUE desde la versión 7.10 de Curl

Saludos

Sistel 18-06-2021 16:10:42

Cita:

Empezado por Eric Mtz (Mensaje 541385)
Buenos días y/o tardes señores, tengo otro problema. (Como podéis ver estoy en racha)

El de hoy tiene tela, veréis, estoy realizando el envío de facturas a Bizkaia, y con el modelo 240 no tengo problemas, sin embargo al realizar el envío del 140 no logro que tan siquiera me devuelvan una respuesta, el servidor directamente rechaza la solicitud y no entiendo la razón, utilizo las clases del modelo 140 e incluso la cabecera del envío tiene la estructura que ellos exigen.

El certificado que empleo para el envío es el del DNI electrónico, ¿Utilizáis vosotros también el DNI? ¿Os ha funcionado? ¿Hicisteis algo especial?, bueno, como digo siempre cualquier ayuda será bien recibida.

Un saludo y que paséis un buen fin de semana, a no ser que trabajes para hacienda... nah es broma, todo el mundo a descansar que el lunes hay que seguir.

Hola Eric Mtz,

En las Especificaciones del Envío Masivo del LROE 1.0.7, en la página 14 dice:
Los tipos de certificados admitidos para los envíos de los LROE son los siguientes:
o Certificado de persona física.
o Certificado de representante de entidad.
o Sello de empresa.
o Sello de autónomo.
o Certificado de dispositivo (debe estar censado para el obligado tributario en DFB/BFA).


No habla nada de que se admita el DNI electrónico.

Saludos

tejano 18-06-2021 17:19:18

Cita:

Empezado por luismartin (Mensaje 541382)
Hola tejano. He intentado la prueba por línea de comandos, teniendo ya generado el gzip, en un fichero llamado lroe_1624012540.gz, pero me da problemas :confused:. Por lo visto, algo del certificado, pero parece más cosa del certificado del servidor (lógicamente, he ocultado datos sensibles):

Código:

$ curl --insecure --cert-type P12 --cacert cert_certFNMTEmpresa.pfx --pass contraseña -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"BXXXXXXXX\",\"nrs\":\"NOMBRE EMPRESA\"},\"drs\" :{\"mode\":\"240\",\"ejer\":\"2021\"}}" -v "https://pruesarrerak.bizkaia.eus/N3B4001M/kontsulta" --data-binary lroe_1624012540.gz --output respuesta.gz -D cabeceras_respuesta.txt
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                Dload  Upload  Total  Spent    Left  Speed
  0    0    0    0    0    0      0      0 --:--:-- --:--:-- --:--:--    0*  Trying 80.245.2.232...
* TCP_NODELAY set
  0    0    0    0    0    0      0      0 --:--:-- --:--:-- --:--:--    0* Connected to pruesarrerak.bizkaia.eus (80.245.2.232) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* error setting certificate verify locations, continuing anyway:
*  CAfile: cert_certFNMTEmpresa.pfx
  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [81 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4450 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [527 bytes data]
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
{ [36 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
} [7 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [134 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / DHE-RSA-AES256-GCM-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: jurisdictionC=ES; jurisdictionST=BIZKAIA; jurisdictionL=BILBAO; businessCategory=Government Entity; postalCode=48009; C=ES; ST=BIZKAIA; L=BILBAO; street=GRAN V�A 25; O=BIZKAIKO FORU ALDUNDIA - DIPUTACION FORAL DE BIZKAIA; OU=IT; serialNumber=P4800000D; CN=pruesarrerak.bizkaia.eus
*  start date: Jul  3 12:41:06 2020 GMT
*  expire date: Jul  3 12:41:06 2022 GMT
*  issuer: C=ES; O=IZENPE S.A.; OU=BZ Ziurtagiri publikoa - Certificado publico EV; CN=CA de Certificados SSL EV
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
} [5 bytes data]
> POST /N3B4001M/kontsulta HTTP/1.1
> Host: pruesarrerak.bizkaia.eus
> User-Agent: curl/7.64.0
> Accept: */*
> Accept-Encoding:gzip
> Content-Encoding:gzip
> Content-Type:application/octet-stream
> eus-bizkaia-n3-version:1.0
> eus-bizkaia-n3-content-type:application/xml
> eus-bizkaia-n3-data:{"con":"LROE","apa":"1.1","inte":{"nif":"BXXXXXXXX","nrs":"NOMBRE EMPRESA"},"drs" :{"mode":"240","ejer":"2021"}}
> Content-Length: 18
>
} [18 bytes data]
* upload completely sent off: 18 out of 18 bytes
* OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104
100    18    0    0  100    18      0    68 --:--:-- --:--:-- --:--:--    68
* Closing connection 0
curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104

Como decía, lroe_1624012540.gz es donde tengo el gzip conteniendo el XML del LROE (que a su vez contiene la factura TBAI)

En tu caso creo que el certificado no es P12, es pfx. Puede ser que vaya por ahí la cosa.

Saludos

yaedev 21-06-2021 11:26:56

Cita:

Empezado por tejano (Mensaje 541359)
Buenos días,

Me surge una duda, y no sé si os ha pasado a vosotros. En el caso de las autofacturas por parte de nuestros clientes, en el código QR que debemos poner como Serie, lo digo porque el cliente únicamente da un número de factura y no se sabe cual es la serie y dentro del código QR va la serie "&s=&nf=B1159766001"

Gracias

La serie de facturación es opcional. Por lo que si no hay serie, no hay que ponerla y te tendría que aceptarlo. ¿Cuándo te devuelve error: si concatenas el campo sin ningn valor o si no incluyes el campo?

11.2 ¿Los ficheros XML-TicketBAI tienen que informar siempre de la serie de la factura?
No. De acuerdo con el artículo 6 del Reglamento de facturación, una factura deberá contener su número, y en su caso, su serie. Por lo que, en principio, la serie no es un dato obligatorio de una factura. Así, el citado artículo 6 del reglamento de facturación establece que "se podrán expedir facturas mediante series separadas cuando existan razones que lo justifiquen y, entre otros supuestos, cuando el obligado a su expedición cuente con varios establecimientos desde los que efectúe sus operaciones y cuando el obligado a su expedición realice operaciones de distinta naturaleza"


https://www.gipuzkoa.eus/documents/2456431/13761128/1-FAQ-TEXTO+UNIFICADO+19-05-2021.pdf/029ebb00-0fb1-aefe-cfde-2bae0eef4dd6

yaedev 21-06-2021 11:31:40

Gracias por vuestras respuestas!

Cita:

Empezado por Neftali
Creo que el envío debe ser "lo antes posible", por lo tanto no se a qué te refieres con "que quede almacenado en el PC" cuando no es inminente.
De todas formas, la idea es que cuando generas el ticket debes firmarlo, porque necesitas el TBAI (incluye la firma) y a su vez ese debe ir impreso en el ticket que se lleva el cliente. Quieren asegurar que cuando el cliente sale con el ticket/factura ya la has firmado.
Por lo tanto no puedes volver a generar el TicketBAI, porque no sería el mismo que el original.
Si los has perdido, debeás justificarlo por los cauces adecuados para ello.

En el caso de Gipuzkoa y Araba el envío sí sería inmediato. En Bizkaia es trimestral, mensual o según el SII, vamos que no es inmediato. No obstante, aunque los 2 primeros sea inmediato. Imagina que en ese momento tienes un fallo de red o de comunicación o cualquier otra causa que te imposibilite remitir el fichero, se tendría que poder enviar después.

Cita:

Empezado por Sistel (Mensaje 541366)

En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

El cliente debe guardar los ficheros XML firmados de las facturas INTACTOS.
Es de vital importancia que no se alteren en ningún caso.
Para que no me salpique, en caso de que el cliente haga alguna de las suyas, yo prefiero que esos ficheros XML firmados estén bajo mi custodia en mis propios servidores.
Al cliente le doy sólo acceso remoto de sólo lectura a esos ficheros.

Son bienvenidos los comentarios sobre estos temas.

Saludos
PD: Veo que el colega Neftali [Germán.Estévez] acababa de contestar también a esas cuestiones

Claro, en mi caso es software de escritorio con bases de datos locales. Por ahora inviable montar sistema para almacenar en servidores propios los ficheros. En el caso de FacturaE, los ficheros también los almaceno en el ordenador. LA idea es hacerlo igual....


Pero entiendo que si un usuario coge un bloc de notas y edita el XML firmado. ¿La firma ya no sería válida, no? porque la firma se basa también en el contenido del fichero, por lo que si algo cambia, la firma sería inválida. Es que aún no he llegado a esa parte, si no lo hubiera probado.

Cita:

Creo que son buenas consultas para que les hagas, por email, a los chicos de TicketBAI (y que nos cuentes después la respuesta)
Sí, voy recopilando dudas para enviarlas...



Un saludo!

tejano 21-06-2021 16:31:50

Cita:

Empezado por yaedev (Mensaje 541411)
La serie de facturación es opcional. Por lo que si no hay serie, no hay que ponerla y te tendría que aceptarlo. ¿Cuándo te devuelve error: si concatenas el campo sin ningn valor o si no incluyes el campo?

11.2 ¿Los ficheros XML-TicketBAI tienen que informar siempre de la serie de la factura?
No. De acuerdo con el artículo 6 del Reglamento de facturación, una factura deberá contener su número, y en su caso, su serie. Por lo que, en principio, la serie no es un dato obligatorio de una factura. Así, el citado artículo 6 del reglamento de facturación establece que "se podrán expedir facturas mediante series separadas cuando existan razones que lo justifiquen y, entre otros supuestos, cuando el obligado a su expedición cuente con varios establecimientos desde los que efectúe sus operaciones y cuando el obligado a su expedición realice operaciones de distinta naturaleza"


https://www.gipuzkoa.eus/documents/2456431/13761128/1-FAQ-TEXTO+UNIFICADO+19-05-2021.pdf/029ebb00-0fb1-aefe-cfde-2bae0eef4dd6

El error me lo da al concatenar el fichero QR, al no tener serie he probado a poner el el QR "https://batuz.eus/QRTBAI/?id=TBAI-CIF_EMPRESA-280221-FIRMA_XML-CRC8&s=&nf=NRO_AUTOFACTURA&i=IMPORTE&cr=CRC8" o incluso a no poner el campo Serie "https://batuz.eus/QRTBAI/?id=TBAI-CIF_EMPRESA-280221-FIRMA_XML-CRC8&nf=NRO_AUTOFACTURA&i=IMPORTE&cr=CRC8" y con ninguna de las 2 me deja.

Gracias

Sistel 21-06-2021 17:21:11

Cita:

Empezado por Eric Mtz (Mensaje 541363)
Gracias por la ayuda Sistel, ya lo he enviado, a ver si los dos tenemos suerte y nos lo aceptan.

Hola Eric Mtz,

Presenté la petición de registro de mi primer software garante TicketBAI el pasado miércoles 16 de junio.
He entrado hoy en la sede electrónica de la Diputación Foral y veo que el pasado sábado 19 de junio estaba aprobada su inscripción.
Y ya está en el registro de softwares garantes de TicketBAI.
¡¡¡ Qué rapidez !!!
Eso sí, no me han enviado ni email ni aviso de ninguna forma.

Saludos

Neftali [Germán.Estévez] 21-06-2021 18:11:07

Cita:

Empezado por yaedev (Mensaje 541412)
En el caso de Gipuzkoa y Araba el envío sí sería inmediato. En Bizkaia es trimestral, mensual o según el SII, vamos que no es inmediato. No obstante, aunque los 2 primeros sea inmediato. Imagina que en ese momento tienes un fallo de red o de comunicación o cualquier otra causa que te imposibilite remitir el fichero, se tendría que poder enviar después.


Como estabas hablando de fichero de TicketBAI pensaba que hablabas de Guipuzkoa/Araba. Bizkaia es batuz (que incluye ticketBAI).

En el primer caso, como he dicho, debes enviar el fichero "lo antes posible". Si en un momento dado, los servidores están caídos, pues deberás enviarlo en cuanto puedas (lo antes posible).

Neftali [Germán.Estévez] 21-06-2021 18:13:02

Cita:

Empezado por yaedev (Mensaje 541412)
Pero entiendo que si un usuario coge un bloc de notas y edita el XML firmado. ¿La firma ya no sería válida, no? porque la firma se basa también en el contenido del fichero, por lo que si algo cambia, la firma sería inválida. Es que aún no he llegado a esa parte, si no lo hubiera probado.


Si editas un fichero firmado y lo intentas enviar fallará porque la firma no coincide y fallará la validación.

Eric Mtz 22-06-2021 09:28:40

Buenos días a todos, quería compartir con vosotros una pregunta/respuesta que les he hecho a Batuz:

PREGUNTA:
"Buenos días, verán, estamos implementado TBAI en nuestra aplicación y con el modelo 240 no hemos tenido ningún problema, empleábamos nuestro certificado de empresa a la hora del envío y listo, sin embargo, con el modelo 140 no disponemos de ningún certificado de persona física, hemos intentado emplear varios falsos pero todos son rechazados por el servidor, me preguntaba si ustedes ponen a disposición pública algún certificado para realizar las pruebas."

RESPUESTA:
"Kaixo,
Tal y como se indica en el documento del “Entorno de pruebas del LROE” de la web de Batuz, los certificados a utilizar en el entorno de pruebas deben ser los de Producción.
Agur bat."

Dicho esto, me he quedado un poco en las mismas, creo entender que "certificado de producción" se refiere a certificados reales y en vigencia... ¿En serio?, ¿Para el entorno de pruebas?... No dispongo de ninguno.

Ruegos y preguntas:
¿Tenéis alguno de pruebas que os haya colado?, ¿Alguien mas está como yo?, ¿Podéis pasar algún enlace con certificados que funcionen?, ¿Es que nadie piensa en los desarrolladores?, ¿¡¡Cómo pueden tardar ocho horas en responder una frase tan vaga!!?... No, en serio, en este foro hay gente mucho mas útil que en el correo oficial.

Bueno, que me enervo y aun son las 9 de la mañana. Espero vuestras respuestas y gracias por haber leído hasta aquí, un saludo y ánimo a todos.

keys 22-06-2021 10:13:11

Creo que no te queda mas remedio de obtener un certicado que sirva para el del 140, persona fisica u otro. Al menos es lo que hemos que tenído que hacer nosotros.

Un Saludo y tranquilidad


La franja horaria es GMT +2. Ahora son las 00:54:04.

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