Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Errores (relacionados con al AEAT) (https://www.clubdelphi.com/foros/forumdisplay.php?f=78)
-   -   El cálculo de la huella suministrada es incorrecta (https://www.clubdelphi.com/foros/showthread.php?t=97697)

Ramon88 18-09-2025 21:49:46

El cálculo de la huella suministrada es incorrecta
 
Hola,

En las anulaciones me esta saliendo este error, no consigo saber que esta mal. Podeis echarme una mano please?
Esta es la anulacion:
Código:

<RegistroFactura>
    <RegistroAnulacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
      <IDVersion>1.0</IDVersion>
      <IDFactura>
        <IDEmisorFacturaAnulada>xx</IDEmisorFacturaAnulada>
        <NumSerieFacturaAnulada>2025/139846</NumSerieFacturaAnulada>
        <FechaExpedicionFacturaAnulada>16-09-2025</FechaExpedicionFacturaAnulada>
      </IDFactura>
      <Encadenamiento>
        <RegistroAnterior>
        <IDEmisorFactura>xx</IDEmisorFactura>
        <NumSerieFactura>2025/139846</NumSerieFactura>
        <FechaExpedicionFactura>18/09/2025</FechaExpedicionFactura>
        <Huella>F5E40B9A76C0E66DC7256FC0912BE87526717E85DF8F5D4C9DA49D3371F3B2D4</Huella>
        </RegistroAnterior>
      </Encadenamiento>
      <SistemaInformatico>
        <NombreRazon>xx</NombreRazon>
        <NIF>xx</NIF>
        <NombreSistemaInformatico>xx</NombreSistemaInformatico>
        <IdSistemaInformatico>01</IdSistemaInformatico>
        <Version>1.0.0</Version>
        <NumeroInstalacion>0001</NumeroInstalacion>
        <TipoUsoPosibleSoloVerifactu>N</TipoUsoPosibleSoloVerifactu>
        <TipoUsoPosibleMultiOT>S</TipoUsoPosibleMultiOT>
        <IndicadorMultiplesOT>S</IndicadorMultiplesOT>
      </SistemaInformatico>
      <FechaHoraHusoGenRegistro>2025-09-18T19:14:21+02:00</FechaHoraHusoGenRegistro>
      <TipoHuella>01</TipoHuella>
      <Huella>149C06713145B024DAB441D371116A85934FDFC3D32441FB18C8A7DEA5CAD33D</Huella>
    </RegistroAnulacion>
  </RegistroFactura>

Esta es la respuesta:
Código:

tikR:DescripcionErrorRegistro>El cálculo de la huella suministrada es incorrecta. 
 Datos de entrada cálculo huella:
IDEmisorFacturaAnulada=xx&amp;NumSerieFacturaAnulada=2025/139846&amp;FechaExpedicionFacturaAnulada=16-09-2025&amp;Huella=F5E40B9A76C0E66DC7256FC0912BE87526717E85DF8F5D4C9DA49D3371F3B2D4&amp;FechaHoraHusoGenRegistro=2025-09-18T19:14:21+02:00
 Huella calculada: 3764317283B1B56301AD14EE03635D67AD13BF49A0990BC3D923DD60B36080FF</tikR:DescripcionErrorRegistro>


Ramon88 18-09-2025 21:52:04

Básicamente hago esto:
Huella = devuelveHuella(CIF, NUMER FACTURA SIMPLE QUE ANULO, FECHA DEL ENVIO DE LA FACTURA, LA ULTIMA HUELLA ENVIADA, FECHA)
Dudo de si la fecha es la del envio de la factura que anulo o la acual, pero he probado las dos y tengo el mismo error... No sé por donde tirar

ermendalenda 19-09-2025 07:40:15

Simple
Mete en una variable los valores de los camposCIF, NUMER FACTURA SIMPLE QUE ANULO, FECHA DEL ENVIO DE LA FACTURA, LA ULTIMA HUELLA ENVIADA, FECHA , y mandalos a pantalla o a un txt para poder verificar si te xoincide con los valores que te devuelven en la respuesta y encontrarás el error rápido.
Yo envion siempre esos valores del ultino registro generado a un txt(machacando el txt) por si hay algun problema y me ha servido varias veces dd verificacion.

Ramon88 19-09-2025 11:00:55

Cita:

Empezado por ermendalenda (Mensaje 567873)
Simple
Mete en una variable los valores de los camposCIF, NUMER FACTURA SIMPLE QUE ANULO, FECHA DEL ENVIO DE LA FACTURA, LA ULTIMA HUELLA ENVIADA, FECHA , y mandalos a pantalla o a un txt para poder verificar si te xoincide con los valores que te devuelven en la respuesta y encontrarás el error rápido.
Yo envion siempre esos valores del ultino registro generado a un txt(machacando el txt) por si hay algun problema y me ha servido varias veces dd verificacion.

Solucionado, que vergüenza... eran los nombres!!
IDEmisorFacturaAnulada, me faltaba donde dice ANULADA.

Bueno, revisándolo como me comentabas lo vi.

ermendalenda 19-09-2025 11:17:20

Cita:

Empezado por Ramon88 (Mensaje 567881)
Solucionado, que vergüenza... eran los nombres!!
IDEmisorFacturaAnulada, me faltaba donde dice ANULADA.

Bueno, revisándolo como me comentabas lo vi.

Vaya tela!!! Ya lo he visto en las estadisticas del INE, has bajado un 1,25 puntos el ranking de confianza general al gremio de desarrolladores de SIF. Ten cuidado que nos afecta a todos.:D

Ramon88 19-09-2025 13:48:24

Cita:

Empezado por ermendalenda (Mensaje 567882)
Vaya tela!!! Ya lo he visto en las estadísticas del INE, has bajado un 1,25 puntos el ranking de confianza general al gremio de desarrolladores de SIF. Ten cuidado que nos afecta a todos.:D

:D estoy con varias facturas electrónicas de varios países, sueño con nodos!

ermendalenda 19-09-2025 14:05:10

Cita:

Empezado por Ramon88 (Mensaje 567889)
:D estoy con varias facturas electrónicas de varios países, sueño con nodos!

Joder macho, te van a convalidar hasta el C2 para todos los idiomas.

emailesc 15-10-2025 19:01:03

Una pregunta, en teoría, ante un rechazo o una aceptación parcial del envío de un registro de facturación, no necesitamos parar la venta para arreglarlo, podemos hacerlo más tarde mandando las correspondientes subsanaciones o rectificativas, excepto en el caso los errores en el encadenamiento, porque en caso de no hacerlo tendríamos que subsanar después toda la cadena de facturas, desde el error hasta la última factura emitida, lo cual, con sistemas que están continuamente facturando puede ser un gran problema. Nosotros al menos lo tenemos así: antes de generar un nuevo registro se verifica el encadenamiento del registro anterior. Si hay un error de encadenamiento (que entiendo que trabajando normalmente van a ser muy muy raros y por una confluencia de factores) la venta se para y se tiene que subsanar. Las demás respuestas no paran la venta. ¿Vosotros lo tenéis así o tenéis otro planteamiento? porque para la venta un sábado noche en un establecimiento de comida rápida te puede dar un infarto...

ermendalenda 15-10-2025 19:06:28

Cita:

Empezado por emailesc (Mensaje 568623)
Una pregunta, en teoría, ante un rechazo o una aceptación parcial del envío de un registro de facturación, no necesitamos parar la venta para arreglarlo, podemos hacerlo más tarde mandando las correspondientes subsanaciones o rectificativas, excepto en el caso los errores en el encadenamiento, porque en caso de no hacerlo tendríamos que subsanar después toda la cadena de facturas, desde el error hasta la última factura emitida, lo cual, con sistemas que están continuamente facturando puede ser un gran problema. Nosotros al menos lo tenemos así: antes de generar un nuevo registro se verifica el encadenamiento del registro anterior. Si hay un error de encadenamiento (que entiendo que trabajando normalmente van a ser muy muy raros y por una confluencia de factores) la venta se para y se tiene que subsanar. Las demás respuestas no paran la venta. ¿Vosotros lo tenéis así o tenéis otro planteamiento? porque para la venta un sábado noche en un establecimiento de comida rápida te puede dar un infarto...

Solo tienes quw subsanar el que rompa el encaddnamiento, que será el que te ha devuelto el error, siempre que los demás sigan encadenando con este último, si son 2 pues 2 a subsanar.
Efectivamente puedes seguir facturando y ya lo subsanas cuando "te pille de buen humor"

emailesc 15-10-2025 19:18:11

Cita:

Empezado por ermendalenda (Mensaje 568624)
Solo tienes quw subsanar el que rompa el encaddnamiento, que será el que te ha devuelto el error, siempre que los demás sigan encadenando con este último, si son 2 pues 2 a subsanar.
Efectivamente puedes seguir facturando y ya lo subsanas cuando "te pille de buen humor"

En el caso del encadenamiento nosotros lo verificamos, aunque somos solo Verifactu, al intentar generar un nuevo registro de facturación, por lo que de ocurrir siempre va a ser un solo registro. Subsanarlo en principio debería ser algo fácil y rápido (si no salen cosas raras). Si lo arreglas en el momento (parando la facturación), Ok, sigues facturando con la cadena correcta.
Pero si lo dejas, o desactivo la verificación o no te das cuenta del error y sigues facturando, imaginemos que 100 facturas antes de darte cuenta, cuando subsanas el registro 0, el que tiene el error, no tengo claro si pierdes el encadenamiento, ya que al emitir la subsanación el registro 1, que estaba encadenado con la anterior huella 0 errónea, ya no queda encadenado correctamente, porque ahora la huella anterior es otra. Y así hasta la 100. ¿no tendrías que subsanar toda la cadena o lo estoy entendiendo mal?

ermendalenda 15-10-2025 19:23:15

Cita:

Empezado por emailesc (Mensaje 568625)
En el caso del encadenamiento nosotros lo verificamos, aunque somos solo Verifactu, al intentar generar un nuevo registro de facturación, por lo que de ocurrir siempre va a ser un solo registro. Subsanarlo en principio debería ser algo fácil y rápido (si no salen cosas raras). Si lo arreglas en el momento (parando la facturación), Ok, sigues facturando con la cadena correcta.
Pero si lo dejas, o desactivo la verificación o no te das cuenta del error y sigues facturando, imaginemos que 100 facturas antes de darte cuenta, cuando subsanas el registro 0, el que tiene el error, no tengo claro si pierdes el encadenamiento, ya que al emitir la subsanación el registro 1, que estaba encadenado con la anterior huella 0 errónea, ya no queda encadenado correctamente, porque ahora la huella anterior es otra. Y así hasta la 100. ¿no tendrías que subsanar toda la cadena o lo estoy entendiendo mal?

Hola, puedes/tienew encadenar con el último, incluso si el último es el malo,.
Solo el erroneo.
Incluso si quiere puedes automatizar ese proceso de subsanacion, pero está claro que si pasa es que, normalmente, tienes algún error que debes tambien arreglar en el software.

emailesc 15-10-2025 19:34:50

Cita:

Empezado por ermendalenda (Mensaje 568626)
Hola, puedes/tienew encadenar con el último, incluso si el último es el malo,.
Solo el erroneo.
Incluso si quiere puedes automatizar ese proceso de subsanacion, pero está claro que si pasa es que, normalmente, tienes algún error que debes tambien arreglar en el software.

Por ahora solo me ha pasado en pruebas, ya que estoy trabajando con varios centros y a veces al pasar de uno a otro no actualizo todo lo que debería. En teoría trabajando en un solo centro no debería pasar, pero cosas mas raras hemos visto todos, por confluencia de factores o por errores en la programación, así que si es un error que puede ocurrir... ocurrirá y además cuando mas inadecuado sea: un sábado por la noche con el local lleno, un inspector de hacienda en plena inspección, las impresoras rotas, la línea de internet caída y dos empleados de baja, uno de ellos el gerente...;)

newtron 15-10-2025 19:36:22

Yo no tengo muy claro eso de comprobar que se ha hecho un envío correcto y en caso contrario pararlo todo porque, efectivamente, puede ser un problema. Por otro lado creo que no han puesto plazo para las subsanaciones/rectificaciones así que yo en particular lo que hago es un proceso que cuando se quiere revisa los envíos para manejar las devoluciones.

emailesc 15-10-2025 19:41:17

Cita:

Empezado por newtron (Mensaje 568628)
Yo no tengo muy claro eso de comprobar que se ha hecho un envío correcto y en caso contrario pararlo todo porque, efectivamente, puede ser un problema. Por otro lado creo que no han puesto plazo para las subsanaciones/rectificaciones así que yo en particular lo que hago es un proceso que cuando se quiere revisa los envíos para manejar las devoluciones.

Nosotros no paramos todo por un envío incorrecto, puesto que no hace falta, se puede arreglar luego. Pero el caso de los errores de encadenamiento es distinto, si solo tienes que subsanar el registro erroneo y la cadena queda correcta, aunque hayas emitido otras facturas entre medias, bien, no paras, sigues y ya se hará, pero si por un error de encadenamiento tienes que restaurar toda la cadena, tienes que parar, porque si no la bola se hace cada vez más grande

ermendalenda 15-10-2025 19:45:33

Cita:

Empezado por emailesc (Mensaje 568627)
Por ahora solo me ha pasado en pruebas, ya que estoy trabajando con varios centros y a veces al pasar de uno a otro no actualizo todo lo que debería. En teoría trabajando en un solo centro no debería pasar, pero cosas mas raras hemos visto todos, por confluencia de factores o por errores en la programación, así que si es un error que puede ocurrir... ocurrirá y además cuando mas inadecuado sea: un sábado por la noche con el local lleno, un inspector de hacienda en plena inspección, las impresoras rotas, la línea de internet caída y dos empleados de baja, uno de ellos el gerente...;)

