![]() |
Cita:
Yo también utilizo el firmador.php del colega bilbur (que sea alabado por los siglos :D ) con algunas pequeñas modificaciones Comparando la cabecera tuya con la mía: La tuya: Código:
<?xml version="1.0" encoding="UTF-8"?><T:TICKETBAI xmlns:T="http://ticketBai.bfa" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema ticketBai.xsd">Código:
<?xml version="1.0" encoding="UTF-8"?><T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">Por supuesto, también tendrás que modificar el nodo de cierre a </T:TicketBai> Saludos |
Cita:
Cambia los xmlsn y demás de tu xml Antes de <cabecera> va esto: Código:
|
Gracias gracias
A la primera después de vuestras correcciones.
Ya he visto la relación de la cabecera con el código php. Que buenísimo y que rápida la firma. |
TiquetBai en resto de comunidades
Para el resto de España tiene pinta de que le queda poco tiempo la regulación, después del Boe del 10 de julio.
Apuestas: TiquetSi, TiquetMaster... |
Cita:
De todas formas, aunque la firma sea correcta, probablemente te dará error al enviar el XML a Hacienda. El tema es el nombre de los nodos del XML, que tienen que ser exactos. Tienes alguno llamado <HuellaTb> cuando debería llamarse <HuellaTBAI> Compruébalos. Saludos |
Cita:
|
Instalación del certificado y libreria para firma de XML en java
Buenos días,
lo primero es daros las gracias a todos por toda la información tan útil que habéis compartido (menos mal que existe este foro!). Me encuentro en el punto de firmar el archivo XML para después enviarlo a la administración. Tengo un certificado .pfx de Representante de Persona Jurídica (entiendo que es uno de los válidos) y quiero instalarlo en un servidor CentOS. La idea es que una vez hecho esto, el programita en java que estoy desarrollando obtenga el certificado y firme los XML que después enviará. ¿Alguien sabe como tengo que "instalar" ese certificado en mi servidor linux CentOS? ¿O con copiar el .pfx en una carpeta del servidor y poner esa ruta al java (para que este lo recoja y firma los XML) sería suficiente? La verdad es que no he trabajado nunca con certificados y estoy super perdido. Por otro lado he leído por aquí que se recomendaba utilizar Chilkat. He ojeado un poco su api y tiene buena pinta pero ¿conocéis alguna librería java gratis como alternativa a chilkat para este fin? Muchas gracias por adelantado |
¡Muy buenas a todos!, ya estoy de vuelta de las vacatas, ¿Cómo andáis?
Bueno, entrado en materia hoy tengo una duda mas bien teórica, me gustaría saber vuestra opinión y creo que puede ser interesante para todos. (Atención se viene parrafada, pero en su mayoría son ejemplos así que no asustarse.) El caso es el siguiente, quería tratar las respuestas de hacienda para que el usuario de turno pudiera leer algo MUCHO mas simple y legible, incluso un "Recibido" mi intención era transformarlo a "La factura ha sido enviada satisfactoriamente.", "Ha salido todo a pedir de Milhouse." o "Todo ha chuscado bien."... ya sabéis filosofía "Don't make me think" y esas cosas. El tema es que con BATUZ todo perfecto, te responden algo como: Cita:
https://www.batuz.eus/fitxategiak/ba...b1d893b1006da9 Mi problema surge con Gipuzkoa, donde te devuelven algo como esto: Cita:
Pues muy simple, todos los errores de Gipuzkoa te devuelven el código 002, es decir, ese código sirve para identificar que en la respuesta hay algo incorrecto, pero no tenemos un código específico de cada error. De pronto cobra sentido que el pdf con los errores de Gipuzkoa tenga tan solo 13 páginas: https://www.gipuzkoa.eus/documents/2...9-3eb70c68034a Esto rompe mi plan de pasar la respuesta por un switch donde filtrar los errores mas confusos en base a su código... a no ser que utilice como identificador el propio texto del error... aunque lo veo difícil ya que el ejemplo que os acorté antes tiene 1178 caracteres. Perdonad, edito porque se me ha olvidado formular la pregunta... si... mmm... mejor ni lo mencionéis... serán efectos secundarios de los microchis de la vacuna. ¿Hacéis algún filtro para tratar los errores?, ¿Si es así cómo lo hacéis?, ¿Os ha supuesto algún problema Gipuzkoa? Pues ya está, creo que os he expuesto mi tesitura con claridad, puede que se me esté escapando algo y si ese es el caso no dudéis en corregirme, pero lo cierto es que me ha descolocado, un saludo a todos y ánimo que ya queda menos. |
Cita:
valor_firrma (texto) valor_firrma_ant (texto) fecha_hora_firma(texto) fecha_hora_enviado(texto) respuesta(memo) codigo_Estado_recepcion_hacienda(texto) descripcion_Estado_recepcion_hacienda(texto) codigo_resultado_recepcion_hacienda(texto) descripcion_resultado_recepcion_hacienda(texto) etc. .. después haré el tratamiento de los textos de los errores más básicos que se me ocurran, provocando el error. Los errores que no tenga tratados se podran visualizar del campo [respuesta] o para futuros tratamientos si hace falta |
Cita:
Lo que he hecho ha sido guardar los mensajes completos de error (estado, descripción y los diferentes códigos de error/aviso), junto con la factura (he creado dos tablas con el resultado y otra con los avisos) y el xml de respuesta y mostrar únicamente un mensaje el texto que se indica en el PDF. Un 002 es: El "fichero de alta TicketBAI no cumple el esquema XSD" ya que resultaria casi imposible tratar el error de los cientos que puede haber en un esquema erróneo de incumplimiento del xsd (por ejemplo) Ademas, en el caso del 002, es un problema del programador que lo ha hecho mal... no es algo que pueda resolver el usuario. Como mucho puedes comprobar antes los casos normales en que falta algo o algo puede estar mal... que esté bien firmado, que los nodos cumplan con xsd, etc... |
Buenos dias.
Creo que ya he conseguido (con autofirmacommandline) firmar una factura y que funcione !!, pero hoy al subir una factura a Batuz me da este error: Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Código:
|
Cita:
El formato parece correcto, pero tal vez el dato no lo sea. Recuerda que no se pueden emitir facturas con fecha u hora futura. Comprueba que no sea eso. Saludos |
Cita:
Cuando entre en vigor tener en cuenta que fecha de Expedicion tiene que ser la fecha de hoy. |
Repasando los emails de TicketBai
Repasando los emails de TicketBai he visto uno del 19/07/2021 indicando que para permitir el registro el impreso de las facturas debe traducirse al euskera.
Mandan una relación de etiquetas para la correspondiente traducción Esto es obligatorio ????? |
Hola a tod@s de nuevo...
He estado ausente y con el proyecto de TicketBAI en pausa durante verano debido a otros proyectos más urgentes, concretamente desde el anuncio de Bizcaia de posponer la entrada en vigor hasta 2023/2024. He leído las últimas 10-15 páginas del hilo y no me ha quedado claro qué es lo que se pospone y qué no. Si lo que se pospone es solo el LROE... ¿los tíckets de Bizcaia no se envían enviando el LROE? ¿Cómo se envían entonces? ¿Igual que en Gipuzkoa/Araba? He visto también que se ha avanzado en la implementación para PHP. Muy buena noticia, porque casualmente nos íbamos a poner con eso ahora en la empresa. |
Cita:
Como no falta es que es erróneo. No puede ser una factura con fecha superior al envío. |
QUOTE=angelito37;542464]Repasando los emails de TicketBai he visto uno del 19/07/2021 indicando que para permitir el registro el impreso de las facturas debe traducirse al euskera.
Mandan una relación de etiquetas para la correspondiente traducción Esto es obligatorio ?????[/quote] No es así exactamente, según he entendido yo... Han "presentado" el TicketBAI euskaraz, que es una recomendación que para las empresas que quieran emitir la factura en Euskara, puedan hacerlo. (sic) : "La Ley 10/1982 de Normalización del Uso del Euskera establece que todos los ciudadanos y ciudadanas vascas tienen derecho a expresarse en euskera en todos los ámbitos de la vida social. Por ello, consideramos muy importante que los programas que se inscriban en el registro del software TicketBAI estén adaptados para que el ticket o factura que recibirá el cliente esté en euskera. La Diputación Foral de Gipuzkoa ofrece el apoyo necesario a los desarrolladores de software TicketBAI, así como a las entidades que están realizando la labor de difusión, aportando en los dos idiomas oficiales los contenidos de la plantilla de la factura que genera el sistema." Y dos enlaces (a un xls y a un pdf) con las traducciones. En ningun caso es obligatorio. Saludos... |
Gracias a los 3 por responder, efectivamente era por la fecha.
Ahora al enviar el fichero firmado con AutoFirmaCommandLine Código:
Código:
CURL -H "Content-type: application/xml;charset=UTF-8" -d @C:\FacE\FacturaTBAI.FIRMADO.XML -o C:\Teragest\FacE\FacturaTBAI.FIRMADO.Output.xml https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/altaCódigo:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
Cita:
Si miras en https://www.gipuzkoa.eus/documents/2.../Anexo+IV.pdf/ página 8, verás que el código 008 no es un rechazo del envío. Es sólo un aviso, pero ha sido aceptado el envío (aunque el fichero esté chungo en su firma) Saludos |
Cita:
-d @C:\FacE\..... por: --data-binary @C:\FacE\..... Esto hará que en el envio no te cambie los retornos de carro y otros caracteres ( por ello lo del cambio en transito error 008) Por otro lado, efectivamente lo que dice Sistel tiene razón, si ya lo ha aceptado con codigo 00, pero con una incidencia 008 y si lo vuelves a enviar (el mismo fichero con el mismo problema) te dice que existe (error 005), aunque no sé que pasará si lo envias ya correcto ¿te dará el ok?(ya nos contarás que me interesa) Saludos y espero haberte ayudado |
Cita:
En el primer mensaje del hilo hay un recopilatorio de mensajes. Allí hay un enlance a un recopilatorio de código. y en ese segundo recopilatorio, en el apartado de firma con autofirma hay varios enlaces a mensajes con la instrucción completa de firma con autofirmacommandline... venga va... https://www.clubdelphi.com/foros/sho...&postcount=681 y AutoFirmaCommandLine.exe sign -i nombre_fichero -o nombre_fichero_firmado -xml -store pkcs12:nombre_certificado.p12 -password contraseña_certificado -alias nombrel_alias_del_certificado -format xades -config "format=XAdES Enveloped\npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf \npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=\npolicyIdentifierHashAlgorithm=h ttp://www.w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf" saludos |
Muchas gracias a iMia y ermendalenda,
solucionando lo del encadenamiento por un lado y con vuestra ayuda, ¡¡ ya me funciona correctamente !! Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Llamada al AutoFirmaCommandLine: Código:
AutoFirmaCommandLine sign -i C:\FacE\FacturaTBAI.XML -o C:\FacE\FacturaTBAI.FIRMADO.XML -store windows -filter subject.contains:<NIF> -format xades -xml -config "format=XAdES EnvelopedCódigo:
CURL -H "Content-type: application/xml;charset=UTF-8" --data-binary @C:\FacE\FacturaTBAI.FIRMADO.XML -o C:\FacE\FacturaTBAI.FIRMADO.Output.xml https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta |
Tiempos envíos y qr en Álava y guipuzcua
Pregunta sencilla, pero no encuentro la respuesta,
Si no tengo conexión, ya sea por caída de mi Red o el servidor de hacienda no funcione o un cable de Red partido... Etc etc.. Puedo dar el tiquet con el qr o el tiquet no debe salir hsstq que se realice el envío correcto? En resumen.. Hay margen? |
Cita:
Confirmación: Sí, puedes (debes) crear tu fichero XML, generar el código QR, entregar la factura a tu cliente y después, cuando sea posible la conexión, enviarla. |
Qué pasa en Gipuzkoa
Había hecho pruebas hace tiempo y lo dejé funcionando. Retomo el tema, hago la prueba con el mismo fichero con que lo dejé funcionando y el servidor me responde "Anulada la solicitud: No se puede crear un canal seguro SSL/TLS." Ni siquiera me deja conectarme. Verifico que se usa TLS 1.2, que el certificado con el que me conecto es el de la persona que en su día se pidió que registraran en Gipuzkoa... Todo correcto. Envío mensaje al servicio técnico para que me ayuden y, aunque no obtengo respuesta, lo intento nuevamente al día siguiente.
En este nuevo intento parece que ese problema se ha solucionado. Ahora sí que llega la factura, pero el servidor responde: Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
Gracias unomasmas
|
Buenos días.
Alguien con (algo) información de por dónde van a ir los tiros con las demás comunidades? Aunque sea por MP por favor. Gracias os deberé un gran favor Saludos. |
Cita:
|
Llevas razón, lo siento
Alguien con algo de información (por muy pequeña que sea la pista) sobre cómo van a ir las facturas en la hacienda no foral. Por favor compartid es muy importante para los programadores para no hacer doble trabajo. Saludos |
Aquí os dejo parte de la respuesta(la única parte importante) , sobre la pregunta a hacienda de para cuando y como.
Cita:
|
Cita:
Es muy pronto para preguntar esto cuando todavía ni siquiera nosotros hemos empezado Pero usando la intuición me imagino a la Hacienda Nacional muy curiosona en el proyecto de aquí y haciéndole el "culo pepsi cola" por ponerlo ellos cuánto antes. No es golosa la cosa ni nada. ¿Los ficheros? Ten claro que serán tan parecidos como diferentes :D ...si ni siquiera aquí nos hemos puesto de acuerdo 3 provincias en hacerlo igual no pensarás que la nacional va a "tragar" con algo creado por otros... Pondrá sus propias mierdas y los programadores que atendemos en toda España nos obligarán a trabajar por triplicado o cuatriplicado. :( |
Cita:
|
Cita:
Ese código es completamente calculable, consta de un total de 39 caracteres que te especifican en el apartado 4.3.2 de la documentación oficial: https://www.euskadi.eus/contenidos/i...ones_v_1_1.pdf Por lo tanto, lo puedes generar sin la necesidad de una respuesta por parte de hacienda, de hecho, en BATUZ no queda otra ya que las facturas que emitas no serán enviadas hasta finalizar el trimestre. Pd: Para que no caiga en el olvido, hace unas páginas publicamos el cálculo CRC-8 en mogollón de lenguajes distintos, creo recordar que en C#, vb, python y php, rebusca un poco en el foro y lo encontrarás. Un saludo y buen inicio de semana. |
Eso sí. Para calcular el qr no se necesita conexión. Lo principal para este código es una parte de la firma del XML que se hace (se puede hacer) offline.
|
Cita:
saludos... |
Error subiendo fichero
Hola!
Estoy intentando subir el xml y siempre me da el error No se puede crear un canal seguro SSL/TLS. He probado con HttpClient y con HttpWebRequest y el error siempre es el mismo, si quito la parte donde añado el certificado, no da error pero en el mensaje devuelto, me dice que me falta el certificado... por lo que no se si es cosa del certificado o que puede ser, me estoy volviendo loco ya... Este es el código que estoy usando: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 Dim handler As System.Net.Http.HttpClientHandler = New System.Net.Http.HttpClientHandler() Dim certificate As X509Certificate2 = New X509Certificate2("E:\Ramon\Programacion\Factura_TBai\Firma.pfx", "0000") handler.ClientCertificates.Add(certificate) Dim http As HttpClient = New HttpClient(handler) Dim oString As StringContent = New StringContent(XML.ToString(), Encoding.UTF8, "application/xml") Dim response As HttpResponseMessage = http.PostAsync(URL_Pruebas, oString).Result Dim res As String = response.Content.ReadAsStringAsync.Result |
Comprueba fecha y hora del equipo que no tenga mucha diferencia con la fecha hora real.
Prueba los envíos con Curl, para descartar otros problemas del equipo. |
Cita:
Código:
result = "TBAI" + separador; |
Cita:
|
Cita:
Justamente estaba analizando ese escenario y me iba a poner a clasificarlos en cuanto a su naturaleza (código). En la página 10 del pdf de las especificaciones del servicio REST de Gipuzkoa disponemos de 6 errores y 8 avisos. Mi intención era seguir esa misma estructura. Primero: Mandar una petición vacía para ver si el servicio se encuentra en funcionamiento y segundo: Recuperar la respuesta y ver si ha sido aceptada (mirar los avisos ya que puede ser que exista alguno) o rechazada (los errores y los avisos, aunque estos últimos no serían la causa directa del rechazo, se supone). |
| La franja horaria es GMT +2. Ahora son las 07:03:50. |
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