Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Registros de Facturacion y Eventos (XML)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2025
RanNav RanNav is offline
Miembro
 
Registrado: sep 2024
Ubicación: La Rioja
Posts: 55
Poder: 2
RanNav Va por buen camino
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...
Responder Con Cita
  #2  
Antiguo 28-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.435
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
Cita:
Empezado por RanNav Ver Mensaje
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?
La subsanación es exactamente lo mismo que el alta, es decir, con todos los campos de la factura como si fuera un alta, pero con la marca de subsanación.
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.
Responder Con Cita
  #3  
Antiguo 29-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.435
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
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>
Y aquí el de subsanación de la misma factura:

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.
Responder Con Cita
  #4  
Antiguo 29-04-2025
RanNav RanNav is offline
Miembro
 
Registrado: sep 2024
Ubicación: La Rioja
Posts: 55
Poder: 2
RanNav Va por buen camino
Perfecto, así ya me aseguro de que lo esté haciendo bien. Muchas Gracias.
Responder Con Cita
  #5  
Antiguo 13-05-2025
gizmo2025 gizmo2025 is offline
Miembro
 
Registrado: feb 2025
Posts: 16
Poder: 0
gizmo2025 Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 13-05-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 2
delphiGar Va por buen camino
Cita:
Empezado por gizmo2025 Ver Mensaje
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.
Es mas sencillo de como te lo planteas, simplemente guarda los datos del ultimo registro y con este ultimo genera los siguientes registros tanto si es una factura de Alta como si es una Subsanacion, siempre el ultimo registro para saber con que tienes que enlazarlo.
Responder Con Cita
  #7  
Antiguo 13-05-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 344
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por gizmo2025 Ver Mensaje
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.

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
Responder Con Cita
  #8  
Antiguo 13-05-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 344
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por delphiGar Ver Mensaje
Es mas sencillo de como te lo planteas, simplemente guarda los datos del ultimo registro y con este ultimo genera los siguientes registros tanto si es una factura de Alta como si es una Subsanacion, siempre el ultimo registro para saber con que tienes que enlazarlo.
¿te refieres guardándolo en la tabla de facturas? ¿sin crear la tabla de registros de facturación?

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.
Responder Con Cita
  #9  
Antiguo 13-05-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.435
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
Cita:
Empezado por gizmo2025 Ver Mensaje
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.
Debes crear una nueva "entidad" que son los "registros de facturación".
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.
Responder Con Cita
  #10  
Antiguo 13-05-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 2
delphiGar Va por buen camino
Cita:
Empezado por Jarogo08 Ver Mensaje
¿te refieres guardándolo en la tabla de facturas? ¿sin crear la tabla de registros de facturación?

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)
Por poner un ejemplo, te creas una tabla donde solo vas a tener solo un registro y que van a ser los datos del ultimo registro generado, cuando empiezes estara en blanco, con lo cual el primer registro de facturacion no tendra encadenamiento con el anterior y sera PrimerRegistro=S, una vez generado un nuevo registro guardamos en esa tabla los datos de este registro y nos sirve de base para el siguiente, y asi sucesivamente,
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.
Responder Con Cita
  #11  
Antiguo 13-05-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 344
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por delphiGar Ver Mensaje
Por poner un ejemplo, te creas una tabla donde solo vas a tener solo un registro y que van a ser los datos del ultimo registro generado, cuando empiezes estara en blanco, con lo cual el primer registro de facturacion no tendra encadenamiento con el anterior y sera PrimerRegistro=S, una vez generado un nuevo registro guardamos en esa tabla los datos de este registro y nos sirve de base para el siguiente, y asi sucesivamente,
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.

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
Responder Con Cita
  #12  
Antiguo 13-05-2025
gizmo2025 gizmo2025 is offline
Miembro
 
Registrado: feb 2025
Posts: 16
Poder: 0
gizmo2025 Va por buen camino
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.
Responder Con Cita
  #13  
Antiguo 13-05-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 2
delphiGar Va por buen camino
Cita:
Empezado por Jarogo08 Ver Mensaje
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
Si cambias el numero de instalacion tendrias que borrar ese ultimo registro de la tabla de ejemplo que he comentado, para que empezara de nuevo.
Responder Con Cita
  #14  
Antiguo 16-05-2025
gizmo2025 gizmo2025 is offline
Miembro
 
Registrado: feb 2025
Posts: 16
Poder: 0
gizmo2025 Va por buen camino
Cita:
Empezado por Jarogo08 Ver Mensaje
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

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 ?
Responder Con Cita
  #15  
Antiguo 16-05-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 344
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por gizmo2025 Ver Mensaje
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 ?

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
Responder Con Cita
  #16  
Antiguo 16-05-2025
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 241
Poder: 10
pablog2k Va por buen camino
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
Responder Con Cita
  #17  
Antiguo 06-06-2025
Ja Mon Ja Mon is offline
Miembro
 
Registrado: ene 2017
Posts: 38
Poder: 0
Ja Mon Va por buen camino
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.
Responder Con Cita
  #18  
Antiguo 06-06-2025
novatico novatico is offline
Miembro
 
Registrado: dic 2022
Posts: 370
Poder: 4
novatico Va por buen camino
Cita:
Empezado por Ja Mon Ver Mensaje
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.

Debería ser así:

<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
Responder Con Cita
  #19  
Antiguo 06-06-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.435
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
Cita:
Empezado por Ja Mon Ver Mensaje
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?¿Tenéis algún ejemplo?
¿Te refieres a esto?
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>
         ...
Hay que dejarlo en blanco y marcar "PrimerRegistro".
__________________
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
  #20  
Antiguo 06-06-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.435
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
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.
Responder Con Cita
Respuesta



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
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


La franja horaria es GMT +2. Ahora son las 06:38:38.


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