Sí, todo eso pasa, es dificil preveee todos los problemas y sobre todo cuando confluyen varios, por eje.plp que se vaya el switch y ya te pasa lo de internet y si tienea las impresoras en red puea lo mismo.
Yo iguañmente hagl algo parecido a lo que comenta el compañero, aunque no paro la facturacion, no emito el doxumento xomo factura, si no como prefactura indixando en la mismade que hay una incidencia puntual y que pueden dejar un correo o venir despues por la factura, y si no tienes impresora se lo apuntan en un papel.
La aeat no quieres que dejes de facturar(vender), pero ai que nada mas resolverlo se envie todo
Por cierto , a mi me pasa la rotura de encadenamiento pero lo detecto antes de generar/enviar y ya se pone el sistema en modo alarma y solo emite prefacturas hasta que se arregle, pero para arreglarlo la primera opxion es semiautomatica, ya que creo que hay que esperar a um buen momento para hacerlo, y en cada nueva emision de prefacturaa advierto al usuario de que tiene que reparar

Carlos 15-10-2025 20:06:19

Cita:

Empezado por ermendalenda (Mensaje 568630)
Sí, todo eso pasa, es dificil preveee todos los problemas y sobre todo cuando confluyen varios, por eje.plp que se vaya el switch y ya te pasa lo de internet y si tienea las impresoras en red puea lo mismo.
Yo iguañmente hagl algo parecido a lo que comenta el compañero, aunque no paro la facturacion, no emito el doxumento xomo factura, si no como prefactura indixando en la mismade que hay una incidencia puntual y que pueden dejar un correo o venir despues por la factura, y si no tienes impresora se lo apuntan en un papel.
La aeat no quieres que dejes de facturar(vender), pero ai que nada mas resolverlo se envie todo
Por cierto , a mi me pasa la rotura de encadenamiento pero lo detecto antes de generar/enviar y ya se pone el sistema en modo alarma y solo emite prefacturas hasta que se arregle, pero para arreglarlo la primera opxion es semiautomatica, ya que creo que hay que esperar a um buen momento para hacerlo, y en cada nueva emision de prefacturaa advierto al usuario de que tiene que reparar

