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)

seccion_31 08-02-2017 10:16:05

si nos fijamos en el ejemplo suministrador por la AEAT:

Código:

<sii:Exenta>
                          <sii:CausaExencion>E4</sii:CausaExencion>
                          <sii:BaseImponible>-50</sii:BaseImponible>
                        </sii:Exenta>
                        <sii:NoExenta>
                          <sii:TipoNoExenta>S2</sii:TipoNoExenta>
                          <sii:DesgloseIVA>
                              <sii:DetalleIVA>
                                <sii:TipoImpositivo>10</sii:TipoImpositivo>
                                <sii:BaseImponible>-45</sii:BaseImponible>
                                <sii:CuotaRepercutida>-5</sii:CuotaRepercutida>

de la factura rectificativa.

si miramos, la línea señalada en negrita, eso NO es la base imponible. (o es la base Imponible de la factura rectificada?) (pero entonces que hace en negativo?)

¿alguna opinión?

newtron 08-02-2017 10:28:52

Hola de nuevo.

Hasta ahora solo había probado con facturas emitidas sin grandes problemas. Estoy intentando implementar en la misma unidad facturas recibidas y estoy teniendo problemas. ¿Hay que importar todos los ficheros wsdl de los distintos tipos de facturas? porque a mi se me hace un lío al hacer la llamada de factura emitida o recibida si los tengo en la misma unidad.

Saludos

newtron 08-02-2017 10:33:14

Cita:

Empezado por seccion_31 (Mensaje 513036)
si nos fijamos en el ejemplo suministrador por la AEAT:

Código:

<sii:Exenta>
                          <sii:CausaExencion>E4</sii:CausaExencion>
                          <sii:BaseImponible>-50</sii:BaseImponible>
                        </sii:Exenta>
                        <sii:NoExenta>
                          <sii:TipoNoExenta>S2</sii:TipoNoExenta>
                          <sii:DesgloseIVA>
                              <sii:DetalleIVA>
                                <sii:TipoImpositivo>10</sii:TipoImpositivo>
                                <sii:BaseImponible>-45</sii:BaseImponible>
                                <sii:CuotaRepercutida>-5</sii:CuotaRepercutida>

de la factura rectificativa.

si miramos, la línea señalada en negrita, eso NO es la base imponible. (o es la base Imponible de la factura rectificada?) (pero entonces que hace en negativo?)

¿alguna opinión?

A ver... yo entiendo que en este caso una factura rectificativa es una factura que minora el importe de otra factura a la que imagino que habrá que hacer referencia. En ese caso lo que está indicando son los importes que restan para rectificar la factura original.

keys 08-02-2017 10:47:10

Cita:

Empezado por newtron (Mensaje 513037)
Hola de nuevo.

Hasta ahora solo había probado con facturas emitidas sin grandes problemas. Estoy intentando implementar en la misma unidad facturas recibidas y estoy teniendo problemas. ¿Hay que importar todos los ficheros wsdl de los distintos tipos de facturas? porque a mi se me hace un lío al hacer la llamada de factura emitida o recibida si los tengo en la misma unidad.

Saludos

Por eso preguntaba si al hacer la importación de los WSdl lo haceis todos en la misma carpeta o encarpetas separadas, ya que si luego lo utilizas todos dentro de la misma unit hay que cambiar algunas cosas en los ficheros generados por que genera funciones y clases con el mismo nombre por ejemplo la función GetsiiSOAP, y cada vez que saquen una version nueva volver a hacer estos cambios.

seccion_31 08-02-2017 11:31:39

Os recomiendo hacer formularios independientes.

Porque entonces se confunden los tipos de los distintos objetos. Y referenciar por "unit.tipo" es liarlo mas.

saludos !

Código:

<sii:Exenta>
                          <sii:CausaExencion>E4</sii:CausaExencion>
                          <sii:BaseImponible>-50</sii:BaseImponible>
                        </sii:Exenta>
                        <sii:NoExenta>
                          <sii:TipoNoExenta>S2</sii:TipoNoExenta>
                          <sii:DesgloseIVA>
                              <sii:DetalleIVA>
                                <sii:TipoImpositivo>10</sii:TipoImpositivo>
                                <sii:BaseImponible>-45</sii:BaseImponible>
                                <sii:CuotaRepercutida>-5</sii:CuotaRepercutida>

