Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1161  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Poder: 8
sglorka Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Ahora voy con una duda mía sobre los xml y el tema de la la firma


Creo que hay dos "estilos" de hacer el xml


Este
Código PHP:
<?xml version="1.0" ?>
<AltaFactuSistemaFacturacion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
    <IDVersion>1.0</IDVersion>
    <ObligadoEmision>
      <NombreRazon>EMPRESA SL</NombreRazon>
      <NIF>NIF</NIF>
    </ObligadoEmision>
    <TipoRegistroAEAT>T0</TipoRegistroAEAT>
  </Cabecera>
  <RegistroAltaFacturas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
    <RegistroFacturacion>
      <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <IDEmisorFactura>
          <NIF>NIF</NIF>
        </IDEmisorFactura>
        <NumSerieFacturaEmisor>3</NumSerieFacturaEmisor>
        <FechaExpedicionFacturaEmisor>16-01-2024</FechaExpedicionFacturaEmisor>
      </IDFactura>
      <NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">EMPRESA SL</NombreRazonEmisor>
      <TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
      <TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
      <DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">VENTAS</DescripcionOperacion>
      <Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <IDDestinatario>
          ...
</div>

y este


Código PHP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<
soapenv:Header/>
<
soapenv:Body>
<
sum:AltaFactuSistemaFacturacion>
<
sum1:Cabecera>
<
sum1:IDVersion>1.0</sum1:IDVersion>
<
sum1:ObligadoEmision>
<
sum1:NombreRazon>EMPRESA SL</sum1:NombreRazon>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:ObligadoEmision>
<
sum1:TipoRegistrroEAT>T0</sum1:TipoRegistrroEAT>
</
sum1:Cabecera>
<
sum:RegisgtroAltaFacturas>
<
sum:RegistroFacturacion>
<
sum1:IDFactura>
<
sum1:IDEmisorFactura>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:IDEmisorFactura>
<
sum1:NumSerieFacturaEmisor>002235405</sum1:NumSerieFacturaEmisor>
<
sum1:FechaExpedicionFacturaEmisor>01-01-2024</sum1:FechaExpedicionFacturaEmisor>
</
sum1:IDFactura>
<
sum1:NombreRazonEmisor>EMPRESA SL</sum1:NombreRazonEmisor>
<
sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF>
<
sum1:TipoFactura>F1</sum1:TipoFactura>
<
sum1:DescripcionOperacion>Factura cliente</sum1:DescripcionOperacion>
<
sum1:Destinatarios
</div>

Entendiendo que la verificación de la huella que va a hacer Hacienda da igual que monte el fichero de una forma u otra porque al final siempre se va calcular sobre el contenido de los dos etiquetas "RegistroFacturacion"



Voy bien
Son dos cosas distintas
este fichero Xml

<?xml version="1.0" ?>
<AltaFactuSistemaFacturacion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDVersion>1.0</IDVersion>
<ObligadoEmision>
<NombreRazon>EMPRESA SL</NombreRazon>
<NIF>NIF</NIF>
</ObligadoEmision>
<TipoRegistroAEAT>T0</TipoRegistroAEAT>
</Cabecera>
<RegistroAltaFacturas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<RegistroFacturacion>
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>
<NIF>NIF</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>3</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>16-01-2024</FechaExpedicionFacturaEmisor>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">EMPRESA SL</NombreRazonEmisor>
<TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">VENTAS</DescripcionOperacion>
<Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDDestinatario>
...

es el que tienes que construir sacando la huella del nodo

<RegistroFacturacion>
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>
<NIF>NIF</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>3</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>16-01-2024</FechaExpedicionFacturaEmisor>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">EMPRESA SL</NombreRazonEmisor>
<TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">VENTAS</DescripcionOperacion>
<Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDDestinatario>
...
</RegistroFacturacion>

el otro código que has puesto

