Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Hola a tod@s.


Dándole vueltas a este tema se me ocurren mil problemas que vamos a tener a la hora de enviar los datos y uno de ellos es que el NIF y nombre del cliente sean válidos. Imagino que si se intenta subir una factura con un nif erróneo el servidor chillará y la devolverá como no válida y a partir de ahí no sé cómo actuar, sobre todo si el cliente ya no está y no hay forma de comprobar y corregir ese dato.


Se puede hacer una consulta mediante webservice para confirmar que el nif+nombre es correcto pero estoy pensando en que se necesita hacer la llamada con un certificado válido y me temo que los clientes no van a instalar certificados en todos los posibles terminales de la red y que usen el programa. ¿Qué se os ocurre al respecto? porque ando un poco perdido con este asunto.


Gracias y un saludo.
__________________
Be water my friend.
  #2  
Antiguo 29-12-2023
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Hola a tod@s.


Dándole vueltas a este tema se me ocurren mil problemas que vamos a tener a la hora de enviar los datos y uno de ellos es que el NIF y nombre del cliente sean válidos. Imagino que si se intenta subir una factura con un nif erróneo el servidor chillará y la devolverá como no válida y a partir de ahí no sé cómo actuar, sobre todo si el cliente ya no está y no hay forma de comprobar y corregir ese dato.


Se puede hacer una consulta mediante webservice para confirmar que el nif+nombre es correcto pero estoy pensando en que se necesita hacer la llamada con un certificado válido y me temo que los clientes no van a instalar certificados en todos los posibles terminales de la red y que usen el programa. ¿Qué se os ocurre al respecto? porque ando un poco perdido con este asunto.


Gracias y un saludo.
Hola
Va a haber varios escenarios. Nif, nie, cifs..
Los códigos de identificacion españoles tienen algoritmo de comprobación y son verificables, como bien dices por webservice con un certificado, los extranjeros se los comen todos si los ponen en id_otro
Por tanto, si no instalas un certificado, que además esté vigente, sólo puedes comprobar con el algoritmo y además te pueden decir nombres erroneos, es muy frecuente en los autonomos ypor erro4, que el cliente te de un nombre xomerxial de empresa con un cif.
Que yo sepa, las verificaciones que suelen hacer es solo que el cif b
Nif(español) cumple el algoritmo(numero de caracteres y cálculo de letra/s)
Otra cosa es que hagan, posteriormente, comprobaciones, pero es raro que sancionen por eso.
  #3  
Antiguo 29-12-2023
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 260
Poder: 5
antoine0 Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Dándole vueltas a este tema se me ocurren mil problemas que vamos a tener a la hora de enviar los datos y uno de ellos es que el NIF y nombre del cliente sean válidos. Imagino que si se intenta subir una factura con un nif erróneo el servidor chillará y la devolverá como no válida y a partir de ahí no sé cómo actuar, sobre todo si el cliente ya no está y no hay forma de comprobar y corregir ese dato.
Con el SII hemos tenido problemas parecidos y recuerdo (pero de esto hay años) algunas facturas han sido «parcialmente aceptadas» cuando el nombre del cliente no era lo que esperaba Hacienda. Me parece que el mecanismo prevé un caso parecido, dónde después de recibir esta respuesta de aceptación parcial, tienes más tiempo para ir a buscar el cliente y pedirle su nombre correcto, o alternativamente comprobar por ensayos sucesivos como está registrado exactamente en Hacienda usando el portal de Hacienda (nos ha pasado un par de veces con clientes del este de Asia donde el orden de los nombres y apellidos puede variar, luego era intentar varias combinaciones), luego registrar un registro de corrección (tipo S1, alta sustitutiva) y pasarlo a Hacienda.
Creo que es la forma correcta de hacerlo; con la condición que Hacienda te acepte parcialmente el registro inicial.

De hecho, aparentemente con este mecanismo de alta sustitutiva se puede «cambiar» un montón de datos de la factura, tanto en el destinatario como en los importes. Mmmm.
  #4  
Antiguo 29-12-2023
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 260
Poder: 5
antoine0 Va por buen camino
¿Alguien sabe lo que hay que rellenar en el campo <FechaExpedicionFacturaRegistroAnterior> de tipo "fecha" para el primer registro?
He visto que los campos <NumSerieFacturaRegistroAnterior> y <HuellaRegistroAnterior> tienen tamaño mínima de 0 caracteres, por tanto pueden quedar vacíos para tal caso (que está identificado en el RDL, 10.1.ñ). Pero el tipo "fecha" solo acepta cadenas de 10 caracteres con dígitos y guiones, y debe haber algún valor mágico...
  #5  
Antiguo 29-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Entiendo que estáis haciendo pruebas generando los registros aunque sin enviarlos.


¿Habéis averiguado algo en relación al registro de cabecera+lineas?


Saludos.
__________________
Be water my friend.
  #6  
Antiguo 29-12-2023
nincillo nincillo is offline
Miembro
 
Registrado: may 2017
Posts: 190
Poder: 10
nincillo Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Entiendo que estáis haciendo pruebas generando los registros aunque sin enviarlos.


¿Habéis averiguado algo en relación al registro de cabecera+lineas?


Saludos.
He estado revisando pruebas de Agosto del 22 y en la versión 0,1 si que existía la cabecera.
  #7  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
edari Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Hola a tod@s.