Veri*factu no es excusa para parar el negocio.
Si hay una incidencia, la que sea, que precise no enviar a Veri*factu, pues no se envía; se sigue facturando, se sigue imprimiendo las facturas, SE SIGUEN GENERANDO LOS REGISTROS DE FACTURACIÓN con su fecha y hora. Y mientras se busca que ha pasado; una vez resuelto se genera el XML con los 'n' RF (máximo 1000 por cada envío creo) y se envían con el indicador de incidencia. Y se documenta TODO que cuando vengan a cobrar (siempre cobran) se pueda explicar.

emailesc 15-10-2025 20:16:43

Cita:

Empezado por ermendalenda (Mensaje 568630)
Sí, todo eso pasa, es dificil preveee todos los problemas y sobre todo cuando confluyen varios, por eje.plp que se vaya el switch y ya te pasa lo de internet y si tienea las impresoras en red puea lo mismo.
Yo iguañmente hagl algo parecido a lo que comenta el compañero, aunque no paro la facturacion, no emito el doxumento xomo factura, si no como prefactura indixando en la mismade que hay una incidencia puntual y que pueden dejar un correo o venir despues por la factura, y si no tienes impresora se lo apuntan en un papel.
La aeat no quieres que dejes de facturar(vender), pero ai que nada mas resolverlo se envie todo
Por cierto , a mi me pasa la rotura de encadenamiento pero lo detecto antes de generar/enviar y ya se pone el sistema en modo alarma y solo emite prefacturas hasta que se arregle, pero para arreglarlo la primera opxion es semiautomatica, ya que creo que hay que esperar a um buen momento para hacerlo, y en cada nueva emision de prefacturaa advierto al usuario de que tiene que reparar