Código PHP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<
soapenv:Header/>
<
soapenv:Body>
<
sum:AltaFactuSistemaFacturacion>
<
sum1:Cabecera>
<
sum1:IDVersion>1.0</sum1:IDVersion>
<
sum1:ObligadoEmision>
<
sum1:NombreRazon>EMPRESA SL</sum1:NombreRazon>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:ObligadoEmision>
<
sum1:TipoRegistrroEAT>T0</sum1:TipoRegistrroEAT>
</
sum1:Cabecera>
<
sum:RegisgtroAltaFacturas>
<
sum:RegistroFacturacion>
<
sum1:IDFactura>
<
sum1:IDEmisorFactura>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:IDEmisorFactura>
<
sum1:NumSerieFacturaEmisor>002235405</sum1:NumSerieFacturaEmisor>
<
sum1:FechaExpedicionFacturaEmisor>01-01-2024</sum1:FechaExpedicionFacturaEmisor>
</
sum1:IDFactura>
<
sum1:NombreRazonEmisor>EMPRESA SL</sum1:NombreRazonEmisor>
<
sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF>
<
sum1:TipoFactura>F1</sum1:TipoFactura>
<
sum1:DescripcionOperacion>Factura cliente</sum1:DescripcionOperacion>
<
sum1:Destinatarios
</div>

es el archivo xml que has creado envuelto en el protocolo soap para que "viaje" hasta el servidor de aeat
Responder Con Cita
  #1162  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 177
Poder: 3
edari Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
Son dos cosas distintas
este fichero Xml

<?xml version="1.0" ?>
<AltaFactuSistemaFacturacion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDVersion>1.0</IDVersion>
<ObligadoEmision>
<NombreRazon>EMPRESA SL</NombreRazon>
<NIF>NIF</NIF>
</ObligadoEmision>
<TipoRegistroAEAT>T0</TipoRegistroAEAT>
</Cabecera>
<RegistroAltaFacturas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<RegistroFacturacion>
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>
<NIF>NIF</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>3</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>16-01-2024</FechaExpedicionFacturaEmisor>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">EMPRESA SL</NombreRazonEmisor>
<TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">VENTAS</DescripcionOperacion>
<Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDDestinatario>
...

es el que tienes que construir sacando la huella del nodo

<RegistroFacturacion>
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>
<NIF>NIF</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>3</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>16-01-2024</FechaExpedicionFacturaEmisor>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">EMPRESA SL</NombreRazonEmisor>
<TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">VENTAS</DescripcionOperacion>
<Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDDestinatario>
...
</RegistroFacturacion>

el otro código que has puesto

Código PHP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<
soapenv:Header/>
<
soapenv:Body>
<
sum:AltaFactuSistemaFacturacion>
<
sum1:Cabecera>
<
sum1:IDVersion>1.0</sum1:IDVersion>
<
sum1:ObligadoEmision>
<
sum1:NombreRazon>EMPRESA SL</sum1:NombreRazon>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:ObligadoEmision>
<
sum1:TipoRegistrroEAT>T0</sum1:TipoRegistrroEAT>
</
sum1:Cabecera>
<
sum:RegisgtroAltaFacturas>
<
sum:RegistroFacturacion>
<
sum1:IDFactura>
<
sum1:IDEmisorFactura>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:IDEmisorFactura>
<
sum1:NumSerieFacturaEmisor>002235405</sum1:NumSerieFacturaEmisor>
<
sum1:FechaExpedicionFacturaEmisor>01-01-2024</sum1:FechaExpedicionFacturaEmisor>
</
sum1:IDFactura>
<
sum1:NombreRazonEmisor>EMPRESA SL</sum1:NombreRazonEmisor>
<
sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF>
<
sum1:TipoFactura>F1</sum1:TipoFactura>
<
sum1:DescripcionOperacion>Factura cliente</sum1:DescripcionOperacion>
<
sum1:Destinatarios
</div>

es el archivo xml que has creado envuelto en el protocolo soap para que "viaje" hasta el servidor de aeat

Gracias sglorka,


