Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Registros de Facturacion y Eventos (XML) (https://www.clubdelphi.com/foros/forumdisplay.php?f=67)
-   -   Encadenamiento general por empresa o por cada serie de facturación (https://www.clubdelphi.com/foros/showthread.php?t=97475)

gizmo2025 23-05-2025 09:07:02

Encadenamiento general por empresa o por cada serie de facturación
 
Hola,


Tengo muchos clientes, que tienen diferentes series de facturación (motivos varios, unos para separar un determinado tipo de negocio, o mismamente para tener una serie para rectificativas sin ir más lejos, otros para separar la facturación mensual de los 'tickets' de venta en tpv, etc.).


El tema está en que de momento, yo tengo planteado el tema del encadenamiento de las huellas, por serie, es decir por ejemplo:


Factura Nº 10000/1 (Nº 10000 de la serie 1), PrimerRegistro (Sin huella anterior).
Factura Nº 10001/1 la huella anterior es la de la factura 10000/1
Factura Nº 20000/2 (serie 2), primerRegistro (es el primero de la serie 2)
Factura Nº 10002/1 , la huella anterior es la de la factura 10001/1 (de la serie 1)
Factura Nº 20001/2 (serie 2), la huella anterior es la de la factura 20000/2 (de la serie 2).


---
De hecho, por ejemplo una web (no me deja el foro aún poner enlaces) , pone que tiene que ser así (no se hasta que punto la web es fiable o no).

¿Qué es la “serie de facturación” y por qué es relevante en Verifactu?
La serie de facturación es un conjunto de números (y letras si lo deseas) que asignas a las facturas para ordenarlas correlativamente dentro de un periodo o un tipo de operación (por ejemplo, “2023-A”). El Reglamento de Obligaciones de Facturación ya contemplaba la existencia de series, pero con Verifactu cobra aún más relevancia porque cada serie mantiene una secuencia encadenada de registros. Si cambias de serie en un momento dado (por ejemplo, “2023-B” para otra línea de negocio), tu software debe seguir garantizando la trazabilidad dentro de esa nueva secuencia. Así, cada serie se comporta como una “cadena” independiente. Visita la pregunta anterior para ver la flexibilidad que da la norma en la numeración.

---

Pero no se si es correcto, o sea yo no lo necesito, porque toda mi facturación (la de cada cliente mio digamos) está centralizada en todo momento en un mismo unico servidor suyo (que es el que generar sus RF y los envia). Entiendo que quiza esto haga falta a la gente que tiene por ejemplo una serie para cada establecimiento y entonces cada establecimiento manda solo sus propias facturas, pero en mi caso como digo no haría falta, porque todo pasa por el mismo.


Para mi creo que quedaría más claro que el encadenamiento no dependiera de la serie, sino que todo estuviera en la misma cadena única, sea de la serie que sea, dentro de esa misma empresa.

¿Como lo estáis haciendo vosotros?


Gracias y saludos !!

gcqZW 23-05-2025 09:30:46

Que yo sepa no hace falta que las series sean correlativas, o sea podrías mandar la factura 202505/00001 luego la 202505/00024 y después la 202505/00002, obviamente este ejemplo es un poco exagerado, pero no es necesario que las series vayan en orden.

Faneka 23-05-2025 09:50:28

Se encandena con el RF anterior, independientemente de la serie.

YellowStone 23-05-2025 10:03:57

Creo que te estás confundiendo, amigo Gizmo2025. Échale un ojo a este post, aunque hay muchos más hablando del tema.

https://www.clubdelphi.com/foros/showthread.php?t=97455

gizmo2025 23-05-2025 10:17:29

Cita:

Empezado por YellowStone (Mensaje 564808)
Creo que te estás confundiendo, amigo Gizmo2025. Échale un ojo a este post, aunque hay muchos más hablando del tema.

¿ Pero en concreto a qué te refieres , o sea en que me confundo ?

Yo sólo quiero saber si los registro de facturación (RF) van todos encadenados independientemente de la serie o no.

Yo creo que aunque ahora mismo lo tengo por serie, lo tengo mal y deben encadenarse con la misma cadena sean de una serie u otra.

Pero antes de cambiarlo quería conocer más opiniones.

Gracias a todos y saludos!

YellowStone 23-05-2025 10:24:38

Se encadenan los registros de facturación, sean de la serie y del tipo de factura y del tipo de registro (alta, anulación) que sean, siempre y cuando pertenezcan al mismo obligado tributario.

gizmo2025 23-05-2025 10:34:27

Cita:

Empezado por YellowStone (Mensaje 564812)
Se encadenan los registros de facturación, sean de la serie y del tipo de factura y del tipo de registro (alta, anulación) que sean, siempre y cuando pertenezcan al mismo obligado tributario.


Perfecto, es lo que imaginaba, me toca cambiarlo pues jejeje


Gracias!

pablog2k 23-05-2025 11:20:25

Puedes hacer distintos encadenamientos por series, por ejemplo, en caso que tu software sea de escritorio, tengas 2 tiendas, y la base de datos sea local... ahí no puedes encadenar todo, porque físicamente imposible...

te copio y pego lo que puse en otro post:

justo esto me viene al pelo para un problema que me estaba surgiendo, y era como encadenar registros , si había 2 tiendas que usan el mismo SIF, pero el SIF es programa de escritorio (exe hecho con delphi), y la base de datos es local (firebird). Al no poder conectarse una tienda con otra para saber cual ha sido el ultimo registro, la opción era que cada tienda trabajara con una serie distinta, y cada serie llevara un encadenamiento propio. (lo que señalan como 'centros de facturación independientes, como tiendas')
La solución según esta documentación, es utilizar el mismo IdSistemaInformatico y Version, pero distinto NumeroInstalacion, de tal manera que cada tienda lleva su numero de instalación y su encadenamiento.

He hecho las pruebas y efectivamente, si envías con el mismo NifObligado+IdSistemaInformatico+Version, pero distinto NumeroInstalacion, puedes trabajar con encadenamientos distintos

(Información sacada de las FAQS de desarrollador, punto 4)

Esto no quiere decir que puedas hacer distintos encadenamientos por serie porque te de la gana, solo en caso justificado, como el ejemplo que puse

Neftali [Germán.Estévez] 23-05-2025 11:42:03

Ya se ha hablado en otros hilos.
Por favor, realicemos una búsqueda antes de preguntar:
https://www.clubdelphi.com/foros/showthread.php?t=97247
https://www.clubdelphi.com/foros/showthread.php?t=97455

Como ya hemos dicho los Registros de Facturación, se encadenan por OT (obligado tribitario). Los registros de diferentes series se encadenan uno detrás de otro.

sglorka 23-05-2025 12:00:06

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 564824)
Ya se ha hablado en otros hilos.
Por favor, realicemos una búsqueda antes de preguntar:
https://www.clubdelphi.com/foros/showthread.php?t=97247
https://www.clubdelphi.com/foros/showthread.php?t=97455

Como ya hemos dicho los Registros de Facturación, se encadenan por OT (obligado tribitario). Los registros de diferentes series se encadenan uno detrás de otro.

Sigue siendo errónea esta puntualización que haces. En el documento de Preguntas Frecuentes de Empresas de desarrollo dice

Un SIF se identifica universalmente por la “concatenación” de tres campos: Id.OEF (NIF) + Id.SIF (código de 2 posiciones dado por el fabricante a su producto SIF) + NºInstalación(*). Otro dato importante que caracteriza al SIF es su versión, pero un cambio en dicha versión (cuando se actualiza, por ejemplo) no significa que el SIF pase a ser otro SIF con Id. distinto, cosa que sí ocurre con los otros 3 campos mencionados.
(*) El Nº de instalación es una forma de completar una identificación unívoca de
cada SIF -por si tuviera varios- de un mismo OEF, y así distinguirse de cualquier otro SIF


Por lo tanto, el encadenamiento de un obligado tributario no se establece estrictamente por el OT, debe hacerse en base a cada una de las instalaciones que dicho obligado tributario tiene desplegadas.
Si el OT tiene un servidor central operando en modo SIF, tendrá un encadenamiento independiente del que realice su Tpv en el caso de que éste ( el TPV ) actúe en modo SIF y tenga su propio número de instalación.

rci 23-05-2025 12:18:45

Cita:

Empezado por sglorka (Mensaje 564825)
Sigue siendo errónea esta puntualización que haces. En el documento de Preguntas Frecuentes de Empresas de desarrollo dice

Un SIF se identifica universalmente por la “concatenación” de tres campos: Id.OEF (NIF) + Id.SIF (código de 2 posiciones dado por el fabricante a su producto SIF) + NºInstalación(*). Otro dato importante que caracteriza al SIF es su versión, pero un cambio en dicha versión (cuando se actualiza, por ejemplo) no significa que el SIF pase a ser otro SIF con Id. distinto, cosa que sí ocurre con los otros 3 campos mencionados.
(*) El Nº de instalación es una forma de completar una identificación unívoca de
cada SIF -por si tuviera varios- de un mismo OEF, y así distinguirse de cualquier otro SIF


Por lo tanto, el encadenamiento de un obligado tributario no se establece estrictamente por el OT, debe hacerse en base a cada una de las instalaciones que dicho obligado tributario tiene desplegadas.
Si el OT tiene un servidor central operando en modo SIF, tendrá un encadenamiento independiente del que realice su Tpv en el caso de que éste ( el TPV ) actúe en modo SIF y tenga su propio número de instalación.

No tengo muy claro eso que dices... una cosa es como se identifica un SIF (Apartado sistema informatico dentro del RF) y otra como encadenas...

Nosotros ahora mismo para el encadenamiento no tenemos en cuenta el numero de instalación.
Lo que si tenemos es, en caso que tengamos dos bases de datos replicadas (replica SQL Server), que realmente tienen la misma información pero físicamente están en dos servidores distintos de dos tiendas separadas físicamente, tenemos un encadenamiento separado para cada sede. En ese caso tienen distinto número de instalación.

Pero si es una sola base de datos, un servidor central con la BD y varios ordenadores (TPVs, pcs de oficina para facturación...) todos utilizan la misma cadena.
En ese caso todos tienen el mismo numero de instalación.

Supongo que en la práctica viene a ser lo mismo que comentas, pero ... lo digo porque en nuestra tabla de encadenamiento no hay el campo numero de serie...

sglorka 23-05-2025 12:30:12

Cita:

Empezado por rci (Mensaje 564828)
No tengo muy claro eso que dices... una cosa es como se identifica un SIF (Apartado sistema informatico dentro del RF) y otra como encadenas...

Nosotros ahora mismo para el encadenamiento no tenemos en cuenta el numero de instalación.
Lo que si tenemos es, en caso que tengamos dos bases de datos replicadas (replica SQL Server), que realmente tienen la misma información pero físicamente están en dos servidores distintos de dos tiendas separadas físicamente, tenemos un encadenamiento separado para cada sede. En ese caso tienen distinto número de instalación.

Pero si es una sola base de datos, un servidor central con la BD y varios ordenadores (TPVs, pcs de oficina para facturación...) todos utilizan la misma cadena.
En ese caso todos tienen el mismo numero de instalación.

Supongo que a la práctica viene a ser lo mismo que comentas, pero ... lo comento porque en nuestra table de encadenamiento no hay el campo numero de serie...

Bueno ya lo estás diciendo tú.

Lo que si tenemos es, en caso que tengamos dos bases de datos replicadas (replica SQL Server), que realmente tienen la misma información pero físicamente están en dos servidores distintos de dos tiendas separadas físicamente, tenemos un encadenamiento separado para cada sede. En ese caso tienen distinto número de instalación.

Estás haciendo el encadenamiento por Id.OEF (NIF) + Id.SIF + NºInstalación, los dos primeros parámetros son iguales pero el número de instalación distinta te obliga a crear otra línea de encadenamiento

Pero si es una sola base de datos, un servidor central con la BD y varios ordenadores (TPVs, pcs de oficina para facturación...) todos utilizan la misma cadena.
En ese caso todos tienen el mismo numero de instalación.

Exacto, en este caso estás utilizando los tres parámetros (Id.OEF (NIF) + Id.SIF + NºInstalación) iguales, por lo tanto, SÓLO hay un encadenamiento

Si al final lo que quiero que quede claro es que el encadenamiento se realiza, no por OT, (porque el OT puede tener distintas instalaciones, incluso dos instalaciones de diferente software, uso Sage para una empresa y uso Holded para otra ) sino por SIF, que como dice claramente el documento de preguntas frecuentes,

"Un SIF se identifica universalmente por la “concatenación” de tres campos: Id.OEF (NIF) + Id.SIF (código de 2 posiciones dado por el fabricante a su producto SIF) + NºInstalación(*)"

y cada SIF, así definido, tiene su propia línea de encadenamiento

Faneka 23-05-2025 12:37:50

Yo lo estaba haciendo por empresa que es lo mismo en nuestro caso que OT, pero si el nº de instalación es distinta en cada equipo (como tengo entendido y lo estoy llevando) ya no lo estaria haciendo correcto por lo que veo. Tendría que llevar el encadenamiento teniendo encuenta el nº instalación :(
Me tocara darle una vuelta entonces.

Neftali [Germán.Estévez] 23-05-2025 13:15:33

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 564824)
Como ya hemos dicho los Registros de Facturación, se encadenan por OT (obligado tributario). Los registros de diferentes series se encadenan uno detrás de otro.

Me estaba refiriendo sólo a la SERIE, que es delo que se habla en este hilo, sin entrar en diferentes instalaciones y SIF, para no complicar la pregunta de [gizmo2025].


La franja horaria es GMT +2. Ahora son las 18:27:36.

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