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)

marine 24-05-2017 13:57:38

pregunta... en vuestros desarrollos obteneis el certificado "fisico" ???

El objetivo es saber si de alguna manera se podría obtener una cadena de validación donde no sea necesario tener instalado el certificado en el equipo .

El desarrollo lo estoy haciendo en vb.NEt

keys 24-05-2017 14:14:53

Cita:

Empezado por marine (Mensaje 517085)
pregunta... en vuestros desarrollos obteneis el certificado "fisico" ???

El objetivo es saber si de alguna manera se podría obtener una cadena de validación donde no sea necesario tener instalado el certificado en el equipo .

El desarrollo lo estoy haciendo en vb.NEt

Para hacer el envío de esto que yo sepa, siempre hay que hacerlo a través de certificado ya sea por que lo tienes instalado en el equipo o lo tienes en un fichero. En la última reunión que estuve dijeron que iban a implantar también el acceso con clave pin, que es como un certificado temporal que puedes crear en hacienda.

Pero de momento solo con certificados.

figo21 24-05-2017 15:29:54

Cita:

Empezado por marine (Mensaje 517085)
pregunta... en vuestros desarrollos obteneis el certificado "fisico" ???

El objetivo es saber si de alguna manera se podría obtener una cadena de validación donde no sea necesario tener instalado el certificado en el equipo .

El desarrollo lo estoy haciendo en vb.NEt

No tengo ni idea de como se plantea el sistema usando vb.net, pero si te comunicas con la aeat usando curl no necesitas tener el certificado instalado.
Pasas el certificado de PKCS a pem (tanto el certificado como la clave privada), que te puedes guardar donde y como quieras y usarlo para la comunicación.
Aquí tienes un ejemplo con curl (descarga el pdf del segundo post):
https://velneo.es/foros/topic/sistem...ion-a-la-aeat/

Seguro que con vb.net tienes alguna librería para trabajar con curl.


Un saludo.

PASPAS 24-05-2017 15:45:46

Notificaciones AEAT
 
Una respuesta de la AEAT para el tema de mantenernos informados sobre las novedades y nuevas versiones.
Por si os sirve os paso esto ...
Respuesta AEAT

Buenos días:
Se ha habilitado la suscripción a las novedades del SII en formato RSS. De esta forma, Ud. podrá integrar en su Web o ver en su cliente RSS las últimas noticias del Suministro Inmediato de información del IVA con enlaces directos a su contenido completo.
http://www.agenciatributaria.es/AEAT.internet/Inicio/La_Agencia_Tributaria/Campanas/Suministro_Inmediato_de_Informacion_en_el_IVA__SII_/INFORMACION/Novedades/Suscripcion_a_novedades_RSS__SII.shtml
http://www.agenciatributaria.es/AEAT.internet/Inicio/RSS/RSS.html
Atentamente,
AEAT

marine 24-05-2017 15:59:37

Cita:

Empezado por keys (Mensaje 517087)
Para hacer el envío de esto que yo sepa, siempre hay que hacerlo a través de certificado ya sea por que lo tienes instalado en el equipo o lo tienes en un fichero. En la última reunión que estuve dijeron que iban a implantar también el acceso con clave pin, que es como un certificado temporal que puedes crear en hacienda.

Pero de momento solo con certificados.

Gracias! lo tendré en cuenta

marine 24-05-2017 16:01:22

Cita:

Empezado por figo21 (Mensaje 517089)
No tengo ni idea de como se plantea el sistema usando vb.net, pero si te comunicas con la aeat usando curl no necesitas tener el certificado instalado.
Pasas el certificado de PKCS a pem (tanto el certificado como la clave privada), que te puedes guardar donde y como quieras y usarlo para la comunicación.
Aquí tienes un ejemplo con curl (descarga el pdf del segundo post):


Seguro que con vb.net tienes alguna librería para trabajar con curl.


Un saludo.

Muchas gracias , investigaré sobre ello

JJAlf 24-05-2017 16:58:12

Cita:

Empezado por vboloradito (Mensaje 516773)
Cita:

Empezado por JJAlf (Mensaje 516747)
En mi caso no, porque igualmente tengo hacerlo directo contra AEAT y el usar además otro interlocutor me complica la existencia. Pero entiendo que si sólo tuviera que interactuar con ellos, el sistema se 'simplifica', en cuanto a que te olvidas en muchos casos de complejos componentes (THTTPRio, parseadores XML, Certificados, XLDS...) y normalmente te ofrecen dejarles los datos en simples ficheros planos. De las versiones, validaciones y demás se encargan ellos, yo sólo formateo los datos y recibo resultados.
Eso sí, no son precisamente baratos. Lo que ocurre es que muchas veces (como es mi caso) ya trabajan con esas empresas para la recepción y envío de documentos. Lo cual no supone que les vayan a cobrar poco, pero el cliente manda...

Pero si curras con SERES-edicom:
¿Tienes que recoger la respuesta de seres y trasladarla a tu sistema o te quedas solo en seres?.

Si tienes que modificar un nif lo haces en SERES-edicom y luego a mano en tu sistema o lo haces en tu sistema y tienes qeu marcarla para que la vuelva a extraer para enviar a SERES-edicom.

Perdona, he tenido que cambiar de proyecto y hasta ayer no he vuelto a retomar el tema y empezar con la comunicación con edicom.