A mi primer fichero le calculo la huella y es el que tengo que subir a Hacienda, correcto?
Responder Con Cita
  #1163  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Hola.

Cita:
sglorka
es el que tienes que construir sacando la huella del nodo
El nodo sería RegistroFacturacion, no?

Muchas Gracias.
Responder Con Cita
  #1164  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Poder: 8
sglorka Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Gracias sglorka,


A mi primer fichero le calculo la huella y es el que tengo que subir a Hacienda, correcto?
Sí, es correcto. Debes subir ese fichero. Ten en cuenta que ese fichero podría contener varios registros de facturación no sólo uno, dependiendo del control de flujo (n,t) que te haya asignado en el último envío la administración
Responder Con Cita
  #1165  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Poder: 8
sglorka Va por buen camino
Cita:
Empezado por _Io Ver Mensaje
Hola.



El nodo sería RegistroFacturacion, no?

Muchas Gracias.
A ver ... una cosa importante para llegar a buen fin es leerse la orden ministerial.
En ella te establece claramente que la huella sale del nodo RegistroFacturacion
Responder Con Cita
  #1166  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 177
Poder: 3
edari Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
Sí, es correcto. Debes subir ese fichero. Ten en cuenta que ese fichero podría contener varios registros de facturación no sólo uno, dependiendo del control de flujo (n,t) que te haya asignado en el último envío la administración

Sí, sí...era una manera de hablar
Responder Con Cita
  #1167  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
A ver ... una cosa importante para llegar a buen fin es leerse la orden ministerial.
En ella te establece claramente que la huella sale del nodo RegistroFacturacion
Oido Cocina.

Muchas Gracias.
Responder Con Cita
  #1168  
Antiguo 17-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Yo también le estoy dando vueltas a esto, me parece muy importante hacer ese Webservice de verificación porque, como sea como TicketBai, cada vez que subes una factura y es rechazada por algún tema de NIF...puede provocar errores de encadenamiento
No debe provocar ningún problema de encadenamiento.

Cuando creas una factura, la encadenas. Este registro tiene código S0 en el campo TipoRegistroSIF
Si hay un problema de NIF o de IVA o cosa similar con esta factura, y se debe modificar algo, creas otro registro con la misma identificación (número de factura y fecha) pero código S1 en el campo TipoRegistroSIF. Dado que es un registro distinto, tiene otra huella y está encadenado en su sitio (orden temporal), independientemente del primero registro. Este segundo registro se debe subir independientemente a la AEAT.

Si luego tienes que anular la factura, será otro registro, esta vez de tipo S2 y con un contenido diferente en el XML, registro que se debe subir por un webservice diferente.
Y para cerrar el circulo, teóricamente también puedes modificar el registro de anulación, será otro registro esta vez con tipo S3, que también sube por el segundo webservice.

Al final, cada vez que con una factura se hace una operación (crear, modificar, «borrar»), se crea un nuevo registro de facturación; este registro debe ser encadenado en su sitio, con las informaciones relevantes de la factura en este momento. Y luego no se toca nunca más.
Responder Con Cita
  #1169  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Poder: 8
sglorka Va por buen camino
Cita:
Empezado por antoine0 Ver Mensaje
No debe provocar ningún problema de encadenamiento.

Cuando creas una factura, la encadenas. Este registro tiene código S0 en el campo TipoRegistroSIF
Si hay un problema de NIF o de IVA o cosa similar con esta factura, y se debe modificar algo, creas otro registro con la misma identificación (número de factura y fecha) pero código S1 en el campo TipoRegistroSIF. Dado que es un registro distinto, tiene otra huella y está encadenado en su sitio (orden temporal), independientemente del primero registro. Este segundo registro se debe subir independientemente a la AEAT.

Si luego tienes que anular la factura, será otro registro, esta vez de tipo S2 y con un contenido diferente en el XML, registro que se debe subir por un webservice diferente.
Y para cerrar el circulo, teóricamente también puedes modificar el registro de anulación, será otro registro esta vez con tipo S3, que también sube por el segundo webservice.

