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
  #1  
Antiguo 29-12-2023
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 154
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Me podrias indicar donde has visto esas posibilidades, solo he enonctrado estas en el xsd y no hacen referencia a invierno, verano...
tldr: es interpretación mía.
Son las tres posibilidades traducidas al castellano y a las abreviaciones usuales; GMT+0 es el huso horario GMT (Greenwich Mean Time) de Gran Bretaña y Canarias en invierno; GMT+1 es el huso horario del horario de verano en Gran Bretaña (BST, British Summer Time) y en Canarias, y también es el horario de invierno en el continente (CET, Continental o Central Europe Time) y entonces de la península (menos Portugal); y GMT+2 es el horario de verano en el continente (CEDT, Continental o Central Europe Daylight Time).
Todo esto, pendiente de posible cambios legislativos en las alternancias en los horarios de verano, por tanto es un poco mejor quedarse con GMT+x que poner «horario de invierno».

Sin embargo, el problema lo veo en las exportaciones, donde hay dos fechas distintas pero tal como se ve en el registro de eventos solo hay un huso horario; y me teme que habrá cosas “interesantes” cuando el periodo será los meses de marzo (sobrará una hora del 1 de abril) u octubre (faltará una hora al final del mes)...

Última edición por antoine0 fecha: 29-12-2023 a las 11:32:23. Razón: inversión en efectos del cambio de hora
Responder Con Cita
  #2  
Antiguo 29-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
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.
Responder Con Cita
  #3  
Antiguo 29-12-2023
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 949
Poder: 3
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.
Responder Con Cita
  #4  
Antiguo 29-12-2023
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 154
Poder: 3
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.
Responder Con Cita
  #5  
Antiguo 29-12-2023
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 154
Poder: 3
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...
Responder Con Cita
  #6  
Antiguo 29-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
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.
Responder Con Cita
  #7  
Antiguo 29-12-2023
nincillo nincillo is offline
Miembro
 
Registrado: may 2017
Posts: 151
Poder: 8
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.
Responder Con Cita
  #8  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 187
Poder: 4
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.
Responder Con Cita
  #9  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 187
Poder: 4
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
Responder Con Cita
  #10  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_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.
Responder Con Cita
  #11  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 118
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
  #12  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 187
Poder: 4
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
  #13  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 118
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
  #14  
Antiguo 23-01-2024
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
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 ?
Responder Con Cita
  #15  
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
  #16  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 118
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
  #17  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 118
Poder: 8
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.
Responder Con Cita
  #18  
Antiguo 17-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 154
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
  #19  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 118
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
  #20  
Antiguo 17-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 154
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
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 09:59:27.


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