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

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #3681  
Antiguo 07-03-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
A ver, que esto está empezando a volverme loco...

He creado el XML y lo he revisado con la utilidad de "invocación de webservice de la AEAT" para comprobar si es válido:
https://prewww1.aeat.es/static_files...teWSAEAT2.html

La respuesta del servidor es "Correcto".

Por lo tanto, entiendo que en el XML que genero está todo bien, pero por algún motivo el componente HTTPRIO no está leyendo la respuesta porque me devuelve el error:

Received content of invalid content-type setting: text/html - SOAP expects "text/xml"

Entiendo que en el SII no hay que firmar el XML, solo el envío. Esto lo hago en el evento OnNeedCertificate:

Código:
    for I := 0 to ACertificateList.Count - 1 do
    begin
        if i=strtointdef(comboCertificate.items.SelectedItem.Hint,0) then
        begin
            AnIndex := I;
            Exit;
        end;
    end;
El envío lo hago usando el HTTPRIO, que no es que me guste pero no sé si hay otra forma de hacerlo (En TicketBAI y VeriFactu uso NetHTTPRequest y NetHTTPClient).

Código:
    try
      // se hace la llamada a la funcion suministrada por el WS
      if ENTORNO_DE_PRUEBAS then
          begin
              HTTPRIO1.WSDLLocation := 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
              HTTPRIO1.Service := 'siiService';
              HTTPRIO1.Port := 'SuministroFactEmitidasPruebas';
              HTTPRIO1.URL := 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          end
          else
          begin
              HTTPRIO1.WSDLLocation := 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
              HTTPRIO1.Service := 'siiService';
              HTTPRIO1.Port := 'SuministroFactEmitidas';
              HTTPRIO1.URL := 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
          end;
          result := GetsiiSOAP(false,HTTPRIO1.URL,HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      //mostrar los resultados devueltos por la llamada
      for i := low(result.RespuestaLinea) to High(result.RespuestaLinea) do
      begin
          with result.RespuestaLinea[i] do
          begin
            //si el estado no es correcto, se muestran los errores
            if EstadoRegistro <> EstadoRegistroType(0) then
            begin
                showmessage('Error ' + InttoStr(CodigoErrorRegistro)+#13#10+DescripcionErrorRegistro);
                error:=DescripcionErrorRegistro;
            end
            else
            begin
                spain.Table1.edit;
                spain.Table1.FieldByName('ID_HACIENDA').AsString:=result.CSV;
                spain.Table1.Post;
            end;
          end;
      end;
    except
      On E:Exception do
        MessageDlg(E.Message, mtError, [mbOK], 0);
    end;
¿Alguien puede decirme si el envío lo está haciendo de la misma manera o si ve algo raro en lo anterior?

He probado también a hacer el envío con el componente NetHTTPClient para ver qué pasa. En ese caso, como respuesta obtengo un código html de una página de la AEAT (eso explica el error si uso HTTPRIO, estoy obteniendo como respuesta una página html en vez de un xml).

¿Puede alguien confirmarme si las URL que estoy usando y la forma de llamar a GetsiiSOAP() es correcta? Algo me dice que el envío está abriendo otra página, o algo similar, y por eso devuelve html y no xml.
La firma del envío la hago en el evento OnNeedCertificate del HTTPRIO. No creo que eso esté mal porque lleva funcionando así siempre.

¿Será que debo usar otro certificado distinto? ¿Hay que darse de alta en algún sitio primero? ¿Puedo usar certificados de prueba? ¿Debe el nombre del emisor coincidir con el nombre en el certificado?

La verdad es que ya no sé qué más probar. Funcionaba todo bien hasta hace unos días (al menos a mi cliente). Y ahora tanto él como yo no podemos enviar al entorno de pruebas.

Pues con más razón compañero, haz lo que te digo y prueba en una máquina con W10 a ver si W11 va a tener algún tipo de configuración especial con los nuevos protocolos de seguridad de la aeat.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #3682  
Antiguo 07-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.130
Poder: 23
keys Va por buen camino
En windows 11 funciona correctamente. Lo único que te puedo decir es que pases un pequeño proyecto sólo con el envío de una factura y te lo puedo probar.
Responder Con Cita
  #3683  
Antiguo 07-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Cita:
Empezado por keys Ver Mensaje
En windows 11 funciona correctamente. Lo único que te puedo decir es que pases un pequeño proyecto sólo con el envío de una factura y te lo puedo probar.
Gracias, keys. He creado un mini-proyecto de prueba. Lo he simplificado al máximo, pero se puede ver el funcionamiento básico para generar el XML y hacer el envío.
He incluido también el archivo .pas que se genera al importar el wsdl.

Los datos del emisor, cliente, etc. son ficticios en este proyecto (en mis pruebas uso NIFs y nombres reales).

Lo de asignar certificado tendrías que completarlo tu si quieres compilar y probar el código, pero no creo que haga falta porque tampoco tiene mucha ciencia el proceso de firmar el envío.
Yo me he asegurado de que el certificado que uso para el envío es el correcto (mostrando en pantalla el nombre del certificado que se asigna al HTTPRIO en el momento de hacer anIndex := xxxx).

Total, que espero que puedas decirme si tienes algo diferente.

Me da rabia porque viendo los primeros mensajes del foro, hay mensajes míos de 2019 en el que conseguí enviar facturas sin problema con el mismo proyecto.
Pero más rabia me da saber que hasta hace 1 semana mi cliente podía enviar sin problemas sin haber tocado nada

OJO, probando ESTE mini proyecto, ahora PUEDO ENVIAR FACTURAS.

Ahora sí que no entiendo nada. He copiado/pegado el código y los componentes de un proyecto a otro.
Archivos Adjuntos
Tipo de Archivo: zip sii-project.zip (126,1 KB, 5 visitas)

Última edición por espinete fecha: 07-03-2025 a las 14:48:17.
Responder Con Cita
  #3684  
Antiguo 07-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Creo que el problema está en cómo asigno el certificado durante el envío.

Asignando el certificado con un simple anindex := 1, puedo enviar, obtener los mensajes de error, etc.

Pero asignando el certificado tal como lo tenía...

Código:
for I := 0 to ACertificateList.Count - 1 do
    begin
        if i=strtointdef(comboCertificate.items.SelectedItem.Hint,0) then
        begin
            AnIndex := I;
            Exit;
        end;
    end;
...es cuando obtengo el dichoso error de text/html.

Ya podría el webservice responder de otra manera.

En fin, que está claro que el problema está en el certificado. Tengo que ver qué ha cambiado, o a qué corresponde ese "anindex" porque está claro que no coincide con el index que yo creía que tenía mi certificado.
Responder Con Cita
  #3685  
Antiguo 10-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.130
Poder: 23
keys Va por buen camino
En el delphi 12.2 el componente THTTPRIO ha cambiado. Ya el certificado no se le indica de la misma manera. Ahora pasa por un evento OnNeedClientCertificate donde hay que indicarle el certificado por el cual tienes que enviar.

En ese evento te pasa una lista con los certificados que hay disponible ACertificateList: TCertificateList, y elegir el que quieres usar en la variable AnIndex. Te pongo como lo hago yo.
Código Delphi [-]
for var x := 0 to  ACertificateList.Count - 1 do
     begin
       if Pos(AnsiUpperCase(Certificado), AnsiUpperCase(ACertificateList.Items[x].Subject) ) <> 0 then
         if ACertificateList.Items[x].Expiry >= Now then
           begin
             AnIndex := x;
             Encontrado := true;
             break;
           end;
     end;

 if not Encontrado then ERROR;
Certificado es el que usuario ha seleccionado en un combobox. En ACertificateList.Items[x] tienes una serie de propiedades para identificar el certificado que tu quieres usar.

Yo creo que el webservice no te estaba contestando nada por que ni siquiera estás llegando a enviar. Otra de las ventajas del nuevo componente es que ya no hace falta el capicom para acceder a los certificado.

No te lo pruebo ya que veo que has encontrado el problema. Si tienes lago más di si te puedo ayudar.

Última edición por Casimiro Notevi fecha: 10-03-2025 a las 10:07:29.
Responder Con Cita
  #3686  
Antiguo 11-03-2025
Danfter Danfter is offline
Registrado
 
Registrado: mar 2025
Posts: 3
Poder: 0
Danfter Va por buen camino
Post Error respuesta ATCN namespaces multiples

Buenas tardes,
En un cliente nos han pedido desarrollar el envió de facturas a la agencia tributaria canaria ATCN, estamos teniendo problemas en la respuesta que obtenemos ya que viene codificada con varios namespaces en vez de que nos lo devuelva con el esquema RespuestaSuministro.xsd tal y como hace la AEAT, nos lo devuelve de esta manera ( a todos las las url de los esquemas le he quitado el porque no me dejaba publicar ) :

Código:
xmlns:ns4="h t t ps://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaSuministro.xsd" 
xmlns:ns3="h t t ps://w w w2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/ConsultaLR.xsd"
xmlns:ns2="h t t ps://w w w2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" 
xmlns="h t t ps://w w w2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd"
¿Alguien sabe cual puede ser el problema?


XML envio
Código:
<soapenv:Envelope xmlns:soapenv="h t t p://schemas.xmlsoap.org/soap/envelope/" 
xmlns:siiLR="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" 
xmlns:sii="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<siiLR:SuministroLRFacturasEmitidas>
<sii:Cabecera>
<sii:IDVersionSii>1.0</sii:IDVersionSii>
<sii:Titular>
<sii:NombreRazon>Empresa, S.A.</sii:NombreRazon>
<sii:NIF>B00000001</sii:NIF>
</sii:Titular>
<sii:TipoComunicacion>A0</sii:TipoComunicacion>
</sii:Cabecera>
<siiLR:RegistroLRFacturasEmitidas>
<sii:PeriodoLiquidacion>
<sii:Ejercicio>2025</sii:Ejercicio>
<sii:Periodo>03</sii:Periodo>
</sii:PeriodoLiquidacion>
<siiLR:IDFactura>
<sii:IDEmisorFactura>
<sii:NIF>B00000001</sii:NIF>
</sii:IDEmisorFactura>
<sii:NumSerieFacturaEmisor>FV/010/25-03-000007</sii:NumSerieFacturaEmisor>
<sii:FechaExpedicionFacturaEmisor>10-03-2025</sii:FechaExpedicionFacturaEmisor>
</siiLR:IDFactura>
<siiLR:FacturaExpedida>
<sii:TipoFactura>F1</sii:TipoFactura>
<sii:FechaOperacion>10-03-2025</sii:FechaOperacion>
<sii:ClaveRegimenEspecialOTrascendencia>01</sii:ClaveRegimenEspecialOTrascendencia>
<sii:ImporteTotal>3085.5</sii:ImporteTotal>
<sii:DescripcionOperacion>Factura FV101323/FACTURAS VENTA</sii:DescripcionOperacion>
<sii:RefExterna>FV/010/25-03-000007</sii:RefExterna>
<sii:EmitidaPorTercerosODestinatario>N</sii:EmitidaPorTercerosODestinatario>
<sii:Contraparte>
<sii:NombreRazon>Cliente, S.L.U</sii:NombreRazon>
<sii:NIF>B00000002</sii:NIF>
</sii:Contraparte>
<sii:TipoDesglose>
<sii:DesgloseTipoOperacion>
<sii:Entrega>
<sii:Sujeta>
<sii:NoExenta>
<sii:TipoNoExenta>S1</sii:TipoNoExenta>
<sii:DesgloseIGIC>
<sii:DetalleIGIC>
<sii:TipoImpositivo>7</sii:TipoImpositivo>
<sii:BaseImponible>2550</sii:BaseImponible>
<sii:CuotaRepercutida>178.5</sii:CuotaRepercutida>
</sii:DetalleIGIC>
</sii:DesgloseIGIC>
</sii:NoExenta>
</sii:Sujeta>
</sii:Entrega>
</sii:DesgloseTipoOperacion>
</sii:TipoDesglose>
</siiLR:FacturaExpedida>
</siiLR:RegistroLRFacturasEmitidas>
</siiLR:SuministroLRFacturasEmitidas>
</soapenv:Body>
</soapenv:Envelope>

Código:
XML de respuesta 
<soap:Envelope xmlns:soap="h t t p ://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns4:RespuestaLRFacturasEmitidas xmlns:ns5="h t t p s://w w w 2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaConsultaLR.xsd"
xmlns:ns4="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaSuministro.xsd" 
xmlns:ns3="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/ConsultaLR.xsd" 
xmlns:ns2="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" xmlns="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd">
<ns4:Cabecera>
<IDVersionSii>1.0</IDVersionSii>
<Titular>
<NombreRazon>Empresa, S.A.</NombreRazon>
<NIF>B00000001</NIF>
</Titular>
<TipoComunicacion>A0</TipoComunicacion>
</ns4:Cabecera>
<ns4:EstadoEnvio>Incorrecto</ns4:EstadoEnvio>
<ns4:RespuestaLinea>
<ns4:IDFactura>
<IDEmisorFactura>
<NIF>B00000001</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>FV/010/25-03-000007</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>10-03-2025</FechaExpedicionFacturaEmisor>
</ns4:IDFactura>
<ns4:RefExterna>FV/010/25-03-000007</ns4:RefExterna>
<ns4:EstadoRegistro>Incorrecto</ns4:EstadoRegistro>
<ns4:CodigoErrorRegistro>3000</ns4:CodigoErrorRegistro>
<ns4:DescripcionErrorRegistro>Factura duplicada</ns4:DescripcionErrorRegistro>
<ns4:CSV>PYAB4P7KJMQ65VLG</ns4:CSV>
<ns4:RegistroDuplicado>
<EstadoRegistro>Correcta</EstadoRegistro>
</ns4:RegistroDuplicado>
</ns4:RespuestaLinea>
</ns4:RespuestaLRFacturasEmitidas>
</soap:Body>
</soap:Envelope>
Gracias un saludo a todos
Responder Con Cita
  #3687  
Antiguo 11-03-2025
Danfter Danfter is offline
Registrado
 
Registrado: mar 2025
Posts: 3
Poder: 0
Danfter Va por buen camino
Y otro de los problemas que tengo es que prácticamente todo el día devuelve error 500 todos y cada uno de los servicios web, no se si están desplegando algún cambio o simplemente estoy haciendo algo mal en el envió, pero por ejemplo con la AEAT no tenemos ningún problema
Cita:
Empezado por Danfter Ver Mensaje
Buenas tardes,
En un cliente nos han pedido desarrollar el envió de facturas a la agencia tributaria canaria ATCN, estamos teniendo problemas en la respuesta que obtenemos ya que viene codificada con varios namespaces en vez de que nos lo devuelva con el esquema RespuestaSuministro.xsd tal y como hace la AEAT, nos lo devuelve de esta manera ( a todos las las url de los esquemas le he quitado el porque no me dejaba publicar ) :

Código:
xmlns:ns4="h t t ps://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaSuministro.xsd" 
xmlns:ns3="h t t ps://w w w2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/ConsultaLR.xsd"
xmlns:ns2="h t t ps://w w w2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" 
xmlns="h t t ps://w w w2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd"
¿Alguien sabe cual puede ser el problema?


XML envio
Código:
<soapenv:Envelope xmlns:soapenv="h t t p://schemas.xmlsoap.org/soap/envelope/" 
xmlns:siiLR="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" 
xmlns:sii="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<siiLR:SuministroLRFacturasEmitidas>
<sii:Cabecera>
<sii:IDVersionSii>1.0</sii:IDVersionSii>
<sii:Titular>
<sii:NombreRazon>Empresa, S.A.</sii:NombreRazon>
<sii:NIF>B00000001</sii:NIF>
</sii:Titular>
<sii:TipoComunicacion>A0</sii:TipoComunicacion>
</sii:Cabecera>
<siiLR:RegistroLRFacturasEmitidas>
<sii:PeriodoLiquidacion>
<sii:Ejercicio>2025</sii:Ejercicio>
<sii:Periodo>03</sii:Periodo>
</sii:PeriodoLiquidacion>
<siiLR:IDFactura>
<sii:IDEmisorFactura>
<sii:NIF>B00000001</sii:NIF>
</sii:IDEmisorFactura>
<sii:NumSerieFacturaEmisor>FV/010/25-03-000007</sii:NumSerieFacturaEmisor>
<sii:FechaExpedicionFacturaEmisor>10-03-2025</sii:FechaExpedicionFacturaEmisor>
</siiLR:IDFactura>
<siiLR:FacturaExpedida>
<sii:TipoFactura>F1</sii:TipoFactura>
<sii:FechaOperacion>10-03-2025</sii:FechaOperacion>
<sii:ClaveRegimenEspecialOTrascendencia>01</sii:ClaveRegimenEspecialOTrascendencia>
<sii:ImporteTotal>3085.5</sii:ImporteTotal>
<sii:DescripcionOperacion>Factura FV101323/FACTURAS VENTA</sii:DescripcionOperacion>
<sii:RefExterna>FV/010/25-03-000007</sii:RefExterna>
<sii:EmitidaPorTercerosODestinatario>N</sii:EmitidaPorTercerosODestinatario>
<sii:Contraparte>
<sii:NombreRazon>Cliente, S.L.U</sii:NombreRazon>
<sii:NIF>B00000002</sii:NIF>
</sii:Contraparte>
<sii:TipoDesglose>
<sii:DesgloseTipoOperacion>
<sii:Entrega>
<sii:Sujeta>
<sii:NoExenta>
<sii:TipoNoExenta>S1</sii:TipoNoExenta>
<sii:DesgloseIGIC>
<sii:DetalleIGIC>
<sii:TipoImpositivo>7</sii:TipoImpositivo>
<sii:BaseImponible>2550</sii:BaseImponible>
<sii:CuotaRepercutida>178.5</sii:CuotaRepercutida>
</sii:DetalleIGIC>
</sii:DesgloseIGIC>
</sii:NoExenta>
</sii:Sujeta>
</sii:Entrega>
</sii:DesgloseTipoOperacion>
</sii:TipoDesglose>
</siiLR:FacturaExpedida>
</siiLR:RegistroLRFacturasEmitidas>
</siiLR:SuministroLRFacturasEmitidas>
</soapenv:Body>
</soapenv:Envelope>

Código:
XML de respuesta 
<soap:Envelope xmlns:soap="h t t p ://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns4:RespuestaLRFacturasEmitidas xmlns:ns5="h t t p s://w w w 2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaConsultaLR.xsd"
xmlns:ns4="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaSuministro.xsd" 
xmlns:ns3="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/ConsultaLR.xsd" 
xmlns:ns2="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" xmlns="agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd">
<ns4:Cabecera>
<IDVersionSii>1.0</IDVersionSii>
<Titular>
<NombreRazon>Empresa, S.A.</NombreRazon>
<NIF>B00000001</NIF>
</Titular>
<TipoComunicacion>A0</TipoComunicacion>
</ns4:Cabecera>
<ns4:EstadoEnvio>Incorrecto</ns4:EstadoEnvio>
<ns4:RespuestaLinea>
<ns4:IDFactura>
<IDEmisorFactura>
<NIF>B00000001</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>FV/010/25-03-000007</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>10-03-2025</FechaExpedicionFacturaEmisor>
</ns4:IDFactura>
<ns4:RefExterna>FV/010/25-03-000007</ns4:RefExterna>
<ns4:EstadoRegistro>Incorrecto</ns4:EstadoRegistro>
<ns4:CodigoErrorRegistro>3000</ns4:CodigoErrorRegistro>
<ns4:DescripcionErrorRegistro>Factura duplicada</ns4:DescripcionErrorRegistro>
<ns4:CSV>PYAB4P7KJMQ65VLG</ns4:CSV>
<ns4:RegistroDuplicado>
<EstadoRegistro>Correcta</EstadoRegistro>
</ns4:RegistroDuplicado>
</ns4:RespuestaLinea>
</ns4:RespuestaLRFacturasEmitidas>
</soap:Body>
</soap:Envelope>
Gracias un saludo a todos
Responder Con Cita
  #3688  
Antiguo 11-03-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
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
Tal como te está dicciendo la respuesta, estás enviando un número de factura duplicado:

Código:
<ns4:CodigoErrorRegistro>3000</ns4:CodigoErrorRegistro>
<ns4:DescripcionErrorRegistro>Factura duplicada</ns4:DescripcionErrorRegistro>
__________________
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
  #3689  
Antiguo 11-03-2025
Danfter Danfter is offline
Registrado
 
Registrado: mar 2025
Posts: 3
Poder: 0
Danfter Va por buen camino
El problema no es la respuesta, eso ya se que estoy subiendo la factura duplicada, el problema es que si te fijas en el xml parece que esta aplicando varios esquemas xsd y los numera desde el xmlns hasta el
xmlns:ns4, y luego todas las etiquetas del xml están dentro de ns4 y no dentro de sii o siiLR que es como yo lo he enviado. ¿Tendría alguien algún ejemplo de xml de factura emitida de canarias?


Ejemplo cabecera xml aeat aplica solo el esquema SuministroInformacion.xsd
Código:
<env:Envelope xmlns:env="h t t p://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body Id="Body">
<siiR:RespuestaLRFacturasEmitidas xmlns:sii="h t t p s://w w w 2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"
Ejemplo cabecera xml atcn aplica varios esquemas.

Código:
<soap:Envelope xmlns:soap="h t t p ://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns4:RespuestaLRFacturasEmitidas xmlns:ns5="h t t p s://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaConsultaLR.xsd" 
xmlns:ns4="h t t p s://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/RespuestaSuministro.xsd" 
xmlns:ns3="h t t p s://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/ConsultaLR.xsd" 
xmlns:ns2="h t t p s://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroLR.xsd" 
xmlns="h t t p s://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/igic/ws/SuministroInformacion.xsd">
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Tal como te está dicciendo la respuesta, estás enviando un número de factura duplicado:

Código:
<ns4:CodigoErrorRegistro>3000</ns4:CodigoErrorRegistro>
<ns4:DescripcionErrorRegistro>Factura duplicada</ns4:DescripcionErrorRegistro>
Responder Con Cita
  #3690  
Antiguo 11-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Hola de nuevo...

Ya he conseguido enviar facturas normales, rectificativas de ambos tipos, con varios tipos de IVAB], etc. pero tengo un problema con facturas que tienen artículos con IVA y otros artículos con IVA = 0%.
Entiendo que son facturas Sujetas y no exentas, pero en las que hay un IVA 0% (no sé cual es el motivo concreto).

He estado leyendo posts antiguos, de cuando entró en vigor la posibilidad de enviar facturas con productos con IVA 0%, pero los ejemplos que he encontrado parece que no son válidos ahora, o algo estoy haciendo mal.

He intentado crear el desglose añadiendo el IVA 0% sin indicar Cuota IVA:

Código:
<DesgloseFactura>
<Sujeta>
	<NoExenta>
		<TipoNoExenta>S1</TipoNoExenta>
		<DesgloseIVA>
			<DetalleIVA>
				<TipoImpositivo>0</TipoImpositivo>
				<BaseImponible>25.00</BaseImponible>
			</DetalleIVA>
			<DetalleIVA>
				<TipoImpositivo>21.00</TipoImpositivo>
				<BaseImponible>100.00</BaseImponible>
				<CuotaRepercutida>21.00</CuotaRepercutida>
			</DetalleIVA>
		</DesgloseIVA>
	</NoExenta>
</Sujeta>
</DesgloseFactura>
Pero siempre me devuelve este error: El campo TipoImpositivo debe estar informado con valor distinto de 0 si el campo TipoNoExenta tiene un valor S1 y ClaveRegimenEspecialOTranscedencia o ClaveRegimenEspecialOTrascendenciaAdicional con valor distinto a 03,05,09,16

No sé si debo crear dos desgloses diferentes, o si el problema está en TipoNoExenta o incluso en la Clave/Tipo de Factura (F1...).

He intentado buscar algún ejemplo de factura de este tipo pero no he encontrado nada y ya no sé si es que no es posible emitir este tipo de facturas o qué.

En TicketBAI creo recordar que hay una forma de hacerlo, pero he intentado adaptarlo al SII y no lo consigo. Agradecería que alguien me eche una mano con esto.
Responder Con Cita
  #3691  
Antiguo 11-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
He conseguido generar un XML como el siguiente, que incluye tanto un apartado para el desglose de IVAs distintos a cero, como un apartado Sujeta-Exenta paa el IVA 0%:

Código:
					<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
						<DesgloseFactura>
							<Sujeta>
								<NoExenta>
									<TipoNoExenta>S1</TipoNoExenta>
									<DesgloseIVA>
										<DetalleIVA>
											<TipoImpositivo>21.00</TipoImpositivo>
											<BaseImponible>100.00</BaseImponible>
											<CuotaRepercutida>21.00</CuotaRepercutida>
										</DetalleIVA>
									</DesgloseIVA>
								</NoExenta>
							</Sujeta>
						</DesgloseFactura>
						<DesgloseTipoOperacion>
							<Entrega>
								<Sujeta>
									<Exenta>
										<DetalleExenta>
											<CausaExencion>E6</CausaExencion>
											<BaseImponible>10.00</BaseImponible>
										</DetalleExenta>
									</Exenta>
								</Sujeta>
							</Entrega>
						</DesgloseTipoOperacion>
					</TipoDesglose>
Pero ahora me dice que El XML no cumple el esquema. Falta informar campo obligatorio: TipoDesglose

Y no entiendo por qué, porque el campo existe

Confirmado que sí es posible que en la factura haya parte exenta y parte no exenta. En el formulario de facturas expedidas de la AEAT puedo simular una factura igual, añadiendo una sección Sujeta/Exenta, con su BI y Causa de Exención, y otra parte "Sujeta/No Exenta" con el desglose de IVAs.

PEro es lo que he intentado replicar en el XML y me da ese error. No sé si lo estoy generando mal, si hay que poner primero el IVA 0% o qué pasa.
Responder Con Cita
  #3692  
Antiguo 12-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Buenos días.

Sigo liado con esto. No consigo entender todas las variantes de DesgloseFactura, DesgloseTipoOperacion, cuándo usar una y cuándo usar otra.
Mi cliente necesita que en una misma factura haya productos con IVA y otros con IVA = 0. Es lo único que sé. No sé el motivo, y creo que ese es el problema, porque entiendo que lo que influye en esto es si es una entrega de bienes, cliente extranjero, etc. Tampoco es que el cliente ayude mucho con la información que me ha dado.

Lo que está claro es que esto no me ha funcionado:

Código:
<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
	<DesgloseFactura>
	<Sujeta>
		<NoExenta>
			<TipoNoExenta>S1</TipoNoExenta>
			<DesgloseIVA>
				<DetalleIVA>
					<TipoImpositivo>21.00</TipoImpositivo>
					<BaseImponible>100.00</BaseImponible>
					<CuotaRepercutida>21.00</CuotaRepercutida>
				</DetalleIVA>
			</DesgloseIVA>
		</NoExenta>
	</Sujeta>
	</DesgloseFactura>
	<DesgloseTipoOperacion>
	<Entrega>
		<Sujeta>
			<Exenta>
				<DetalleExenta>
					<CausaExencion>E6</CausaExencion>
					<BaseImponible>10.00</BaseImponible>
				</DetalleExenta>
			</Exenta>
		</Sujeta>
	</Entrega>
	</DesgloseTipoOperacion>
</TipoDesglose>
He encontrado este ejemplo en el hilo, pero tampoco sé si es lo correcto o si solo es una de las decenas de variantes que pueda haber. Lo de DesgloseFactura y DesgloseTipoOperacion de verdad que no sé por qué la lían de esta manera:

Código:
<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
	<DesgloseTipoOperacion>
		<Entrega>
			<Sujeta>
				<Exenta>
					<DetalleExenta>
						<CausaExencion>E6</CausaExencion>
						<BaseImponible>125.00</BaseImponible>
					</DetalleExenta>
				</Exenta>
				<NoExenta>
					<TipoNoExenta>S1</TipoNoExenta>
					<DesgloseIVA>
						<DetalleIVA>
							<TipoImpositivo>21.00</TipoImpositivo>
							<BaseImponible>100.00</BaseImponible>
							<CuotaRepercutida>21.00</CuotaRepercutida>
						</DetalleIVA>
					</DesgloseIVA>
				</NoExenta>
			</Sujeta>
		</Entrega>
	</DesgloseTipoOperacion>
</TipoDesglose>
Responder Con Cita
  #3693  
Antiguo 12-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.130
Poder: 23
keys Va por buen camino
Por norma general si el cliente es nacional tiene que ir por desglose de factura, y no hay que diferenciar entre bienes o servicios. Si es extranjero va por tipo de operación. En cuanto a las exentas tienes que saber el tipo de exención es, para indicarlo en la causa.
Responder Con Cita
  #3694  
Antiguo 12-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Al final he conseguido generarlo de esta manera:

Código:
<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<DesgloseTipoOperacion>
	<Entrega>
		<Sujeta>
			<Exenta>
				<DetalleExenta>
					<CausaExencion>E6</CausaExencion>
					<BaseImponible>100.00</BaseImponible>
				</DetalleExenta>
			</Exenta>
			<NoExenta>
				<TipoNoExenta>S1</TipoNoExenta>
				<DesgloseIVA>
					<DetalleIVA>
						<TipoImpositivo>21.00</TipoImpositivo>
						<BaseImponible>100.00</BaseImponible>
						<CuotaRepercutida>21.00</CuotaRepercutida>
					</DetalleIVA>
				</DesgloseIVA>
			</NoExenta>
		</Sujeta>
	</Entrega>
</DesgloseTipoOperacion>
</TipoDesglose>
He leído que una factura NO puede contener ambos bloques juntos DesgloseFactura y DesgloseTipoOperacion, así que he optado por usar DesgloseTipoOperacion cuando se trate de facturas raras como esta.
Responder Con Cita
  #3695  
Antiguo 12-03-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
Al final he conseguido generarlo de esta manera:

Código:
<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<DesgloseTipoOperacion>
    <Entrega>
        <Sujeta>
            <Exenta>
                <DetalleExenta>
                    <CausaExencion>E6</CausaExencion>
                    <BaseImponible>100.00</BaseImponible>
                </DetalleExenta>
            </Exenta>
            <NoExenta>
                <TipoNoExenta>S1</TipoNoExenta>
                <DesgloseIVA>
                    <DetalleIVA>
                        <TipoImpositivo>21.00</TipoImpositivo>
                        <BaseImponible>100.00</BaseImponible>
                        <CuotaRepercutida>21.00</CuotaRepercutida>
                    </DetalleIVA>
                </DesgloseIVA>
            </NoExenta>
        </Sujeta>
    </Entrega>
</DesgloseTipoOperacion>
</TipoDesglose>
He leído que una factura NO puede contener ambos bloques juntos DesgloseFactura y DesgloseTipoOperacion, así que he optado por usar DesgloseTipoOperacion cuando se trate de facturas raras como esta.

Gracias por compartir la solución compañero.
__________________
Be water my friend.
Responder Con Cita
  #3696  
Antiguo 12-03-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 419
Poder: 17
espinete Va camino a la fama
Me da rabia porque le hemos pedido al cliente que nos detalle el tipo de factura que tiene que hacer exactamente (si es intracomunitaria o por cualquier otro motivo) y nos ha respondido "Ya les he enviado la ley, léanla y consulten con su gestor".

Le diré que yo tardo mucho en leer y que, probablemente, hasta finales de Mayo no termine la primeras 10 páginas.
Responder Con Cita
  #3697  
Antiguo 12-03-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
Me da rabia porque le hemos pedido al cliente que nos detalle el tipo de factura que tiene que hacer exactamente (si es intracomunitaria o por cualquier otro motivo) y nos ha respondido "Ya les he enviado la ley, léanla y consulten con su gestor".

Le diré que yo tardo mucho en leer y que, probablemente, hasta finales de Mayo no termine la primeras 10 páginas.

Buen rollito ¿no?.


A mi se me ocurre en principio un ejemplo habitual que son gastos financieros en una factura. Según creo esos gastos no llevarían iva.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #3698  
Antiguo 13-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.130
Poder: 23
keys Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Me da rabia porque le hemos pedido al cliente que nos detalle el tipo de factura que tiene que hacer exactamente (si es intracomunitaria o por cualquier otro motivo) y nos ha respondido "Ya les he enviado la ley, léanla y consulten con su gestor".

Le diré que yo tardo mucho en leer y que, probablemente, hasta finales de Mayo no termine la primeras 10 páginas.
Una factura puede ser exenta o tener partes exentas por muchos motivos. Debería ser el cliente el que te diga el motivo. Ya que por mucho que te sepas la ley si no sabes la naturaleza de la factura poco puedes hacer. Vaya Tela
Responder Con Cita
  #3699  
Antiguo 21-03-2025
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Poder: 5
rci Va por buen camino
Facturas de COMPRA con el IVA de otro país de la UE

Hola, un usuario de nuestro programa me ha mostrado facturas recibidas (facturas de compra) de un proveedor de Portugal, que tienen un IVA del 23%.
Las ha entrado normal como facturas de compra interiores y cuando las envía a SII las rechaza porque el tipo impositivo no es válido.

Como se tienen que enviar esas facturas de compras con un IVA de otro país de la Unión Europea?

En ventas hay la Ventanilla Única (OSS) y ya lo tenemos implementado pero no se si esto existe también en compras y como se debe enviar.

Muchas gracias
Responder Con Cita
  #3700  
Antiguo 24-03-2025
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.130
Poder: 23
keys Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Hola, un usuario de nuestro programa me ha mostrado facturas recibidas (facturas de compra) de un proveedor de Portugal, que tienen un IVA del 23%.
Las ha entrado normal como facturas de compra interiores y cuando las envía a SII las rechaza porque el tipo impositivo no es válido.

Como se tienen que enviar esas facturas de compras con un IVA de otro país de la Unión Europea?

En ventas hay la Ventanilla Única (OSS) y ya lo tenemos implementado pero no se si esto existe también en compras y como se debe enviar.

Muchas gracias
Lo primero que tienes que saber es si se trata de una operación intracomunitaria o no. En compras no hay OSS eso sólo es ventas.
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
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4365 Hace 1 Día 13:22:01
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 14:13:09.


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
Copyright 1996-2007 Club Delphi