Al final, cada vez que con una factura se hace una operación (crear, modificar, «borrar»), se crea un nuevo registro de facturación; este registro debe ser encadenado en su sitio, con las informaciones relevantes de la factura en este momento. Y luego no se toca nunca más.
Yo no lo veo así.
Estás suponiendo que el primer registro S0 te lo ha aceptado, y la suposición (creo que es así... ya veremos ) es que no te lo va a aceptar por un error en el NIF (mal informado) o por un tipo de IVA inexistente. Entonces ocurre que el siguiente registro que quieres enviar está encadenado con el registro rechazado y al enviarlo te va a dar error de encadenamiento ya que el servidor no tiene ese registro anterior en su sistema. El registro S1 sólo se debe crear si el/los dato(s) a corregir no implican la creación de una factura rectificativa. Si el error es de un tipo de iva inexistente, o un nif mal informado, entonces hay que emitir una factura rectificativa por sustitución, o sea, otro registro S0. El registro S1 corrige un registro S0 aceptado pero que tiene algún dato mal (como por ejemplo el régimen de tributación ).
En definitiva, la duda es cómo debemos resolver el encadenamiento de los registros de facturación posteriores al rechazo de un registro anterior.
Responder Con Cita
  #1170  
Antiguo 17-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
Yo no lo veo así.
Estás suponiendo que el primer registro S0 te lo ha aceptado, y la suposición (creo que es así... ya veremos ) es que no te lo va a aceptar por un error en el NIF (mal informado) o por un tipo de IVA inexistente. Entonces ocurre que el siguiente registro que quieres enviar está encadenado con el registro rechazado y al enviarlo te va a dar error de encadenamiento ya que el servidor no tiene ese registro anterior en su sistema. [...]
En definitiva, la duda es cómo debemos resolver el encadenamiento de los registros de facturación posteriores al rechazo de un registro anterior.
Vale. Efectivamente no había pillado bien la casuística.

Si te sigo bien, tenemos lo siguiente:
  • En el SIF (la aplicación en casa del cliente, que realice el encadenamiento) se genera una serie de registro R1, R2, R3, R4, encadenados entre sí;
  • Se remitirán a los clientes las 4 facturas correspondientes;
  • Luego, en un tiempo un poco diferido, se envían a Hacienda estos 4 registros, en 1 o más envíos, da igual. Y Hacienda dice, «el R2 está mal, no lo acepto y hago como si no lo había visto nunca»; luego al validar los registros R3 y luego R4, el sistema de Haciendo no debería aceptarlos, porque «falta» el intermediario... pero es solo el inicio de los problemas;
  • Al recibir el aviso sobre el registro R2, se modifica la factura correspondiente (corrección, rectificativa, anulación, lo que sea) lo genera en el SIF el registro R5 (y potencialmente R6, y eventualmente pasar al cliente una nueva copia de la factura; aquí entran los códigos S1 o S2 para R5). Pero no se ha resuelto el problema, y Hacienda seguirá rechazando estos registros R5 o R6 en el sistema Veri*factu...
  • Pero visto en la casa del cliente, en el SIF el registro R2 sigue "correcto", no se puede modificar por qué el sistema es inalterable, y todos los registros que lo siguen dependen de él...
No me extraña ahora que en Hacienda están «pensando en esto», o «estudiando internamente» según te han escrito.

Lo único que podemos esperar es que los controles para pasar R2 al estado "AcceptadaConErrores", que sí permite reconocer el encadenamiento (creo), sigan lo más básico posible; es decir, poco más que controlar que el XML es descifrable y luego que la huella anterior es la esperada dado el SistemaInformatico indicado (o parte de). Y desde luego que se publiquen normas claras al respecto.
Responder Con Cita
  #1171  
Antiguo 18-01-2024
keno_71 keno_71 is offline
Miembro
 