El arreglo del encadenamiento de un solo registro no lleva nada si lo detectas a tiempo: nosotros tenemos un botón que regenera el Registro de Facturación, lo encadena al erróneo y lo manda como subsanación. Es solo darle al botón. Pueden ser 10 segundos, pero eso sí mientras no se puede facturar. No obstante, aun así si pudiera evitar la parada lo preferiría. Mañana le preguntaré a los de Verifactu a ver si con subsanar el registro con el encadenamiento roto vale o en caso de que hubiese registros posteriores, habría que arreglar la cadena. Ya os contaré.

ermendalenda 15-10-2025 20:46:05

Cita:

Empezado por emailesc (Mensaje 568633)
El arreglo del encadenamiento de un solo registro no lleva nada si lo detectas a tiempo: nosotros tenemos un botón que regenera el Registro de Facturación, lo encadena al erróneo y lo manda como subsanación. Es solo darle al botón. Pueden ser 10 segundos, pero eso sí mientras no se puede facturar. No obstante, aun así si pudiera evitar la parada lo preferiría. Mañana le preguntaré a los de Verifactu a ver si con subsanar el registro con el encadenamiento roto vale o en caso de que hubiese registros posteriores, habría que arreglar la cadena. Ya os contaré.

Ok, preguntalo, aunque ya te digo que esa pregunta a los de verifactu es recursiva, pero entiendo que te lo quieras asegurar, muy normal.

