Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 563
Poder: 10
sglorka Va por buen camino
La pregunta interesante aquí es entender lo que es un SIF, dejando este punto claro, yo creo que el encadenamiento se entendería mejor.

El encadenamiento se debe hacer por NifObligadoTributario-NumeroSIF-OrdenCronológicoDeGeneraciónDeRegistroDeAltaoAnulacion.

La clave principal de los números de facturas emitidos por un mismo Obligado Tributario es NifObligadoTributario-NúmeroSerieFactura-FechaExpedición, o sea, esta tupla no se puede repetir.

¿ Qué es un SIF ?, explicado con palabras gruesas sería, "El Sistema ( software instalado en un ordenador o grupo de ordenadores) que es capaz de generar números de facturas de forma autónoma basándose en su propio contador"

Ejemplo 1 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas que provienen del mismo contador. Esto es un sólo SIF

Ejemplo 2 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas, cuya numeración, proviene del mismo contador central. Tiene también varios TPV's que a la hora de emitir factura, utilizan el mismo contador central. Si no hay conexión en ese momento, el Tpv o los puestos de trabajo, no puede emitir factura. Esto es un sólo SIF

Ejemplo 3 : Software de Gestión instalado en Servidor Central al que se accede exclusivamente por Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas, cuya numeración, proviene del mismo contador central. Además, existen 5 delegaciones geográficamente dispersas con el mismo software de gestión instalado, pero cada delegación genera su propia línea de Facturas utilizando sus propios contadores que no comparten con el resto de delegaciones, o sea, una delegación no necesita conexión con el servidor central a la hora de emitir una factura. Estos son ( 1 + 5 = 6 ) SIF's

Ejemplo 4 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde 5 puestos de trabajo, cada puesto de trabajo tiene su propia línea de contadores para la emisión de facturas y existen 5 TPV's que a la hora de emitir factura utilizan sus propios contadores, o sea, tanto los puestos de trabajo como el Tpv no necesitan conexión con el servidor central a la hora de obtener un número de factura. Estos son ( 5 + 5 = 10 ) SIF's

Ejemplo 5: Una tienda con dos Tpv's en red donde ambos tienen el mismo software y ambos generan su línea de facturación de forma independiente. Estos son ( 1+ 1 = 2) SIF's

Ejemplo 6: Una tienda con dos Tpv's en red donde ambos tienen el mismo software y generan su línea de facturación de forma simultánea, o sea, sólo hay un contador de facturas. Esto es 1 sólo SIF
  #2  
Antiguo 12-10-2024
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 685
Poder: 18
espinete Va camino a la fama
Me queda la duda de un software en la nube, con base de datos multi-tenant, donde cada empresa tiene obviamente su propia facturación correlativa.
Entiendo que es un solo SIF, pero cada cliente/tenant lleva su propias numeración de facturas, así que habría que jugar con los campos IdSistemaInformatico, NumeroInstalacion, TipoUsoPosibleMultiOT, IndicadorMultiplesOT.



Cita:
Empezado por sglorka Ver Mensaje
La pregunta interesante aquí es entender lo que es un SIF, dejando este punto claro, yo creo que el encadenamiento se entendería mejor.

El encadenamiento se debe hacer por NifObligadoTributario-NumeroSIF-OrdenCronológicoDeGeneraciónDeRegistroDeAltaoAnulacion.

La clave principal de los números de facturas emitidos por un mismo Obligado Tributario es NifObligadoTributario-NúmeroSerieFactura-FechaExpedición, o sea, esta tupla no se puede repetir.

¿ Qué es un SIF ?, explicado con palabras gruesas sería, "El Sistema ( software instalado en un ordenador o grupo de ordenadores) que es capaz de generar números de facturas de forma autónoma basándose en su propio contador"

Ejemplo 1 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas que provienen del mismo contador. Esto es un sólo SIF

Ejemplo 2 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas, cuya numeración, proviene del mismo contador central. Tiene también varios TPV's que a la hora de emitir factura, utilizan el mismo contador central. Si no hay conexión en ese momento, el Tpv o los puestos de trabajo, no puede emitir factura. Esto es un sólo SIF