Registrado: feb 2008
Posts: 27
Poder: 0
keno_71 Va por buen camino
Perdonad la ignorancia pero este tema que comentáis antoine0 y sglorka no está resuelto en Ticketbai?, pensaba que se habían basado en este sistema y entiendo en la experiencia que ya hay sobre él para la implantación y todos estos problemas de encadenamiento por ejemplo ya estaban más que pensados por Hacienda. En el momento que salga el Reglamento Técnico creo que es cuando van a desvelarse muchas dudas. Saludos
Responder Con Cita
  #1172  
Antiguo 18-01-2024
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: 18.275
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 antoine0 Ver Mensaje
Lo único que podemos esperar es que los controles para pasar R2 al estado "AcceptadaConErrores", que sí permite reconocer el encadenamiento (creo), sigan lo más básico posible; es decir, poco más que controlar que el XML es descifrable y luego que la huella anterior es la esperada dado el SistemaInformatico indicado (o parte de). Y desde luego que se publiquen normas claras al respecto.
Cita:
Empezado por keno_71 Ver Mensaje
Perdonad la ignorancia pero este tema que comentáis antoine0 y sglorka no está resuelto en Ticketbai?, pensaba que se habían basado en este sistema y entiendo en la experiencia que ya hay sobre él para la implantación y todos estos problemas de encadenamiento por ejemplo ya estaban más que pensados por Hacienda. En el momento que salga el Reglamento Técnico creo que es cuando van a desvelarse muchas dudas.
Os explico un poco cómo se hace en TicketBAI por si el tema va similar.
Lo primero es que una factura en la cual falla el encadenamiento es "ACEPTADA CON ERRORES"; Es decir, una factura que lleva el encadenamiento mal no se rechaza. Hay situaciones en las que se puede dar esta situación. Algunas son correctas (por ejemplo, cambio de serie al final del año) y otras por situaciones inesperadas (backup/restore después de un error). Lo que es posible que hacienda te pida explicaciones de porqué se ha roto ese encadenamiento y tengas que justificarlo.
Seguramente si tienes 3 errores de encadenamiento en un año no se molesten, pero si cada semana estás enviando "roturas" de encadenamiento te llamarán para saber "qué estás haciendo"

Por otro lado, que una factura sea RECHAZADA, no significa que hacienda no se quede con información de ella.
Por ejemplo, yo he creado estas 3 facturas:


Las tres van encadenadas de forma consecutiva y de esta forma:

viz 2 --> viz 3 err --> viz 4

La primera ACEPTADA (viz 2), la segunda está RECHAZADA (viz 3 err) encadenada con la anterior y la tercera al enviarla está ACEPTADA (y está encadenada con la segunda, que está RECHAZADA).
No hay error de encadenamiento, porque yo las he encadenado bien.
Como la segunda está RECHAZADA, tendré que corregirla o realizar una rectificativa y volver a enviarla por los cauces que me digan (en el caso de TicketBAI hay diferentes formas según la tribitación).

Lo que quiero decir es, que aunque la segunda esté rechazada (eso es a posteriori), sí que entra en el encadenamiento. Ahora mismo la factura no es válida (por el error que sea), pero hacienda sí que se ha quedado con información se esa factura (como debe ser). Porque lo que no vale ahora es decir, "como está RECHAZADA, la borro en mi sistema y la creo nueva" . Hay arreglar esa que ya has enviado.

Hay situaciones en las que sí se puede BORRAR una factura (ANULACION) pero son casos especiales. Una factura, aunque esté RECHAZADA no se puede BORRAR. Hay que corregirla y enviarla de nuevo o rectificarla, según el caso.

Espero haber aclarado algo.
__________________
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: 18-01-2024 a las 08:49:47.
Responder Con Cita
  #1173  
Antiguo 18-01-2024
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 85
Poder: 7
pablog2k Va por buen camino
yo espero que Verifactu sea como ticketbai, como el ejemplo tal cual que ha puesto Neftali
Responder Con Cita
  #1174  