entonces según el ejemplo, la factura de -45 base imponible y -5 de cuota ¿rectifica a otra de -50? o eso es la diferencia entre una factura u otra.

He repasado el cuadernillo de la aeat y no dice nada al respecto. Eso si, el sistema traga con lo que le pongas. le da igual.

Según he podido entender en una respuesta de la AEAT:
En marzo parece que abrirán una web para comprobar.
El formulario NO parece que sea para subir XMLs, será para teclear a mano la factura.

Saludos !

Virman 08-02-2017 15:28:37

Cita:

Empezado por keys (Mensaje 513039)
Por eso preguntaba si al hacer la importación de los WSdl lo haceis todos en la misma carpeta o encarpetas separadas, ya que si luego lo utilizas todos dentro de la misma unit hay que cambiar algunas cosas en los ficheros generados por que genera funciones y clases con el mismo nombre por ejemplo la función GetsiiSOAP, y cada vez que saquen una version nueva volver a hacer estos cambios.

Eso es lo que me ha estado pasando a mi y madre mía hasta que he cambiado las cosas para quitar los path que te mete por defecto.

jlegido 08-02-2017 17:46:06

Cita:

Empezado por soykarloscc (Mensaje 512614)
Buenas aunque no sea el sitio, ando metido en lo mismo, pero con C#, y fijandome un poco en el ejemplo he conseguido avanzar pero me he quedado en lo mismo.

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


Aunque aun no he realizado la llamado con el certificado...

Aun así gracias a todos por la informacion!!


Hola soykarloscc,
Bueno, yo tambien ando en el tema, pero en VB.NET -muy similar a C# en estructura- por lo que me gustaria, si es posible intercambiar info contigo sobre el tema-. Mi mail es jslegido@gmail.com

Un saludo

newtron 08-02-2017 18:34:08

Cita:

Empezado por seccion_31 (Mensaje 513041)
entonces según el ejemplo, la factura de -45 base imponible y -5 de cuota ¿rectifica a otra de -50? o eso es la diferencia entre una factura u otra.

Supongamos por ejemplo que has emitido en su día una factura de 100 euros + 21%iva=121 euros y la envías. Posteriormente te das cuenta de que el importe no eran 100 euros+iva sino 90+iva por el motivo que sea (diferencia de precios, descuentos, etc), en ese caso tendrías que hacer una factura rectificativa de -10euros+21%iva= -12.10 euros.

Yo todavía no he llegado a eso pero como te comentaba en otro post imagino que debe de haber algún campo en el que se informe del número de la factura que estás rectificando aparte del número de la factura rectificativa que tendrá el suyo propio.

Saludos

usr3010 08-02-2017 19:05:37

Respuesta a mensaje de prueba con HTML no con XML
 
Cita:

Empezado por Nasca (Mensaje 512744)
Indy con OpenSSL. En su momento las he probado en versiones anteriores del WebService y funcionan sin problemas.
Y los xml a mano, paso de depender de librerías del puñetero Windows en ambos casos.

Hola, buenas tardes ... Soy usr3010 ...

Yo también estoy generando los XML a mano a partir de las plantillas facilitadas por la AEAT, y para enviar el archivo XML uso node.js ... Estoy probando todavía ...

He visto que si no registro el Certificado al hacer la llamada https, la TGSS me responde con un html apuntando a erro4033.html (No puedo adjuntar enlaces todavía), y cuando lo incluyo, me responde con un html indicando:

Se ha producido un error
Error del cliente. Se ha producido un error en la solicitud que impide al servidor procesarla.
Puede contactar con el servicio de atención al contribuyente indicando el código de error 400.


¿ Teneís idea alguien de porqué contesta así en vez de con un XML tal cual se indica en el manual ?

Gracias.

keys 09-02-2017 11:04:28

Hola a todos.

