![]() |
![]() |
| 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
|
|||
|
|||
|
Cita:
Cuando hablas de "generar el registro de facturacion de ALTA" ¿ Te refieres a generar la parte del .xml relativo a esa ALTA de manera que el .xml final sólo sea el pegado de los trozos xml de las distintas facturas-registro que componen el envio ? Se me está rompiendo alguna costura, pero habrá que suturar ![]() Gracias por responder |
|
#2
|
|||
|
|||
|
Cita:
![]() Según la ley antifraude, inmediatamente en el momento emitir cada factura (por ejemplo salvas la factura en una tabla facturas_ventas) también hay que crear un "registro de facturación", que es un objeto XML con el formato especificado en la normativa, y con la información de la factura (por ejemplo salvar el XML en una tabla registros_facturacion). En el caso de una nueva factura, el registro de facturación será una ALTA, pero también hay otros tipos de registros de facturación, por ejemplo para Anular. En modo Veri*Factu (facturas verificables) todos los registros de facturación se tienen que remitir a la AEAT siguiendo un control de flujo establecido en la normativa. Según entiendo de lo que explicas en tu ejemplo, detectas algún error en la factura (que no requiere generar una factura rectificativa) y por lo tanto se puede corregir usando Subsanación. Para hacer esto, se tiene que generar un nuevo registro de facturación, con la información de la misma factura ya corregida y con las marcas pertinentes para indicar que es una subsanación. Ese registro de facturación de subsanación también se tiene que remitir a hacienda. Dependiendo del número de facturas que hagas y de la respuesta de hacienda en cada envío, debido al control de flujo es posible que el primer registro de facturación de la factura (el alta) todavía no se haya enviado cuando se genere el segundo registro de facturación de la factura (el de subsanación). Pues en ese caso los dos registros (y los otros que estén en cola) estarán esperando que se pueda enviar y cuando "ya toque" se crea un nuevo XML (un paquete de varios registros de facturación) que contendrá tanto el alta como la subsanación de esa factura y otros registros de facturación de otras facturas si se da el caso. Ese XML del "paquete" de registros de facturación se enviará a la AEAT y contestará con el estado de cada registro de facturación enviado. Saludos Última edición por rci fecha: 08-04-2025 a las 11:14:36. |
|
#3
|
|||
|
|||
|
Cita:
Muchas gracias de corazón ![]() |
|
#4
|
|||
|
|||
|
Cita:
|
|
#5
|
|||
|
|||
|
Cita:
Generar un registro de facturación es obligatorio. El registro de facturación se tiene que generar en el momento de emitir la factura. Para guardarlo puedes guardar en una tabla o crear fichero XML o como sea que puedas almacenarlo. En el momento del envió puedes construir el XML del "paquete" de registros de facturación. |
|
#6
|
|||
|
|||
|
Gracias por la aclaración !
|
|
#7
|
|||
|
|||
|
Por si quedase alguna duda, en el caso de realizar "NO VERIFACTU", en el momento de crear la factura se ha de generar el registro de facturación !!! FIRMADO !!!, y esta firma ha de ser del momento de la generación de la factura, no del momento en que la AEAT pueda pedirte que le remitas esos registros de facturación, si te los pide.
|
|
#8
|
|||
|
|||
|
Cita:
Hay quien prefiere guardar todos los XML generados en una carpeta, por seguridad, aunque no puedes garantizar que esos archivos se pierdan y tampoco sirve de mucho tenerlos en disco si ya los tienes en la BD. No sé si era eso a lo que te referías. Generarlo vas a tener que generarlo siempre. |
|
#9
|
|||
|
|||
|
Cita:
El momento es "inmediatamente" despues de imprimir la factura. Como hacerlo es generando un registro en una nueva tabla que se utilizara para en el momento del envio generar TODO el xml. La confusion posterior, al menos para mi, vino cuando un compañero comentó: """hay que crear un "registro de facturación", que es un objeto XML""" y ciertamente el registro de facturacion NO tiene por qué ser un objeto xml, ni siquiera una parte del xml en formato texto: Se puede grabar los datos necesario para la formacion del registro en tablas siguiendo el paradigma de la inalterabilidad, supongo |
|
#10
|
|||
|
|||
|
Cita:
En nuestro caso (c#) tenemos objetos de los tipos de las clases generadas al importar el wsdl y al generar el registro de facturación, creamos objetos y los rellenamos. Para guardarlos, serializamos esos objetos a XML y guardamos en una tabla el XML comprimido pero también otros datos que forman parte del XML. Supongo que podríamos no serializar el objeto y no utilizar XML, porque de hecho para enviar cogemos el XML de la tabla y lo deserializamos para volver a obtener el objeto y enviarlo. Pero tendríamos que guardar toda la información en varios campos de la tabla de registros de facturación y supongo que también tendríamos que crear tablas relacionadas para guardar por ejemplo los datos de los desgloses de cada registro de facturación... Imagino que es posible pero lo veo mas complicado. Supongo que en ese caso también podríamos crear el objeto para enviar (RegFactuSistemaFacturacion) en el momento del envío, con los datos de uno o varios registros de facturación (RegistroFactura) guardados al emitir la factura. De momento nosotros lo hacemos así pero supongo que hay varias posibilidades, mientras se cumplan los requisitos de la ley Saludos Última edición por rci fecha: 10-04-2025 a las 09:43:09. |
|
#11
|
|||
|
|||
|
Cita:
![]() Muchas gracias nuevamente por otra fenomenal respuesta que me ayuda a comprender mejor el sistema |
|
#12
|
|||
|
|||
|
Cita:
Buenas rci Nosotros hacemos más o menos lo que comentas... creamos el objeto a enviar (RegFactuSistemaFacturacion) en el momento del envío, y se alimenta de una tabla creada para los envíos que tiene todos los datos necesarios. Una vez creado el objeto a enviar lo serializamos y guardamos el XML en una ruta. Pero realmente ese XML no lo usamos para nada, de hecho hasta nos planteamos no guardarlo. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Repetir una accion | lmpadron | C++ Builder | 5 | 29-07-2010 20:21:31 |
| Repetir datos con un clik | aanil | SQL | 11 | 20-02-2010 21:40:10 |
| No repetir datos en una columna | edusus | Conexión con bases de datos | 3 | 23-04-2006 18:24:51 |
| Es sano repetir? | Johnny Q | OOP | 4 | 12-07-2005 21:09:51 |
| Repetir datos en Rave Reports | Tecnic2 | Impresión | 1 | 05-11-2004 12:20:11 |
|