![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Necesito ejemplos XML de alta de subsanación y consulta
Buenos días,
Tengo un par de preguntas. El alta de subsanación debe ser un registro nuevo, con el campo de subsanación con valor "S", pero, ¿debe referenciarse la factura que se quiere subsanar de alguna forma o poniendo el mismo numSerieFactura ya valdría? y, a parte, ¿el resto de campos que no pertenecen a los que se quieran subsanar deberían de ser los mismos que tiene la factura que se quiere subsanar? Por otro lado, no encuentro ningún ejemplo de cómo se debe generar el xml para consultar a la AEAT, sí que he visto el esquema, pero no he encontrado dentro de este hilo un ejemplo XML de la consulta. Si alguien me muestra un ejemplo de como quedaría un XML de un alta de subsanación y de una consulta, sería de gran ayuda para continuar desarrollando todo lo que se nos ha venido encima... ![]() |
|
#2
|
||||
|
||||
|
Cita:
Por eso no se referencia a la factura original, porque realmente se envía toda de nuevo. Ellos ven la marca de "S" y buscarán la que tengan con el mismo número, fecha, serie,... Si puedo mañana te adjunto unos ejemplos
__________________
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. |
|
#3
|
||||
|
||||
|
Este es el registro de alta:
Código:
<?xml version="1.0" encoding="utf-8"?>
<sum:RegFactuSistemaFacturacion xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"
xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<sum:RegistroFactura>
<sum1:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>-31</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>29-04-2025</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>CERTIFICADO FISICA PRUEBAS</sum1:NombreRazonEmisor>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>Articulo 1</sum1:DescripcionOperacion>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>ENDESA</sum1:NombreRazon>
<sum1:NIF>A95758389</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:Impuesto>01</sum1:Impuesto>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>456.84</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>95.94</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>95.94</sum1:CuotaTotal>
<sum1:ImporteTotal>552.78</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:RegistroAnterior>
<sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>-30</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>16-04-2025</sum1:FechaExpedicionFactura>
<sum1:Huella>7BCB28990186F367C674E9B049D5B45F54729DE507BCBF3EE69491822811ACC9</sum1:Huella>
</sum1:RegistroAnterior>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>MI empresa</sum1:NombreRazon>
<sum1:NIF>XXXXXXXXXX</sum1:NIF>
<sum1:NombreSistemaInformatico>MiERP</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>04</sum1:IdSistemaInformatico>
<sum1:Version>1.0.0.0</sum1:Version>
<sum1:NumeroInstalacion>12345678</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2025-04-29T06:26:22Z</sum1:FechaHoraHusoGenRegistro>
<sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
<sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>9DDB20B106890C01F1410246FA33942FDCC4A49AD933B7F3D9AE971A639E5185</sum1:Huella>
...
</sum1:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
Código:
<?xml version="1.0" encoding="utf-8"?>
<sum:RegFactuSistemaFacturacion xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"
xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<sum:RegistroFactura>
<sum1:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>-31</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>29-04-2025</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>CERTIFICADO FISICA PRUEBAS</sum1:NombreRazonEmisor>
<sum1:Subsanacion>S</sum1:Subsanacion>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>Articulo 1</sum1:DescripcionOperacion>
<sum1:FacturaSimplificadaArt7273>S</sum1:FacturaSimplificadaArt7273>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>ENDESA</sum1:NombreRazon>
<sum1:NIF>A95758389</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:Impuesto>01</sum1:Impuesto>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>456.84</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>95.94</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>95.94</sum1:CuotaTotal>
<sum1:ImporteTotal>552.78</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:RegistroAnterior>
<sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>-31</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>29-04-2025</sum1:FechaExpedicionFactura>
<sum1:Huella>9DDB20B106890C01F1410246FA33942FDCC4A49AD933B7F3D9AE971A639E5185</sum1:Huella>
</sum1:RegistroAnterior>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>MI empresa</sum1:NombreRazon>
<sum1:NIF>XXXXXXXXXX</sum1:NIF>
<sum1:NombreSistemaInformatico>MiERP</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>04</sum1:IdSistemaInformatico>
<sum1:Version>1.0.0.0</sum1:Version>
<sum1:NumeroInstalacion>12345678</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2025-04-29T06:26:28Z</sum1:FechaHoraHusoGenRegistro>
<sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
<sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>85225DAAB0AD8EA824B035BC810BC368FE21506E4D15D756F94142D3B59BF1FC</sum1:Huella>
...
</sum1:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
__________________
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. Última edición por Neftali [Germán.Estévez] fecha: 06-06-2025 a las 09:47:05. |
|
#4
|
|||
|
|||
|
Perfecto, así ya me aseguro de que lo esté haciendo bien. Muchas Gracias.
![]() |
|
#5
|
|||
|
|||
|
Puf, pues yo de momento aún no he llegado al tema de la subsanación (más que nada porque como se supone que no puedo modificar las facturas, no se que puedo subsanar) , pero asi como lo tengo montado para mi será un desastre, porque yo tengo la huella grabada en la factura, asi como la huella anterior. Y no puedo reconstruir la huella, porque la siguiente factura que se hizo, tiene la huella de esa factura como huella anterior. Entonces no se como lo voy a solucionar.
¿Esto solo afectaria a la subsanacion? Es decir, en casos de generar factura de abono, rectificativa y demás, como tendría otra factura, no habria problema con la huella, no ? Vaya marrón nos ha caido con todo esto. |
|
#6
|
|||
|
|||
|
Cita:
|
|
#7
|
|||
|
|||
|
Cita:
Es que la huella no debería ir en la tabla de Facturas, sino en una tabla aparte de Registros de Facturacion. Ten en cuenta que una factura puede tener más de un registro de facturación (si se subsana, si se anula...). Como lo tienes montado no veo la manera de que te funcione correctamente. Yo te aconsejaría que crees la tabla y lo orientes por ahí. Y si quieres (yo lo hago) guardas en al factura la última (que no la única) huella de la factura a modo informativo. En cuanto a lo de subsanar, deberías controlarlo. Ten en cuenta que se te puede dar el caso de que el envío te devuelva un error que haya que subsanar (cuando la factura entra aceptado con errores). No tienes que cambiar nada en la factura pero igualmente tienes que crear un registro nuevo de subsanación. Y lo mismo si quieres anularla |
|
#8
|
|||
|
|||
|
Cita:
Porque así perdería la huella antigua, con lo que rompería la trazabilidad de las huellas. No sería capaz de seguir todos los encadenamientos. Yo lo plantearía con una nueva tabla sin dudas (no me quedó muy claro si tu también se lo recomiendas) Última edición por Jarogo08 fecha: 13-05-2025 a las 13:13:10. |
|
#9
|
||||
|
||||
|
Cita:
1 factura tienes 1..N registros de facturación (lo habitual será 1, pero al modificar la factura o borrarla, puedes crear otros). Y pasas la huella actual y la anterior a esa nueva entidad (Registro de facturación). En el registro de Facturación debes tener la referencia a la factura a la que pertenece.
__________________
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. |
|
#10
|
|||
|
|||
|
Cita:
a esto me referia. Otra cosa distinta es que lleves una tabla con cada uno de los registros que generas y el ultimo sera la base del siguiente como registroAnterior. |
|
#11
|
|||
|
|||
|
Cita:
Ahh ok... entendido! Valdría perfectamente pero no le libra de tener la tabla de registros de facturación, que era a lo que iba. Y solo por darle vueltas a tu método (no sé si lo haces así o sólo le aconsejaste): si por ejemplo el cliente compra un nuevo servidor y migras la base de datos, en ese proceso tendrías que vaciar esa tabla (o controlarlo por otro lado). El primer registro que envíe con el nuevo equipo tendrá que ir marcado como PrimerRegistro=S ya que cambiaría el NumeroInstalacion |
|
#12
|
|||
|
|||
|
Es que de momento yo no tengo opcion de anular una factura, para mi eso seria una factura de abono igual a la anterior con signo cambiado. Y tendria su propia huella y huella anterior. Mi programa no contempla anulaciones de factura ni eliminaciones.
Con lo de subsanacion es parecido, en teoria no puedo modificar nada (eso he entendido), excepto por ejemplo la forma de pago, vencimiento, etc.. que esto no lo pasaré por verifactu porque no se envia nadade todo esto. De todos modos, si que tengo un registro asociado al envio de cada factura, en una tabla que llamo vflog , donde guardo el id de la factura y los datos a modo de log de lo que pasa con el envio: fecha, hora, Id de la factura, estado, csv de respuesta, incluso xml enviado y xml de respuesta asociados a cada envio. Como no sea que aqui en ese registro vflog que puedo tener N registros para cada factura (uno para cada envio o intento de envio a AEAT), le guarde tambien las huellas, no se...Cuando consiga averiguar más de lo de subsanacion a ver que hago. |
|
#13
|
|||
|
|||
|
Cita:
|
|
#14
|
|||
|
|||
|
Cita:
Muchas gracias compañero por aclarármelo. En caso de crear esa nueva tabla 'Registro de facturacion', ¿Que guardáis ahi? Como minimo el ID de la factura, la huella anterior y la huella del nuevo registro de facturacion, pero no se si guardais ahi mas cosas (por ejemplo, todas las bases imponibles, cuotas de iva, fechas, NIF, fecha,hora, si es subsanacion, anulacion, etc... )... Es decir ¿guardais lo minimo o guardais todo lo que se envia en el XML ? |
|
#15
|
|||
|
|||
|
Cita:
En nuestro caso guardamos todos los campos que necesitamos, para a la hora de subir no tener que hacer consultas a otras tablas para obtener datos. Tenemos todo lo que necesitamos en esa tabla. Pero creo que otros compañeros lo orientaron al revés... grabar ahí lo menos posible para que la grabación sea más rápida (pero entiendo que a la hora de preparar el envío tendrán que hacer consultas a otras tablas para obtener todos los valores). Nuestra tabla de registros de facturación tiene 130 campos, para que te hagas una idea Saludos |
|
#16
|
|||
|
|||
|
nosotros igual, nuestra tabla de registros de facturación tiene todos los campos que hay posibles en el RF, incluso tenemos tabla detalle para los desgloses.... también guardamos el xml generado.
Nuestra experiencia después de años trabajando igual con el SII, es que es lo mas práctico, para luego poder operar con el RF y ya olvidarte de la factura generada |
|
#17
|
|||
|
|||
|
Ejemplo XML del primer registro
Hola.
Perdonad si está en algún otro hilo pero no lo he encontrado: Cuando envias la primera factura y no hay factura anterior ¿como se hace el encadenamiento? Esto me da un error porque dejo los campos en blanco. Pero si quito campos (numSerieFactura, por ejemplo) también me devuelve un error Código:
<sum1:Encadenamiento>
<sum1:RegistroAnterior>
<sum1:IDEmisorFactura>X11111111</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>_ANTERIOR_NUMSERIEFACTURA_</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>_ANTERIOR_FECHAEXPEDICIONFACTURA_</sum1:FechaExpedicionFactura>
<sum1:Huella>_ANTERIOR_HUELLA_</sum1:Huella>
</sum1:RegistroAnterior>
</sum1:Encadenamiento>
¿Tenéis algún ejemplo? Gracias. |
|
#18
|
|||
|
|||
|
Cita:
Debería ser así: <sum1:Encadenamiento> <sum1:PrimerRegistro>S</sum1:PrimerRegistro> </sum1:Encadenamiento> |
|
#19
|
||||
|
||||
|
Cita:
Código:
....
<sum1:CuotaRepercutida>122.14</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>122.14</sum1:CuotaTotal>
<sum1:ImporteTotal>703.78</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
...
__________________
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. |
|
#20
|
||||
|
||||
|
Se me han adelantado...
![]()
__________________
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. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta sobre "Ejemplo de Alta/Anulación de factura, envío HTTPRIO" | mnc2 | Envío de registros y sus respuestas | 7 | 21-02-2025 14:45:17 |
| Necesito XML de mas de un registro de alta | Rja750 | Registros de Facturacion y Eventos (XML) | 6 | 20-02-2025 10:08:15 |
| Error 3002 en subsanacion | ermendalenda | Errores (relacionados con al AEAT) | 5 | 14-11-2024 10:59:55 |
| Necesito ejemplos sobre OOP (Programación orientada a objetos) | brenda | OOP | 5 | 30-04-2007 22:31:58 |
| necesito ver ejemplos de instaladores que utilicen el Alias y el BDe | JClink | Conexión con bases de datos | 1 | 02-02-2006 01:47:37 |
|