![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#3221
|
||||
|
||||
Cita:
Lo he comparado con lo que genero yo y son iguales, excepto la parte de la firma, donde la estructura es un poco diferente. Como parece que lo aceptan, no voy a mirar eso mucho más. De todos modos, me refería al envío del Libro de Registro. Esto lo formo con una parte JSON en la cabecera Código:
{ "con":"LROE", "apa":"1.1", "inte":{ "nif":"B95642500", "nrs":"ECOTHERM ENERGY SL", "ap1":"", "ap2":"" }, "drs":{ "mode":"240", "ejer":"2022" } } Código:
<?xml version="1.0"?> <lrpjfecsgap:LROEPJ240FacturasEmitidasConSGAltaPeticion xmlns:lrpjfecsgap="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_1_1_FacturasEmitidas_ConSG_AltaPeticion_V1_0_2.xsd"> <Cabecera> <Modelo>240</Modelo> <Capitulo>1</Capitulo> <Subcapitulo>1.1</Subcapitulo> <Operacion>A00</Operacion> <Version>1.0</Version> <Ejercicio>2022</Ejercicio> <ObligadoTributario> <NIF>B95642500</NIF> <ApellidosNombreRazonSocial>ECOTHERM ENERGY SL</ApellidosNombreRazonSocial> </ObligadoTributario> </Cabecera> <FacturasEmitidas> <FacturaEmitida> <TicketBai>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48VDpUaWNrZXRC YWkgeG1sbnM6VD0idXJuOnRpY2tldGJhaTplbWlzaW9uIj4KCTxDYWJlY2VyYT4K ... PjwvZHM6T2JqZWN0PjwvZHM6U2lnbmF0dXJlPjwvVDpUaWNrZXRCYWk+ </TicketBai> </FacturaEmitida> </FacturasEmitidas> </lrpjfecsgap:LROEPJ240FacturasEmitidasConSGAltaPeticion> |
#3222
|
|||
|
|||
Duda sobre encadenamiento
Saludos a todos y gracias por vuestra ayuda.
La duda que no me ha quedado clara leyendo los post es si, tras enviar el fichero firmado, nos devuelve un mensaje de error. 1. Si el error es de datos, creo que el fichero se acepta y queda registrado. (¿y que hay que hacer en este caso?) 2. Si el error es por otra causa y es rechazado (error en el formato o la firma por ejemplo) ¿queda registrado y su signaturevalue es válida para la siguiente factura? Supongo que no, pero no me ha quedado claro que ocurre en este caso. El proceso que voy a seguir para realizar los envios es este, por si a alguien le sirve de ayuda y por si veis que hay algo que corregir: Primero creo el fichero XML desde la factura sin los datos de encadenamiento y luego los recupero con otro programa que hace lo siguiente: 1. Lee el fichero XML 2. Busca la ultima factura procesada 3. Guarda los datos de encadenamiento 4. Firma el fichero 5. Envía el fichero 6. Si el resultado es correcto a. Actualiza la ultima factura b. Imprimo o envío la factura c. Muevo el fichero xml a otro directorio Si el resultado es incorrecto a. Borro el fichero XML b. Notifico el error 7. Inicio el proceso con el siguiente fichero Gestionar el encadenamiento desde la misma aplicación de facturación, en entornos con múltiples terminales era una pesadilla, por eso la idea de crear una cola y gestionarla con otra aplicación. No se si ya existe algo así Muchas gracias a todos. |
#3223
|
||||
|
||||
Cita:
"Los cambios están consensuados entre las tres provincias. Sin embargo, de momento solo se han implementado en Gipuzkoa." Osea, que podemos ir implementándolo para las 3 administraciones.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3224
|
|||
|
|||
Cita:
Teóricamente según TBAI, el software garante tiene que ser capaz de emitir una factura (firmarla e imprimir su QR) sin necesidad de conectarse con ellos (que era el principal problema que había al principio). En mi caso, hemos desligado la generación, firmado e impresión de la factura del envío que va por un servicio de cola que únicamente se encarga de enviar las facturas que va generando el software y notifica posibles errores para luego poder solventarlos de manera manual, que es la única manera que hemos encontrado ya que automatizar algo es prácticamente imposible ... |
#3225
|
|||
|
|||
Cita:
Yo hago algo parecido: un programa crea el xml en una carpeta compartida en la red y luego otro programa gestiona la cola firmando, enviando el fichero y luego comunicando al programa de facturación el resultado. La idea de borrar el xml es para eliminarlo de la lista de ficheros pendientes de firmar y enviar. Tras hacerlo, notifico a la factura que ha habido un error y que hay que volver a generar el fichero y, por tanto, no puede imprimirse. Después de borrar el fichero, el programa continúa con la cola. Esto te permite seguir trabajando y te asegura que el QR impreso siempre es correcto. Lo peor que puede pasar es que los servidores TBai no funcionen y los clientes se tengan que ir sin el tiquet o esperarse un rato. La diferencia que veo con tu método es que se corre el riesgo de que el el fichero sea rechazado y no ingrese en su sistema. Estarías imprimiendo un QR que apunta a una URL inexistente y se estaría rompiendo el encadenamiento real. |
#3226
|
|||
|
|||
Cita:
Creo que el procedimiento, como ya han indicado más de una vez los de TicketBAI, no es esperar a conseguir que el sistema informático de Hacienda Foral dé el visto bueno al XML firmado y enviado. Se trata de: - Recopilar los datos para emitir la factura (la factura no está emitida, realmente, hasta que no se ha obtenido el XML firmado) - Crear el XML - Firmarlo (ahora es cuando la factura está realmente emitida) - Recopilar los datos de códigos TBAI y QR a partir de los datos del XML firmado - Imprimir o enviar la factura al destinatario con los códigos TBAI y QR. - Y, a continuación, enviar el XML firmado a Hacienda. Que Hacienda dé por bueno o no el XML es independiente: la factura ya está emitida. Si Hacienda da por bueno el XML recibido, genial. Si Hacienda no lo da por bueno, dependiendo del tipo de código que retorne, habrá que hacer una u otra cosa. Pero la factura ya está emitida y va a misa. Saludos |
#3227
|
|||
|
|||
Cita:
Ok. Pero la duda que tengo es para este caso: Tenemos 3 facturas A,B,C. Se genera el xml de A, obtenemos el qr y el signature value para introducirlo en B e imprimimos Se genera el xml de B, obtenemos el qr y el signature value para introducirlo en C e imprimimos Se genera el xml de C, obtenemos el qr y el signature value para introducirlo en ... e imprimimos El proceso de validación en TBai nos rechaza el fichero de B y no se registra en TBai (no porque no le gusten los datos si no porque hay un error en la estructura, por ejemplo) cuando ya hemos impreso C y encadenado con signature value de B. En este caso C estaría encadenando con un fichero que nunca se ha registrado en TBai y el impreso de B tendría un qr que no apuntaría a una url válida. No se si esto es correcto así y hay una forma de corregirlo posteriormente pero pienso que habría que evitarlo, también para evitar posibles explotaciones maliciosas de este error. |
#3228
|
|||
|
|||
Cita:
El encadenamiento de los XML de facturas es algo que tienes que hacer tú a medida que las vas emitiendo. Es independiente de que Hacienda después, cuando se las envíes, considere que alguna de ellas no está correcta. Tú las tienes encadenadas y eso es lo importante. Puede ser que se te caiga la conexión a Internet, que los servicios de Hacienda Foral no funcionen o que la emisión sea en Bizkaia (normativa Batuz que puede admitir que las facturas se envíen varios meses después de su emisión). Da igual: tú las tienes numeradas consecutivamente, firmadas y encadenadas. Si después, cuando consigas enviarlas a Hacienda, te dice que alguna (o todas) tienen errores tienes diversas vías para corregir esos errores sin necesidad de volver a enviar. (Por ejemplo, en Bizkaia, en el capítulo 1.2 del LROE. O en Gipuzkoa o Alava mediante el servicio Zuzendu). Pero, en cualquier caso, la emisión de la factura (y su encadenamiento) y la obtención de los códigos TBAI y QR son temas de tu aplicación de facturación e independientes del posterior envío y aceptación (o no) por parte de Hacienda. Para corregir los errores, después, ya hay otras vías, pero la factura emitida firmada y encadenada es cosa tuya y no se debe poder borrar ni alterar en ningún caso (Nueva Ley General Tributaria Antifraude) Saludos |
#3229
|
|||
|
|||
Cita:
Deberías de diseñar el sistema para que fuese autónomo de manera que si hubiese un problema de conexión (los servidores de IZEMPE se caen o están "en mantenimiento", o la conexión a inet se va por avería), el software pueda seguir emitiendo facturas con encadenamiento, QR e identificador tbai. Eso fue una de las cosas que más me costó entender en un principio ... |
#3230
|
|||
|
|||
Cita:
Intuitivamente, me cuesta aceptar entregarle al cliente información potencialmente erronea que pueda suponer un conflicto para el vendedor pero si hacienda no le va a "buscar las cosquillas" pues lo haré así. Muchas gracias, sistel y trumbold, por la ayuda. |
#3231
|
|||
|
|||
Hola a todos,
No sé si esto ha sido respondido, pero pregunto Cuando generamos el .xml, hay alguna forma de saber si es valido o no antes de mandarlo, a nivel de sintaxis y a nivel de informacion. Si fuera erroneo intentaría rehacerlo y no generar la cadena de .xml erroneo + envio + error en pantalla + llamada del usuario + .xml de anulacion Lo digo porque sobre todo al principio puedo generar algunos .xml erroneos y claro eso conllevara problemas y quizas anulaciones Gracias de antemano |
#3232
|
|||
|
|||
Cita:
Sí. Puedes usar un verificador para comprobar que el XML cumple el esquema XSD de TicketBAI. Yo programo en PHP y para verificar los XML creados utilizo la función DOMDocument::schemaValidate (https://www.php.net/manual/es/domdoc...schemavalidate) Supongo que todos los lenguajes tendrán alguna función similar. Pero ojo, la verificación deberías hacerla no sólo antes de enviar el XML a Hacienda, sino antes de emitir realmente la factura. Los pasos que yo hago son: - Recabar y comprobar todos los datos que compondrán la factura. - Recabar los datos necesarios de la factura anterior para el encadenamiento. - Creación del XML - Firma del XML - Verificación del XML frente al esquema XSD de TicketBAI Si pasa la verificación, obtengo los códigos TBAI y QR y doy por emitida la factura. Si no pasa la verificación, no puedo emitir esa factura (ni me molesto, en ese caso, en obtener los códigos TBAI yQR). Hasta que no pasa la verificación no doy como utilizado el número de factura que le había asignado provisionalmente: la factura no está aún emitida. El tema del envío a Hacienda es algo posterior (y sólo una vez emitida la factura) Saludos |
#3233
|
|||
|
|||
Cita:
Sistel muchas gracias por tu detallada informacion |
#3234
|
|||
|
|||
Hola, de nuevo.
Expongo la problemática y una solución, a ver si estoy en lo correcto y si alguien más se ha encontrado con esto y le sirve de ayuda. En entornos multipuesto, varios usuarios var a querer obtener la última factura emitida al mismo tiempo: a.Ultima factura firmada es 1 b.Equipo PC1 crea factura 2 y su xml, busca ultima factura (1) y firma c.Mientras tiene lugar el proceso b. los equipos PC2, PC3, PC4 crean sus facturas (3,4,5) y sus xml y buscan la ultima factura. d.Si b. no ha acabado (por el motivo que sea) todos encontrarán que la ultima factura sigue siendo 1 y todos querran incluirla en el encadenamiento. Si se pudiesen firmar los xml en el servidor, no sería problema: se crea un cola y ya se procesará allí. Pero en las faq (8.10) indica que es el equipo emisor de la factura el que tiene que realizar la firma. Para solucionarlo estoy creando este flujo de trabajo, a ver que os parece. a.Equipo PC1 crea XML en una carpeta del servidor b.El servidor busca la última factura firmada. c.El servidor agrega el encadenamiento al fichero XML d.El servidor comunica a Equipo PC1 que ya puede firmar e.Equipo PC1 firma y lo comunica al servidor f.El servidor envia el fichero y continua con el siguiente XML de su lista. g.Equipo PC1 ya puede imprimir, exportar o enviar por correo electrónico. Creo que también podría "obligar" al usuario a tener una serie en cada equipo (faq 14.1) pero los clientes, habitualmente, quieren poder imprimir facturas correlativas desde cualquier puesto de trabajo. |
#3235
|
|||
|
|||
Otra duda sobre algo que, supongo, estará permitido. He enviado la consulta a hacienda pero la respuesta me ha dejado dudas.
En multipuesto y con una misma serie el fichero xml, su firma y envio de la factura 1000 puede ser posterior al envio de la factura 1001 debido a que la 1000 es una factura que está siendo revisada, o se ha dejado a medias en el almuerzo o la comida, etc. y la 1001 es una operación rápida de un cliente que está en el mostrador. ¿Supone algún problema? Gracias. |
#3236
|
|||
|
|||
Cita:
El procedimiento que propones puede crear un cuello de botella si el PC tarda mucho en firmar. Y sí que está admitida la firma en servidor. Lee las especificaciones de firma de TicketBAI. Hay tres modalidades admitidas: - Arquitecturas con firma en cliente - Arquitecturas con firma en servidor - Arquitecturas con posibilidad de firma en cliente y en servidor Firmar en servidor te permite tener un único certificado digital y aislar el tema de la firma de los problemas que pueda tener un PC. Saludos |
#3237
|
|||
|
|||
Cita:
No debe retrasarse la firma y envío en ningún caso. (El envío sólo podría retrasarse en Bizkaia que se envía mediante LROE) Yo considero que la emisión de la factura tiene lugar en el momento que se firma crea y firma el XML y debe llevar esa fecha y hora. No se puede crear un XML y firmar más adelante. Se trata de que todas las facturas sean consecutivas, con fecha y hora de la emisión y con envío inmediato. Saludos |
#3238
|
|||
|
|||
Cita:
Sí, si bien la firma del fichero XML TicketBAI se deberá realizar en el dispositivo en elque se genere la factura, el envío a la Administración podrá hacerlo tanto el propio dispositivo de facturación como otro dispositivo diferente,por ejemplo, un servidor centralqueenvíe losficheros devariosdispositivos defacturación ¿debo entender que el dispositivo en elque se genere la factura es el equipo donde se genera el xml, no el equipo donde está abierta la factura e inicia todo el proceso? |
#3239
|
|||
|
|||
Cita:
|
#3240
|
|||
|
|||
Cita:
Yo así lo entiendo. Para mí la emisión de la factura es el momento en que creo el XML y lo firmo (en el mismo equipo) con la fecha y hora de ese momento. Después ya extraigo el código TBAI y código QR para meterlos en el documento-factura y envío a Hacienda Foral. Saludos |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice | newtron | Internet | 3706 | Hace 2 Semanas 09:38:43 |
Como utilizar la ayuda del nuevo Sistema Operativo | gluglu | Humor | 3 | 24-09-2007 09:39:05 |
Aplicacion Agencia De Viajes | ArdiIIa | Varios | 9 | 20-01-2007 16:49:53 |
El Vasco Aguirre | Al González | La Taberna | 5 | 26-05-2006 09:22:28 |
Microsoft ha lanzado su nuevo sistema operativo | DarkByte | Humor | 0 | 25-01-2004 09:21:14 |
![]() |
|