Ejemplo 3 : Software de Gestión instalado en Servidor Central al que se accede exclusivamente por Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas, cuya numeración, proviene del mismo contador central. Además, existen 5 delegaciones geográficamente dispersas con el mismo software de gestión instalado, pero cada delegación genera su propia línea de Facturas utilizando sus propios contadores que no comparten con el resto de delegaciones, o sea, una delegación no necesita conexión con el servidor central a la hora de emitir una factura. Estos son ( 1 + 5 = 6 ) SIF's

Ejemplo 4 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde 5 puestos de trabajo, cada puesto de trabajo tiene su propia línea de contadores para la emisión de facturas y existen 5 TPV's que a la hora de emitir factura utilizan sus propios contadores, o sea, tanto los puestos de trabajo como el Tpv no necesitan conexión con el servidor central a la hora de obtener un número de factura. Estos son ( 5 + 5 = 10 ) SIF's

Ejemplo 5: Una tienda con dos Tpv's en red donde ambos tienen el mismo software y ambos generan su línea de facturación de forma independiente. Estos son ( 1+ 1 = 2) SIF's

Ejemplo 6: Una tienda con dos Tpv's en red donde ambos tienen el mismo software y generan su línea de facturación de forma simultánea, o sea, sólo hay un contador de facturas. Esto es 1 sólo SIF
  #3  
Antiguo 12-10-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 563
Poder: 10
sglorka Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Me queda la duda de un software en la nube, con base de datos multi-tenant, donde cada empresa tiene obviamente su propia facturación correlativa.
Entiendo que es un solo SIF, pero cada cliente/tenant lleva su propias numeración de facturas, así que habría que jugar con los campos IdSistemaInformatico, NumeroInstalacion, TipoUsoPosibleMultiOT, IndicadorMultiplesOT.
Yo independizaría la definición de SIF de la arquietectura del software de gestión. Cada usuario o grupo de usuarios con la arquitectura multitenant tiene su espacio de trabajo, por lo tanto y siempre y cuando se use un sólo contador para emitir las facturas, estaríamos hablando de un sólo SIF. Pero puede ocurrir también que tenga Tpv's independientes con sus propios contadores que envíen información a estos sistemas. Estaríamos hablando ahora de varios SIF's. Yo creo que el campo IdSistemaInformatico es el que indica el SIF del que proviene la factura
  #4  
Antiguo 12-10-2024
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 139
Poder: 3
jlmoli_67 Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
Yo independizaría la definición de SIF de la arquietectura del software de gestión. Cada usuario o grupo de usuarios con la arquitectura multitenant tiene su espacio de trabajo, por lo tanto y siempre y cuando se use un sólo contador para emitir las facturas, estaríamos hablando de un sólo SIF. Pero puede ocurrir también que tenga Tpv's independientes con sus propios contadores que envíen información a estos sistemas. Estaríamos hablando ahora de varios SIF's. Yo creo que el campo IdSistemaInformatico es el que indica el SIF del que proviene la factura
buenas,

ahi lo has clavado. Ademas ,creo, es lo logico. Hay tantos sif como identificadores de maquinas (1 maquina puede tener varias series). Si envio desde 3 tpvs a un servidor (lo normal, ventas centralizadas) tengo 3 sif pero si ademas a ese servidor se conectan 3 usuarios y siguen la numeracion dada por el servidor independientemente de los tpvs que envian sus ventas eso seria un solo sif

tpvs:

serie numero
tv1 1
tv2 2
tv3 3

3 usuarios trabajan directamente con el servidor y crean 3 facturas de ventas
serie numeracion
tv 1 (usuario1)
tv 2 (usuario2)
tv 3 (usuario3)


nº total de sif= 3(tpvs)+1=4


Siguiendo este esquema cada sif encadena los registros por id de creacion en la bd.

es correcto?

Última edición por jlmoli_67 fecha: 12-10-2024 a las 15:21:57.
  #5  