Jarogo08 16-10-2025 08:59:29

No sé muy bien a que te refieres con error de encadenamiento, pero no tienes que parar nada ni arreglar todas las que se hicieron posteriores. Sólo tienes que arreglar la que te dio error.

Pongo un ejemplo, y así también nos dices si es el error del que hablas

Factura Huella Huella Anterior
10..............A..............-
11..............B..............A
12..............C..............B

Ahora supongamos que subes la factura 13 pero obtienes mal la huella anterior, y por tanto te dará error:

13..............D..............X -> debería ser C, pero mandé X y devuelve error de huella

Ahora sigues haciendo más facturas, sin error

14..............E..............D
15..............F..............E
16..............G..............F

Cuando quieras corregir la factura 13 (aunque sea una semana después), tendrás que crear otro registro de facturación (una subsanación) y debe ser algo como esto:

13..............H..............G -> ahora ya va a entrar correcta

Como ves, no hay que corregir más que la que te dio error, las otras entraron correctas. No sé si me expliqué bien o si es el error del que hablas

Carlos 16-10-2025 09:23:03

Yo creo que el problema es mucho más gordo.

Hacienda contempla casos que no dependen de nosotros: caída de internet, hardware estropeado, cliente que devuelve lo que sea, el usuario que se equivoca de NIF, de % IVA, que el sistema de hacienda esté caído, ...

Pero no contempla que el software tenga errores y más aun cuando emitimos una declaración responsable de que hace lo que debe hacer; que si, que los ficheros se corrompen y todo lo demás

Yo intentaré evitar ese marrón de huellas incorrectas de la siguiente manera:

-Cuando creo el XML en ese momento cojo el RF que voy a enviar, busco su anterior (último tratado/enviado), genero la huella y la GUARDO (sólo guardo la última).
-En el siguiente registro hago lo mismo y además comparo la huella generada con la que tengo guardada, si coinciden sigo generando el XML y guardo la nueva última huella
-Si no coinciden permito que el SIF haga su tarea, que genere registros RF y busco el error, cuando lo soluciono envío los registros pendientes indicando valor en el campo 'incidencia'.

Es que no sé que es peor, enviar el XML 5 horas / 2 días más tarde o enviar una cadena de registros en donde se ha roto la trazabilidad de las operaciones, o no tomar medidas para evitar el error.
Al final cobraran, como siempre.

emailesc 16-10-2025 09:23:22

Cita:

Empezado por Jarogo08 (Mensaje 568643)
No sé muy bien a que te refieres con error de encadenamiento, pero no tienes que parar nada ni arreglar todas las que se hicieron posteriores. Sólo tienes que arreglar la que te dio error.

Pongo un ejemplo, y así también nos dices si es el error del que hablas

Factura Huella Huella Anterior
10 A -
11 B A
12 C B

Ahora supongamos que subes la factura 13 pero obtienes mal la huella anterior, y por tanto te dará error:

13 D X -> debería ser C, pero mandé X y devuelve error de huella

Ahora sigues haciendo más facturas, sin error

14 E D
15 F E
16 G F

Cuando quieras corregir la factura 13 (aunque sea una semana después), tendrás que crear otro registro de facturación y debe ser algo como esto:

13 H G -> ahora ya va a entrar correcta

Como ves, no hay que corregir más que la que te dio error, las otras entraron correctas. No sé si me expliqué bien o si es el error del que hablas