Dándole vueltas a este tema se me ocurren mil problemas que vamos a tener a la hora de enviar los datos y uno de ellos es que el NIF y nombre del cliente sean válidos. Imagino que si se intenta subir una factura con un nif erróneo el servidor chillará y la devolverá como no válida y a partir de ahí no sé cómo actuar, sobre todo si el cliente ya no está y no hay forma de comprobar y corregir ese dato.


Se puede hacer una consulta mediante webservice para confirmar que el nif+nombre es correcto pero estoy pensando en que se necesita hacer la llamada con un certificado válido y me temo que los clientes no van a instalar certificados en todos los posibles terminales de la red y que usen el programa. ¿Qué se os ocurre al respecto? porque ando un poco perdido con este asunto.


Gracias y un saludo.


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

Con el tema del Werbservice de Hacienda para validarlos, alguien sabe como se debería lanzarlo con curl?

Gracias

Última edición por edari fecha: 17-01-2024 a las 10:27:36.
  #8  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
edari Va por buen camino
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
  #9  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 114
Poder: 3
_Io Va por buen camino
Hola edari

Estos códigos que has puesto, son los del envío a la AEAT, o es el formato con el que se registra cada factura?.

Muchas Gracias.
  #10  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 548
Poder: 10
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
  #11  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
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?
  #12  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 548
Poder: 10
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
  #13  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 332
Poder: 6
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
  #14  
Antiguo 23-01-2024
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 21
celades1 Va por buen camino
Calculo de la Huella

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?
Estoy intentando generar la huella , ¿ Debo quitar espacios en blanco entre nodos y saltos de línea antes de enviar la huella o no ?
¿ Donde puedo hacer la prueba para ver si la huella que genero es correcta ?
  #15  
Antiguo 23-01-2024
CarlosMz CarlosMz is offline
Miembro
 
Registrado: jul 2020
Posts: 140
Poder: 6
CarlosMz Va por buen camino
Buenas,
cómo se calcula la huella del registro de facturación actual antes de enviarlo por GetsfSOAP ?

Muchas gracias
  #16  
Antiguo 23-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por celades1 Ver Mensaje
¿ Debo quitar espacios en blanco entre nodos y saltos de línea antes de enviar la huella o no ?
Negativo, debes calcular la huella desde el inicio del nodo <sum:RegistroFacturacion> hasta el fin del nodo </sum:RegistroFacturacion>, donde las etiquetas de inicio y fin deben estar incluidas. Ojo no se calcula la huella del fichero completo, entre otras cosas por que la huella debe estar incluida en el fichero y no podrias calcularla incluyendola antes.
-No puedes quitar ningún caracter, ni espacios, ni tabuladores, ni saltos de linea ni retornos de carro, ni ningún otro caracter especial que esté incluido entre esas 2 etiquetas.
-Para hacer pruebas en alguna web hay que tener en cuenta que los caracteres especiales a veces no se pegan correctamente, con lo cual puedes copiar el nodo en otro fichero para hacer la prueba desde fichero en vez de copiar y pegar, pero recuerda que un salto de línea, por ejemplo después del último caracter, te va a cambiar totalmente el cálculo de la huella (sha256).
-La duda quedaría sí después de la etiqueta de cierre del nodo </sum:RegistroFacturacion>, hay un salto de línea o retorno de carro, ¿habría que cogerlos o no para el cálculo?, en este caso lo que algunos hemos hecho es pegar el inicio del siguiente nodo al final de este y quitar todos los caracteres que poudieran haber entre ambos y nos ahorramos esa duda.

Cita:
Empezado por celades1 Ver Mensaje
¿ Donde puedo hacer la prueba para ver si la huella que genero es correcta ?
Aquí te dejo una web para que puedas probar, tanto desde fichero como con copiar y pegar
https://hash.online-convert.com/es/generador-sha256

Última edición por ermendalenda fecha: 23-01-2024 a las 10:21:35.
  #17  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 114
Poder: 3
_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.
  #18  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 548
Poder: 10
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
  #19  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 114
Poder: 3
_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.
  #20  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 548
Poder: 10
sglorka 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 sólo el Nif o el nombre del cliente pueden causarte este problema. También puedes tener problemas que causen el rechazo por otros motivos, tipos impositivos inexistentes (5,5% p.e.), clave del tipo de factura erróneo (F16), tipo de registro de alta erróneo (T8). Y todo esto ocurre cuando ya has generado 10 registros de facturación perfectamente encadenamos y cuando los vas a enviar (por que el control de flujo te ha marcado que hasta que no tengas 10 registros no los envíes ) resulta que se produce el rechazo de los registros 1,3 y 7 y los demás te han entrado correctamente, o no te han entrado aunque fueran correctos pero la aeat te rechaza todo el paquete. ¿ Qué hacemos ?
Yo trasladé una consulta parecida al correo de Verifactu y su respuesta fue :

Buenos días:

Tras consultarlo con los responsables, para esta casuística no podemos ofrecerle más información por el momento.
Actualmente, se está estudiando internamente cómo realizar el encadenamiento de facturas cuando existe algún rechazo por parte de la AEAT. En la futura Orden Ministerial se darán más detalles al respecto, y se incluirá en las FAQ de la sede electrónica de la AEAT.

Atentamente,
AEAT.
Tema Cerrado


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 08:29:02.


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