Antiguo 12-10-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 563
Poder: 10
sglorka Va por buen camino
Cita:
Empezado por jlmoli_67 Ver Mensaje
buenas,

ahi lo has clavado. Ademas ,creo, es lo logico. Hay tantos sif como identificadores de maquinas (1 maquina puede tener varias series). Si envio desde 3 tpvs a un servidor (lo normal, ventas centralizadas) tengo 3 sif pero si ademas a ese servidor se conectan 3 usuarios y siguen la numeracion dada por el servidor independientemente de los tpvs que envian sus ventas eso seria un solo sif

tpvs:

serie numero
tv1 1
tv2 2
tv3 3

3 usuarios trabajan directamente con el servidor y crean 3 facturas de ventas
serie numeracion
tv 1 (usuario1)
tv 2 (usuario2)
tv 3 (usuario3)


nº total de sif= 3(tpvs)+1=4



es correcto?
Sí, lo veo correcto.
  #6  
Antiguo 12-10-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 563
Poder: 10
sglorka Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
Yo independizaría la definición de SIF de la arquietectura del software de gestión. Cada usuario o grupo de usuarios con la arquitectura multitenant tiene su espacio de trabajo, por lo tanto y siempre y cuando se use un sólo contador para emitir las facturas, estaríamos hablando de un sólo SIF. Pero puede ocurrir también que tenga Tpv's independientes con sus propios contadores que envíen información a estos sistemas. Estaríamos hablando ahora de varios SIF's. Yo creo que el campo IdSistemaInformatico es el que indica el SIF del que proviene la factura
Rectifico este punto, "Yo creo que el campo IdSistemaInformatico es el que indica el SIF del que proviene la factura" por este otro
Yo creo que el campo "NumeroInstalacion" junto con el campo "IdSistemaInformatico" son los que indican el SIF del que proviene la factura
  #7  
Antiguo 15-10-2024
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
La pregunta interesante aquí es entender lo que es un SIF, dejando este punto claro, yo creo que el encadenamiento se entendería mejor.

El encadenamiento se debe hacer por NifObligadoTributario-NumeroSIF-OrdenCronológicoDeGeneraciónDeRegistroDeAltaoAnulacion.

La clave principal de los números de facturas emitidos por un mismo Obligado Tributario es NifObligadoTributario-NúmeroSerieFactura-FechaExpedición, o sea, esta tupla no se puede repetir.

¿ Qué es un SIF ?, explicado con palabras gruesas sería, "El Sistema ( software instalado en un ordenador o grupo de ordenadores) que es capaz de generar números de facturas de forma autónoma basándose en su propio contador"

Ejemplo 1 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas que provienen del mismo contador. Esto es un sólo SIF

Ejemplo 2 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas, cuya numeración, proviene del mismo contador central. Tiene también varios TPV's que a la hora de emitir factura, utilizan el mismo contador central. Si no hay conexión en ese momento, el Tpv o los puestos de trabajo, no puede emitir factura. Esto es un sólo SIF

Ejemplo 3 : Software de Gestión instalado en Servidor Central al que se accede exclusivamente por Lan desde múltiples puestos de trabajo. Cada puesto de trabajo emite facturas, cuya numeración, proviene del mismo contador central. Además, existen 5 delegaciones geográficamente dispersas con el mismo software de gestión instalado, pero cada delegación genera su propia línea de Facturas utilizando sus propios contadores que no comparten con el resto de delegaciones, o sea, una delegación no necesita conexión con el servidor central a la hora de emitir una factura. Estos son ( 1 + 5 = 6 ) SIF's

Ejemplo 4 : Software de Gestión instalado en Servidor Central al que se accede por Wan o Lan desde 5 puestos de trabajo, cada puesto de trabajo tiene su propia línea de contadores para la emisión de facturas y existen 5 TPV's que a la hora de emitir factura utilizan sus propios contadores, o sea, tanto los puestos de trabajo como el Tpv no necesitan conexión con el servidor central a la hora de obtener un número de factura. Estos son ( 5 + 5 = 10 ) SIF's

Ejemplo 5: Una tienda con dos Tpv's en red donde ambos tienen el mismo software y ambos generan su línea de facturación de forma independiente. Estos son ( 1+ 1 = 2) SIF's

Ejemplo 6: Una tienda con dos Tpv's en red donde ambos tienen el mismo software y generan su línea de facturación de forma simultánea, o sea, sólo hay un contador de facturas. Esto es 1 sólo SIF
Está claro tu planteamiento y yo tengo esta misma idea, pero aún así, es posible que se generen roturas del encadenamiento. Vamos a considerar el caso más sencillo, el último, el del ejemplo 6.

Uno de los TPVs (TPV1) inicia un ticket. El sistema le asigna el número de factura (el número 22, por ejemplo). Seguidamente el otro (TPV2) inicia otro ticket. Se le asigna el número siguiente (el 23). El TPV2 emite la factura, que encadena con la del registro anterior (la del número 21) y posteriormente se emite la factura del TPV1, o sea, la 22, que encadena con la del 23...
  #8  
Antiguo 15-10-2024
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 569
Poder: 6
rci Va por buen camino
Cita:
Empezado por unomasmas Ver Mensaje
Está claro tu planteamiento y yo tengo esta misma idea, pero aún así, es posible que se generen roturas del encadenamiento. Vamos a considerar el caso más sencillo, el último, el del ejemplo 6.

Uno de los TPVs (TPV1) inicia un ticket. El sistema le asigna el número de factura (el número 22, por ejemplo). Seguidamente el otro (TPV2) inicia otro ticket. Se le asigna el número siguiente (el 23). El TPV2 emite la factura, que encadena con la del registro anterior (la del número 21) y posteriormente se emite la factura del TPV1, o sea, la 22, que encadena con la del 23...
En nuestro caso, el numero de factura no se asigna hasta justo en el momento de guardar, así que el primer tpv que salva la factura coge el contador le toca. el número no se asigna al iniciar la venta.
  #9  
Antiguo 15-10-2024
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 241
Poder: 10
pablog2k Va por buen camino
Cita:
Empezado por rci Ver Mensaje
En nuestro caso, el numero de factura no se asigna hasta justo en el momento de guardar, así que el primer tpv que salva la factura coge el contador le toca. el número no se asigna al iniciar la venta.
justo esto iba a comentar, nosotros hacemos igual, hasta que la factura/ticket no está 'finalizada', no se le asigna el número
  #10  
Antiguo 15-10-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 563
Poder: 10
sglorka Va por buen camino
Cita:
Empezado por unomasmas Ver Mensaje
Está claro tu planteamiento y yo tengo esta misma idea, pero aún así, es posible que se generen roturas del encadenamiento. Vamos a considerar el caso más sencillo, el último, el del ejemplo 6.

Uno de los TPVs (TPV1) inicia un ticket. El sistema le asigna el número de factura (el número 22, por ejemplo). Seguidamente el otro (TPV2) inicia otro ticket. Se le asigna el número siguiente (el 23). El TPV2 emite la factura, que encadena con la del registro anterior (la del número 21) y posteriormente se emite la factura del TPV1, o sea, la 22, que encadena con la del 23...
El método que utilizas para iniciar una factura o tique es el que siempre se ha hecho, no había necesidad de encadenamiento y por tanto, podías iniciar y terminar el proceso en cualquier momento. Con la entrada de Verifactu, debes cambiar por completo esa filosofía porque ese caso que comentas, puede ocurrir en cualquier software donde exista concurrencia entre los usuarios a la hora de emitir facturas.

La idea es iniciar el proceso de facturación utilizando un contador auxiliar que no es el de factura o tique, por ejemplo, comenzar con una nota de entrega (albarán), ambos usuarios inician el proceso de venta con el contador de notas de entrega (cada uno con su número obtenido), el primero inicia la venta con 2 ítems y posteriormente, aparca el documento porque el cliente no le pasa la tarjeta, el segundo usuario termina su documento y solicita un número de factura bloqueando el contador de facturas para que sólo él pueda obtener un número, si el primer usuario recupera el documento aparcado y quiere emitir la factura en ese mismo momento, se encontrará con el contador bloqueado y tendrá que esperar. Desde que obtiene el número de factura el segundo usuario, genera el registro de facturación xml y desbloquea el contador. Ahora, el primer usuario podrá emitir su factura realizando el mismo proceso.

