![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Siempre la ultima que hayas generado, un pequeño apunto respecto al caso planteado por jarogo
Cita:
genero F1 y envío genero F2 (encadenada a F1) y no puedo enviar por x problema genero F3 (encadenada a F2) sigo sin poder genero F4 (encadenada a F3) sigo sin poder genero F5 (encadenada a F4) sigo sin poder me doy cuenta que ya puedo envío F2, F3, F4, F5 en bloque -> correcto envío F2, F3, F4, F5 por separado -> correcto aunque no tiene mucho sentido ya que te dará error 2004 envío F5, F4, F3, F2 en bloque -> incorrecto ya que al crear los RF encadené al revés edit: de todas formas si sigues teniendo dudas echale un ojo a los post de control de flujo que hay varios que lo explican todo genial y con toda la casuística posible.
__________________
La religión es personal e intransferible. |
|
#2
|
|||
|
|||
|
Vamos que siempre la encadeno con el hash de la última factura enviada aunque de la casualidad de que es la misma factura que la estoy reenviando por que era errónea, con el nuevo envío se genera un nuevo hash que debo asociar a ese registro, cambiando el hash anterior del envío erroneo, para que pueda ser usado en el encadenamiento de la siguiente factura el nuevo hash.
Todo aclarado, muchas gracias. |
|
#3
|
|||
|
|||
|
Cita:
Madre mía... vaya lío tienes! Cita:
vuelvo a insistir... no es con la última enviada, es con la última creada!!!!! Cita:
el hash lo generas antes de enviar: creas el registro de facturación y le asignas el hash. Y luego ya haces el envío cuando sea Aunque estés una semana sin enviar (porque no tienes internet por ejemplo) deberías poder crear registros de facturación con su hash y encadenándolos como toque (efectivamente... con el último generado ) |
|
#4
|
|||
|
|||
|
A ver, es que yo no genero el hash cuando se crea la factura, yo las facturas que se crean las almaceno en una base de datos y las marco como NO enviadas, luego hay un demonio que obtiene todas las facturas pendientes de enviar en orden de creación, por cada factura sin enviar encontrada obtengo el hash y los datos de la última factura de la base de datos que se envió, ya sea correcta, incorrecta o parcialmente correcta, entonces genero el hash de la factura que voy a enviar encadenandola con la última que se envió y la envío, luego asocio el hash que se ha generado a la factura que acabo de enviar y la marco como enviada si no ha dado error, si ha dado error no se marca como enviada para que pueda volver a enviarse una vez corregida y cuando se vuelve a enviar el hash y los datos de factura que se obtienen son las de la última que se envió, y así sucesivamente, no genero un nuevo registro de factura cuando una factura es rechazada, simplemente actualizo su hash con el que le corresponda en función de la última factura que se envió que coincide con el último hash generado y enviado, yo creo que mi sistema vale también porque cada factura se encadenan siempre con la última factura generada, aunque sea el reenvio de una factura que tenía errores.
Por que si no vale me toca generar el hash al crear la factura usando el hash de la última factura que se generó para el encadenamiento, que tampoco es un problema pero me toca la moral modificar todos los archivos donde se generan facturas. |
|
#5
|
||||
|
||||
|
Cita:
Hola, eso es incorrecto, lo respondo un poco mas arriba, el momento de generar el HASH, QR y registro es el de generar la factura, total mente independiente del momento de envío/impresión de la factura. Siempre, has de crear y conservar los registros de facturación/ facturas sin modificarlos, si has de crear uno nuevo , los has de hacer y encolar independientemente de los rechazos, parciales o totales, eso es impepinable.
__________________
Uno se alegra de ser útil. (Isaac Asimov) |
|
#6
|
|||
|
|||
|
Pregunta sobre momento de crear registro
Veo que se ha comentado que hay que crear el registro de facturación en el momento en que se crea la factura.
Nosotros creamos el registro y su hash cuando se emite la factura al cliente, ya sea por correo,impresora ftp,etc. Entendemos que mientras no se emite la factura al cliente se puede modificar ,anular,etc.. una vez emitida , la factura se envía y se bloquea para bloquear borrados y controlar modificaciones de la misma. ¿ Este enfoque no es correcto¿?. No pasa nada sinpor ejemplo creo 40 facturas por la mañana y las mando por la tarde?. Entendíamos la 'emision' como el momento de creación del registro de facturación. ???? |
|
#7
|
||||
|
||||
|
Cita:
Deberías revisar hilos anteriores. Personalmente creo que el planteamiento es erróneo. Básicamente porque la normativa dice que el registro de facturación debe crearse y enviarse (esto segundo sólo si estás en veri*factu) inmediatamente después de crear la factura: "La modalidad denominada VERI*FACTU, que exige que los registros informáticos de factura sean remitidos a la Sede electrónica de la Agencia Tributaria inmediatamente después de su producción, evitándose con ello su alteración posterior, y asegurando su conservación." Si tú dices que vas a generar el Registro cuando "emites" la factura al cliente, resulta que en realidad puedes crear el "registro de facturación" cuando quieras; 1 minuto, 1 hora o 1 día después, dependiendo de cuando se la envíes/emitas al cliente. Deberíais hacer una consulta a la AEAT para verficarlo.
__________________
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. |
|
#8
|
||||
|
||||
|
Cita:
__________________
Uno se alegra de ser útil. (Isaac Asimov) |
|
#9
|
|||
|
|||
|
Es una cuestión de concepto.
No se envían facturas. No se encadenan facturas. Se envían registros de facturación. Se encadenan registros de facturación ¿Para que sirve un registro de facturación? Para indicarle a Hacienda qué estás haciendo con la factura: -la doy de alta -->> nuevo registro de facturación -la rectifico -->> nuevo registro de fascturación -la anulo -->> nuevo registro de facturación Y siempre se encadena una registro de facturación con su anterior independientemente de la tipología de la operación y la factura a la que hace referencia. Realmente es muy sencillo, cuando ya has perdido casi 1 mes de desarrollo por no leer/comprender (hace meses, ya no me hierve la sangre). Saludos, Carlos G. |
|
#10
|
|||
|
|||
|
Dos registros de facturación erroreos sobre la misma factura
Hola, os planteo un caso que no tengo muy claro qué se debe hacer. Haciendo pruebas con rectificativas he generado dos registros de facturación incorrectos de la misma factura rectificativa, y los dos enviados. El segundo encadenado al primero. Bien cojo el primer registro de facturación erróneo y le creo una subsanación (el xml no era correcto), y por tanto un nuevo tercer registro de facturación, encadenado al segundo, la envío y la da correcto. Ahora la pregunta es, ¿Que hago con el segundo registro de facturación erróneo? No puedo borrarlo puesto que está en el encadenamiento, no puedo mandar una subsanación puesto que ya esta subsanado, no es cosa de hacer otra rectificativa porque la factura está bien y ya enviada...lo dejo así y santas pascuas puesto que en realidad ya está arreglado en el tercer envío ???
Como estoy en pruebas, puedo arreglarlo a lo bestia, borro el registro y atpc el encadenamiento, pero si se diera en producción no tengo claro que se debería hacer... |
|
#11
|
|||
|
|||
|
Cita:
Es que subsanas la factura, no cada uno de los registros de facturación Supongamos este caso: -Creas una factura, creas su registro de facturación y lo envías. -Da error porque el XML no estaba correcto. -Cambias código, le das a subsanar y creas otro registro de facturación. -Vuelve a dar error porque el XML sigue siendo incorrecto -Vuelves a cambiar código, le das a subsanar y creas otro registro de facturación. -Vuelve a dar error porque el XML sigue siendo incorrecto -Vuelves a cambiar código, le das a subsanar y creas otro registro de facturación. -Ahora ya entra correcto. No tendrías que hacer nada más, la factura ya está correcta y subida. Los pasos que hiciste son: Registro 1- Alta de factura -> error al subir Registro 2- Subsanación de factura -> error al subir Registro 3- Subsanación de factura -> error al subir Registro 4- Subsanación de factura -> todo correcto al subir Has creado y enviado 4 registros de facturación para una factura hasta que entró correcta. Pero no tienes que subsanar los registros 1, 2 y 3 (los que dieron error). Tienes que subsanar la factura. |
|
#12
|
|||
|
|||
|
Cita:
Pues lo estás haciendo mal... -El hash se genera en el momento de la creación, no sirve que lo haga el demonio en el momento que va a enviar. Cita:
|
|
#13
|
||||
|
||||
|
Acerca del encadenamiento...
Hola, el encadenamiento es mas sencillo de lo que os complicáis , en general, os pongo un mini FAQ al respecto.
1 -> Como he de encadenar?, La operativa es , crear una lista o tabla o lo que queráis de encadenamientos y registros, Se crea un registro, para encadenar se consulta el ultimo almacenado, se crea este encadenamiento y se encola al final de la lista, se envía y si hay algún error , lo subsano, anulo, modifico, creo otro..., Pues se crea un nuevo registro y se consulta la cola de la lista para saber los datos a usar, y a jugar. 2 ->Que fecha hora uso?, Estas creando uno registro nuevo siempre , así que la que obtienes en el momento. 3 ->Con que factura encolo?, *Con ninguna, con los datos del ultimo registro creado, sea de lo que sea y de cuando sea, puedes estar rectificando una factura de hace tres meses, y has de crear el registro hoy. 4 -> Si no envío, que fecha hora uso? ,La creación del hash, el Qr, y el registro de alta, baja y demás es el mismo, ahora, el envío puede ser en el momento, mas tarde o **nunca, pero se encola en el momento de crear la factura, abono, modificación.... 5 -> El registro anterior fue rechazado, he de usarlo para crear el nuevo?, Si, has de crearlo usando los datos de la cola de encadenamientos, se lo haya tragado o no, tu has de guardar tanto el hash encolado como el registro creado y rechazado, modificar lo que sea necesario y crear un nuevo registro para comunicar los cambios a la aeat, con las opciones necesarias para ello, pero siempre guardando los datos anteriores, una vez creados no pueden desaparecer ni ser alterados. * Recordad que los registros, pueden ser de alta, baja , modificación y anulación... **En los no Veri*Factu, se han de encolar los registros y guardarlos, pero no enviarlos si no se los requieren. Espero que os quede algo mas claro.
__________________
Uno se alegra de ser útil. (Isaac Asimov) |
|
#14
|
|||
|
|||
|
Cita:
Vamos, que segun el web service el registro lo tengo que enviar no más tarde de 4 minutos desde que se genera, por lo que no creo que pueda estar una semana sin enviar los registros, a no ser que el valor de FechaHoraHusoGenRegistro en el xml no sea el mismo que se usó al generar el hash, si no que ese valor es la fecha y hora a la que se envía el registro, por que si no es así no le veo lógica a lo que dices de envíar los registros en otro momento. |
|
#15
|
||||
|
||||
|
Puedes enviar pasados esos 240 segundos, pero tendrás que marcarlos como incidencia.
__________________
La religión es personal e intransferible. |
|
#16
|
|||
|
|||
|
Cita:
Ese tiempo límite no está ni en la Orden Ministerial ni en ningún documento publicado. Así que lo cambiarán cuando les apetezca. |
|
#17
|
|||
|
|||
|
Cita:
Yo lo guardé en un campo de la base de datos. Si en algún momento lo cambian saco una versión que le cambie el valor y debería seguir funcionando el tema de enviarlo marcado como incidencia pasado el tiempo del nuevo valor |
|
#18
|
|||
|
|||
|
Cita:
Como te comentó gcqZW, puedes enviar pasado ese tiempo, pero debes marcar el envío como incidencia a "S". De todas maneras, ese tiene que ser un caso puntual (te falla internet o fallan los servicios de la AEAT). En el resto de casos, tendrás que tener una tarea o algo que cada menos de 4 minutos haga el envío de los registros para que no se dé este caso El campo FechaHoraHusoGenRegistro le das valor cuando generas el registro de facturación, y luego en el XML tiene que ir ese valor, no puedes volver a calcularlo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Facturas rectificativas a para anular facturas aceptadas parcialmente | victor03 | Registros de Facturacion y Eventos (XML) | 6 | 31-05-2025 11:28:27 |
| Resaltar TEXTO parcialmente en DBGrid | Jose Roman | OOP | 8 | 30-12-2022 23:49:46 |
| Vcl/FMX: Resaltar texto parcialmente | AgustinOrtu | Trucos | 5 | 29-12-2022 10:56:54 |
| Locate no buscar parcialmente, por que? | URBANO | Conexión con bases de datos | 13 | 14-10-2005 21:14:22 |
| Campos calculados, facturas y detalles de facturas. | Letty | Conexión con bases de datos | 7 | 07-11-2003 12:19:44 |
|