Antiguo 18-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Hay situaciones en las que sí se puede BORRAR una factura (ANULACION) pero son casos especiales. Una factura, aunque esté RECHAZADA no se puede BORRAR. Hay que corregirla y enviarla de nuevo o rectificarla, según el caso.

Espero haber aclarado algo.
Sí que has aclarado, y bastante, muchas gracias al respecte.

Una pregunta (relacionada pero distinta) me queda, sobre estos casos especiales. En el caso que una factura siga enviada (estado S0 en SIF) y luego anulada (estado S2 en SIF), ¿es posible «resucitarla»?
Es decir, cancelar la anulación y recuperar esta factura como legítima y válida. El caso más habitual es el caso de una factura anulada por algún bug en el programa.
En el SII, funciona enviando una transacción A1 sobre la factura dada de baja; así que por paralela, sería encadenar y enviar un registro de rectificación (estado S1 en SIF) con todos los datos sobre la factura que era últimamente marcada borrada. ¿Este caso existe en TicketBAI?
Responder Con Cita
  #1175  
Antiguo 18-01-2024
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: 18.275
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 antoine0 Ver Mensaje
En el caso que una factura siga enviada (estado S0 en SIF) y luego anulada (estado S2 en SIF), ¿es posible «resucitarla»?
¿Este caso existe en TicketBAI?

En el caso de TicketBAI no existe esa posibilidad.
Creas una nueva y la subes.
__________________
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
  #1176  
Antiguo 18-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
En el caso de TicketBAI no existe esa posibilidad.
Creas una nueva y la subes.
Quieres decir qué ¿el sistema te deja «crear» dos facturas con el mismo número?
Responder Con Cita
  #1177  
Antiguo 18-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Poder: 8
sglorka Va por buen camino
Gracias Neftali. Parece que era lo obvio que funcionara así, de lo contrario sería un desastre
Responder Con Cita
  #1178  
Antiguo 18-01-2024
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: 18.275
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 antoine0 Ver Mensaje
Quieres decir qué ¿el sistema te deja «crear» dos facturas con el mismo número?
No.
Factura nueva, número distinto.
Pero creo que eso no tiene que ver con TicketBAI sino con la ley de facturación.

La ley de facturación especifica unos casos muy concretos para poder ANULAR una factura. Lo habitual y lo correcto es RECTFICARLA si hay errores.
Pero si en algún caso DEBES anularla, entiendo que no puedes repetir en número. En ese caso deje un "hueco" y si es necesario justificas la anulación (con las razones pertinentes).

NOTA IMPORTANTE: No soy experto en temas legales así que por favor si alguien ve que esto es incorrecto que lo comente.

A mi personalmente no se me ocurriría repetir y menos si esa factura debe subir luego a algún sitio (SII, TBAI, VERI*FACTU,...). Crep que va a generar más posibles problemas, que no justificar la anulación y el "hueco".

Nosotros en TBAI lo hacemos así:
1) Creo la factura con numero 3000
2) Creo la factura con número 3001
3) Anulo la factura con número 3001
4) La siguiente que creo coge el número 3002
...

Eso en TBAI no da ningún problema.
Si te piden el porqué de la anulación se justifica y ya está.
__________________
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: 18-01-2024 a las 12:08:33.
Responder Con Cita
  #1179  
Antiguo 18-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
No.
Factura nueva, número distinto.
Pero creo que eso no tiene que ver con TicketBAI sino con la ley de facturación. [...]
Vale. Tiene todo el sentido del mundo. Aunque no creo que se debe al reglamento de facturación; me explico:

En el S.I.I. estamos apañando la subida de un número grande de facturas hasta Hacienda. Por tanto el sistema debe gestionar casos complejos de comunicación de sistemas; y si me han pasado unos casos de facturas que he tenido que anular en el S.I.I., han sido por causas relacionadas con bien el sistema de facturación bien la aplicación SII; y cuando hay un bug en una de los dos, pues resulta ser un problema.

