Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ley antifraude 2021 (VERIFACTU) - Programas informáticos (https://www.clubdelphi.com/foros/showthread.php?t=95235)

ermendalenda 20-10-2024 21:09:20

Cita:

Empezado por bmfranky (Mensaje 558449)
Una hora mas tarde... Sigue sin poderse enviar nada, soy al unico que le pasa??

Esta mañana me iba bien pero acabo de probar los envios ahora y el primer intento me ha tardado unos 2 minutos, como le tengo puesto el timeout en 300 me ha dejado. El segundo intento inmediato, es raro.

ermendalenda 20-10-2024 21:13:13

Cita:

Empezado por bmfranky (Mensaje 558445)
Hola, es el primer registro, lo has tenido en cuenta al generar la huella, no has de consignar datos, solo poner primer registro.


Puede poner el registro completo, para revisarlo?


Gracias bmfranky. Encontré el error, encapsule el nodo del "PrimerRegistro" dentro de registroanterior que en ese caso no hay que ponerlo.

[email protected] 20-10-2024 21:45:59

Cita:

Empezado por ermendalenda (Mensaje 558453)
Si la has enviado tal y como se vé es normal que te tire un error, la huella solo puede contener caracteres HEXADECIMALES, observo un espacio o caracter no visible antes del intro, intenta poner la huella sin intros ni espacios.


ETERNAMENTE AGRADECIDO por vuestra ayuda y cooperacion.
Ya he conseguido recibir la respuesta de la AEAT y me indica :

Código:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body"><tikR:RespuestaRegFactuSistemaFacturacion xmlns:tik="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:tikR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd"><tikR:CSV>A-R8GVFMLPGQ5X9U</tikR:CSV><tikR:DatosPresentacion><tik:NIFPresentador>33461360V</tik:NIFPresentador><tik:TimestampPresentacion>20-10-2024 21:37:24</tik:TimestampPresentacion></tikR:DatosPresentacion><tikR:Cabecera><tik:ObligadoEmision><tik:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</tik:NombreRazon><tik:NIF>33461360V</tik:NIF></tik:ObligadoEmision></tikR:Cabecera><tikR:TiempoEsperaEnvio>60</tikR:TiempoEsperaEnvio><tikR:EstadoEnvio>ParcialmenteCorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2023</tik:NumSerieFactura><tik:FechaExpedicionFactura>02-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>AceptadoConErrores</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>2004</tikR:CodigoErrorRegistro><tikR:DescripcionErrorRegistro>El valor del campo FechaHoraHusoGenRegistro debe ser la fecha actual del sistema de la AEAT, admitiéndose un margen de error de: 120 segundos.</tikR:DescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion>
</env:Body></env:Envelope>

El ultimo problema era que me insertaba un [CRLF] en medio de la huella, lo he quitado manualmente y al enviar de nuevo tal cual me ha respondido Aceptada con errores, ahora ya mas tranquiilo voy a ver porque añade esos carcatres raros y a continuacion intentar dar formato a la respuesta de AEAT.

[email protected] 20-10-2024 21:51:30

Cita:

Empezado por jguarda (Mensaje 558438)
Yo en mi sistema, para componer el nro de factura me baso en el año, de esta manera, cada nuevo ejercicio o año, el programa comienza con el nro 1 de factura, xq la serie por asi decirlo cambia. es decir.


ejercicio 2024 -> 2024.XXXXX1 donde XXXXX1 es el nro de factura, comenzando por el nro. 1. en cada ejercicio.

ejercicio 2025 -> 2025.XXXXX1

ejercicio 2026 -> 2026.XXXXX1


¿ que ocurre entonces con el encadenamiento ?.


supongo que la primera factura de cada ejercicio nuevo, se envia sin encadenamiento no ?, por asi decirlo, es como si empezara desde cero o como lo habeis implementado vosotros ??


He visto algun programa, que el nro de factura siempre va creciendo, es decir, si llevase 6-7 años usándolo puede estar por un nro de factura enorme ... independiente del ejercicio, esto para mi supone un follon de tres pares ... cambiaria toda la lógica del programa con lo q eso supone.

Es correcta tu for a de actuar, puedes empezar por el numero 1
,pero tienes que seguir encadenando con el último del año anterior, recuerda que el encadenamiento no es por serie es por orden cronológico, independientemente de la serie. Puedes encadenar 2 registros de series distintos y de distintos años.

Mi caso es el mismo, pero al mismo tiempo el cliente tiene una sola instalacion del VERI*FACTU pero ademas tiene definidas varias empresas, cada una de ellas tiene cada año por separado, siendo el mismo titular de las empresas y estan ubicadas en distintas poblaciones.
En este caso cada una de las empresas llevaria su propio control de facturas por separadl de las otras empresas.

???

ermendalenda 20-10-2024 21:58:03

Cita:

Empezado por [email protected] (Mensaje 558452)
Código:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sum:RegFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazon>
<sum1:NIF>33461360V</sum1:NIF>
</sum1:ObligadoEmision>
</sum1:Cabecera>
<sum:RegistroFactura>
<sum:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>33461360V</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>2024</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>15-10-2024</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazonEmisor>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>VENTA</sum1:DescripcionOperacion>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>VENTAS CONTADO</sum1:NombreRazon>
<sum1:NIF>19823568Y</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>8.18</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>1.72</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>1.72</sum1:CuotaTotal>
<sum1:ImporteTotal>9.90</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</sum1:NombreRazon>
<sum1:NIF>33461360V</sum1:NIF>
<sum1:NombreSistemaInformatico>GESTION COMERCIAL</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>A1</sum1:IdSistemaInformatico>
<sum1:Version>5.1.531.1443</sum1:Version>
<sum1:NumeroInstalacion>001</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2024-10-19T10:01:06+02:00</sum1:FechaHoraHusoGenRegistro>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>8C4F00D6E814A06990BDA2F30CA26CE3 9D8C043767CFA0BD293436238793067A</sum1:Huella>
</sum:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>

Despues de hacer los distintos cambios que me habeis indicado, sigue dando el mismo error : Valor o tipo incorrecto del campo.: Huella

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body"><tikR:RespuestaRegFactuSistemaFacturacion xmlns:tik="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:tikR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd"><tikR:Cabecera><tik:ObligadoEmision><tik:NombreRazon>HECTOR RAFAEL RODRIGO SANCHEZ</tik:NombreRazon><tik:NIF>33461360V</tik:NIF></tik:ObligadoEmision></tikR:Cabecera><tikR:TiempoEsperaEnvio>60</tikR:TiempoEsperaEnvio><tikR:EstadoEnvio>Incorrecto</tikR:EstadoEnvio><tikR:RespuestaLinea><tikR:IDFactura><tik:IDEmisorFactura>33461360V</tik:IDEmisorFactura><tik:NumSerieFactura>2024</tik:NumSerieFactura><tik:FechaExpedicionFactura>15-10-2024</tik:FechaExpedicionFactura></tikR:IDFactura><tikR:Operacion><tik:TipoOperacion/></tikR:Operacion><tikR:EstadoRegistro>Incorrecto</tikR:EstadoRegistro><tikR:CodigoErrorRegistro>1100</tikR:CodigoErrorRegistro><tikR:DescripcionErrorRegistro>Valor o tipo incorrecto del campo.: Huella</tikR:DescripcionErrorRegistro></tikR:RespuestaLinea></tikR:RespuestaRegFactuSistemaFacturacion>
</env:Body></env:Envelope>

Con los datos de este xml, si no los has cambiado para presentarlos aquí la huella se calcula sobre este string:
IDEmisorFactura=33461360V&NumSerieFactura=2024&FechaExpedicionFactura=15-10-2024&TipoFactura=F1&CuotaTotal=1.72&ImporteTotal=9.90&FechaHoraHusoGenRegistro=2024-10-19T10:01:06+02:00
y el resultado del sha256 en Hexadecimal que tienes qu eponer en la huella es este:
D9AEC6BA1CA8988FE6184C630CF57B8D70B9CF71E4981E11DFEB185DC532F9D1

Puedes usar este link para probar los strings:
https://www.convertstring.com/es/Hash/SHA256

bmfranky 21-10-2024 08:06:27

Cita:

Empezado por [email protected] (Mensaje 558457)
Mi caso es el mismo, pero al mismo tiempo el cliente tiene una sola instalacion del VERI*FACTU pero ademas tiene definidas varias empresas, cada una de ellas tiene cada año por separado, siendo el mismo titular de las empresas y estan ubicadas en distintas poblaciones.
En este caso cada una de las empresas llevaria su propio control de facturas por separadl de las otras empresas.

???

Hola, si solo usa una instalacion para gestionar las facturas de todas las tiendas, ha de encadenarlas todas por tiempo, indistintamente de la serie generada o de la tienda para la que la genere, teniendo en cuenta que las facturas seran todas del mismo periodo impositivo.
El encadenamiento es por cada programa que use, SIF independiente.
Perdon , estoy asumiendo que son el mismo CIF, pero creo que aunque sean varios , es lo mismo, al encadenar , indicas a parte del numero de Serie-Factura, el CIF/NIf del "Obligado..."

ermendalenda 21-10-2024 09:01:59

Cita:

Empezado por bmfranky (Mensaje 558467)
Hola, si solo usa una instalacion para gestionar las facturas de todas las tiendas, ha de encadenarlas todas por tiempo, indistintamente de la serie generada o de la tienda para la que la genere, teniendo en cuenta que las facturas seran todas del mismo periodo impositivo.
El encadenamiento es por cada programa que use, SIF independiente.
Perdon , estoy asumiendo que son el mismo CIF, pero creo que aunque sean varios , es lo mismo, al encadenar , indicas a parte del numero de Serie-Factura, el CIF/NIf del "Obligado..."

Es correcto, excepto lo de encadenar lo del mismo CIF. distintos cifs distintos encadenamientos.

bmfranky 21-10-2024 09:09:57

Cita:

Empezado por ermendalenda (Mensaje 558468)
Es correcto, excepto lo de encadenar lo del mismo CIF. distintos cifs distintos encadenamientos.

Estais seguros?
Cuando consulte sobre el encadenamineto, no me dijeron nada de separar por CIFS/NIFS, lo unico que me indicaron esra la cronologia, sin mas.

ermendalenda 21-10-2024 09:14:55

Cita:

Empezado por bmfranky (Mensaje 558469)
Estais seguros?
Cuando consulte sobre el encadenamineto, no me dijeron nada de separar por CIFS/NIFS, lo unico que me indicaron esra la cronologia, sin mas.

Sí. cuando sea multiempresa todo separado, un mensaje claro constante de que empresa es la que se está trabajando, las bases de datos separadas, envios separados, todo separado, a ver si lo encuentro, pero era claro.

edari 21-10-2024 09:17:27

Buenos días de nuevo,


Alguno ha hecho una consulta xml para bajar y poder comprobar las facturas que están en Verifactu?


Supongo que se podrá pero no encuentro info de como montar el xml de la consulta...


Gracias

bmfranky 21-10-2024 09:19:43

Cita:

Empezado por edari (Mensaje 558471)
Buenos días de nuevo,


Alguno ha hecho una consulta xml para bajar y poder comprobar las facturas que están en Verifactu?


Supongo que se podrá pero no encuentro info de como montar el xml de la consulta...


Gracias

Hola, buenos dias.
Hasta donde he leido en la documentacion, de momento ni lo han contemplado, no existe ningun "Comando", para solicitarlo, ahunque desde el primer envio duplicado que tuve, pienso que seria una buena idea.

Neftali [Germán.Estévez] 21-10-2024 09:27:24

Cita:

Empezado por ermendalenda (Mensaje 558433)
Hola, creo que es importante que se ponga esto en el primer post. Puede que le "salve la vida" a más de uno que usa desarrollo antiguo, tipo vb 6.0 , delphis antiquísimos etc..


Gracias.
Por los detalles y la explicación.
Actualizo en mensaje#2

ermendalenda 21-10-2024 09:27:44

Registro duplicado
 
Buenas.
Es curioso que acepten los registros que ya se han enviado pero con errores, supongo que no tendrá efecto contable, he probado a enviarlo con el mismo numero serie y cambiandole fecha y ese no lo interpreta como duplicado, en realidad tiene sentido, por que si se nos han reiniciado los contadores lo aceptan ya que detectan que es un registro distinto, pero me preocupa que hacen cuando realmente es duplicado, por que más de una vez me va a pasar que se envie 2 veces por alguna incidencia.

bmfranky 21-10-2024 09:30:43

Cita:

Empezado por ermendalenda (Mensaje 558474)
Buenas.
Es curioso que acepten los registros que ya se han enviado pero con errores, supongo que no tendrá efecto contable, he probado a enviarlo con el mismo numero serie y cambiandole fecha y ese no lo interpreta como duplicado, en realidad tiene sentido, por que si se nos han reiniciado los contadores lo aceptan ya que detectan que es un registro distinto, pero me preocupa que hacen cuando realmente es duplicado, por que más de una vez me va a pasar que se envie 2 veces por alguna incidencia.

Lo curioso es que cuando compruebas el enlace del qr, con los datos de la segunda factura, veras que no la encuentra, sin embargo pones los datos de la primera y da ok, verificado varias veces, puesto que como programo en varios ordenadores diferentes, los numeros de factura enviados a veces se me han duplicado, sin embargo no da error , mas que al consultar el QR.:eek:
Teniendo en cuenta que varies las cantidades...

edari 21-10-2024 09:39:04

Cita:

Empezado por bmfranky (Mensaje 558472)
Hola, buenos dias.
Hasta donde he leido en la documentacion, de momento ni lo han contemplado, no existe ningun "Comando", para solicitarlo, ahunque desde el primer envio duplicado que tuve, pienso que seria una buena idea.


Eso me olía


Les voy a hacer la consulta a ver si se tiran al rollo...


Gracias

nuevo1234 21-10-2024 09:51:23

Cita:

Empezado por bmfranky (Mensaje 558394)
Me respondo a mi mismo, estan contestando con la nueva etiqueta vacia, pero no han tenido en cuenta que pueda estar vacia entonces al parsear vacio, da error.


Hola,

Parece que ya lo han solucionado. He hecho una prueba y ya no llega vacío

Saludos.

bmfranky 21-10-2024 10:07:27

Cita:

Empezado por nuevo1234 (Mensaje 558477)
Hola,

Parece que ya lo han solucionado. He hecho una prueba y ya no llega vacío

Saludos.

Gracias, por la info, hora de actualizar a la nueva version otra vez...

ermendalenda 21-10-2024 10:11:27

Otra curiosidad
 
Pues nada, sigo con las curiosidades, supongo que me voy a encontrar muchas, ya quye acabo de empezar.

Para el envio del primer registro se admiten 2 formatos de cálculo de huella, han estado avispados,
en el tramo del string entre ImporteTotal y FechaHoraHusoGenRegistro lo admiten con el campo Huella= vacio o sin el campo huellla, o sea admiten los 2 cálculos. Es una rareza pero bueno lo veo bien:
....&ImporteTotal=0.05&FechaHoraHusoGenRegistro=2024-10-20T20:54:34+02:00
....&ImporteTotal=0.05&Huella=&FechaHoraHusoGenRegistro=2024-10-20T20:54:34+02:00

ermendalenda 21-10-2024 10:17:10

Cita:

Empezado por ermendalenda (Mensaje 558470)
Sí. cuando sea multiempresa todo separado, un mensaje claro constante de que empresa es la que se está trabajando, las bases de datos separadas, envios separados, todo separado, a ver si lo encuentro, pero era claro.

Preguntas y respuestas:
Pr'
En un sistema Verifactu, en los lotes de envío se incluirán facturas de diferentes empresas usuarias del SIF? o cada lote solo puede incluir facturas de la misma empresa usuaria?
Respuesta:

Todos los registros de facturación que se envién en el lote deben ser del mismo obligado.


En estaa respuesta no dice nada de que el encadenamiento sea distinto pero es de lógica. Y lo he visto por otro lado, sigo buscando.

ermendalenda 21-10-2024 10:20:31

Aquí está, en preguntas y respuestas tambíen, hay varios comentarios al respecto, la idea es clara un encadecamiento por cada obligado y SIF:Los registros de facturación se deben encadenar dentro de cada SIF, para un mismo obligado tributario, es decir, debe
existir una única cadena por cada par distinto de (obligado tributario ; SIF). La trazabilidad se materializa mediante el
encadenamiento que el SIF realiza de los registros de facturación, es decir, se circunscribe al SIF. Una vez encadenados
debidamente y generados (y firmados / remitidos a la AEAT), el reglamento y la orden no entran en lo que se haga
posteriormente con los registros de facturación generados (como su posible envío a otros sistemas con idea de utilizarlos
para otros fines), más allá de exigir su conservación, legibilidad y accesibilidad a futuro

bmfranky 21-10-2024 10:31:32

Cita:

Empezado por ermendalenda (Mensaje 558481)
Aquí está, en preguntas y respuestas tambíen, hay varios comentarios al respecto, la idea es clara un encadecamiento por cada obligado y SIF:Los registros de facturación se deben encadenar dentro de cada SIF, para un mismo obligado tributario, es decir, debe
existir una única cadena por cada par distinto de (obligado tributario ; SIF). La trazabilidad se materializa mediante el
encadenamiento que el SIF realiza de los registros de facturación, es decir, se circunscribe al SIF. Una vez encadenados
debidamente y generados (y firmados / remitidos a la AEAT), el reglamento y la orden no entran en lo que se haga
posteriormente con los registros de facturación generados (como su posible envío a otros sistemas con idea de utilizarlos
para otros fines), más allá de exigir su conservación, legibilidad y accesibilidad a futuro

Ok, de todas formas , es logico, tendreis que crear diferentes registros de encadenamiento, para los diferentes CIFs, igual que lo haceis con la identificacion de las facturas.
Tened en cuenta compartimentar, al entrar en la funcion que os genere la factura, igual que asignais la tabla de X cliente para generar la factura, cojer numeracion, guardar registro etc, guardar en la tabla "HASVERIFACTU-X-2024", para guardar los encadenamientos, la forma menos complicada que veo de no errar, asignando un encadenamiento erroneo.
A la hora de encadenar , solo teneis que consultar el ultimo introducido en la tabla de ese cliente y a jugar...

bmfranky 21-10-2024 10:34:45

Guardado XML
 
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?

ermendalenda 21-10-2024 10:40:43

Sabeis si se puede acceder al listado de errores posibles en las respuestas?
Gracias

edari 21-10-2024 10:41:38

Cita:

Empezado por edari (Mensaje 558476)
Eso me olía


Les voy a hacer la consulta a ver si se tiran al rollo...


Gracias


Buenos días:

En las futuras semanas, se creará una sección dentro del "Portal de Pruebas Externas", que incluirá un cliente de servicios web y donde se irá publicando el resto de los servicios y formularios del sistema, entre ellos el servicio de consulta.

Atentamente,
Atención al Usuario
Departamento de Informática Tributaria
Email: [email protected]

edari 21-10-2024 10:43:08

Cita:

Empezado por bmfranky (Mensaje 558483)
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?


Yo los guardo

ermendalenda 21-10-2024 10:43:55

Cita:

Empezado por bmfranky (Mensaje 558483)
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?

Yo lo guardo un tiempo (1 año), por facilitarme la revisión, pero no es necesario, como dices lo puedes regenerar, pero si ha habido cambios y tengo algún error puedo revisar que se hizo.

ermendalenda 21-10-2024 10:47:01

Cita:

Empezado por edari (Mensaje 558485)
Buenos días:

En las futuras semanas, se creará una sección dentro del "Portal de Pruebas Externas", que incluirá un cliente de servicios web y donde se irá publicando el resto de los servicios y formularios del sistema, entre ellos el servicio de consulta.

Atentamente,
Atención al Usuario
Departamento de Informática Tributaria
Email: [email protected]

Es de lógica. ya que si se te rompe el sistema tienen que dejar la opción de consultar el último hash para poder continuar el encadenamiento, no me parece muy buena idea tener que empezar una serie nueva.

pablog2k 21-10-2024 10:49:24

Cita:

Empezado por bmfranky (Mensaje 558483)
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?

nosotros ya desde el SII, guardamos tanto el xml enviado como el xml de respuesta, luego viene muy bien saber que se ha enviado exactamente y que han contestado exactamente

bmfranky 21-10-2024 10:49:41

Cita:

Empezado por ermendalenda (Mensaje 558484)
Sabeis si se puede acceder al listado de errores posibles en las respuestas?
Gracias

Si en validaciones los tienes https://prewww2.aeat.es/static_files...res.properties Aqui

bmfranky 21-10-2024 10:50:43

Cita:

Empezado por pablog2k (Mensaje 558489)
nosotros ya desde el SII, guardamos tanto el xml enviado como el xml de respuesta, luego viene muy bien saber que se ha enviado exactamente y que han contestado exactamente

Si, el de respuesta ya lo estaba guardando, añadire un campo mas para el enviado, a este paso las copias de seguridad van a ser tremendas...

ermendalenda 21-10-2024 10:59:51

Cita:

Empezado por bmfranky (Mensaje 558490)

Muchas gracias, creí que la lista era más larga Menos mal.

ermendalenda 21-10-2024 11:16:44

Error Certtificado Caducado
 
He probado a hacer el envio con el certificado caducado, otro con un certificado que no se corresponda con el del emisor, otro con la clave incorrecta y el formato devuelto en la respuesta no está dentro del formato lógico de respuestas, pero se puede identificar buscando la frase por ejemplo "Error de identificación" "No autorizado"...
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>        
    <
meta name="site" content="Sede"/>
    <
link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">
<
meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">
<
title>Agencia Tributaria401</title><meta name="ObjectId" content="a8937bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4011"/>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <
meta name="detalle" content="errores"/>
</
head>
<
body>
    <
div id="body" data-template-id="cc1c55b3cac46710VgnVCM100000dc381e0aRCRD" class="s_Sede p_estandar t_informacion">
        
        <
header id="AEAT_header" class="header_aeat d-print-none d-app-none" >
    <!-- 
CABECERA -->
       <!--
googleoffindex-->
    <
class="focus-only" href="#acc-main">Saltar al contenido principal</a>
    <
div class="header-sup_aeat w-100">
      <
div class="container">              
        <
div class="row">
        <!-- 
CABECERA IZQUIERDA-->
           <
div id="topIzquierda" class="pl-0"><nav class="header-contLogos_aeat"><a href="/Sede/inicio.html" title="P&aacute;gina de inicio" class="header-logosPrincipales_aeat"><span class="logoGobierno Sede">Logotipo Gobierno de España</span><span class="logoAEAT logoSite logoSede ml-2 overflow-hidden">Logotipo Organismo</span></a></nav></div><!-- CABECERA IZQUIERDA FIN -->
</
div>
      </
div>    
    </
div>
    <!--
googleonindex-->
    <!-- 
CABECERA FIN -->
    <!-- 
MENU -->
       <!--
googleoffindex--><div class="w-100 bg-primary p-1"><div class="container"><div class="row justify-content-between align-items-center"><button class="header-btnMovil_aeat text-white d-lg-none col-2 btn btn-link" type="button" id="menuPrincipal"><class="aeat-ico fa-ico-menu ico-size-2 w-100" title="Abrir men&uacute; m&oacute;vil" aria-hidden="true" role="presentation"></i><span class="sr-only">Menú móvil</span></button><nav id="aeat_menuPrincipal" class="navbar-dark navbar navbar-expand-lg p-0 col-12 col-xl-8 col-lg-9 d-none d-lg-flex" aria-label="Menú principal"><!--clase para movilheader-navMovil_aeat--><ul class="navbar-nav"><li class="nav-item"><a href="#" class="py-3 px-4 nav-link dropdown-toggle invisible" role="button"><span>Aqui se cargarán las opciones del menú cuando estén disponibles</span></a></li></ul></nav></div></div></div><!--googleonindex-->
<!-- 
MENU FIN -->
</
header><nav aria-label="Migas navegación" class="js-nav-principal d-print-none d-app-none">
    <
ol class="breadcrumb container bg-transparent px-md-4 px-3">           
<
li class="breadcrumb-item breadcrumb-item__volver"><a data-aeat-id='b3552c121d27c610VgnVCM100000dc381e0aRCRD' href='/Sede/inicio.html'><class="aeat-ico fa-ico-chevron-left ico-size-mini mr-2 d-md-none" aria-hidden="true" role="presentation"></i>Inicio</a></li>
</
ol>
</
nav><div class="container-text js-container">
            <
div class="row my-3 justify-content-center">
                <
main class="col-12 col-lg-7" id="acc-main">
                    <
div class="d-flex"><class="aeat-ico fa-ico-error-sm ico-size-4 mr-3 text-danger" aria-hidden="true" role="presentation"></i><h1 id="js-nombre-canal" class="font-weight-bold mb-0 display-4 mb-3 text-danger">401</h1></div><p>No autorizadoSe ha producido un error al verificar el certificado presentadoLas causas m&aacute;s probables de este error son:</p><ul><li>El certificado no ha sido firmado por una autoridad reconocida.</li><li>El tipo de certificado no es v&aacute;lido para el servicio al que se quiere acceder.</li><li>El certificado ha expirado.</li></ul><p>Puede contactar con el servicio de atenci&oacute;n al contribuyente indicando el c&oacute;digo de error 401.</p><a target="_self" title="Comunicar incidencia" href="https://www2.agenciatributaria.gob.es/soporteaeat/Formularios.nsf/soporteOnline.php?OpenForm&codigoError=401" class="d-block">Comunicar incidencia</a></main>
            </
div
        </
div>
        
        <!--
googleoffindex-->
        <!-- 
<
section>
    <
div id="last-update" class="container pb-3">
        <
class="small text-center mb-0">
            
Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time>
        </
p>
    </
div>
</
section>
 -->
<
footer class="bg-primary d-print-none d-app-none" >
<
noscript><div class="container py-3"><div class="row"><class="text-white"   href="https://sede.agenciatributaria.gob.es/Sede/condiciones-uso-sede-electronica/accesibilidad/declaracion-accesibilidad.html">Accesibilidad</a></div></div></noscript><div id="last-update" class="container pb-3"><class="small text-center text-white mb-0">Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time></p></div></footer><!--googleonindex-->

    </
div>
    <
div class="d-none">
   <
span class="js-responsive d-xs-block"></span>
   <
span class="js-responsive d-sm-block"></span>
   <
span class="js-responsive d-md-block"></span>
   <
span class="js-responsive d-lg-block"></span>
   <
span class="js-responsive d-xl-block"></span>
   <
span class="js-responsive d-xxl-block"></span>
   <
span class="js-responsive d-xxxl-block"></span>
 </
div>
<
link href="/static_files/common/css/aeat.07.print.css" rel="stylesheet" type="text/css">
<
script type="text/javascript" src="/static_files/common/script/aeat.07.js"></script>
</body>
</html> 


ermendalenda 21-10-2024 11:38:27

Podeis verificar si os funciona la consulta de los QR?. ayer me funcionaba y no sé si es cosa mia.
Gracias

bmfranky 21-10-2024 11:47:42

Cita:

Empezado por ermendalenda (Mensaje 558494)
Podeis verificar si os funciona la consulta de los QR?. ayer me funcionaba y no sé si es cosa mia.
Gracias

Si funciona, siempre que como te comentaba, no dupliques la factura y uses los datos viejos.
Lo acabo de probar.
una cosa esto que es?
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>        
    <
meta name="site" content="Sede"/>
    <
link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">
<
meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">
<
title>Agencia Tributaria401</title><meta name="ObjectId" content="a8937bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4011"/>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <
meta name="detalle" content="errores"/>
</
head>
<
body>
    <
div id="body" data-template-id="cc1c55b3cac46710VgnVCM100000dc381e0aRCRD" class="s_Sede p_estandar t_informacion">
        
        <
header id="AEAT_header" class="header_aeat d-print-none d-app-none" >
    <!-- 
CABECERA -->
       <!--
googleoffindex-->
    <
class="focus-only" href="#acc-main">Saltar al contenido principal</a>
    <
div class="header-sup_aeat w-100">
      <
div class="container">              
        <
div class="row">
        <!-- 
CABECERA IZQUIERDA-->
           <
div id="topIzquierda" class="pl-0"><nav class="header-contLogos_aeat"><a href="/Sede/inicio.html" title="P&aacute;gina de inicio" class="header-logosPrincipales_aeat"><span class="logoGobierno Sede">Logotipo Gobierno de España</span><span class="logoAEAT logoSite logoSede ml-2 overflow-hidden">Logotipo Organismo</span></a></nav></div><!-- CABECERA IZQUIERDA FIN -->
</
div>
      </
div>    
    </
div>
    <!--
googleonindex-->
    <!-- 
CABECERA FIN -->
    <!-- 
MENU -->
       <!--
googleoffindex--><div class="w-100 bg-primary p-1"><div class="container"><div class="row justify-content-between align-items-center"><button class="header-btnMovil_aeat text-white d-lg-none col-2 btn btn-link" type="button" id="menuPrincipal"><class="aeat-ico fa-ico-menu ico-size-2 w-100" title="Abrir men&uacute; m&oacute;vil" aria-hidden="true" role="presentation"></i><span class="sr-only">Menú móvil</span></button><nav id="aeat_menuPrincipal" class="navbar-dark navbar navbar-expand-lg p-0 col-12 col-xl-8 col-lg-9 d-none d-lg-flex" aria-label="Menú principal"><!--clase para movilheader-navMovil_aeat--><ul class="navbar-nav"><li class="nav-item"><a href="#" class="py-3 px-4 nav-link dropdown-toggle invisible" role="button"><span>Aqui se cargarán las opciones del menú cuando estén disponibles</span></a></li></ul></nav></div></div></div><!--googleonindex-->
<!-- 
MENU FIN -->
</
header><nav aria-label="Migas navegación" class="js-nav-principal d-print-none d-app-none">
    <
ol class="breadcrumb container bg-transparent px-md-4 px-3">           
<
li class="breadcrumb-item breadcrumb-item__volver"><a data-aeat-id='b3552c121d27c610VgnVCM100000dc381e0aRCRD' href='/Sede/inicio.html'><class="aeat-ico fa-ico-chevron-left ico-size-mini mr-2 d-md-none" aria-hidden="true" role="presentation"></i>Inicio</a></li>
</
ol>
</
nav><div class="container-text js-container">
            <
div class="row my-3 justify-content-center">
                <
main class="col-12 col-lg-7" id="acc-main">
                    <
div class="d-flex"><class="aeat-ico fa-ico-error-sm ico-size-4 mr-3 text-danger" aria-hidden="true" role="presentation"></i><h1 id="js-nombre-canal" class="font-weight-bold mb-0 display-4 mb-3 text-danger">401</h1></div><p>No autorizadoSe ha producido un error al verificar el certificado presentadoLas causas m&aacute;s probables de este error son:</p><ul><li>El certificado no ha sido firmado por una autoridad reconocida.</li><li>El tipo de certificado no es v&aacute;lido para el servicio al que se quiere acceder.</li><li>El certificado ha expirado.</li></ul><p>Puede contactar con el servicio de atenci&oacute;n al contribuyente indicando el c&oacute;digo de error 401.</p><a target="_self" title="Comunicar incidencia" href="https://www2.agenciatributaria.gob.es/soporteaeat/Formularios.nsf/soporteOnline.php?OpenForm&codigoError=401" class="d-block">Comunicar incidencia</a></main>
            </
div
        </
div>
        
        <!--
googleoffindex-->
        <!-- 
<
section>
    <
div id="last-update" class="container pb-3">
        <
class="small text-center mb-0">
            
Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time>
        </
p>
    </
div>
</
section>
 -->
<
footer class="bg-primary d-print-none d-app-none" >
<
noscript><div class="container py-3"><div class="row"><class="text-white"   href="https://sede.agenciatributaria.gob.es/Sede/condiciones-uso-sede-electronica/accesibilidad/declaracion-accesibilidad.html">Accesibilidad</a></div></div></noscript><div id="last-update" class="container pb-3"><class="small text-center text-white mb-0">Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time></p></div></footer><!--googleonindex-->

    </
div>
    <
div class="d-none">
   <
span class="js-responsive d-xs-block"></span>
   <
span class="js-responsive d-sm-block"></span>
   <
span class="js-responsive d-md-block"></span>
   <
span class="js-responsive d-lg-block"></span>
   <
span class="js-responsive d-xl-block"></span>
   <
span class="js-responsive d-xxl-block"></span>
   <
span class="js-responsive d-xxxl-block"></span>
 </
div>
<
link href="/static_files/common/css/aeat.07.print.css" rel="stylesheet" type="text/css">
<
script type="text/javascript" src="/static_files/common/script/aeat.07.js"></script>
</body>
</html> 


espinete 21-10-2024 11:53:41

Cita:

Empezado por bmfranky (Mensaje 558490)

Estaría bien saber cuales de esos errores requieren "subsanación" (o anulación, o sustitución o como c... se llame), cuales requieren un simple re-envío completo (porque no le ha llegado a Hacienda), etc.
Hace unas semanas un usuario del foro creo que lo comentó, pero ya no encuentro el mensaje.

Esto sin duda ayudaría a saber qué hacer con cada factura antes de liarla y enviar dos veces, subsanar algo que no necesitaba subsanación, mostrar el mensaje adecuado al usuario para que sepa qué debe hacer (o qué NO debe hacer), etc.

[email protected] 21-10-2024 11:55:34

Formato FechaHoraHusoGenRegistro
 
FechaHoraHusoGenRegistro nos dice los datos que hemos de suministrar.

DateTime. Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601), este es el formato de ejemplo.