Sin certificado valido no se puede enviar nada. El sistema de la aeat genera errores.

Por otro lado no es lo mismo una factura rectificativa que una factura que se ha mandado mal. Para una factura rectificativa es otra factura nueva que se genera y rectifica a otra anterior y en ese caso si hay que mandar una rectifictiva e indicar la que estas rectificando, ya sea positiva o negativa. Una factura que se ha mandado mal, es decir hay un dato mal como puede ser el cliente, bases imponibles, etc hay que mandar la factura otra vez pero con clave A1 en el campo tipo de comunicación o A4 si es del regimen de viajeros. Eso es lo que yo creo.

Un Saludo.

seccion_31 09-02-2017 12:06:27

Ahora deberíamos revisar:

http://www.agenciatributaria.es/AEAT...ormacion.shtml


Si modificas una factura con A1 te devuelve un CSV diferente.

Y dice modificaciones en "datos registrales" que no me queda muy claro que es.... eso si, la presentación con A0 y A1 es la misma.

saludos !

keys 09-02-2017 12:41:53

Hola.

Yo entiendo que una modificación registral es que en la factura enviada hay cosas que se han informado mal (Cliente, bases imponibles, Datos Registrales, etcc), es decir la factura ya esta aceptada en el sistema y hay que volverla a enviar, o la factura ha sido aceptada con avisos que hay que corregir. PAra eso se utiliza la clave A1 o A2 en el tipo de comunicación. Logicamente te devuelve un CSV nuevo por que es un envío nuevo y cada envio devuelve un csv nuevo y tendras uno para el primer envío y otro para el segundo.

Es mas en la información pone que se puede modificar una factura que se envío y luego se dio de baja.

Una factura rectificativa es un nueva factura con su número nuevo y que rectifica una anterior. Es decir hay otro documento de factura por medio.

Como bien dices todo esto esta explicado mas o menos en la información de la aeat. Que por cierto gracias a Trump :D ahora la tenemos en inglés.

Un Saludo.

seccion_31 10-02-2017 08:47:42

Buenos días !

por intervenir hoy...

técnicamente creo que ya los que trabajamos en Delphi no tenemos problemas para hacer los envíos.

si os fijáis en uno de los cuadernillos de la AEAT (Presentacion_SII_es_es) se incluyen capturas de pantalla de la futura web de consulta de las facturas que tienen ya recibidas. Pero como me dijeron, no será accesible hasta marzo.

Ahora bien:
mi preocupación viene en componer adecuadamente el XML que se envía.

Ahora mismo no tengo claro los modelos (emitidos y recibidos) de canarias, sociedades cuyo nif empieza por N, autofacturas... si alguien pudiera publicar algún ejemplo de dichos archivos creo que seria de gran utilidad para ir comparando los que vamos generando. No puedo publicar ninguno de estos porque no lo tengo claro.

Saludos !

keys 10-02-2017 09:31:05

Cita:

Empezado por seccion_31 (Mensaje 513141)
Buenos días !

Ahora bien:
mi preocupación viene en componer adecuadamente el XML que se envía.

Ahora mismo no tengo claro los modelos (emitidos y recibidos) de canarias, sociedades cuyo nif empieza por N, autofacturas... si alguien pudiera publicar algún ejemplo de dichos archivos creo que seria de gran utilidad para ir comparando los que vamos generando. No puedo publicar ninguno de estos porque no lo tengo claro.

Saludos !

Hola yo estoy con las emitidas y hasta que no las termine bien no empezaré con las otras. "Sociedades cuyo nif Empieza po N'

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.

Es decir hay que desglosar por "desglose Tipo Operacion". Si el cif empieza por o es extranjero y la operacion no es simplificada ni resumen. Te pongo un ejemplo de una factrura con una parte de prestación y otra parte de entrega.

En cuanto a la autofacturas me imagino que es poner en los datos del declarado los mismos datos de la empresa que declara y el tipo de operación que corresponda.

LAs ventas a canarias no dejan de ser unas ventas exentas.

Por cierto has conseguido algo con lo de enviar mas de 13 facturas en hacienda no me contestan nada.

Un Saludo

seccion_31 10-02-2017 10:24:13

Gracias Keys !

luego miro tus ejemplos

aeat me ha respondido algunos correos, pero ese precisamente NO. (+13 facturas)

aunque estoy enviando facturas 1 a 1. ¿porque? porque me funciona, obtengo un csv individual, y el envio / respuesta es mas claro y a nivel de programa es mas sencillo no equivocarte.

Si no tengo contra-indicación seguire asi.

Saludos !


mirado el ejemplo de N...

según parece el tipo de NIF, no condiciona el tipo de trabajos que realizas: según pone prestación de servicios.... seguro que pasa... pero... porque además el error que devuelve dice mas o menos eso... también si lo colocas como "exento" pasa. de ahí mis dudas.

les consulte a la aeat y tampoco han dicho nada hasta el momento, a ver que dice nuestro asesor fiscal...

De canarias ni idea... en fin, esto ya no es programación, esto es otro tema ya. ¿no?

newtron 10-02-2017 10:27:23

Cita:

Empezado por seccion_31 (Mensaje 513144)
aunque estoy enviando facturas 1 a 1. ¿porque? porque me funciona, obtengo un csv individual, y el envio / respuesta es mas claro y a nivel de programa es mas sencillo no equivocarte.

Yo apuesto también por hacerlo de forma individual, el problema es que si son muchas facturas se hará lento el proceso.

¿Cómo se obtiene el csv?

Saludos

keys 10-02-2017 10:41:33

Yo prefiero hacerlo de forma conjunta ya que creo que va a influir en la velocidad y además hemos optado por guardar el fichero de respuesta de la AEAT para que lo puedan consultar en cualquier momento ademas del CSV, y hacerlo de forma individual supondrá que el número de ficheros va a crecer mucho.

Si no me contestan nada de la aeat no quedará mas remedio que hacerlo de una en una, pero me da la impresión que va a ser un problema de nuestro delphi ya que me estraña que nadie haya presentado aún ficheros con más de 13 registros.

Por cierto alguno a descubierto como hacer que el xml que se genera no tenga en todas las lineas el xmlns de cada tipo de campo. Lo digo para que el fichero de envío quede mas claro.

Un Saludo.

Nasca 10-02-2017 10:50:07

Hay que tener en cuenta que ahora mismo todo está en pruebas, así que no sería de extrañar que la limitación de 13 esté relacionada con este tema.
Como una forma de evitar saturaciones, ya que a efectos de realizar pruebas de formato y comunicaciones es suficiente.
Que sea precisamente 13 incluso refuerza esa impresión.
Como informático si tengo que elegir un número elijo 13 o 69 ;)

seccion_31 10-02-2017 11:08:05

Código:

              resultado := GetsiiSOAP(true,'',emitidas).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
              //mostrar los resultados devueltos por la llamada

              for i := low(resultado.RespuestaLinea) to High(resultado.RespuestaLinea) do
              begin

...

                        csv:=resultado.CSV

....
              end;

dentro del bucle que comprueba las líneas devueltas, solo tienes que añadir esa línea que obtendría el csv para el envio. (podría ir fuera del bucle también). sorry. ;)
Saludos !

keys 10-02-2017 11:18:31

Cita:

Empezado por seccion_31 (Mensaje 513144)
Gracias Keys !

mirado el ejemplo de N...

según parece el tipo de NIF, no condiciona el tipo de trabajos que realizas: según pone prestación de servicios.... seguro que pasa... pero... porque además el error que devuelve dice mas o menos eso... también si lo colocas como "exento" pasa. de ahí mis dudas.

El tipo de cif no condiciona lógicamente si una operacion es de entrega o de prestación, pero a hacienda solo le interesa que lo diferencies si el CIF empieza por N o es un extranjero.

Las ventas a canarias en el 340 hay que declararlas como una operacion habitual exenta, me imagino que aqui será igual. Otra cosa es una venta de un canario a un canario que en ese caso si lleva el IGIC, pero yo no tengo esos casos.


La franja horaria es GMT +2. Ahora son las 18:54:52.

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