Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice (https://www.clubdelphi.com/foros/showthread.php?t=91252)

antoine0 12-03-2024 13:19:46

Cita:

Empezado por rci (Mensaje 554886)
Siguiendo la FAQ 3.28 el ejemplo 1 he enviado una factura hecha a un cliente francés y aplicando el IVA del 20% de Francia.
El precio sin IVA es 200€, al cliente se le ha cobrado 220€
[...]
Hasta el momento enviamos siempre el importe total aunque sea opcional.
En la siguiente prueba he hecho el mismo envío pero sin especificar el importe total y ya ha sido aceptada sin errores.

Tal como explica keys el valor correcto para el campo ImporteTotal (si lo indicas) es 200.00 euros, el importe total después de impuestos directos españoles.

Desde el principio no me gusta demasiado esto, y por tanto he usado la licencia de no poner el ImporteTotal en tales casos que no se corresponde bien con lo que pone la factura real.
Pero las dos maneras (200 o nada) son correctas para el SII 1.1.
Mientras que 220 euros no lo es.

rci 12-03-2024 16:04:54

Muchas gracias Keys y antoine0 por las respuestas.
Sabiendo que las dos opciones son correctas me quedo mas tranquilo.

Saludos

jlmoli_67 18-03-2024 18:25:21

Buenas tardes,


Si hago una factura simplificada sin identificar a un cliente y este me pide dos dias despues y dentro del periodo de liquidacion que se la haga nominativa .... puedo anular la factura mediante una serie para abonos y hacer una nueva factura ya con sus datos?



Muchas gracias

newtron 19-03-2024 10:02:49

Cita:

Empezado por jlmoli_67 (Mensaje 555013)
Buenas tardes,


Si hago una factura simplificada sin identificar a un cliente y este me pide dos dias despues y dentro del periodo de liquidacion que se la haga nominativa .... puedo anular la factura mediante una serie para abonos y hacer una nueva factura ya con sus datos?



Muchas gracias


Yo lo hago así.


Saludos.

jlmoli_67 19-03-2024 11:39:52

Gracias por la respuesta

keys 19-03-2024 11:44:08

El sistema te lo va a aceptar. Pero yo creo que es mejor emitir otra factura de tipo F3, que realmente es lo que estas haciendo. Y vale tanto como si estas o no dentro del periodo de liquidación.

oxtanc 27-03-2024 15:31:57

Problemas Envio SII
 
Hola a todos, agradecería vuestra ayuda. Actualmente tengo unos 100 Certificados Digitales Instalados en mi Pc de Desarrollo. Tenía problemas a la hora de Seleccionar el Certificado Digital cuando lo buscaba por Nombre. Debido a ello he tenido que modificar código y realizar las búsquedas por Numero de Serie (lo podemos obtener del propio certificado Digital). Os lo adjunto aquí por si le sirve de ayuda a alguien:

Código Delphi [-]
PROCEDURE TFPrincipal.HTTPRIO1HTTPWebNode1BeforePost(
  CONST HTTPReqResp: THTTPReqResp; Data: Pointer);
VAR
  Store: IStore;
  Certs: ICertificates;
  Cert: ICertificate2;
  CertContext: ICertContext;
  PCertContext: PCCERT_CONTEXT;
  CertSerialKey: OleVariant;
  I: integer;
CONST
  INTERNET_OPTION_CLIENT_CERT_CONTEXT = 84;
BEGIN
  CertSerialKey := 'xxxx3464D7A0xxxx6513E73A7439xxxx';

  Store := CoStore.Create;
  Store.Open(CAPICOM_CURRENT_USER_STORE, 'MY', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
  Certs := Store.Certificates AS ICertificates2;


  IF Certs.Count > 0 THEN
    FOR i := 1 TO Certs.Count DO
    BEGIN
      Cert := IInterface(Certs.Item[i]) AS ICertificate2;
      IF Cert.SerialNumber = CertSerialKey THEN
      BEGIN
        Cert := IInterface(Certs.Item[i]) AS ICertificate2;
        CertContext := Cert AS ICertContext;
        CertContext.Get_CertContext(Integer(PCertContext));
        IF InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, PCertContext, Sizeof(CERT_CONTEXT)) = False THEN
        BEGIN
          ShowMessage('Internet SSL certificate. Something went wrong');
        END;
      END;
    END
  ELSE
    ShowMessage('Internet SSL certificate. Not Certificates Installed');

END;

De otro lado, tras actualizar las direcciones del WebService de la AEAT no consigo consigo que funcione el servicio y o bien se me responde que el XML no esá bien conformado (Falta el Periodo de Liquidación) cuando en el xml se incluye o que puedes establecer una comunicacion el servidor de la aeat en la direccion defURL (estoy enviando en prueblas, dao que estaba modificando código).

Las URL del WS de pruebas son:
Código Delphi [-]
CONST
  defWSDL = '..../aeat/ssii_1_1_bis/fact/ws/SuministroFactEmitidas.wsdl';
 
  defURL = '....prewww1.aeat.es/wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP';
  defSvc = 'siiService';
  defPrt = 'SuministroFactEmitidasPruebas';

La respuesta cuando me la envia es

Código Delphi [-]

env:Client
Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: PeriodoLiquidacion

Y el XML Enviado es este, donde podeis comprobar que si se incluye el nodo PeriodoLiquidacion:
Código:

<SuministroLRFacturasEmitidas>
<Cabecera>
<IDVersionSii>1.1</IDVersionSii>
<Titular>
<NombreRazon>xxxxx</NombreRazon>
<NIF>xxxxx</NIF>
</Titular>
<TipoComunicacion>A0</TipoComunicacion>
</Cabecera>
<RegistroLRFacturasEmitidas>
<PeriodoLiquidacion>
<Ejercicio>2024</Ejercicio>
<Periodo>1T</Periodo>
</PeriodoLiquidacion>

Agradecería Vuestra ayuda, llevo 4 días con este tema y no consigo resolverlo.

pablog2k 27-03-2024 15:43:55

nosotros el nodo lo montamos así:
<PeriodoLiquidacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<Ejercicio>2024</Ejercicio>
<Periodo>03</Periodo>
</PeriodoLiquidacion>

de hecho esa parte del xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd" la tenemos metida en un montón de nodos, porque creo que sino no tragaba (esto lo hicimos al principio de entrar el SII en vigor).
Revisa en este hilo los xml que pone la gente, y compáralos con lo que estás enviando, por si fuera eso.

oxtanc 28-03-2024 11:45:13

Gracias Pablo, de todas formas la conexion al WS sigue tirandome el error:

No se puede establecer la conexion con el servidor
Código:

prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFRV1SOAP
Que es la dirección del WS. He probado a desactivar el Firewall, he probado en distintas versiones del Windows y ya no sé por donde tirar.

He compilado con Xe7 e incluso con un D7. Los resultados son los mismos.

Alguna sugerencia... algo que se me escape?

Gracias!

pablog2k 28-03-2024 12:40:05

Si estas subiendo facturas recibidas, la dirección está mal, es esta:
https://prewww1.aeat.es/wlpl/SSII-FA...iiFactFRV1SOAP

oxtanc 28-03-2024 14:33:32

Cita:

Empezado por pablog2k (Mensaje 555159)
Si estas subiendo facturas recibidas, la dirección está mal, es esta:
...prewww1.aeat.es/wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP

No Pablo! Intentando subir emitidas y recibidas. El error que tengo es que no se puede establecer la Conexion con El Servidor en las dos URL (Emitidas y Recibidas). Es una excepcion SOAP. Intentado en equipos con W10 y W7. No puedo ponerte una captura para que lo veas. Tengo claro que en la URL fe emitidas y fr = Recibidas.

Gracias de nuevo

antoine0 28-03-2024 16:02:45

Cita:

Empezado por oxtanc (Mensaje 555154)
No se puede establecer la conexion con el servidor
Código:

prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFRV1SOAP

Estas dos letras deben ser las mismas. Dos E o dos R.
Tu las tienes mezcladas.

oxtanc 29-03-2024 01:44:02

Cita:

Empezado por antoine0 (Mensaje 555161)
Estas dos letras deben ser las mismas. Dos E o dos R.
Tu las tienes mezcladas.

Gracias Antoine (lo que viste en el POST es un corta y pega y se me cruzó la letra)
El error no es por eso, las URL las tengo bien (Cogidas de los wdsl) y de la Web de Preproduccion que es a donde envio los XML para probar online. De hecho he probado emitidas y recibidas y obtengo las respuestas online sin problemas.

Web Preproduccion AEAT
... prewww1.aeat.es/static_files/common/internet/dep/explotacion/ws/ClienteWSAEAT2.html

De hecho las tenemos ahí:
...wlpl//SSII-FACT/ws/fe/SiiFactFEV1SOAP para emitidas
y /wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP para recibidas. Y hay unas cuantas más

El problema es un error de comunicación, Literalmente : SOAPHttpException no se puede establecer conexion con el servidor en la dirección de las emitidas o de las recibidas. Sospecho que es un problema de las librerias, o de la versión de TLS o ni idea. La cuestión es que he probado en Xe7 y D7, en W10 y en w11 y siempre obtengo el mismo error.
Imagino que habrá una solución tratando de evitar SOAP. Admito sugerencias!

rci 05-04-2024 12:18:29

Ventanilla Única OSS sin tener el CIF del comprador
 
Hola nos encontramos con unas dudas con un contribuyente concreto.

El contribuyente vende muy a menudo a clientes franceses con el IVA de Francia del 20%.
Para enviar esas facturas a SII lo hacemos siguiendo la documentación de SII, utilizando la clave de régimen especial 17 y consignado el precio sin IVA en el campo no sujeta por reglas de localización del bloque no sujeta.
Al ser una factura completa indicamos la claveTipoFactura F1
Para identificar la contraparte (el comprador) usamos la clave idOtro.IDType = 06 (Otro documento probatorio) y ponemos el número de identificación que se haya proporcionado.

El problema es que en muchas ocasiones el contribuyente no dispone del número de identificación del comprador, no tiene su NIF, y en la factura indica un 0.
Hemos hecho pruebas enviando ese valor 0 en el campo ID y las facturas son aceptadas sin problema, pero no sabemos si es lo correcto.

Como seria la forma correcta de hacer una factura con IVA de otro país de la UE (OSS) sin disponer del NIF del comprador?

El contribuyente propone poner claveTipoFactura F2 como si fuera una factura simplificada pero realmente es una factura completa.

Si intenta hacer una factura simplificada, nuestro programa no las envía una a una sino dentro de un asiento resumen de simplificadas y esta es rechazada porque el IVA 20% no es admitido. No enviamos los resúmenes de simplificadas con la clave 17

Como lo hacéis vosotros en este caso?


Muchas gracias

antoine0 11-04-2024 12:51:39

Cita:

Empezado por rci (Mensaje 555240)
Hola nos encontramos con unas dudas con un contribuyente concreto.

El contribuyente vende muy a menudo a clientes franceses con el IVA de Francia del 20%.
Para enviar esas facturas a SII lo hacemos siguiendo la documentación de SII, utilizando la clave de régimen especial 17 y consignado el precio sin IVA en el campo no sujeta por reglas de localización del bloque no sujeta.
Al ser una factura completa indicamos la claveTipoFactura F1
Para identificar la contraparte (el comprador) usamos la clave idOtro.IDType = 06 (Otro documento probatorio) y ponemos el número de identificación que se haya proporcionado.

El problema es que en muchas ocasiones el contribuyente no dispone del número de identificación del comprador, no tiene su NIF, y en la factura indica un 0.

Estamos hablando de OSS (ventanilla única), ¿verdad?

Yo preguntaría a Hacienda, para que desarrollan un poco más la FAQ del SII sobre el asunto.
Los clientes (compradores) son clientes finales extranjeros, que no pueden recuperar IVA (TVA, VAT, MWst) en su país. Por tanto, en el https://www.boe.es/buscar/act.php?id...-2012-14696#a6 parágrafo 1. d) no veo obligación de poner un número de identificación fiscal, ninguno de los tres casos se aplican.
No sé cual es la regla correcta en el SII para tal caso, donde no hay obligación legal de suministrar la información (hasta donde veo) pero el SII ha decidido que se debía poner esta información.:confused:
A lo mejor hay que poner un número de recibo en el sistema OSS; o el número de inscripción en la ventanilla única. Ellos deben saber.

Cita:

El contribuyente propone poner claveTipoFactura F2 como si fuera una factura simplificada pero realmente es una factura completa.
A mi me parece una mala solución, ya que se está quitando de la factura la información del nombre del destinatario. Y creo que al comprador final sí le importa que la factura lleve su nombre (para cualquier próposito tipo seguro).

Cita:

Si intenta hacer una factura simplificada, nuestro programa no las envía una a una sino dentro de un asiento resumen de simplificadas y esta es rechazada porque el IVA 20% no es admitido. No enviamos los resúmenes de simplificadas con la clave 17
Ahora es un problema de tu programa. Esta factura (en España) está no sujeta por razón de territorio; por tanto en la suma del asiento resumen, debe aparecer como tal, no como base imponible al 20% o cualquier cosa similar.

Zento 11-04-2024 12:59:24

Buenas.

Desde hace un rato nos devuelve este error el envío de recibidas:

Código:

Unable to load WSDL File/Location: https://www.agenciatributaria.es/static_files/AEAT/Contenidos_Comunes/La_Agencia_Tributaria/Modelos_y_formularios/Suministro_inmediato_informacion/FicherosSuministros/V_1_1/SuministroFactRecibidas.wsdl
En ocasiones anteriores ha sido por un fallo de la propia AEAT. ¿Alguien me podría confirmar si está funcionando el servicio o me tengo que liar a mirar cambios?

Edito: Veo que esa URL da un 404 así que algo debo de tener desactualizado o lo acaban de cambiar.

keys 11-04-2024 13:09:59

Hola creo que tienes mal el camino.

Pon UseWsdl a false y te curas en salud.

rci 11-04-2024 13:47:03

Cita:

Empezado por antoine0 (Mensaje 555342)
Estamos hablando de OSS (ventanilla única), ¿verdad?

Yo preguntaría a Hacienda, para que desarrollan un poco más la FAQ del SII sobre el asunto.
Los clientes (compradores) son clientes finales extranjeros, que no pueden recuperar IVA (TVA, VAT, MWst) en su país. Por tanto, en el https://www.boe.es/buscar/act.php?id...-2012-14696#a6 parágrafo 1. d) no veo obligación de poner un número de identificación fiscal, ninguno de los tres casos se aplican.
No sé cual es la regla correcta en el SII para tal caso, donde no hay obligación legal de suministrar la información (hasta donde veo) pero el SII ha decidido que se debía poner esta información.:confused:
A lo mejor hay que poner un número de recibo en el sistema OSS; o el número de inscripción en la ventanilla única. Ellos deben saber.


A mi me parece una mala solución, ya que se está quitando de la factura la información del nombre del destinatario. Y creo que al comprador final sí le importa que la factura lleve su nombre (para cualquier próposito tipo seguro).


Ahora es un problema de tu programa. Esta factura (en España) está no sujeta por razón de territorio; por tanto en la suma del asiento resumen, debe aparecer como tal, no como base imponible al 20% o cualquier cosa similar.

Muchas gracias antoine0

Si es la ventanilla unica OSS.

Pregunté a hacienda mediante Informa+ pero no me han contestado, dice que pueden tardar maximo 3 meses en responder:(

Zento 11-04-2024 14:12:00

Cita:

Empezado por keys (Mensaje 555345)
Hola creo que tienes mal el camino.

Pon UseWsdl a false y te curas en salud.


Pues sí, sin WSDL y usando las rutas directas que en ellos aparecen, a funcionar. Gracias.


Se han cargado el WSDL que había colgado en el primer resultado de Google cuando buscas "sii 1.1 wsdl" que imagino sería el que cogimos en su día.

seccion_31 12-04-2024 08:39:21

Hola !

Tengo el mismo problema que Zento:

Unable to load WSDL File/Location: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl. Error [No se encontró el encabezado solicitado - URL:https://www2.agenciatributaria.gob.e...tEmitidas.wsdl - SOAPAction:""]

Y el fichero:

https://www2.agenciatributaria.gob.e...tEmitidas.wsdl

aparentemente esta ahi y no da error 404.


En 2018 ya paso esto mismo y era problema de la AEAT

A las 9 tratare de hablar con ellos y lo posteare.

Pero si alguien tiene una solucion, agradecere que lo posteen.

(He intentado probar la solucion de Keys no la he entendido bien, y me da error: "clase no registrada...")

Saludos


La franja horaria es GMT +2. Ahora son las 00:14:50.

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