Sí, es exactamente el error al que me refiero, y lo has explicado muy bien. Efectivamente con la huella H subsanamos la factura 13, y la huella anterior será la G, ya que lo encadenamos siempre al último registro. La verdad es que visto así, gráficamente, aparece mucho más claro, podemos ir hacia atrás desde la cadena H a la D verificando el encadenamiento, y este estará correcto, hasta llegar a la D, que seguirá mal en ese punto, pero se arregla posteriormente en la H, o si ponemos una columna más para los números de registro, el registro 17, factura 13, huella H. Con una sola subsanación se arreglaría el encadenamiento. De hecho no podría corregir el registro 14, factura 14, porque me daría exactamente la misma huella, ya que la corrección se hace posteriormente., y está encadenada correctamente con su registro anterior.
Gracias Jarogo08 por el ejemplo, me ha clarificado las cosas.

bmfranky 16-10-2025 09:43:34

Hola, esta pregunta es recursiva aquí, se ha trasladado a verifactu en la aeat, varias veces y siempre contestan lo mismo, que subsanes con la huella del ultimo registro creado , aunque sea el que genero error, que es algo que tienen contemplado y no tendrá la mayor importancia, "Salvo que te pase de seguido", contestan lo mismo al limite de segundos, o timeout.


La verdad es que si has implementado bien en tu software, los métodos para calcular y registrar / recuperar las huellas anteriores, es muy difícil que se de el caso de error de encadenamiento, debería ser algo en lo que el usuario no pueda intervenir, tened en cuenta que este debe ser el ultimo paso antes del envío ( o puesta en cola), una vez sacado al envío/encolado , no se puede modificar nada que afecte a la creación de la huella, y si no podemos recuperar la huella anterior, es por fallos en la base de datos, y ahí seguro que tenemos mas problemas, que gestionar la subsanacion de la huella, por ejemplo una base de datos corrupta.

emailesc 16-10-2025 09:44:15

Cita:

Empezado por Carlos (Mensaje 568644)
Yo creo que el problema es mucho más gordo.

Hacienda contempla casos que no dependen de nosotros: caída de internet, hardware estropeado, cliente que devuelve lo que sea, el usuario que se equivoca de NIF, de % IVA, que el sistema de hacienda esté caído, ...

Pero no contempla que el software tenga errores y más aun cuando emitimos una declaración responsable de que hace lo que debe hacer; que si, que los ficheros se corrompen y todo lo demás

Yo intentaré evitar ese marrón de huellas incorrectas de la siguiente manera:

-Cuando creo el XML en ese momento cojo el RF que voy a enviar, busco su anterior (último tratado/enviado), genero la huella y la GUARDO (sólo guardo la última).
-En el siguiente registro hago lo mismo y además comparo la huella generada con la que tengo guardada, si coinciden sigo generando el XML y guardo la nueva última huella
-Si no coinciden permito que el SIF haga su tarea, que genere registros RF y busco el error, cuando lo soluciono envío los registros pendientes indicando valor en el campo 'incidencia'.

Es que no sé que es peor, enviar el XML 5 horas / 2 días más tarde o enviar una cadena de registros en donde se ha roto la trazabilidad de las operaciones, o no tomar medidas para evitar el error.
Al final cobraran, como siempre.

Básicamente nosotros hacemos lo mismo, cuando toca generar un nuevo registro de facturación volvemos a recalcular la huella del registro anterior, si coincide con la que tenemos guardada seguimos creando el registro, si no, antes parábamos la creación de nuevos registros (y facturas) hasta tenerlo resuelto, ahora con el aporte de Jarogo08 solamente emitiremos una alarma, ya que además se debería haber respondido desde Verifactu en el registro anterior que la huella no coincide, y se arreglará más adelante, como el resto de registros que se pueden haber respondido con rechazos o aceptados con errores.
En principio no debe pasar nada por enviar el arreglo más tarde, ya que si bien hay un tiempo para enviar los registros de facturación (a la de ya), no lo hay para las rectificativas y subsanaciones. Y por otro lado incluso los de Hacienda dicen que la facturación no se debe parar (que ellos también cobran de ella).
Ahora la duda que se me plantea (esto es un sinvivir) es la siguiente: se pueden arreglar los rechazos que requieran una rectificativa desde otro SIF (del mismo OT), haciendo referencia a la factura rectificada. Pero, y ¿las subsanaciones? Lo estoy pensando mientras escribo, pero en el ejemplo que ha dado Jarogo08 creo que la subsanación de la factura 13 lo podría hacer también desde nuestro ERP (que tiene todos los datos de la factura y el registro) y no cambiaría nada... le sigo dando vueltas...

bmfranky 16-10-2025 09:49:16

Cita:

Empezado por emailesc (Mensaje 568647)
Básicamente nosotros hacemos lo mismo, cuando toca generar un nuevo registro de facturación volvemos a recalcular la huella del registro anterior, si coincide con la que tenemos guardada seguimos creando el registro, si no, antes parábamos la creación de nuevos registros (y facturas) hasta tenerlo resuelto, ahora con el aporte de Jarogo08 solamente emitiremos una alarma, ya que además se debería haber respondido desde Verifactu en el registro anterior que la huella no coincide, y se arreglará más adelante, como el resto de registros que se pueden haber respondido con rechazos o aceptados con errores.
En principio no debe pasar nada por enviar el arreglo más tarde, ya que si bien hay un tiempo para enviar los registros de facturación (a la de ya), no lo hay para las rectificativas y subsanaciones. Y por otro lado incluso los de Hacienda dicen que la facturación no se debe parar (que ellos también cobran de ella).
Ahora la duda que se me plantea (esto es un sinvivir) es la siguiente: se pueden arreglar los rechazos que requieran una rectificativa desde otro SIF (del mismo OT), haciendo referencia a la factura rectificada. Pero, y ¿las subsanaciones? Lo estoy pensando mientras escribo, pero en el ejemplo que ha dado Jarogo08 creo que la subsanación de la factura 13 lo podría hacer también desde nuestro ERP (que tiene todos los datos de la factura y el registro) y no cambiaría nada... le sigo dando vueltas...

Hola, la huella anterior no deberías re calcularla nunca, es desde mi punto de vista una perdida de tiempo de calculo y puede generar errores, guarda los datos necesarios de la huella anterior , en una tabla y recupera de ahí, el re calculo no lo veo necesario.

emailesc 16-10-2025 10:01:48

Cita:

Empezado por bmfranky (Mensaje 568649)
Hola, la huella anterior no deberías re calcularla nunca, es desde mi punto de vista una perdida de tiempo de calculo y puede generar errores, guarda los datos necesarios de la huella anterior , en una tabla y recupera de ahí, el re calculo no lo veo necesario.

Lo de comprobar la huella anterior viene de la orden HAC, en el artículo 7:
Cita:

b)
i) Salvo cuando se trate del primer registro de facturación, cada vez que el sistema
informático vaya a generar un nuevo registro de facturación, de alta o de anulación, antes
deberá comprobar que se cumplen los siguientes requisitos:
1.º El último registro de facturación generado está correctamente encadenado.
2.º La fecha y hora de generación del último registro de facturación generado no es
superior en más de un minuto a la fecha y hora actuales que se utilizarán para fechar el
registro de facturación a generar.
j) Cuando el sistema informático detecte cualquier tipo de circunstancia que impida
garantizar o que vulnere o pueda vulnerar la trazabilidad y el encadenamiento de los
registros de facturación generados, deberá avisar de ello, procediendo de la misma forma
que se indica en el artículo 6.f).
Nosotros somos solo Verifactu, por lo que en principio no tenemos obligación, pero me parece una buena forma de verificar el encadenamiento, y es lo que hacemos, comprobar la huella y las fechas. Estoy de acuerdo en que en producción es muy difícil que pase, solo nos ha pasado en pruebas al cambiar entre centros y no actualizar correctamente los datos, pero también podría pasar de la misma manera en producción, que actualices algo y fastidies el encadenamiento. Siempre es mejor detectarlo y saber que hacer. Lo que me preocupaba anteriormente era si parar la facturación o no, ahora que tengo más claro que no, sin problemas...

ermendalenda 16-10-2025 12:06:54

Cita:

Empezado por Jarogo08 (Mensaje 568643)
No sé muy bien a que te refieres con error de encadenamiento, pero no tienes que parar nada ni arreglar todas las que se hicieron posteriores. Sólo tienes que arreglar la que te dio error.

Pongo un ejemplo, y así también nos dices si es el error del que hablas

Factura Huella Huella Anterior
10..............A..............-
11..............B..............A
12..............C..............B

Ahora supongamos que subes la factura 13 pero obtienes mal la huella anterior, y por tanto te dará error:

13..............D..............X -> debería ser C, pero mandé X y devuelve error de huella

Ahora sigues haciendo más facturas, sin error

14..............E..............D
15..............F..............E
16..............G..............F

Cuando quieras corregir la factura 13 (aunque sea una semana después), tendrás que crear otro registro de facturación (una subsanación) y debe ser algo como esto:

13..............H..............G -> ahora ya va a entrar correcta

Como ves, no hay que corregir más que la que te dio error, las otras entraron correctas. No sé si me expliqué bien o si es el error del que hablas

