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)

APO 25-05-2017 15:58:53

Cita:

Empezado por keys (Mensaje 517143)
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.

Genial Keys! Lo iba a poner ahora mismo en el foro, porque me han respondido hoy lo siguiente:

Buenos días,
el error ha sido solventado, puede volver a probar.
Atentamente,
AEAT.

JJAlf 25-05-2017 16:23:01

Cita:

Empezado por vboloradito (Mensaje 517141)
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?

Se supone que tras el envío, en algún momento, edicom me debe reportar la respuesta de la AEAT, de manera que es 'casi' lo mismo que en el caso on-line, sólo que hay un 'retraso' entre el envío y la confirmación de su estado; o sea, que tengo que tratarlo como enviado-pendiente-de-confirmación. Digo se supone porque aún no he conseguido respuesta. Y como sea lo que apuntas (rollo 'ellos se encargan de todo') que nos lo estamos empezando a temer, les va a caer una buena: no me importa lo farragoso que pueda resultar tener que modificar un NIF en la web de edicom y al mismo tiempo en mi sistema, sino que no puedo permitir que hayan diferencias entre ambos.
Cita:

Empezado por vboloradito (Mensaje 517141)
¿No es mas facil trabajar con fichero plano con EDICOM-SERES en lugar de generar el XML?

Por supuesto, pero dado que el 90% de mis clientes optan por la comunicación directa, no pensaba programar lo mismo dos veces. Es un añadido al funcionamiento estándar.

Txemari 25-05-2017 16:27:49

Hola, no os preocupéis. Ya está solucionado con una librería que trata el XML... Eso me han contado, que yo no controlo mucho.

Saludos

Cita:

Empezado por Txemari (Mensaje 517155)
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


Galahad 25-05-2017 19:59:29

Cita:

Empezado por JJAlf (Mensaje 517125)
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)

Hola, estoy haciendo la llamada a GetsiiSOAP desde unidades diferentes, donde no se mezclan en ningun momento suministrofacturasemitidas y suministrofacturasrecibidas. No obstante he probado a hace la llamada con el codigo que me indicas arriba, pero me dá un error : java.servlet... ¿ no haces nada previamente con el objeto httprio1 ?
Saludos...

JJAlf 25-05-2017 21:04:25

Cita:

Empezado por Galahad (Mensaje 517161)
Hola, estoy haciendo la llamada a GetsiiSOAP desde unidades diferentes, donde no se mezclan en ningun momento suministrofacturasemitidas y suministrofacturasrecibidas. No obstante he probado a hace la llamada con el codigo que me indicas arriba, pero me dá un error : java.servlet... ¿ no haces nada previamente con el objeto httprio1 ?
Saludos...

Nada especial que recuerde (no tengo el código delante). Tengo el objeto definido en el DM 'padre' con los eventos porque son comunes (revisa los eventos, a ver si va por ahí) sin parámetros, y en los módulos heredados es donde le pongo su wsdl correspondiente, y juego con los puertos. Todo en design-time, en run-time sólo cambio valores.
Pero vaya, es lo mismo que usar el GetsiiSOAP, ambos devuelven un 'httprio as siisoap'. Es sólo que si quiero cambiar el puerto en runtime (añadir el 'pruebas') me es más fácil así.

PASPAS 25-05-2017 21:10:30

Cita:

Empezado por JJAlf (Mensaje 517157)
Se supone que tras el envío, en algún momento, edicom me debe reportar la respuesta de la AEAT, de manera que es 'casi' lo mismo que en el caso on-line, sólo que hay un 'retraso' entre el envío y la confirmación de su estado; o sea, que tengo que tratarlo como enviado-pendiente-de-confirmación. Digo se supone porque aún no he conseguido respuesta. Y como sea lo que apuntas (rollo 'ellos se encargan de todo') que nos lo estamos empezando a temer, les va a caer una buena: no me importa lo farragoso que pueda resultar tener que modificar un NIF en la web de edicom y al mismo tiempo en mi sistema, sino que no puedo permitir que hayan diferencias entre ambos.

Por supuesto, pero dado que el 90% de mis clientes optan por la comunicación directa, no pensaba programar lo mismo dos veces. Es un añadido al funcionamiento estándar.

Pero para eso antes del envio a edicom puedes hacer el proceso de validacion de nif o esta censado o no para que cuando lo envies a edicom ese problema esta resuelto asi evitar tratar nada a posteriori como mucho y por consejo puedes añadir las consultas y crear el campo contraste por tranquilidad de tus clientes
Saludos