Efectivamente, hay que hacer todo el trabajo pero dejando a ellos SOLO el envío final. Si hay que modificar algo, se modifica en el sistema del cliente y se vuelve a enviar (se vuelve a generar el fichero y a decirle a edicom que lo envíe), lo mismo que el tratar las respuestas de edicom (que son las respuestas de la AEAT). Bueno, creo que existe un cliente mu chulo, pero yo ahí no entro, espero que sólo sirva para consultar datos.

La cosa es superchunga. De primeras, al usar yo WSDL el mensaje que la AEAT me acepta sin problemas a ellos no les vale porque tiene el englobado SOAP (fácil de quitar) y no tiene los namespaces (sii:, siiLR: ..) que tendría si hubiera hecho el XML a mano basándome en el XSD. Vale, hago la transformación. Pero luego lo que han hecho (en mi caso) es un cliente java para poder comunicarme con su servicio, que no deja de ser un REST, podría haberme comunicado directamente, ¿no?. En fin, dejas el archivo generado en una carpeta y ejecutas un comando para que lo envíe. Y ya está. Puedo averiguar (algo intrincadamente) que el mensaje ha sido tratado por su servidor correctamente. Pero para saber si la AEAT ha dado el ok, tengo que ejecutar un comando para recibir mensajes de respuesta.
Aún estoy esperándolo, para saber cómo voy a casar el mensaje que he enviado esta mañana con su respuesta.

Una odisea.

figo21 24-05-2017 17:10:59

Cita:

Empezado por JJAlf (Mensaje 517098)
Perdona, he tenido que cambiar de proyecto y hasta ayer no he vuelto a retomar el tema y empezar con la comunicación con edicom.

Efectivamente, hay que hacer todo el trabajo pero dejando a ellos SOLO el envío final. Si hay que modificar algo, se modifica en el sistema del cliente y se vuelve a enviar (se vuelve a generar el fichero y a decirle a edicom que lo envíe), lo mismo que el tratar las respuestas de edicom (que son las respuestas de la AEAT). Bueno, creo que existe un cliente mu chulo, pero yo ahí no entro, espero que sólo sirva para consultar datos.

La cosa es superchunga. De primeras, al usar yo WSDL el mensaje que la AEAT me acepta sin problemas a ellos no les vale porque tiene el englobado SOAP (fácil de quitar) y no tiene los namespaces (sii:, siiLR: ..) que tendría si hubiera hecho el XML a mano basándome en el XSD. Vale, hago la transformación. Pero luego lo que han hecho (en mi caso) es un cliente java para poder comunicarme con su servicio, que no deja de ser un REST, podría haberme comunicado directamente, ¿no?. En fin, dejas el archivo generado en una carpeta y ejecutas un comando para que lo envíe. Y ya está. Puedo averiguar (algo intrincadamente) que el mensaje ha sido tratado por su servidor correctamente. Pero para saber si la AEAT ha dado el ok, tengo que ejecutar un comando para recibir mensajes de respuesta.
Aún estoy esperándolo, para saber cómo voy a casar el mensaje que he enviado esta mañana con su respuesta.

Una odisea.

Madre mía, pero si es más complicado eso que comunicarte directamente con la aeat. Aparte de que recibes la respuesta en tiempo real...


Un saludo.

RUBEN_SP 24-05-2017 18:57:44

Cita:

Empezado por xerkan (Mensaje 516964)
Gracias a las personas de este hilo para ayudarnos a todos a adaptar nuestros programas para el nuevo sistema SII, para añadir mi granito de arena incluyo unas modificaciones al ejemplo de newtron (Webservices AEAT Berlin_2) para añadirle mas opciones, este ejemplo era de facturas emitidas asi que tambien lo e adaptado para facturas recibidas

Muchas gracias a tí también. Me he reincorporado, por que al final hemos decidido implentarlo en lugar de subcontratarlo. Si no te importa ¿Cómo me puede descargar ese código?. No me sale adjunto

Muchas gracias de antemano y Saludos

xamminf 24-05-2017 19:03:26

Hola a todos,

Una preguntilla, a ver si fuera fácil:

Necesitaria hacer una consulta multiple a la aeat pero por Numero de Factura y/o nif.

¿ Es posible con la 0.6 ? Me ha parecido que no

¿ Es posible con la 0.7 ? Esta no lo he visto, pero no me sirve si no puedo probarla...

Saludos

PASPAS 24-05-2017 20:30:44

Cita:

Empezado por JJAlf (Mensaje 517098)
Perdona, he tenido que cambiar de proyecto y hasta ayer no he vuelto a retomar el tema y empezar con la comunicación con edicom.

Efectivamente, hay que hacer todo el trabajo pero dejando a ellos SOLO el envío final. Si hay que modificar algo, se modifica en el sistema del cliente y se vuelve a enviar (se vuelve a generar el fichero y a decirle a edicom que lo envíe), lo mismo que el tratar las respuestas de edicom (que son las respuestas de la AEAT). Bueno, creo que existe un cliente mu chulo, pero yo ahí no entro, espero que sólo sirva para consultar datos.

La cosa es superchunga. De primeras, al usar yo WSDL el mensaje que la AEAT me acepta sin problemas a ellos no les vale porque tiene el englobado SOAP (fácil de quitar) y no tiene los namespaces (sii:, siiLR: ..) que tendría si hubiera hecho el XML a mano basándome en el XSD. Vale, hago la transformación. Pero luego lo que han hecho (en mi caso) es un cliente java para poder comunicarme con su servicio, que no deja de ser un REST, podría haberme comunicado directamente, ¿no?. En fin, dejas el archivo generado en una carpeta y ejecutas un comando para que lo envíe. Y ya está. Puedo averiguar (algo intrincadamente) que el mensaje ha sido tratado por su servidor correctamente. Pero para saber si la AEAT ha dado el ok, tengo que ejecutar un comando para recibir mensajes de respuesta.
Aún estoy esperándolo, para saber cómo voy a casar el mensaje que he enviado esta mañana con su respuesta.