mi pregunta es si este formato hay que montarlo por partes, primero la fecha + T + time + 01.00 o + 02.00 o ya hay alguna instruccion/comando que nos la muestre ya formateada

bmfranky 21-10-2024 12:08:01

Cita:

Empezado por [email protected] (Mensaje 558498)
FechaHoraHusoGenRegistro nos dice los datos que hemos de suministrar.

DateTime. Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601), este es el formato de ejemplo.

mi pregunta es si este formato hay que montarlo por partes, primero la fecha + T + time + 01.00 o + 02.00 o ya hay alguna instruccion/comando que nos la muestre ya formateada

Depende del leguaje de programacion que uses si, Pero por ejemplo yo lo genero asi en c#.
Código:

var fechora = DateTime.Now;
timeStamp = fechora.ToString("yyyy-MM-dd'T'HH:mm:ssK");

Lo puedes simplificar asi

Código:

timeStamp =DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssK");
Yo uso fechora para sacar el dia de hoy por eso lo separo.

ermendalenda 21-10-2024 12:24:33

Cita:

Empezado por bmfranky (Mensaje 558496)
Si funciona, siempre que como te comentaba, no dupliques la factura y uses los datos viejos.
Lo acabo de probar.
una cosa esto que es?
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>        
    <
meta name="site" content="Sede"/>
    <
