Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2025
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 565
Poder: 6
rci Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Buenas!

Hasta ahora he optado por la opción fácil: enviar las facturas a verifactu a medida que se van emitiendo. Hacienda dice que esto se permite pero que lo vigilarán para "evitar abusos".

(A mí me parece más abuso enviar 1000 facturas en 2 minutos que 3 facturas en 2 minutos, pero bueno).

Como no me fío, tendré que implementar la otra opción: el dichoso flujo de generación + envío cada X segundos con límite de 1000 facturas, control de tiempo de espera, etc.

En problema es que en mi caso (y supongo que en el de la mayoría), nuestra aplicación es multi-puesto, válido tanto para red local como a través de internet, donde uno de los PCs es el que guarda la base de datos (cliente/servidor) y el resto se conectan a él, ya sea en la misma red o desde otra sucursal, país, desde casa, etc.

Entiendo, por lo tanto, que lo suyo sería hacer lo siguiente:

1. Cada PC, a medida que hace una factura, genera el registro de facturación (el XML, para simplificar), obtiene el QR, etc. y guarda la venta en la BD. Esto es necesario para poder imprimir la factura, independientemente del envío.
2. Solo el Servidor, cada X segundos, se comprueba si hay facturas pendientes de envío, y hace el envío, con un límite máximo de 1000 facturas por envío.

Queda descartada la opción de que cada PC genere y envíe a verifactu por su cuenta, ya que mantener el flujo de <1000 y tiempo de espera, en varios PCs conectados, etc. es inviable, por no decir imposible.

Cosas a tener en cuenta:
- En el servidor, la aplicación que hace los envíos debe ser un .exe independiente, siempre abierto, en segundo plano (o un Servicio de Windows), ya que el programa no tiene por qué estar abierto en el servidor.
- Este programa se encargará solo de hacer los envíos. Los RF ya existen y están guardados en la BD, y estarán "enviados", "pendientes", "necesita subsanar", etc.
- Cumpliendo las condiciones de la AEAT, se irán haciendo los envíos de forma transparente para el usuario, salvo que haya "errores subsanables", en cuyo caso habrá que avisar al usuario

Esta es la parte que me preocupa un poco: cómo avisar al usuario. Si los envíos a verifactu se hacen solo en el servidor, los demás PCs no tienen comunicación en tiempo real con las respuestas de Hacienda, así que tendría que crear algún sistema que avise a quien tenga que avisar de que hay un problema en alguna factura que requiere subsanación o rectificativa.

Sería todo muchísimo más fácil, para nosotros y para el cliente, si se pudieran enviar las facturas sobre la marcha una a una, y no con el dichoso flujo y tiempo de espera.

¿Vosotros cómo tenéis pensado hacerlo?
Hola espinete, nosotros lo hacemos mas o menos como dices y cuando ocurre algún problema en el envío, informamos al usuario de lo ocurrido, para que tome las medidas necesarias, cuando pueda.
Puedes hacerlo de varias formas, he leído algunos posts que envían un correo electrónico para informar.
Nosotros creamos un registro en una tabla de la base de datos y en el programa tenemos una marca visual que se muestra si hay mensajes en esa tabla que estén pendientes de leer.
Saludos
Responder Con Cita
  #2  
Antiguo 14-04-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 344
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Nosotros creamos un registro en una tabla de la base de datos y en el programa tenemos una marca visual que se muestra si hay mensajes en esa tabla que estén pendientes de leer.

Nosotros esa marca visual la tenemos en el propio mantenimiento de facturas. Hemos creado un campo de "Estado" que tendrá los valores "Correcta/Aceptada con errores/Incorrecta".
Las correctas pintadas de verde, las incorrectas pintadas de rojo y las aceptadas con errores en amarillo (como un semáforo).

Cada vez que el usuario entre a la lista de facturas verá de manera muy rápida si tiene incidencias o no.

Saludos
Responder Con Cita
  #3  
Antiguo 14-04-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
Muchas gracias a todos por las respuestas.

Me alegra saber que lo que llevaba dándole vueltas en la cabeza desde hace tiempo es la forma correcta de hacerlo. Hasta ahora, con envíos "en tiempo real" era todo mucho más fácil. Además era más fácil corregir sobre la marcha los típicos errores de "falta NIF", "NIF no identificado"; etc. pero con el "enviador" solo en el servidor la cosa cambia un poco.

Los clientes/usuarios tendrán que acostumbrarse a que tenga que haber un "encargado" pendiente de estas cosas. Mira que luego la culpa es nuestra. Imagínate una empresa que lleve días sin enviar/corregir facturas porque no hay nadie ahí que se dé por aludido o que haga nada para corregir lo que está pendiente de subsanar
Responder Con Cita
  #4  
Antiguo 14-04-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Poder: 18
espinete Va camino a la fama
A raíz de esto... ¿Cómo lo haríais en un software en la nube?

Aquí no veo más remedio que enviar las facturas sobre la marcha. En un software 100% online (PHP por ejemplo) no veo forma de crear el mecanismo de control de flujo, salvo que cree un "cron job" o algo similar, que se ejecute cada X segundos y compruebe si hay facturas pendientes, del tenant/empresa que sea, y haga los envíos.
Responder Con Cita
  #5  
Antiguo 14-04-2025
Avatar de gcqZW
gcqZW gcqZW is offline
Miembro
 
Registrado: ene 2025
Ubicación: Zaragoza
Posts: 274
Poder: 2
gcqZW Va por buen camino
Cita:
salvo que cree un "cron job" o algo similar, que se ejecute cada X segundos y compruebe si hay facturas pendientes, del tenant/empresa que sea, y haga los envíos.
Así es como lo hacemos nosotros, haces 6 tareas por minuto que comprueban la lista de envíos y van enviando las que tengan si se puede claro.
__________________
La religión es personal e intransferible.

Última edición por gcqZW fecha: 14-04-2025 a las 14:54:10. Razón: erro tipo
Responder Con Cita
  #6  
Antiguo 14-04-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Nosotros usamos algo similar a lo que ya te han comentado.
Un servicio que se encarga de los envíos.
En el mantenimiento de facturas cada factura tiene una marca del estado.
Y en caso de que haya errores una marca que indica en el formulario principal que indica que hay incidencia (por si no entran en la selección de facturas).

Luego para más detalle se puede consultar, para una sólo factura, los estados por los que ha ido pasando, los registros de facturación, exportarlos,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Verifactu o por requerimiento (no-verifactu) ¿decisión del usuario? Maska10 Temas legales 2 07-12-2024 12:34:47
Delphi en el puesto 9 de Tiobe rruz Noticias 13 12-10-2008 18:51:30
Delphi en el puesto 10 de Tiobe lbuelvas Noticias 8 30-09-2008 09:01:35
Base de datos multi área (multi departamento) Al González Conexión con bases de datos 0 19-03-2004 16:27:14
Análisis, Desarrollo e Implementación de un Sistema delphi.com.ar Humor 2 12-09-2003 21:24:53


La franja horaria es GMT +2. Ahora son las 20:56:44.


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