Una odisea.

Madre mia , para edicom estas haciendo el trabajo doble no lo veo viable . Espero que no me toque ningun cliente asi.
Ademas gracias por la info porque si veo q alguien lo quiere con edicom lo dejare bien claro que todo el envio y respuesta se trate via edicom.
Yo de ti lo que haria es marcar com exportado a edicomSII y ya esta luego que el cliente entre a su portal para ver el status , lo que estas haciendo es un trabajo de chinos y perdon por la expresion. Encima de lo que cobran te hacen convertir a su gusto y espera q con nuevas version lo q te tocara hacer extra.
Saludos y animo.

Galahad 24-05-2017 20:44:23

dos consultas
 
Hola amigos.
Gracias a todos los que están aportando aquí su granito de arena ayudando con su experiencia/trabajo a otros que estamos empezando en este tema de los servicios web. ^\||/^\||/

Quisiera preguntar un par de cosas...

- ¿ teneís algun problema al enviar de manera consecutiva dos 'libros' diferentes.? . Yo puedo enviar sin problemas cada libro por separado, pero cuando mando dos seguidos , mas o menos así:
Cita:

// envio libro de facturas emitidas
result := SuministroFactEmitidas.GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFactur asEmitidas);
// se procesa y gestiona el resultado
// envio de facturas recibidas
result := GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasRecibidas(ASuministroLRFacturasRecibidas);
con este tipo de envio, se envia el de facturas emitidas sin problemas, pero cuando intenta mandar el segundo, aparece el error : 'Interface not supported', habia pensado en crear otro objeto diferente de tipo httprio1 y utilizarlo, pero es complicado porque tendria que volver a cargar el certificado y además el componente tiene eventos asignados. ¿ se puede 'inicializar' el componente HTTPRIO ?.

- y por último, ¿ como estáís resolviendo el tema del identificador ?, tenemos clientes que utilizan para la serie números, otros caracteres, algunos utilizan separadores tipo '/' o '-', con diferente número de dígitos para el número de factura. Imagino que la base de que funcione el contraste de la aeat es que tanto cliente como proveedor evien el mismo identificador. He preguntado a la agencia tributaria si recomiendan alguna norma específica de codificación pero sigo esperando.

Un saludo, y gracias anticipadas

seccion_31 25-05-2017 07:55:37

Cita:

Empezado por Galahad (Mensaje 517113)
Hola amigos.
Gracias a todos los que están aportando aquí su granito de arena ayudando con su experiencia/trabajo a otros que estamos empezando en este tema de los servicios web. ^\||/^\||/

Quisiera preguntar un par de cosas...

- ¿ teneís algun problema al enviar de manera consecutiva dos 'libros' diferentes.? . Yo puedo enviar sin problemas cada libro por separado, pero cuando mando dos seguidos , mas o menos así:

con este tipo de envio, se envia el de facturas emitidas sin problemas, pero cuando intenta mandar el segundo, aparece el error : 'Interface not supported', habia pensado en crear otro objeto diferente de tipo httprio1 y utilizarlo, pero es complicado porque tendria que volver a cargar el certificado y además el componente tiene eventos asignados. ¿ se puede 'inicializar' el componente HTTPRIO ?.

- y por último, ¿ como estáís resolviendo el tema del identificador ?, tenemos clientes que utilizan para la serie números, otros caracteres, algunos utilizan separadores tipo '/' o '-', con diferente número de dígitos para el número de factura. Imagino que la base de que funcione el contraste de la aeat es que tanto cliente como proveedor evien el mismo identificador. He preguntado a la agencia tributaria si recomiendan alguna norma específica de codificación pero sigo esperando.

Un saludo, y gracias anticipadas

utiliza dos objetos HTTPRIO uno para emitidas y otro para recibidas y listo. ¿no?

Saludos !

Galahad 25-05-2017 09:52:47

Cita:

Empezado por seccion_31 (Mensaje 517121)
utiliza dos objetos HTTPRIO uno para emitidas y otro para recibidas y listo. ¿no?

Saludos !

Bueno, si, tienes razón, lo he hecho y ya funciona. De momento he copiado el componente original y ya está, procuraré no obstante crear el componente en tiempo de ejecución , si voy a enviar varios libros al mismo tiempo queda feo tener diferentes componentes, mejor crearlos en runtime.
Muchas Gracias...

JJAlf 25-05-2017 10:00:19

Cita:

Empezado por Galahad (Mensaje 517113)

- ¿ teneís algun problema al enviar de manera consecutiva dos 'libros' diferentes.? . Yo puedo enviar sin problemas cada libro por separado, pero cuando mando dos seguidos , mas o menos así:

con este tipo de envio, se envia el de facturas emitidas sin problemas, pero cuando intenta mandar el segundo, aparece el error : 'Interface not supported', habia pensado en crear otro objeto diferente de tipo httprio1 y utilizarlo, pero es complicado porque tendria que volver a cargar el certificado y además el componente tiene eventos asignados. ¿ se puede 'inicializar' el componente HTTPRIO ?.