link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">
<
meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">
<
title>Agencia Tributaria401</title><meta name="ObjectId" content="a8937bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4011"/>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <
meta name="detalle" content="errores"/>
</
head>
<
body>
  ..... 


Es la respuesta a una petición con certificado erroneo


Los QR funcionan si son facturas simplificadas u ordinarias
Pero no me funcionan con rectificativas ni con sustitutivas.
Lo habeios probado?

ermendalenda 21-10-2024 12:27:25

Cita:

Empezado por [email protected] (Mensaje 558498)
FechaHoraHusoGenRegistro nos dice los datos que hemos de suministrar.

DateTime. Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601), este es el formato de ejemplo.

mi pregunta es si este formato hay que montarlo por partes, primero la fecha + T + time + 01.00 o + 02.00 o ya hay alguna instruccion/comando que nos la muestre ya formateada

Ojo con sacar la fecha por un lado y la hora en otra linea del programa, por que te puede pasaer que ese milisegundo de diferencia te cambie la fecha y la fecha que hayas cogido no corresponda a la hora.

Fecha="23/10/2024"
Hora = "00:00:00"
Volver a comprobar fecha

y viceversa igual pero con la hora

ermendalenda 21-10-2024 12:39:29

Una curiosidad:
Si emitimos una factura y despues hacemos una rectificativa por diferencias eje:
Total 100.00 Euros
Podemos hacer una rectificativa por diferencias de un valor absoluto negativo superior al positivo por ejemplo:
-110.00 Euros

Además deja hacer tantas rectificativas como quieras superando el valor absoluto lo que quieras.

No sé si puede tener alguna lógica que lo admita, en todo caso lo controlaré en el programa


Me respondo a mi mismo, tiene lógica puesto que se puede tener el totall en negativo


La franja horaria es GMT +2. Ahora son las 03:34:41.

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