Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Errores (relacionados con al AEAT) (https://www.clubdelphi.com/foros/forumdisplay.php?f=78)
-   -   Error ObligadoEmision (Petición SOAP) (https://www.clubdelphi.com/foros/showthread.php?t=97412)

IvannVerano 16-04-2025 20:27:01

Error ObligadoEmision (Petición SOAP)
 
Buenas tardes!

Estoy intentando integrar el servicio web de Verifactu de la AEAT para el envío de facturas y estoy teniendo problemas con el campo ObligadoEmision.

El error que obtengo es:
Código:

Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: ObligadoEmision
Mi implementación:

Estoy enviando una petición SOAP al endpoint de pruebas: prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP

Con los siguientes headers:
Código:

Content-Type: text/xml;charset=UTF-8
SOAPAction: "www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RegFactuSistemaFacturacion"
Accept: text/xml, application/xml, application/soap+xml


Y este es el XML que envío:
Código:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
    xmlns:soapenv="schemas.xmlsoap.org/soap/envelope/"
    xmlns:sum="www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"
    xmlns:sum1="www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <soapenv:Header/>
  <soapenv:Body>
      <sum:RegFactuSistemaFacturacion>
        <sum:Cabecera>
            <sum1:IDVersion>1.0</sum1:IDVersion>
            <sum1:ObligadoEmision>
              <sum1:NombreRazon>EMPRESA DE PRUEBA S.L.</sum1:NombreRazon>
              <sum1:NIF>A39200019</sum1:NIF>
            </sum1:ObligadoEmision>
            <sum1:RemisionVoluntaria>
              <sum1:Incidencia>N</sum1:Incidencia>
            </sum1:RemisionVoluntaria>
        </sum:Cabecera>
        <sum:RegistroFactura>
            <sum1:RegistroAlta>
              <sum1:IDVersion>1.0</sum1:IDVersion>
              <sum1:IDFactura>
                  <sum1:IDEmisorFactura>A39200019</sum1:IDEmisorFactura>
                  <sum1:NumSerieFactura>FACT2025-001</sum1:NumSerieFactura>
                  <sum1:FechaExpedicionFactura>16-04-2025</sum1:FechaExpedicionFactura>
              </sum1:IDFactura>
              <sum1:RefExterna>FACT2025-001</sum1:RefExterna>
              <sum1:NombreRazonEmisor>EMPRESA DE PRUEBA S.L.</sum1:NombreRazonEmisor>
              <sum1:Subsanacion>N</sum1:Subsanacion>
              <sum1:RechazoPrevio>N</sum1:RechazoPrevio>
              <sum1:TipoFactura>F1</sum1:TipoFactura>
              <sum1:DescripcionOperacion>Venta de servicios software</sum1:DescripcionOperacion>
              <sum1:Destinatarios>
                  <sum1:IDDestinatario>
                    <sum1:NombreRazon>CLIENTE PRUEBA SL</sum1:NombreRazon>
                    <sum1:NIF>89890002E</sum1:NIF>
                  </sum1:IDDestinatario>
              </sum1:Destinatarios>
              <sum1:Desglose>
                  <sum1:DetalleDesglose>
                    <sum1:Impuesto>01</sum1:Impuesto>
                    <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
                    <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
                    <sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
                    <sum1:BaseImponibleOimporteNoSujeto>1500.00</sum1:BaseImponibleOimporteNoSujeto>
                    <sum1:CuotaRepercutida>315.00</sum1:CuotaRepercutida>
                  </sum1:DetalleDesglose>
              </sum1:Desglose>
              <sum1:ImporteTotal>1815.00</sum1:ImporteTotal>
              <sum1:CuotaTotal>315.00</sum1:CuotaTotal>
              <sum1:SistemaInformatico>
                  <sum1:NombreRazon>EMPRESA DE PRUEBA S.L.</sum1:NombreRazon>
                  <sum1:NIF>A39200019</sum1:NIF>
                  <sum1:NombreSistemaInformatico>Sistema Prueba</sum1:NombreSistemaInformatico>
                  <sum1:IdSistemaInformatico>77</sum1:IdSistemaInformatico>
                  <sum1:Version>1.0.03</sum1:Version>
                  <sum1:NumeroInstalacion>A39200019</sum1:NumeroInstalacion>
                  <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
                  <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
                  <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
              </sum1:SistemaInformatico>
              <sum1:FechaHoraHusoGenRegistro>2025-04-16T18:07:57+01:00</sum1:FechaHoraHusoGenRegistro>
              <sum1:TipoHuella>01</sum1:TipoHuella>
            </sum1:RegistroAlta>
        </sum:RegistroFactura>
      </sum:RegFactuSistemaFacturacion>
  </soapenv:Body>
</soapenv:Envelope>

He revisado que:

-El certificado digital es válido y se está enviando correctamente
-Los namespaces están definidos correctamente
-El campo ObligadoEmision está presente en la cabecera con NombreRazon y NIF
-La estructura del XML sigue el esquema de ejemplo proporcionado por la AEAT

He modificado mi XML para incluir:
- La sección RemisionVoluntaria en la Cabecera (que antes me faltaba)
- Los campos Subsanacion y RechazoPrevio en el RegistroAlta
- La sección Desglose antes de ImporteTotal y CuotaTotal

A pesar de estas modificaciones, sigo recibiendo el mismo error sobre ObligadoEmision.

¿Alguien ha tenido un problema similar o puede indicarme qué estoy haciendo mal?

Gracias de antemano y disculpad mi ignorancia, pero me estoy volviendo loco con esto.

bmfranky 17-04-2025 09:01:17

Cita:

Empezado por IvannVerano (Mensaje 563858)
Buenas tardes!

Estoy intentando integrar el servicio web de Verifactu de la AEAT para el envío de facturas y estoy teniendo problemas con el campo ObligadoEmision.

El error que obtengo es:
Código:

Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: ObligadoEmision
Mi implementación:

Estoy enviando una petición SOAP al endpoint de pruebas: prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP

Con los siguientes headers:
Código:

Content-Type: text/xml;charset=UTF-8
SOAPAction: "www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RegFactuSistemaFacturacion"
Accept: text/xml, application/xml, application/soap+xml

Y este es el XML que envío:
Código:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
    xmlns:soapenv="schemas.xmlsoap.org/soap/envelope/"
    xmlns:sum="www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"
    xmlns:sum1="www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <soapenv:Header/>
  <soapenv:Body>
      <sum:RegFactuSistemaFacturacion>
        <sum:Cabecera>
            <sum1:IDVersion>1.0</sum1:IDVersion> Esto no va aqui, va solo en el registro de alta, seguramente al detectar esto indica el error que falta obligado emisor que es lo p rimero a encontrar, pruebe e indiqueme si vario algo.
            <sum1:ObligadoEmision>
              <NombreRazon>EMPRESA DE PRUEBA S.L.</NombreRazon> Las etiquetas son limpias.
              <NIF>A39200019</NIF>
            </sum1:ObligadoEmision>
            <sum1:RemisionVoluntaria>
              <sum1:Incidencia>N</sum1:Incidencia>
            </sum1:RemisionVoluntaria>
        </sum:Cabecera>
        <sum:RegistroFactura>
            <sum1:RegistroAlta>
              <sum1:IDVersion>1.0</sum1:IDVersion>
              <sum1:IDFactura>
                  <sum1:IDEmisorFactura>A39200019</sum1:IDEmisorFactura>
                  <sum1:NumSerieFactura>FACT2025-001</sum1:NumSerieFactura>
                  <sum1:FechaExpedicionFactura>16-04-2025</sum1:FechaExpedicionFactura>
              </sum1:IDFactura>
              <sum1:RefExterna>FACT2025-001</sum1:RefExterna>
              <sum1:NombreRazonEmisor>EMPRESA DE PRUEBA S.L.</sum1:NombreRazonEmisor>
              <sum1:Subsanacion>N</sum1:Subsanacion>
              <sum1:RechazoPrevio>N</sum1:RechazoPrevio>
              <sum1:TipoFactura>F1</sum1:TipoFactura>
              <sum1:DescripcionOperacion>Venta de servicios software</sum1:DescripcionOperacion>
              <sum1:Destinatarios>
                  <sum1:IDDestinatario>
                    <sum1:NombreRazon>CLIENTE PRUEBA SL</sum1:NombreRazon>
                    <sum1:NIF>89890002E</sum1:NIF>
                  </sum1:IDDestinatario>
              </sum1:Destinatarios>
              <sum1:Desglose>
                  <sum1:DetalleDesglose>
                    <sum1:Impuesto>01</sum1:Impuesto>
                    <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
                    <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
                    <sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
                    <sum1:BaseImponibleOimporteNoSujeto>1500.00</sum1:BaseImponibleOimporteNoSujeto>
                    <sum1:CuotaRepercutida>315.00</sum1:CuotaRepercutida>
                  </sum1:DetalleDesglose>
              </sum1:Desglose>
              <sum1:ImporteTotal>1815.00</sum1:ImporteTotal>
              <sum1:CuotaTotal>315.00</sum1:CuotaTotal>
              <sum1:SistemaInformatico>
                  <sum1:NombreRazon>EMPRESA DE PRUEBA S.L.</sum1:NombreRazon>
                  <sum1:NIF>A39200019</sum1:NIF>
                  <sum1:NombreSistemaInformatico>Sistema Prueba</sum1:NombreSistemaInformatico>
                  <sum1:IdSistemaInformatico>77</sum1:IdSistemaInformatico>
                  <sum1:Version>1.0.03</sum1:Version>
                  <sum1:NumeroInstalacion>A39200019</sum1:NumeroInstalacion>
                  <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
                  <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
                  <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
              </sum1:SistemaInformatico>
              <sum1:FechaHoraHusoGenRegistro>2025-04-16T18:07:57+01:00</sum1:FechaHoraHusoGenRegistro>
              <sum1:TipoHuella>01</sum1:TipoHuella>
            </sum1:RegistroAlta>
        </sum:RegistroFactura>
      </sum:RegFactuSistemaFacturacion>
  </soapenv:Body>
</soapenv:Envelope>

He revisado que:

-El certificado digital es válido y se está enviando correctamente
-Los namespaces están definidos correctamente
-El campo ObligadoEmision está presente en la cabecera con NombreRazon y NIF
-La estructura del XML sigue el esquema de ejemplo proporcionado por la AEAT

He modificado mi XML para incluir:
- La sección RemisionVoluntaria en la Cabecera (que antes me faltaba)
- Los campos Subsanacion y RechazoPrevio en el RegistroAlta
- La sección Desglose antes de ImporteTotal y CuotaTotal

A pesar de estas modificaciones, sigo recibiendo el mismo error sobre ObligadoEmision.

¿Alguien ha tenido un problema similar o puede indicarme qué estoy haciendo mal?

Gracias de antemano y disculpad mi ignorancia, pero me estoy volviendo loco con esto.

Hola, esta formando el xml a pelo?
Es que esta mal formado, le he puesto indicaciones en el xml que posteo.

IvannVerano 17-04-2025 11:43:14

Hola!

Si, lo estoy haciendo a pelo para probar. Era lo que tu decías! Ese problema ya lo tengo resuelto, ahora el error que me devuelve es FechaHoraHusoGenRegistro, entiendo que no le estoy pasando correctamente el formato, pensaba que era YYYY-MM-DD. ¿Cuál es el formato correcto?


Un saludo y muchas gracias!!


EDITO:

Ya me coge el formato de la fecha, es yyy-MM-dd'T'HH:mm:ssK por si a alguien le interesa. Os iré comentando si me encuentro con algún error más

IvannVerano 17-04-2025 12:08:38

He conseguido avanzar, pero tengo ahora otro error

Código:

(codigo 1110)

El NIF no está identificado en el censo de la AEAT.. NIF:89890002E. NOMBRE_RAZON:CLIENTE EJEMPLO

Alguien sabe que NIF puedo utilizar para las pruebas?


Gracias!!

rci 17-04-2025 12:09:54

Cita:

Empezado por IvannVerano (Mensaje 563878)
Ya me coge el formato de la fecha, es yyy-MM-dd'T'HH:mm:ssK por si a alguien le interesa.

Aquí falta una y, el año con 4 dígitos

Cita:

Empezado por IvannVerano (Mensaje 563879)
He conseguido avanzar, pero tengo ahora otro error

Código:

(codigo 1110)
El NIF no está identificado en el censo de la AEAT.. NIF:89890002E. NOMBRE_RAZON:CLIENTE EJEMPLO

Alguien sabe que NIF puedo utilizar para las pruebas?
Gracias!!

Tiene que ser uno real, o hacer una factura simplificada, sin destinatario

gcqZW 21-04-2025 08:03:18

Si es con el certificado de pruebas usa este: A39200019 con nombreRazon: PRUEBAS CERTIFICADO, debería tragarlo sin errores.

rci 22-04-2025 09:32:05

Cita:

Empezado por gcqZW (Mensaje 563902)
Si es con el certificado de pruebas usa este: A39200019 con nombreRazon: PRUEBAS CERTIFICADO, debería tragarlo sin errores.

Ah pues tienes razón gcqZW

Los datos asociados a los certificados de pruebas de la AEAT también sirven como destinatarios válidos para las facturas. Pensaba que no, porque en la validación de CIF/NIF con el webservice de la AEAT contesta "no identificado". Pero si no haces esa validación previa y utilizas esos datos igualmente, al enviar a Veri*Factu se aceptan.

Tanto los datos de persona jurídica:

99999910G PRUEBAS CERTIFICADO

Como el de persona física:

CERTIFICADO FISICA PRUEBAS 99999910G

De hecho en la razón social puedes poner algún dato aproximado en este caso y también los acepta


La franja horaria es GMT +2. Ahora son las 20:15:27.

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