En los SIF, igualmente que en TicketBAI, no debe ocurrir «tantos» problemas de anulación por qué debe haber muy pocos casos de anulación y todos tienen que ver con el sistema de facturación. La subida a Hacienda no puede generar problemas dado que lo que se sube es lo que hay en la cadena dentro del SIF, no es una elaboración hecha a posteriori (como sí es el caso del SII en todos los casos donde el SII se ha añadido a un sistema existente; aquí está a mi juicio la razón).

Dónde tienes razón es que los casos de anulación (registros tipo S2+S3 en el SIF, uso del webservice BajaFactuSistemaFacturacion) deben ser estrictamente los enunciados en las normas de aplicación del reglamento de facturación (el reglamento en sí no contempla esta oportunidad).

Cita:
A mi personalmente no se me ocurriría repetir y menos si esa factura debe subir luego a algún sitio (SII, TBAI, VERI*FACTU,...). Crep que va a generar más posibles problemas, que no justificar la anulación y el "hueco".
A mi tampoco se me ocurre. Pero existe una clase que se llama usuarios, que tienen unas ideas distintas a las mías.
Y pasa que cuando descubren una función de anulación, les parece puede apañar problemas que han tenido, digamos que el ratón se ha ido al mal sitio o el ordenador ha presionado la mala tecla o el café se ha vertido o cualquier razón me inventen (son muy ricos en eso), y resulta que les parece bien anular la factura sin pensar en cosas «informáticas» que les parecen chino austral. Y luego vendrán a pedir que se les arregle el programa de [censurado] que no funciona bien porqué no saber pasar la factura que se ha entregado al cliente. ¿Os suena de algo?
Y no me digáis que la función tiene que ser reservada al administrador o al supervisor: los supervisores también pueden tener ideas parecidas (o solo para dar la razón a los usuarios) si les parece razonable hacerlo, sin tener en cuenta las dichosas razones informáticas... Entonces sí debe ser reservada y/o tener doble validación, por supuesto que sí, pero esto no resultará ser una protección suficiente.

Dicho esto, si anulan una factura, la factura quedará como anulada en el SIF y no se podrá «rescatar» o «resucitar» el número. Un problema menos para mí.
Responder Con Cita
  #1180  
Antiguo 18-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por sglorka Ver Mensaje
Sí, se pueden emitir facturas que tenga fecha de emisión distinta de la fecha de registro. El caso más claro es la factura rectificativa por sustitución. Si se emite una factura con error en la fecha de expedición se puede emitir una rectificativa por sustitución con la fecha de expedición correcta, y en este caso, obviamente tendrías fechas diferentes de emisión y registro
Estoy leyendo el reglamento de facturación y no veo esta opción de cambiar la fecha de expedición con una rectificativa.
Entiendo que si has expedido una factura con una fecha incorrecta, puedes emitir una rectificativa por sustitución para subsanar el error. Pero creo qué la fecha de expedición de esta rectificativa será la fecha efectiva que se realice la rectificación, no la fecha que debería haber sido puesta en la factura inicial.

Concretamente en el reglamento, el artículo 15.5 dice que la factura rectificativa deberá cumplir los mismos requisitos que cualquier factura; y no he visto nada que hable de fechas de expedición distinta de la fecha en la cual se expide una factura. (Otras cosas distintas son la fecha de devengo del IVA, o sea la fecha o el periodo de liquidación; y evidentemente está también la fecha de operación, que es un campo distinto y va por sus propias normas, y en el caso de la rectificativa aquí pondría la fecha de la operación inicial; pero estas fechas no son parte de los identificadores de una factura).

Por tanto no veo como una factura en un SIF puede llevar una fecha de expedición que difiere de la fecha del registro S0.

NOTA IMPORTANTE: Igual que Neftali tampoco soy experto en temas legales así que por favor si alguien ve que esto, o el anterior, es incorrecto que lo comente.
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
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 00:48:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi