![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Guardar y qué de cada registro de facturación
Buenas a todos,
Quería preguntar por vuestro consejo sobre qué datos guardar de cada registro de facturación. Aunque no es obligatorio guardarlos por reglamento si es solo VeriFactu, creo que la realidad es otra ya que hay tener ciertos campos como huella anterior... Actualmente he creado un tabla RegistrosFacturacion con campos como: Código:
TipoRegistro IDEmisor NumSerieFactura FechaExpedicionFactura FechaOperacion RefExterna Cliente NIF Huella CuotaTotal ImporteTotal Rectificativa FechaRectificativa EstadoRegistro ¿Qué recomendáis? |
#2
|
||||
|
||||
Hola a todos,
En la aplicación que estoy adaptando guardo los siguientes campos en una tabla al uso: - operacion -> tipo de registro - rechazoPrevio (null,S,N) - subsanacion (null,S,N) - csv - estadoRegistro - codigoErrorRegistro - descripcionErrorRegistro - idDuplicado - encadenamiento (con registro anterior -> numSerie, fecha, huella) - huella - fechaGeneracion - registro (xml del registro de facturación) - factura_id (relaciona la tabla facturas) - envio_id (relaciona la tabla envios) El resto de datos como refExterna, datos del destinatario, fecha, factura... los obtengo de la tabla de facturas o de envios si fuera necesario. P.D.: Después de mis inicios con Delphi 3/5, y aunque ahora desarrollo en PHP, este foro me ha servido de mucha ayuda con el tema que nos ocupa. Muchas gracias a todos los usuarios que lo hacéis posible. |
#3
|
|||
|
|||
Muchas gracias por compartir tu forma de hacerlo, una pregunta ¿por qué has creado una tabla envíos a parte y no envías directamente la tabla al uso que comentas?
|
#4
|
||||
|
||||
Yo lo que hago es guardar todos los xmls de envío y de respuesta, así me aseguro de que tengo toda la información. Para no "petar" una carpeta con tanto fichero los guardo en carpetas por años/meses.
Saludos.
__________________
Be water my friend. |
#5
|
|||
|
|||
Y como gestionas las respuestas sobre los errores y subsanaciones de cara al usuario ?
|
#6
|
|||
|
|||
Yo guardo los XML completos de envío, el XML de cada RF, los XML de las respuestas. Luego en la base de datos por cada factura tengo información de cuando se envio, el estado de la factura (CORRECTA, ACEPTADA CON ERRORES, INCORRECTA, RECTIFICADA, ...), el CSV, el registro anterior, etc... Así el cliente si va a la factura puede ver como esta.
|
#7
|
||||
|
||||
Cita:
Además de estos ficheros creo otro fichero más simple con el número de factura, si está aceptada o rechazada y en su caso el código y la descripción del error que luego importo desde el programa de gestión para manejarlo. Los .xml solo los guardo por si en el futuro hubiera que hacer alguna revisión por algún motivo poder echarles un vistazo. Saludos.
__________________
Be water my friend. |
#8
|
||||
|
||||
Cita:
Nosotros algo similar. En Base de Datos están los XML de los registros de facturación y eventos. Son exportables desde la BD a disco (bajo petición del usuario). Opcionalmente se guardan a disco (activando configuración de debug); Esto es de cara a nosotros (sólo para debug) y eventualmente en algún cliente que pueda tener algún problema.
__________________
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. |
#9
|
||||
|
||||
Cita:
De esta manera tengo cada registro individual en una tabla, y un registro de los envíos y respuestas que me permitiría, llegado el caso, realizar un análisis más exhaustivo sobre cómo ha ido un envío determinado. La forma más simple y que lleva menos trabajo de programación que he encontrado es: - Se emite la factura y se emite un evento de envío de registros a la AEAT, que se gestiona de forma asíncrona, a través de un demonio (systemd en Linux, programo en PHP). - El proceso asíncrono genera la request completa del envio de todas las facturas pendientes, y recibe la response de la AEAT. Con esa información completo los campos necesarios de la tabla de registros de facturación, y emito un correo al cliente/administrador indicando el resultado del proceso (éxito, rechazo, fallo) De momento todo corre perfecto, pero de aquí a julio puede que simplifique/reduzca algo las tablas. Pero de momento, prefiero guardar toda la información posible. De esta manera en la consulta de factura se muestra el/los envíos que se hayan realizado (alta/anulación, alta/subsanación error,...), con la info de CSV, estado (Aceptado...), fechaHora de generación, fechaHora de envío, error si lo hay (y enlace para subsanar), y se puede descargar el XML del registro individual del envío y el XML del envío completo. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Subconsulta para escojer el ultimo de cada registro? | Carlex | SQL | 14 | 24-09-2018 21:50:32 |
capturar valores de cada registro. | jose.ignacio.ve | Impresión | 1 | 24-10-2016 15:34:13 |
Guardar el nombre de cada aplicacion que ejecuta un usuario. | phpboy | Varios | 3 | 02-05-2016 15:07:34 |
Avanzar una pagina, por cada registro | alcides | Impresión | 5 | 31-03-2010 21:34:27 |
guardar valores para cada item de un TComboBox ¿como? | cocute | Varios | 3 | 11-01-2010 16:00:21 |
![]() |
|