El error 'Interface not supported' suele darse si se lía entre unidades (o sea entre la unit SuministroFactEmitidas y la unit SuministroFactRecibidas, por ejemplo). Por mucho que especifiques la unidad a la que haces referencia, en algún punto se puede liar dado que además muchos tipos iguales están en ambas.
Yo envío libros diferentes consecutivamente sin problemas, eso si, los tengo en unidades distintas. Uso un DataModule común donde meto todo el código común que puedo y de ahí heredo unidades distintas para cada libro, donde tiene la información específica.
Tampoco uso el GETsiiSOAP, que no me permite cambiar el puerto (entre real y pruebas) mas que modificando el código. En vez de ello, hago un
Código Delphi [-]
      with HTTPRIO1 as siiSoAP do
      HPresult := SuministroLRFacturasEmitidas(SumDatos)

RUBEN_SP 25-05-2017 11:00:23

Cita:

Empezado por rafacarpi (Mensaje 516986)
Muchísimas gracias xerkan por el ejemplo y sobre todo por los comentarios en el código, yo tenía montado algo muy parecido en cuanto a las facturas recibidas. Lo comento por si hay alguien buscando ejemplo, este que aporta nuestro compañero es bastante bueno y ya digo, comentado para que se sepa en todo momento con que se está trabajando.

Estoy desarrollandolo para una administración pública y al no cederme le certificado digital para las pruebas cada vez que quiero enviar algo para probar tengo que montar una película. He preguntado a Hacienda pero aún no me han contestado, alguien sabe si dentro de la plataforma de pruebas se puede enviar algo sin certificado, imagino que no porque si esto lleva así desde la primera versión no creo que lo cambien a un mes de la implantación, de ilusiones vive uno.

Gracias a todos los que han aportado en este hilo, tanto a los que preguntan como a los que responden y aportan ejemplos. Gracias de verdad. Gran comunidad.

Hola rafacarpi, ¿De donde has descargado el ejemplo este del que hablas?

Gracias a todos. Ahora que me he vuelto a incorporar al tema veo que habies conseguido lo que al principio parecia una quimera

inyu 25-05-2017 11:08:20

Estoy teniendo problemas declarando una factura emitida con un TipoConDesglose (entrega de bienes) en .NET, me dice que Entrega es de TipoSINdesglose... me ha dado por mirar la referencia al servicio creada automáticamente y me encuentro con:


Código:

Partial Public Class TipoConDesgloseType
        Inherits Object
        Implements System.ComponentModel.INotifyPropertyChanged
       
        Private prestacionServiciosField As TipoSinDesglosePrestacionType
       
        Private entregaField As TipoSinDesgloseType
       
        '''<comentarios/>
        <System.Xml.Serialization.XmlElementAttribute(Order:=0)>  _
        Public Property PrestacionServicios() As TipoSinDesglosePrestacionType
            Get
                Return Me.prestacionServiciosField
            End Get
            Set
                Me.prestacionServiciosField = value
                Me.RaisePropertyChanged("PrestacionServicios")
            End Set
        End Property

Cómo se entiende que la clase TipoConDesgloseType esté formada por Entrega y PrestacionServicios de TipoSinDesglose ????
¿Alguien tiene un ejemplo en .NET de desglose por entrega de bienes? Me da que no lo tengo bien entendido y me estoy liando...

nachoexe 25-05-2017 11:44:04

Cita:

Empezado por xamminf (Mensaje 517108)
Hola a todos,

Una preguntilla, a ver si fuera fácil:

Necesitaria hacer una consulta multiple a la aeat pero por Numero de Factura y/o nif.

¿ Es posible con la 0.6 ? Me ha parecido que no

¿ Es posible con la 0.7 ? Esta no lo he visto, pero no me sirve si no puedo probarla...

Saludos

En la 0.6 no es posible hacer consultas con esos parámetros, en la versión 0.7 si es posible y SI la puedes probar (desde el 17/05/2017 se pueden enviar ficheros XML con la versión 0.6 y 0.7)

xamminf 25-05-2017 11:48:50

Cita:

Empezado por nachoexe (Mensaje 517128)
En la 0.6 no es posible hacer consultas con esos parámetros, en la versión 0.7 si es posible y SI la puedes probar (desde el 17/05/2017 se pueden enviar ficheros XML con la versión 0.6 y 0.7)

¿ Qué me dices ?

Yo creía que se podía probar la 0.7 a partir de Junio. :eek:

¿ Tiene los mismos endpoint ?

Gracias por tu ayuda

keys 25-05-2017 11:54:50

Hola a todos. Estoy intentando obtener información de las facturas presentadas a través del webservices ConsultaLRFacturasEmitidas. Me devuelve la información pero hay una serie de facturas que no me retorna el CSV. Si entro a mirar esas facturas directamente en la web de hacienda tampoco me muestra el CSV. Sin embargo si picho en documento eléctronico si me lo ofrece.

En otras facturas si me lo retorna y si lo miro en la web si está.

A alguien le ocurre esto o sabe por que puede ser.

Patry159 25-05-2017 12:09:59

Cita:

Empezado por jlegido (Mensaje 514006)
Para los que lo hacemos en VB.NET, esta claro que el .xml a enviar empieza o comprende el nodo <siiLR:SuministroLRFacturasEmtidas>, y que tiene que tener la siguiente estructura para poder ser enviado a AEAT:
Código:

<siiLR:SuministroLRFacturasEmitidas>
  <sii:Cabecera>
    <sii:IDVersionSii>0.1</sii:IDVersionSii>
        <sii:Titular>
        …

Yo entiendo que los prefijos –espacios de nombres- siiLR y sii en los diferentes elemntos son obligatorios.

Despues hemos de Deserializar dicho xml para asociarlo/cargarlo en un objeto tipo SuministroLRFacturasEmitidas que es el que enviaremos a AEAT (en mi caso Dim testF As New SuministroLRFacturasEmitidas)
Pero, y aquí viene el problema, en el xml hay 2 espacios de nombres: siiLR y sii que de alguna manera hay que indicar que se tengan en cuenta.
yo he intentado tu solucion bartag, es decir:


pero no me funciona.
Que puede estar mal?. Si a ti te funciona, ¿puedes poner el codigo mas amplio?
lo he probado tambien asi, pero sigue sin funcionar.

Muchas gracias por tu ayuda

P.D. donde pongo ** me refiero a una enlace (No tengo permiso para poner enlaces de forma normal)



Hola, necesito un poco de ayuda porque ya no sé que me falta o que estoy haciendo mal. En un inicio habia creado el .xml a mano copiando uno de los ejemplos, pero siempre me daba el error de 'La direccion no se corresponde con el fichero de entrada'. Entonces he decidido importar las .wsdl y a partir de objetos asignar los valores y generar el xml a partir de esos objetos. A la hora de generarlo no da error, pero compruebo que faltan las primeras lineas del <envelope> al igual que los inicios de linea con el <sii> o <siiLR>.

No sé si esto lo habéis hablado mas adelante y dado una solución o no (voy leyendo poco a poco todos los post), por eso pregunto. El código lo estoy desarrollando en vb.net.

Dejo por aquí el xml creado.
Gracias,

Código:

<?xml version="1.0" encoding="utf-8"?>
<SuministroLRFacturasRecibidas xmlns:xsi="**.w3.org/2001/XMLSchema-instance" xmlns:xsd="**.w3.org/2001/XMLSchema">
  <Cabecera xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
    <IDVersionSii>0.7</IDVersionSii>
    <Titular>
      <NombreRazon>NOMBRE EMPRESA</NombreRazon>
      <NIF>NIF EMPRESA</NIF>
    </Titular>
    <TipoComunicacion>A0</TipoComunicacion>
  </Cabecera>
  <RegistroLRFacturasRecibidas xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
    <PeriodoImpositivo xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
      <Ejercicio>2017</Ejercicio>
      <Periodo>05</Periodo>
    </PeriodoImpositivo>
    <IDFactura>
      <IDEmisorFactura xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <NIF>NIF PROVEEDOR</NIF>
      </IDEmisorFactura>
      <NumSerieFacturaEmisor xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">NUMERO FACTURA</NumSerieFacturaEmisor>
      <FechaExpedicionFacturaEmisor xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">FECHA FACTURA</FechaExpedicionFacturaEmisor>
    </IDFactura>
    <FacturaRecibida>
      <TipoFactura xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">F1</TipoFactura>
      <FechaOperacion xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"> FECHA OPERACION</FechaOperacion>
      <ClaveRegimenEspecialOTrascendencia xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">01</ClaveRegimenEspecialOTrascendencia>
      <DescripcionOperacion xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">DESCRIPCION FACTURA</DescripcionOperacion>
      <DesgloseFactura xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <DesgloseIVA>
          <DetalleIVA>
            <TipoImpositivo>TIPO IVA</TipoImpositivo>
            <BaseImponible>IMPORTE BASE</BaseImponible>
            <CuotaSoportada>IMPORTE IVA</CuotaSoportada>
          </DetalleIVA>
        </DesgloseIVA>
      </DesgloseFactura>
      <Contraparte xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <NombreRazon>NOMBRE PROVEEDOR</NombreRazon>
        <NIF>NIF PROVEEDOR</NIF>
      </Contraparte>
      <FechaRegContable xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">FECHA OPERACION</FechaRegContable>
      <CuotaDeducible xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">CUOTA DEDUCIBLE</CuotaDeducible>
    </FacturaRecibida>
  </RegistroLRFacturasRecibidas>
</SuministroLRFacturasRecibidas>


jcapilla 25-05-2017 12:15:02

Lio NIF y NIE
 
Buenas!!

Tengo una duda. ¿Un NIE se considera igual que ni NIF español y va en el bloque NIF? Pensaba que iria dentro del bloque IDOtro y País ESPAÑA pero no traga. Lo mas raro es que he probado con el bloque NIF informando un NIE que empezaba por X y me ha dado el error de Formato Incorrecto pero probando con uno que empiece por Y si que ha tragado y ha dado como correcta la factura.

keys 25-05-2017 12:17:08

Cita:

Empezado por jcapilla (Mensaje 517133)
Buenas!!

Tengo una duda. ¿Un NIE se considera igual que ni NIF español y va en el bloque NIF? Pensaba que iria dentro del bloque IDOtro y País ESPAÑA pero no traga. Lo mas raro es que he probado con el bloque NIF informando un NIE que empezaba por X y me ha dado el error de Formato Incorrecto pero probando con uno que empiece por Y si que ha tragado y ha dado como correcta la factura.

Si es español no hay que generar el bloque IDOTRO.

jcapilla 25-05-2017 12:23:06

Cita:

Empezado por keys (Mensaje 517134)
Si es español no hay que generar el bloque IDOTRO.

Entonces un NIE como es un documento expedido por España se considera español y va en el bloque NIF ¿No?
Lo raro es que si es asi ¿Por que el que comienza por X me dice formato incorrecto?

keys 25-05-2017 12:24:44

Cita:

Empezado por jcapilla (Mensaje 517135)
Entonces un NIE como es un documento expedido por España se considera español y va en el bloque NIF ¿No?
Lo raro es que si es asi ¿Por que el que comienza por X me dice formato incorrecto?

Yo lo que hago cuando tengo dudas sobre esto es ir a la página de hacienda e intentar meter la factura a mano y avisa de los errores y como lo tienes que rellenar.

nachoexe 25-05-2017 12:27:38

Cita:

Empezado por xamminf (Mensaje 517129)
¿ Qué me dices ?

Yo creía que se podía probar la 0.7 a partir de Junio. :eek:

¿ Tiene los mismos endpoint ?

Gracias por tu ayuda

Perdona el retraso pero me has echo dudar, me parecía demasiado fácil la pregunta y cuando eso me pasa suelo verificar las cosas porque es señal de que yo me he equivocado pero en este caso no, es así de fácil, el "endpoint" o webservice es el mismo que para las facturas emitidas o recibidas y solo has de enviarle un xml distinto con las especificaciones de la consulta (igual que para las bajas).
Yo aún no tengo implementado la parte de las consultas pero puedes hacer pruebas con el complemento Wizdler del navegador y los ejemplos XML de Hacienda, yo lo he hecho así y te puedo garantizar que
la versión 0.7 de consulta de facturas emitidas funciona pasando como parámetro el cif de la contraparte

nuevo1234 25-05-2017 12:30:07

Cita:

Empezado por keys (Mensaje 517130)
Hola a todos. Estoy intentando obtener información de las facturas presentadas a través del webservices ConsultaLRFacturasEmitidas. Me devuelve la información pero hay una serie de facturas que no me retorna el CSV. Si entro a mirar esas facturas directamente en la web de hacienda tampoco me muestra el CSV. Sin embargo si picho en documento eléctronico si me lo ofrece.

En otras facturas si me lo retorna y si lo miro en la web si está.

A alguien le ocurre esto o sabe por que puede ser.

Ojo creo que sólo responde con CSVs en facturas que se han incorporado después del dia 17 (Version 0.7)

keys 25-05-2017 12:35:49

Cita:

Empezado por nuevo1234 (Mensaje 517139)
Ojo creo que sólo responde con CSVs en facturas que se han incorporado después del dia 17 (Version 0.7)

Muy buena, parece que es por eso. De todas formas he hecho la pregunta en hacienda.

vboloradito 25-05-2017 12:49:59

Cita:

Empezado por PASPAS (Mensaje 517112)
Madre mia , para edicom estas haciendo el trabajo doble no lo veo viable . Espero que no me toque ningun cliente asi.
Ademas gracias por la info porque si veo q alguien lo quiere con edicom lo dejare bien claro que todo el envio y respuesta se trate via edicom.
Yo de ti lo que haria es marcar com exportado a edicomSII y ya esta luego que el cliente entre a su portal para ver el status , lo que estas haciendo es un trabajo de chinos y perdon por la expresion. Encima de lo que cobran te hacen convertir a su gusto y espera q con nuevas version lo q te tocara hacer extra.
Saludos y animo.

El problema es que si un cliente tiene mal el NIF, que haces, vas a la web de EDICOM apuntas el numero. TE vas a tu ERP, buscas el numero , actualizas el nif.
¿Lo relanzas desde tu ERP o desde EDICOM-SERES?
¿No es mas facil trabajar con fichero plano con EDICOM-SERES en lugar de generar el XML?

xamminf 25-05-2017 12:54:59

Cita:

Empezado por nachoexe (Mensaje 517138)
Perdona el retraso pero me has echo dudar, me parecía demasiado fácil la pregunta y cuando eso me pasa suelo verificar las cosas porque es señal de que yo me he equivocado pero en este caso no, es así de fácil, el "endpoint" o webservice es el mismo que para las facturas emitidas o recibidas y solo has de enviarle un xml distinto con las especificaciones de la consulta (igual que para las bajas).
Yo aún no tengo implementado la parte de las consultas pero puedes hacer pruebas con el complemento Wizdler del navegador y los ejemplos XML de Hacienda, yo lo he hecho así y te puedo garantizar que
la versión 0.7 de consulta de facturas emitidas funciona pasando como parámetro el cif de la contraparte

Muchas gracias nachoexe,

¿ Retraso ? Para nada hombre... sólo faltaba...

Pero para rematar la jugada...

Consultas: ¿ sabes de cabeza si se pueden pasar varias veces el bloque para asi consultar varias facturas ?
Bajas: ¿ sabes de cabeza si se pueden pasar varias veces el bloque para asi dar de baja varias facturas ?

Si no lo sabes ahora mismo, no te preocupes... Ya me has ayudado suficiente. Probaré a mandar dos bloques de factura.


--- Editado ----------

Voy a probarlo y ahora comento

keys 25-05-2017 13:06:49

Hola a todos. El otro día alguién puso que en el foro que al mandar una factura de tipo F4 "Asiento resumen de facturas", si se enviaba el detalle de las facturas luego al entrar en la web de hacienda no se veían. Lo pregunte a hacienda y me han dicho que ya lo han corregido. He hecho ya prueba y ya funciona.

mike_GK 25-05-2017 13:14:31

Generar los wdsl
 
Hola a todos, soy nuevo por aqui y me ha tocado meterme tarde en esto

Resulta que estoy intentando hacer los WSDL Importer y estoy teniendo problemas.

Primero tenia problemas de que no me los generaba completos y faltaba mucha informacion.

Ahora consigo que me los cree pero al copilar me indica que algunos identificadores ya estan declarados.

Por ejemplo aqui:
FacturaARType = (S, N);

Los indica que S y N ya estan declarados

Lo estoy haciendo mal cuando los creo o algo?

keys 25-05-2017 13:16:02

Cita:

Empezado por mike_GK (Mensaje 517144)
Hola a todos, soy nuevo por aqui y me ha tocado meterme tarde en esto

Resulta que estoy intentando hacer los WSDL Importer y estoy teniendo problemas.

Primero tenia problemas de que no me los generaba completos y faltaba mucha informacion.

Ahora consigo que me los cree pero al copilar me indica que algunos identificadores ya estan declarados.

Por ejemplo aqui:
FacturaARType = (S, N);

Los indica que S y N ya estan declarados

Lo estoy haciendo mal cuando los creo o algo?

A la hora de generarlos tienes que poner todos los ficheros en la misma carpeta. Tanto los wsdl como los xsd.

xamminf 25-05-2017 13:28:49

Bueno, por lo que he probado con respecto a consultas, v0.7, el resultado es:

No se puede hacer la consulta para mas de una factura, es decir, NO se pueden consultar varias facturas sueltas.

He probado a consultar varias facturas sueltas, de dos formas distintas: Primero repitiendo el bloque FiltroConsulta y despues repitiendo el Bloque IDFactura y siempre me devuelve una sola factura.

Así que mientras no diga otra cosa, uno que sepa más que uno, para mi, NO se pueden consultar facturas sueltas.

Dicho de otra forma... que full.... Decepcionante. ¿ para que sirve consultar una sola factura ? Si tienes 10 facturas, entonces ¿ 10 consultas ? Si quieres conocer el estado de 1000 facturas, entonces ¿ mil consultas ?


Cita:

Empezado por xamminf (Mensaje 517142)
Muchas gracias nachoexe,

¿ Retraso ? Para nada hombre... sólo faltaba...

Pero para rematar la jugada...

Consultas: ¿ sabes de cabeza si se pueden pasar varias veces el bloque para asi consultar varias facturas ?
Bajas: ¿ sabes de cabeza si se pueden pasar varias veces el bloque para asi dar de baja varias facturas ?

Si no lo sabes ahora mismo, no te preocupes... Ya me has ayudado suficiente. Probaré a mandar dos bloques de factura.


--- Editado ----------

Voy a probarlo y ahora comento


asanchezdbs 25-05-2017 14:00:41

Hola a todos.

Alguien ha conseguido desarrollar el tema del SII?
Habeis podido solucionar tambien lo de asignar el certificado instalado en el navegador por defecto?

Saludos.

xerkan 25-05-2017 14:06:17

2 Archivos Adjunto(s)
Cita:

Empezado por RUBEN_SP (Mensaje 517107)
Muchas gracias a tí también. Me he reincorporado, por que al final hemos decidido implentarlo en lugar de subcontratarlo. Si no te importa ¿Cómo me puede descargar ese código?. No me sale adjunto

Muchas gracias de antemano y Saludos

Perdon pero intentando modificar una cosa de mi post borre los archivos, os los e vuelto a subir para que podais hacer uso de ellos

marine 25-05-2017 14:26:34

Cita:

Empezado por Patry159 (Mensaje 517132)
Hola, necesito un poco de ayuda porque ya no sé que me falta o que estoy haciendo mal. En un inicio habia creado el .xml a mano copiando uno de los ejemplos, pero siempre me daba el error de 'La direccion no se corresponde con el fichero de entrada'. Entonces he decidido importar las .wsdl y a partir de objetos asignar los valores y generar el xml a partir de esos objetos. A la hora de generarlo no da error, pero compruebo que faltan las primeras lineas del <envelope> al igual que los inicios de linea con el <sii> o <siiLR>.

No sé si esto lo habéis hablado mas adelante y dado una solución o no (voy leyendo poco a poco todos los post), por eso pregunto. El código lo estoy desarrollando en vb.net.

Dejo por aquí el xml creado.
Gracias,

Código:

<?xml version="1.0" encoding="utf-8"?>
<SuministroLRFacturasRecibidas xmlns:xsi="**.w3.org/2001/XMLSchema-instance" xmlns:xsd="**.w3.org/2001/XMLSchema">
  <Cabecera xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
    <IDVersionSii>0.7</IDVersionSii>
    <Titular>
      <NombreRazon>NOMBRE EMPRESA</NombreRazon>
      <NIF>NIF EMPRESA</NIF>
    </Titular>
    <TipoComunicacion>A0</TipoComunicacion>
  </Cabecera>
  <RegistroLRFacturasRecibidas xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
    <PeriodoImpositivo xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
      <Ejercicio>2017</Ejercicio>
      <Periodo>05</Periodo>
    </PeriodoImpositivo>
    <IDFactura>
      <IDEmisorFactura xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <NIF>NIF PROVEEDOR</NIF>
      </IDEmisorFactura>
      <NumSerieFacturaEmisor xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">NUMERO FACTURA</NumSerieFacturaEmisor>
      <FechaExpedicionFacturaEmisor xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">FECHA FACTURA</FechaExpedicionFacturaEmisor>
    </IDFactura>
    <FacturaRecibida>
      <TipoFactura xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">F1</TipoFactura>
      <FechaOperacion xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"> FECHA OPERACION</FechaOperacion>
      <ClaveRegimenEspecialOTrascendencia xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">01</ClaveRegimenEspecialOTrascendencia>
      <DescripcionOperacion xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">DESCRIPCION FACTURA</DescripcionOperacion>
      <DesgloseFactura xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <DesgloseIVA>
          <DetalleIVA>
            <TipoImpositivo>TIPO IVA</TipoImpositivo>
            <BaseImponible>IMPORTE BASE</BaseImponible>
            <CuotaSoportada>IMPORTE IVA</CuotaSoportada>
          </DetalleIVA>
        </DesgloseIVA>
      </DesgloseFactura>
      <Contraparte xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <NombreRazon>NOMBRE PROVEEDOR</NombreRazon>
        <NIF>NIF PROVEEDOR</NIF>
      </Contraparte>
      <FechaRegContable xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">FECHA OPERACION</FechaRegContable>
      <CuotaDeducible xmlns="**.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">CUOTA DEDUCIBLE</CuotaDeducible>
    </FacturaRecibida>
  </RegistroLRFacturasRecibidas>
</SuministroLRFacturasRecibidas>


Hola compañero , yo tambien opté por importar directamente como referencia al proyecto los .wsdl pero luego no genero XML (porque pasa eso) sino que directamente a través del tipo .siiSOAPClient metes la validación del certificado y obtienes respuesta de .SuministroLRFacturasEmitidas()

Esa respuesta ya contiene el CSV y otros parametros de interés para saber que está todo correcto.

mike_GK 25-05-2017 15:13:56

Cita:

Empezado por keys (Mensaje 517145)
A la hora de generarlos tienes que poner todos los ficheros en la misma carpeta. Tanto los wsdl como los xsd.

Keys perdona mi ignorancia, pero exactamente como haces eso?

Porque yo lo unico que estoy haciendo es abrir el wsdl con el WDSL Importer y en principio ya me genera el .pas

Patry159 25-05-2017 15:24:40

Cita:

Empezado por marine (Mensaje 517149)
Hola compañero , yo tambien opté por importar directamente como referencia al proyecto los .wsdl pero luego no genero XML (porque pasa eso) sino que directamente a través del tipo .siiSOAPClient metes la validación del certificado y obtienes respuesta de .SuministroLRFacturasEmitidas()

Esa respuesta ya contiene el CSV y otros parametros de interés para saber que está todo correcto.

Hola, muchas gracias por tu ayuda, algo de eso me imaginaba, pero como las cosas de palacio van despacio, y no me quieren facilitar el certificado en mi pc, por el momento no puedo programarlo para hacer pruebas, de ahí que quisiera exportarlo a xml y la persona autorizada que vaya subiendo los xml para ver si son correctos o no.....

He cogido un ejemplo de la AEAT y he añadido datos reales y me aparece este error: Codigo[404].Web Service no habilitado en internet. Debe darse de alta en ADWSINT

Alguien sabe de que se trata??

Muchísimas gracias por toda la ayuda que aportáis, la verdad es que si no llego a encontrar este foro estaría perdida, ya que nunca he trabajado con web Services.

Txemari 25-05-2017 15:44:11

Problema con la respuesta
 
Hola, compañeros

al enviar el fichero al web service , me llega la respuesta como una ristra de caracteres sin salto de línea. ¿sabéis alguna manera de solucionar el tema o de convertirlo y que quede bien ?
Tenía un programa que trata las líneas tal y como quedan en el cliente de pruebas y se me ha jodido el invento

Saludos y os dejo cómo me llega
env:Body Id="Body"><siiR:RespuestaLRFacturasEmitidas xmlns:siiR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd" xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"><siiR:Cabecera><sii:IDVersionSii>0.7</sii:IDVersionSii><sii:Titular><sii:NombreRazon>SALVAT LOGISTICA, S.A. PRUEBAS</sii:NombreRazon><sii:NIF>A08711558</sii:NIF></sii:Titular><sii:TipoComunicacion>A0</sii:TipoComunicacion></siiR:Cabecera><siiR:EstadoEnvio>Incorrecto</siiR:EstadoEnvio><siiR:RespuestaLinea><siiR:IDFactura><sii:IDEmisorFactura><sii:NIF>A08711558</sii:NIF></sii:IDEmisorFactura><sii:NumSerieFacturaEmisor>AA61019352</sii:NumSerieFacturaEmisor><sii:FechaExpedicionFacturaEmisor>25-10-2016</sii:FechaExpedicionFacturaEmisor></siiR:IDFactura><siiR:EstadoRegistro>Incorrecto</siiR:EstadoRegistro><siiR:CodigoErrorRegistro>3000</siiR:CodigoErrorRegistro><siiR:DescripcionErrorRegistro>Factura duplicada</siiR:DescripcionErrorRegistro><siiR:CSV>7EFM6K2U5FPL93D8</siiR:CSV></siiR:RespuestaLinea><siiR:RespuestaLinea><siiR:IDFactura><sii:IDEmisorFactura><sii:NIF>A08711558</sii:NIF></sii:IDEmisorFactura><sii:NumSerieFacturaEmisor>AA61019353</sii:NumSerieFacturaEmisor><sii:FechaExpedicionFacturaEmisor>25-10-2016</sii:FechaExpedicionFacturaEmisor></siiR:IDFactura><siiR:EstadoRegistro>Incorrecto</siiR:EstadoRegistro><siiR:Co


La franja horaria es GMT +2. Ahora son las 05:33:30.

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