El proceso de bloqueo es muy rápido, ya que sólo requiere obtener el siguiente número de factura, asignárselo al documento que quiere emitir y generar el Xml con su fecha de creación, la del momento de generación del xml, no del inicio del proceso de venta.

No hay otra manera de asegurar la emisión de facturas en orden cronológico de número y fecha y además, asegurar el encadenamiento con el registro anterior. Al utilizar este contador de notas de entrega aseguras, por ejemplo, desechar el documento en caso de que te hayas equivocado, emitir un albarán en vez de una factura, porque el cliente era un cliente de resumen mensual de albaranes y no te habías percatado, aparcar operaciones como se hace en hostelería cuando gestionas mesas, emitir una factura completa porque el cliente antes de pagar te dice que quiere sus datos en ella, etc..
  #11  
Antiguo 17-10-2024
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
El método que utilizas para iniciar una factura o tique es el que siempre se ha hecho, no había necesidad de encadenamiento y por tanto, podías iniciar y terminar el proceso en cualquier momento. Con la entrada de Verifactu, debes cambiar por completo esa filosofía porque ese caso que comentas, puede ocurrir en cualquier software donde exista concurrencia entre los usuarios a la hora de emitir facturas.

La idea es iniciar el proceso de facturación utilizando un contador auxiliar que no es el de factura o tique, por ejemplo, comenzar con una nota de entrega (albarán), ambos usuarios inician el proceso de venta con el contador de notas de entrega (cada uno con su número obtenido), el primero inicia la venta con 2 ítems y posteriormente, aparca el documento porque el cliente no le pasa la tarjeta, el segundo usuario termina su documento y solicita un número de factura bloqueando el contador de facturas para que sólo él pueda obtener un número, si el primer usuario recupera el documento aparcado y quiere emitir la factura en ese mismo momento, se encontrará con el contador bloqueado y tendrá que esperar. Desde que obtiene el número de factura el segundo usuario, genera el registro de facturación xml y desbloquea el contador. Ahora, el primer usuario podrá emitir su factura realizando el mismo proceso.

El proceso de bloqueo es muy rápido, ya que sólo requiere obtener el siguiente número de factura, asignárselo al documento que quiere emitir y generar el Xml con su fecha de creación, la del momento de generación del xml, no del inicio del proceso de venta.

No hay otra manera de asegurar la emisión de facturas en orden cronológico de número y fecha y además, asegurar el encadenamiento con el registro anterior. Al utilizar este contador de notas de entrega aseguras, por ejemplo, desechar el documento en caso de que te hayas equivocado, emitir un albarán en vez de una factura, porque el cliente era un cliente de resumen mensual de albaranes y no te habías percatado, aparcar operaciones como se hace en hostelería cuando gestionas mesas, emitir una factura completa porque el cliente antes de pagar te dice que quiere sus datos en ella, etc..
Muchas gracias por responder y especialmente, por lo detallada que es la respuesta :-)

Cita:
Empezado por rci Ver Mensaje
En nuestro caso, el numero de factura no se asigna hasta justo en el momento de guardar, así que el primer tpv que salva la factura coge el contador le toca. el número no se asigna al iniciar la venta.
Cita:
Empezado por pablog2k Ver Mensaje
justo esto iba a comentar, nosotros hacemos igual, hasta que la factura/ticket no está 'finalizada', no se le asigna el número
Muchas gracias por vuestra respuesta. A cambiar el planteamiento...
Tema Cerrado



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hijo de Informáticos gluglu Humor 3 13-03-2007 12:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 13:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 15:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 15:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 22:59:09


La franja horaria es GMT +2. Ahora son las 04:22: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
Copyright 1996-2007 Club Delphi