barnarasta 25-05-2017 22:14:42

Cita:

Empezado por PASPAS (Mensaje 517167)
Pero para eso antes del envio a edicom puedes hacer el proceso de validacion de nif o esta censado o no para que cuando lo envies a edicom ese problema esta resuelto asi evitar tratar nada a posteriori como mucho y por consejo puedes añadir las consultas y crear el campo contraste por tranquilidad de tus clientes
Saludos

Encuentro que verificar si estan censados en un envio de 2500 registros puede ser ...... uffff

Yo como lo trabajo, quizas pueda serviros de orientacion para mejorarlo, es :
* creo un archivo temporal con los registros a enviar, incluyendo el campo 'ERROR'
* realizo el envio del xml generado.
* recojo el resultado y actualizo el archivo temporal actualizando el campo 'ERROR' codigo (1117)
* genero un segundo xml SOLO con los (1117) adaptando los cambios.

Anoto que todo esto lo hago desde un Debian 6 (Squeeze) y bash.
.

barnarasta 25-05-2017 22:22:27

Cita:

Empezado por Txemari (Mensaje 517155)
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><siiRescripcionErrorRegistro>Factura duplicada</siiRescripcionErrorRegistro><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

En Linux-Debian existe el paquete libxml2-utils que contiene xmllint para formatear (y otras cosas)

# xmllint --format entrada.xml > salida.xml

marine 26-05-2017 08:43:48

Cita:

Empezado por Patry159 (Mensaje 517154)
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.

hola ! a mi ese error no me ha salido en ningun momento pero ... ya que te dice web service no habilitado.... las url de los END POINT son correctas ??.

vboloradito 26-05-2017 08:44:04

Cita:

Empezado por PASPAS (Mensaje 517167)
Pero para eso antes del envio a edicom puedes hacer el proceso de validacion de nif o esta censado o no para que cuando lo envies a edicom ese problema esta resuelto asi evitar tratar nada a posteriori como mucho y por consejo puedes añadir las consultas y crear el campo contraste por tranquilidad de tus clientes
Saludos


El caso del NIf era por poner un ejemplo quizas sea el mas facil de resolver. pero no se que problemas puedes tener en el futuro que te obligue a actualizar en EDICOM y en tu sistema dos veces.

seccion_31 26-05-2017 09:00:21

vamos a ver si ando confundido o muy confundido.

En los últimos ejemplos que he visto se envían las facturas sin indicar si el desglose es por entrega o prestación de servicios.

Asi es como estaba trabajando hasta hace unos días, ahora he decidido actualizar mi envio a esta forma.

Este es el código que me genera para una factura que contendría entrega de material y mano de obra: (los portes por ejemplo no se como calificarlos)

Código:

-<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
-<DesgloseTipoOperacion>
-<PrestacionServicios>
-<Sujeta>
-<NoExenta>
<TipoNoExenta>S1</TipoNoExenta>
-<DesgloseIVA>
-<DetalleIVA>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponible>391.00</BaseImponible>
<CuotaRepercutida>82.11</CuotaRepercutida>
</DetalleIVA>
</DesgloseIVA>
</NoExenta>
</Sujeta>
</PrestacionServicios>

-<Entrega>
-<Sujeta>
-<NoExenta>
<TipoNoExenta>S1</TipoNoExenta>
-<DesgloseIVA>
-<DetalleIVA>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponible>164.43</BaseImponible>
<CuotaRepercutida>34.53</CuotaRepercutida>
</DetalleIVA>
</DesgloseIVA>
</NoExenta>
</Sujeta>
</Entrega>
</DesgloseTipoOperacion>
</TipoDesglose>

¿opiniones?

saludos !

figo21 26-05-2017 09:07:00

Cita:

Empezado por seccion_31 (Mensaje 517182)
vamos a ver si ando confundido o muy confundido.

En los últimos ejemplos que he visto se envían las facturas sin indicar si el desglose es por entrega o prestación de servicios.

Asi es como estaba trabajando hasta hace unos días, ahora he decidido actualizar mi envio a esta forma.

Este es el código que me genera para una factura que contendría entrega de material y mano de obra: (los portes por ejemplo no se como calificarlos)

Código:

-<TipoDesglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
-<DesgloseTipoOperacion>
-<PrestacionServicios>
-<Sujeta>
-<NoExenta>
<TipoNoExenta>S1</TipoNoExenta>
-<DesgloseIVA>
-<DetalleIVA>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponible>391.00</BaseImponible>
<CuotaRepercutida>82.11</CuotaRepercutida>
</DetalleIVA>
</DesgloseIVA>
</NoExenta>
</Sujeta>
</PrestacionServicios>