Así es, pero es normal que piense que los siguientes encadenamientos están mal por que parten de uno erroneo, por eso añado que hay que tener en cuenta que para hacienda los demás están encadenando bien, aunque se basen en uno que han recibido mal(Aceptado con error de huella).

A raiz de este hilo pongo otro posible caso, que por lo que he visto en las exposiciones de algunos mensajes ed usuarios, se va a dar a menudo, a ver que pensais si es correcto:
-Se envia un registro con el nif incorrecto y lo rechazan
-Siguiente factura es correcta y la envio
-Si no me equivoco es aceptada con errores por que no encuentran el anterior encadenamiento que yo lo tengo pero me han rechazado, y por redondear más se ha enviado en el mismo lote que la anterior y no pude ni detectarlo para, si lo tengo controlado, proceder a la subsanación inmediata/automática, me he liado bastante.
-Con lo cual, también supongo: HAY QUE HACER 2 SUBANACIONES

Me respondo a mi mismo:
No hay devuelta de errores de encadenamiento, solo de la huella mal calculada y por tanto solo hay que subsanar/rectificar el del nif incorrecto

emailesc 16-10-2025 12:20:00

Cita:

Empezado por ermendalenda (Mensaje 568664)
Así es, pero es normal que piense que los siguientes encadenamientos están mal por que parten de uno erroneo, por eso añado que hay que tener en cuenta que para hacienda los demás están encadenando bien, aunque se basen en uno que han recibido mal(Aceptado con error de huella).

Sí, el tema viene de cómo nos lo reflejamos mentalmente: anteriormente cuando pensaba en la cadena situaba "al mismo nivel" el registro 13, el que está mal, y lo que sería la subsanación, el registro 17 de la factura 13, por lo que me decía, quitas un eslabón para arreglar otro, con lo cual el siguiente eslabón de la cadena ya no está enganchado. Ahora, viéndolo gráficamente, creo que es más una especie de "rotonda" o algo parecido :D

emailesc 16-10-2025 12:30:02

No hay devuelta de errores de encadenamiento, solo de la huella mal calculada y por tanto solo hay que subsanar/rectificar el del nif incorrecto[/quote]
Hay un error, el 1180 Error en el bloque de encadenamiento, pero no creo que indique, efectivamente un error del encadenamiento en sí. Por lo que yo tenía entendido no se comprueba el encadenamiento en el envío. Esto es importante porque si ellos no devuelven un error de encadenamiento y nosotros no lo verificamos, no lo vamos a detectar hasta que nos lo requieran.

ermendalenda 16-10-2025 12:32:59

Cita:

Empezado por emailesc (Mensaje 568665)
Sí, el tema viene de cómo nos lo reflejamos mentalmente: anteriormente cuando pensaba en la cadena situaba "al mismo nivel" el registro 13, el que está mal, y lo que sería la subsanación, el registro 17 de la factura 13, por lo que me decía, quitas un eslabón para arreglar otro, con lo cual el siguiente eslabón de la cadena ya no está enganchado. Ahora, viéndolo gráficamente, creo que es más una especie de "rotonda" o algo parecido :D

Sí, además te digo que hasta para ello va a ser complicado de analizar los errores, sobre todo por la cantidad de "aceptado con errores" y por "el tiempo de espera para la subsanación" (que no han establecido), no creo que por que no subsanes algún "aceptado con errores" te vayan a enviar la inspección, ésto es más para que controles de que si se repite a menudo sí que vas a tener que actuar para reparar el problema, tendrán sus margenes de error para actuar.

Si te sirve de consuelo, he estado mirando "profundamente" varios softwares de TPV, y no he encontrado uno que cumpla 100% con todo lo que se regula en VERIFACTU y en el ROF, y sinceramente, no creo que estén buscando (al menos de momento) estás historias.

CarlosArjonomia 16-10-2025 12:47:23

Cita:

Empezado por emailesc (Mensaje 568666)
No hay devuelta de errores de encadenamiento, solo de la huella mal calculada y por tanto solo hay que subsanar/rectificar el del nif incorrecto Hay un error, el 1180 Error en el bloque de encadenamiento, pero no creo que indique, efectivamente un error del encadenamiento en sí. Por lo que yo tenía entendido no se comprueba el encadenamiento en el envío. Esto es importante porque si ellos no devuelven un error de encadenamiento y nosotros no lo verificamos, no lo vamos a detectar hasta que nos lo requieran.

Importante hacer nosotros mismos la trazabilidad de los encadenamientos, ya que ellos no la hacen y la podemos liar parda si no vigilamos esto.


La franja horaria es GMT +2. Ahora son las 07:58:06.

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