-<Entrega>
-<Sujeta>
-<NoExenta>
<TipoNoExenta>S1</TipoNoExenta>
-<DesgloseIVA>
-<DetalleIVA>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponible>164.43</BaseImponible>
<CuotaRepercutida>34.53</CuotaRepercutida>
</DetalleIVA>
</DesgloseIVA>
</NoExenta>
</Sujeta>
</Entrega>
</DesgloseTipoOperacion>
</TipoDesglose>

¿opiniones?

saludos !

Según la faq de la AEAT:

3.11. A la hora de desglosar los datos de la factura, ¿debe indicarse si la operación es una entrega de bienes o una prestación de servicios?
El desglose se hará obligatoriamente a nivel de operación cuando el cliente sea extranjero (tipo “ID Otro” o NIF que empiece por N) y no sea una factura simplificada o un asiento resumen.

Posiblemente esté equivocado pero, ¿eso no significa que se tiene que hacer obligatoriamente en exportaciones, simplificadas o asientos resumen y en resto de casos será opcional?.

Un saludo.

keys 26-05-2017 09:13:23

Cita:

Empezado por figo21 (Mensaje 517183)
Según la faq de la AEAT:

3.11. A la hora de desglosar los datos de la factura, ¿debe indicarse si la operación es una entrega de bienes o una prestación de servicios?
El desglose se hará obligatoriamente a nivel de operación cuando el cliente sea extranjero (tipo “ID Otro” o NIF que empiece por N) y no sea una factura simplificada o un asiento resumen.

Posiblemente esté equivocado pero, ¿eso no significa que se tiene que hacer obligatoriamente en exportaciones, simplificadas o asientos resumen y en resto de casos será opcional?.

Un saludo.

Más o menos es lo que dices, segun el tipo de operación hay que hacerlo siempre si es simplificada o asiento resumen. En el resto de operaciones dependerá del IDOTRO y del NIf. No tienen por que ser exportaciones. Por ejemplo el sistema deja meter operaciones generales por ejemplo con pasaporte, etc..

seccion_31 26-05-2017 09:18:23

por si acaso lo pregunto hoy en un rato.

Los NIF que empiezan por "N" seguro que hay que desglosar, aunque sea una operación no comunitaria.

Patry159 26-05-2017 09:21:55

Cita:

Empezado por marine (Mensaje 517180)
hola ! a mi ese error no me ha salido en ningun momento pero ... ya que te dice web service no habilitado.... las url de los END POINT son correctas ??.

Juraría que si, pero voy a hacer copia y pega de la URL en la pagina de pruebas por si acaso, GRACIAS!!

keys 26-05-2017 09:23:36

Me apuesto algo a que te remiten a la faq.

De todas formas creo que esta clara. Antes lo he dicho al revés.

Hay que hacer el desglose siempre que el cliente sea extranjero o empieza por 'N', y las facturas no sean ni simplificadas ni resumen de facturas.

figo21 26-05-2017 09:24:42

Cita:

Empezado por seccion_31 (Mensaje 517185)
por si acaso lo pregunto hoy en un rato.

Los NIF que empiezan por "N" seguro que hay que desglosar, aunque sea una operación no comunitaria.

Postea con lo que te digan, por favor. Hay tantos casos posibles que esto es un cacao.


Un saludo.

figo21 26-05-2017 09:28:51

Cita:

Empezado por keys (Mensaje 517184)
Más o menos es lo que dices, segun el tipo de operación hay que hacerlo siempre si es simplificada o asiento resumen. En el resto de operaciones dependerá del IDOTRO y del NIf. No tienen por que ser exportaciones. Por ejemplo el sistema deja meter operaciones generales por ejemplo con pasaporte, etc..

Efectivamente, releyéndolo tienes toda la razón.
Muchas gracias.

Un saludo.

seccion_31 26-05-2017 09:29:26

Sin haberme leído las faq.... (pido disculpas)

¿las facturas recibidas hay que enviarlas con desglose? (¿es la misma normativa que en las emitidas?)

keys 26-05-2017 09:36:49

Cita:

Empezado por seccion_31 (Mensaje 517190)
Sin haberme leído las faq.... (pido disculpas)

¿las facturas recibidas hay que enviarlas con desglose? (¿es la misma normativa que en las emitidas?)

En las recibidas el desglose es distinto.


La franja horaria es GMT +2. Ahora son las 07:37:17.

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