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)

batuzail 17-03-2017 18:38:32

Cita:

Empezado por dmg (Mensaje 514449)
Muy buenas, estoy realizando el proyecto en c# con Visual Studio 2010 .Net 4.6, el fichero XML que genero no lo valida correctamente.
Faltan los nodos Envelope, Header, Body,...


Como puedo conseguir generar la estructura como la de los ejemplos o algo parecido que se valide correctamente?


Yo estoy haciendo lo siguiente:

1) Creo un proyecto windows form

2) Agrego una Referencia de Servicio y en la direccion incluyo el wsdl y pulso IR:
"https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl"
3) Cambio el nombre del NAMESPACE: ServiceReferenceEmitidas

4) incluyo en el proyecto
using PruebaWS.ServiceReferenceEmitidas;

5) Defino una variable del tipo SuministroLRFacturasEmitidas y voy rellenando los datos de la factura

SuministroLRFacturasEmitidas SII_Emitidas = new SuministroLRFacturasEmitidas();

6) Termino generando el XML.
XmlSerializer serializer = new XmlSerializer(typeof(SuministroLRFacturasEmitidas));
FileStream fs = new FileStream(fichero, FileMode.Create);
serializer.Serialize(fs, SII_Emitidas);


Espero que alguien me pueda echar una mano, muchas gracias
Un saludo.

Sobre como cambiar el xml, no te puedo ayudar, yo lo hago todo desde el WS, pero si que te falta usar el certificado para comunicarte con el WS, sin el no podrás realizar el envío de ninguna manera.

Saludos

CMB 17-03-2017 22:33:29

Bienes de inversión
 
Observo que tanto en el esquema como en el ejemplo del envío de Bienes de Inversión no consta en ninguna parte el importe a deducir. Sí que se pone la prorrata anual, pero no la cantidad que se amortiza ese año.

¿Será porque va vinculado a la factura inicial? Pues el número de esa factura sí que lo piden.

Me imagino yo, porque no lo veo explicado, que antes habrá que haber declarado la factura del bien de inversión, con el importe completo, dentro del libro de facturas recibidas. Posteriormente se envía dentro del libro de bienes de inversión la referencia a la factura de compra del bien.

¿Alguien lo ha trabajado y puede confirmar que es así? ¿O suministrar algún otro detalle que se me haya pasado por alto?

Con la inestimable ayuda de todos saldremos de ésta, igual que hemos salido de otras :)

Muchas gracias.

Saludos cordiales,

newtron 18-03-2017 09:06:09

Cita:

Empezado por CMB (Mensaje 514453)
Observo que tanto en el esquema como en el ejemplo del envío de Bienes de Inversión no consta en ninguna parte el importe a deducir. Sí que se pone la prorrata anual, pero no la cantidad que se amortiza ese año.

¿Será porque va vinculado a la factura inicial? Pues el número de esa factura sí que lo piden.

Me imagino yo, porque no lo veo explicado, que antes habrá que haber declarado la factura del bien de inversión, con el importe completo, dentro del libro de facturas recibidas. Posteriormente se envía dentro del libro de bienes de inversión la referencia a la factura de compra del bien.

¿Alguien lo ha trabajado y puede confirmar que es así? ¿O suministrar algún otro detalle que se me haya pasado por alto?

Con la inestimable ayuda de todos saldremos de ésta, igual que hemos salido de otras :)

Muchas gracias.

Saludos cordiales,

Maemía.... la de contabilidad que vamos a aprender aquí.

Hasta leer tu post no sabía qué era exactamente la ley de prorrata (no digo que ahora lo sepa :D) pero según parece no tiene nada que ver con UNA factura de inversión sino que es un sistema tributario para empresarios que realizan operaciones que tienen derecho a deducción de iva simultaneamente con operaciones que no lo tienen por lo que se declara un porcentaje en función al peso que tiene cada una de estas operaciones dentro del cómputo total.

Me da la impresión, que a mi también me la daba al leer el título de "bienes de inversión", de que estás confundido con el libro registro clásico de bienes de inversión del iva en el que se detallan las facturas correspondientes a las inversiones que posteriormente se deducirán en las amortizaciones y parece que los tiros no van por ahí.

En este artículo explica este asunto creo que de una forma simple y clara.

De todas formas... ¿no hay un contable por aquí? a ver si nos puede dar luz en este tema. :D:D

Saludos

Nasca 18-03-2017 09:46:33

Cita:

Empezado por newtron (Mensaje 514460)
De todas formas... ¿no hay un contable por aquí? a ver si nos puede dar luz en este tema. :D:D
Saludos

Yo soy contable y te puedo decir que aún no he tocado ninguna empresa que aplique el libro de bienes de inversión. Ni directa ni indirectamente a través de los usuarios de mis programas. Uno de ellos específico para la presentación del modelo 340 y su libro de bienes de inversión.

Total (después de la auto-promoción :rolleyes:) preguntad a vuestros clientes, seguramente sean una minoría los obligados. Y al ser anual con una tabla sencilla será mas que suficiente.

CMB 18-03-2017 10:30:00

Bienes de inversión

Cita:

Empezado por newtron (Mensaje 514460)
Maemía.... la de contabilidad que vamos a aprender aquí.
Hasta leer tu post no sabía qué era exactamente la ley de prorrata (no digo que ahora lo sepa :D) pero según parece no tiene nada que ver con UNA factura de inversión sino que es un sistema tributario para empresarios que realizan operaciones que tienen derecho a deducción de iva simultaneamente con operaciones que no lo tienen por lo que se declara un porcentaje en función al peso que tiene cada una de estas operaciones dentro del cómputo total.
Me da la impresión, que a mi también me la daba al leer el título de "bienes de inversión", de que estás confundido con el libro registro clásico de bienes de inversión del iva en el que se detallan las facturas correspondientes a las inversiones que posteriormente se deducirán en las amortizaciones y parece que los tiros no van por ahí.
En este artículo explica este asunto creo que de una forma simple y clara.
De todas formas... ¿no hay un contable por aquí? a ver si nos puede dar luz en este tema. :D:D
Saludos

Yo sí que he utilizado el libro de bienes de inversión. Si en tu negocio compras un bien duradero (no consumible) de valor superior a 600 EUR, sólo puedes deducirte el IVA de una vez el mismo ejercicio en que lo has comprado. Pero la base imponible la tienes que deducir por partes a lo largo de unos años, según el tipo de bien, y con un porcentaje (o prorrata) en cada ejercicio, también según el tipo de bien. Y tienes que llevar un libro como los de facturas recibidas y emitidas. Hay unas tablas de amortización establecidas por ley. Y además, si el bien ha sido comprado a mitad de año, se aplica una prorrata o parte proporcional.

Hay miles de páginas que lo explican. Al azar te he encontrado estas dos

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

https://ayuda.cuentica.com/tabla-ano...profesionales/

No es necesario que lo leas todo. Ve directamente a la tabla.

De eso se trata lo del libro de bienes de inversión que hay que mandar por webservice.

Y ahora vuelvo a mi pregunta de antes, pendiente todavía de respuesta http://www.clubdelphi.com/foros/show...&postcount=362

Saludos,

newtron 18-03-2017 11:01:51

Cita:

Empezado por CMB (Mensaje 514464)
Y ahora vuelvo a mi pregunta de antes, pendiente todavía de respuesta http://www.clubdelphi.com/foros/show...&postcount=362

Amigo CMB, uno de los dos estamos confundidos. Te digo que lo que se entiende en el SII por "Libro registro de bienes de inversión" no tiene nada que ver con lo que hablas.

Si le echas un vistazo a esto: http://www.agenciatributaria.es/AEAT...a__span_.shtml

verás que dice claramente "Este libro sólo lo llevarán aquellos sujetos pasivos que estén sometidos a la regla de prorrata." y la dichosa regla de la prorrata es lo que te comentaba en el post anterior, no tiene nada que ver con los bienes que compras y que después vas a amortizar.

Igual me equivoco pero yo lo veo "clarinete".

Saludos

Edito:

Lo que si es cierto es que, a diferencia del modelo 340, no veo ningún sitio donde identificar las facturas que siempre han sido de "bienes de inversión", igual en este sistema no se identifican o no lo entiendo.

Nasca 18-03-2017 11:13:31

Exactamente, tal como dice newtron, son cosas diferentes.

De hecho hay ciertas confusiones en el cruce contabilidad-fiscalidad.

Por ejemplo el inmovilizado no corresponde exactamente con los bienes de inversión a efectos de IVA. Puede que haya inmovilizados que no se consideren bienes de inversión a efectos de IVA. En el modelo 303 van separados de bienes corrientes.

Y en este caso concreto estos bienes de inversión aún son mas restrictivos, solo se aplican cuando hay prorrata.

Cita:

Artículo 102.- Regla de prorrata.
Uno. La regla de prorrata será de aplicación cuando el sujeto pasivo, en el ejercicio de su actividad empresarial o profesional, efectúe conjuntamente entregas de bienes o prestaciones de servicios que originen el derecho a la deducción y otras operaciones de análoga naturaleza que no habiliten para el ejercicio del citado derecho.

Nasca 18-03-2017 11:19:08

Cita:

Empezado por newtron (Mensaje 514465)
Lo que si es cierto es que, a diferencia del modelo 340, no veo ningún sitio donde identificar las facturas que siempre han sido de "bienes de inversión", igual en este sistema no se identifican o no lo entiendo.

Tal vez IdentificacionEntrega haga esa función.

Código:

 
        <sequence>
            <element name="IdentificacionBien" type="sii:TextMax40Type"/>
            <element name="FechaInicioUtilizacion" type="sii:fecha"/>
            <element name="ProrrataAnualDefinitiva" type="sii:Tipo2.2Type"/>
            <element name="RegularizacionAnualDeduccion" type="sii:ImporteSgn12.2Type" minOccurs="0"/>
            <element name="IdentificacionEntrega" type="sii:TextMax40Type" minOccurs="0"/>
            <element name="RegularizacionDeduccionEfectuada" type="sii:ImporteSgn12.2Type" minOccurs="0"/>
        </sequence>

A efectos de 340, CAMPOS:

BI_PRORRATA_ANUAL Se consignará la prorrata anual definitiva aplicable.
BI_REGULARIZACION_ANUAL Se consignará la regularización anual de la deducción en euros o su contravalor, en los casos de operaciones en divisas, según el artículo 79 once de la Ley 37/1992 de 28 de Diciembre del Impuesto sobre el Valor Añadido , y el artículo 23.8 de la Ley 20/1991, de 7 de junio, de modificación de los aspectos fiscales del Régimen Económico Fiscal de Canarias.
BI_IDENT_FACTURA_ENTREGA Se consignarán la identificación de la factura que corresponde en el LIBRO REGISTRO DE FACTURAS EXPEDIDAS que recoge la entrega.
BI_REGULARIZACION_TRANSMISION Se consignará la regularización de la deducción efectuada con motivo de la transmisión del bien en euros o su contravalor, en los casos de operaciones en divisas, según el artículo 79 once de la Ley 37/1992 de 28 de Diciembre del Impuesto sobre el Valor Añadido , y el artículo 23.8 de la Ley 20/1991, de 7 de junio, de modificación de los aspectos fiscales del Régimen Económico Fiscal de Canarias.
BI_FECHA_INICIO_USO
Se consignará la fecha del inicio del uso del bien.
BI_IDENT_BIEN Se consignará la descripción del bien objeto de este libro registro de IVA o IGIC.

Yo creo que son similares en cuanto a contenido.

newtron 18-03-2017 11:24:26

Cita:

Empezado por Nasca (Mensaje 514467)
Tal vez IdentificacionEntrega haga esa función.

Código:

 
        <sequence>
            <element name="IdentificacionBien" type="sii:TextMax40Type"/>
            <element name="FechaInicioUtilizacion" type="sii:fecha"/>
            <element name="ProrrataAnualDefinitiva" type="sii:Tipo2.2Type"/>
            <element name="RegularizacionAnualDeduccion" type="sii:ImporteSgn12.2Type" minOccurs="0"/>
            <element name="IdentificacionEntrega" type="sii:TextMax40Type" minOccurs="0"/>
            <element name="RegularizacionDeduccionEfectuada" type="sii:ImporteSgn12.2Type" minOccurs="0"/>
        </sequence>

A efectos de 340, CAMPOS:

BI_PRORRATA_ANUAL Se consignará la prorrata anual definitiva aplicable.
BI_REGULARIZACION_ANUAL Se consignará la regularización anual de la deducción en euros o su contravalor, en los casos de operaciones en divisas, según el artículo 79 once de la Ley 37/1992 de 28 de Diciembre del Impuesto sobre el Valor Añadido , y el artículo 23.8 de la Ley 20/1991, de 7 de junio, de modificación de los aspectos fiscales del Régimen Económico Fiscal de Canarias.
BI_IDENT_FACTURA_ENTREGA Se consignarán la identificación de la factura que corresponde en el LIBRO REGISTRO DE FACTURAS EXPEDIDAS que recoge la entrega.
BI_REGULARIZACION_TRANSMISION Se consignará la regularización de la deducción efectuada con motivo de la transmisión del bien en euros o su contravalor, en los casos de operaciones en divisas, según el artículo 79 once de la Ley 37/1992 de 28 de Diciembre del Impuesto sobre el Valor Añadido , y el artículo 23.8 de la Ley 20/1991, de 7 de junio, de modificación de los aspectos fiscales del Régimen Económico Fiscal de Canarias.
BI_FECHA_INICIO_USO
Se consignará la fecha del inicio del uso del bien.
BI_IDENT_BIEN Se consignará la descripción del bien objeto de este libro registro de IVA o IGIC.

Yo creo que son similares en cuanto a contenido.

Pero volvemos a lo mismo.... si se supone que el "Libro registro de bienes de inversión" solo es para los empresarios que están sujetos a la ley de prorrata.... ¿cómo se identifican los bienes de inversión para los empresarios que no lo están? :confused::confused:

Saludos

Edito:

Particularmente me da la impresión de que este tema no lo tienen bien definido y que próximamente veremos algún cambio al respecto.

Nasca 18-03-2017 11:44:25

Cita:

Empezado por newtron (Mensaje 514468)
Pero volvemos a lo mismo.... si se supone que el "Libro registro de bienes de inversión" solo es para los empresarios que están sujetos a la ley de prorrata.... ¿cómo se identifican los bienes de inversión para los empresarios que no lo están? :confused::confused:

Particularmente me da la impresión de que este tema no lo tienen bien definido y que próximamente veremos algún cambio al respecto.

No se identifican de ninguna manera. Ni ahora ni antes en el 340.

Este libro es para comprobar que se están aplicando correctamente las prorratas en la deducibilidad del IVA, no para comprobar tablas de amortización ni nada similar.

Esa información estaría en los registros de amortización de la contabilidad, o en el registro de bienes de inversión de IRPF para autónomos. Pero esa información no hay que comunicarla detalladamente ni en Impuesto Sociedades ni en IRPF. Ahora a efectos de cruce pueden hacer algo con la información del 303. Y si hay algo sospechoso te pedirán la justificación de los importes deducidos a efectos de amortización en el modelo 200 (I.S.) y 100 (IRPF).

Y resalto un poco, todo esto es coherente con el 340.

newtron 18-03-2017 11:59:25

Cita:

Empezado por Nasca (Mensaje 514469)
No se identifican de ninguna manera. Ni ahora ni antes en el 340.

Este libro es para comprobar que se están aplicando correctamente las prorratas en la deducibilidad del IVA, no para comprobar tablas de amortización ni nada similar.

Esa información estaría en los registros de amortización de la contabilidad, o en el registro de bienes de inversión de IRPF para autónomos. Pero esa información no hay que comunicarla detalladamente ni en Impuesto Sociedades ni en IRPF. Ahora a efectos de cruce pueden hacer algo con la información del 303. Y si hay algo sospechoso te pedirán la justificación de los importes deducidos a efectos de amortización en el modelo 200 (I.S.) y 100 (IRPF).

Y resalto un poco, todo esto es coherente con el 340.

Ok, no sé por qué quería recordar que en el 340 se identificaban esas facturas. Entonces entiendo que las facturas de bienes de inversión, en el caso de los empresarios no sujetos a la ley de la prorrata, no se identifican de ninguna forma especial, ¿no?

Saludos

CMB 18-03-2017 12:05:57

Libro de Bienes de Inversión
 
Cita:

Empezado por newtron (Mensaje 514465)
Amigo CMB, uno de los dos estamos confundidos.

Me alegro mucho de haberme confundido, porque eso representa menos trabajo de programación.

Sin embargo, aquellos artículos de carácter duradero que compra una empresa, y que cuestan más de 600 EUR, que siempre se habían deducido gradualmente, una fracción cada ejercicio, ¿donde se meten ahora con el SII? Esos artículos se han llamado siempre Bienes de inversión. Si el SII habla de Libro de Bienes de Inversión y se refiere a otra cosa, entonces se crea una gran confusión.

Adicionalmente, con el autónomo o empresario que compró una máquina de 25.000 euros, o instaló aire acondicionado en sus dependencias por importe de 8.000 euros, y que cada año amortiza una porción de acuerdo con las tablas oficiales, ¿dónde declaramos esos gastos con el SII? ¿En facturas recibidas? ¿Y cómo controla la AEAT que los porcentajes aplicados y la suma de importes de cada año son los correctos?

Todo eso habría que tenerlo meridianamente claro antes de llevar el programa a producción. Sino la metedura de pata podría ser descomunal.

Saludos,

newtron 18-03-2017 12:16:13

Cita:

Empezado por CMB (Mensaje 514471)
Me alegro mucho de haberme confundido, porque eso representa menos trabajo de programación.

Sin embargo, aquellos artículos de carácter duradero que compra una empresa, y que cuestan más de 600 EUR, que siempre se habían deducido gradualmente, una fracción cada ejercicio, ¿donde se meten ahora con el SII? Esos artículos se han llamado siempre Bienes de inversión. Si el SII habla de Libro de Bienes de Inversión y se refiere a otra cosa, entonces se crea una gran confusión.

Adicionalmente, con el autónomo o empresario que compró una máquina de 25.000 euros, o instaló aire acondicionado en sus dependencias por importe de 8.000 euros, y que cada año amortiza una porción de acuerdo con las tablas oficiales, ¿dónde declaramos esos gastos con el SII? ¿En facturas recibidas? ¿Y cómo controla la AEAT que los porcentajes aplicados y la suma de importes de cada año son los correctos?

Todo eso habría que tenerlo meridianamente claro antes de llevar el programa a producción. Sino la metedura de pata podría ser descomunal.

Saludos,

Bueno, según recuerda nuestro colega Nasca, en el modelo 340 ya no se identificaban ese tipo de facturas. Imagino que la táctica será enviar la factura cuando se hace la compra y punto, posteriormente en caso de inspección podrán reclamarte las amortizaciones que se hayan hecho sobre ese bien pero en principio parece que enviando la factura hemos acabado.

Saludos

CMB 18-03-2017 12:50:32

Cita:

Empezado por newtron (Mensaje 514472)
Bueno, según recuerda nuestro colega Nasca, en el modelo 340 ya no se identificaban ese tipo de facturas. Imagino que la táctica será enviar la factura cuando se hace la compra y punto, posteriormente en caso de inspección podrán reclamarte las amortizaciones que se hayan hecho sobre ese bien pero en principio parece que enviando la factura hemos acabado.
Saludos

Me alegro de que sea así. Pero algunas cosas siguen confusas.

Cuando un autónomo o empresario está amortizando bienes de inversión, en el libro de facturas recibidas tiene que poner sólo el importe amortizado en el ejercicio en curso, no el total de la factura. Si el bien que compró eran 5.000 euros, y ese año le toca amortizar sólo 500, en ese libro debería poner 500. Y en años sucesivos, 500 también, hasta la amortización total. Y eso afecta directamente, en el caso de autónomos, a la cuota a pagar del modelo 130 (IRPF), y en las empresas algo parecido con el impuesto de sociedades.

Y ahora el dilema:

Nosotros programadores, al crear el libro de facturas recibidas para mandar a la AEAT, ¿cómo debemos gestionar esas deducciones periódicas? (1) ¿Incluyes el importe total el primer año y te olvidas del resto?, o (2) ¿pones en cada ejercicio la fracción que corresponda?

Si es el caso (1) no sería consistente con el importe a pagar por IRPF o impuesto de sociedades. Y si es el caso (2) la AEAT, al cruzar datos, encontraría una discrepancia con la base imponible de la factura declarada por el proveedor, probablemene sancionable.

En mi humilde opinión, ninguno de los dos casos parece perfecto, y ambos podrían crear problemas.

newtron 18-03-2017 13:13:29

Cita:

Empezado por CMB (Mensaje 514473)
Me alegro de que sea así. Pero algunas cosas siguen confusas.

Cuando un autónomo o empresario está amortizando bienes de inversión, en el libro de facturas recibidas tiene que poner sólo el importe amortizado en el ejercicio en curso, no el total de la factura. Si el bien que compró eran 5.000 euros, y ese año le toca amortizar sólo 500, en ese libro debería poner 500. Y en años sucesivos, 500 también, hasta la amortización total. Y eso afecta directamente, en el caso de autónomos, a la cuota a pagar del modelo 130 (IRPF), y en las empresas algo parecido con el impuesto de sociedades.

Y ahora el dilema:

Nosotros programadores, al crear el libro de facturas recibidas para mandar a la AEAT, ¿cómo debemos gestionar esas deducciones periódicas? (1) ¿Incluyes el importe total el primer año y te olvidas del resto?, o (2) ¿pones en cada ejercicio la fracción que corresponda?

Si es el caso (1) no sería consistente con el importe a pagar por IRPF o impuesto de sociedades. Y si es el caso (2) la AEAT, al cruzar datos, encontraría una discrepancia con la base imponible de la factura declarada por el proveedor, probablemene sancionable.

En mi humilde opinión, ninguno de los dos casos parece perfecto, y ambos podrían crear problemas.

Creo que esa no es la idea. Hay que enviar la factura original cuando se produce y punto. Las deducciones periódicas por amortización no hay que enviarlas, no son facturas, son meros asientos de gastos.

Saludos

Nasca 18-03-2017 17:18:39

Cita:

Empezado por CMB (Mensaje 514473)
Nosotros programadores, al crear el libro de facturas recibidas para mandar a la AEAT, ¿cómo debemos gestionar esas deducciones periódicas? (1) ¿Incluyes el importe total el primer año y te olvidas del resto?, o (2) ¿pones en cada ejercicio la fracción que corresponda?

Si es el caso (1) no sería consistente con el importe a pagar por IRPF o impuesto de sociedades. Y si es el caso (2) la AEAT, al cruzar datos, encontraría una discrepancia con la base imponible de la factura declarada por el proveedor, probablemene sancionable.

Las amortizaciones solo tendrías que justificarlas a petición por inspección. No estamos hablando en ningún momento de libro de inmovilizado y sus correspondiente amortizaciones.

La clave está en la cuestión de la prorrata.
Revisa el enlace que te puse y si quieres quedarte mas tranquilo tira de los artículos de IVA que te indico.

jmlazaro 20-03-2017 11:26:22

Generar xml.
 
Cita:

Empezado por dmg (Mensaje 514449)
Muy buenas, estoy realizando el proyecto en c# con Visual Studio 2010 .Net 4.6, el fichero XML que genero no lo valida correctamente.
Faltan los nodos Envelope, Header, Body,...


Como puedo conseguir generar la estructura como la de los ejemplos o algo parecido que se valide correctamente?


Yo estoy haciendo lo siguiente:

1) Creo un proyecto windows form

2) Agrego una Referencia de Servicio y en la direccion incluyo el wsdl y pulso IR:
"https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl"
3) Cambio el nombre del NAMESPACE: ServiceReferenceEmitidas

4) incluyo en el proyecto
using PruebaWS.ServiceReferenceEmitidas;

5) Defino una variable del tipo SuministroLRFacturasEmitidas y voy rellenando los datos de la factura

SuministroLRFacturasEmitidas SII_Emitidas = new SuministroLRFacturasEmitidas();

6) Termino generando el XML.
XmlSerializer serializer = new XmlSerializer(typeof(SuministroLRFacturasEmitidas));
FileStream fs = new FileStream(fichero, FileMode.Create);
serializer.Serialize(fs, SII_Emitidas);


Espero que alguien me pueda echar una mano, muchas gracias
Un saludo.

Hola a todos,
Tengo el mismo problema al generar el XML (clavadito al tuyo, dmg), no me pone los nodos Envelope, Header, Body.
Pero cuando me comunico con el ws, el mensaje de respuesta es OK y puedo consultar las facturas enviadas en la página de pruebas AEAT, pero me gustaría poder generar correctamente el archivo XLM para guardarlo.

Muchas gracias a todos

newtron 20-03-2017 11:37:05

Hola de nuevo.

Ahora toca una pregunta contable. ¿Las facturas de devolución de mercancía habrá que identificarlas como rectificativas o simplemente se envían junto con el resto de facturas de ventas? Es un tema que no tengo muy claro.

Saludos

keys 20-03-2017 11:42:47

Una devolución de mercancias se supone que ha tenído una factura previa de venta. Si esta declarada previamente, la de devolución será una rectificativa.

Un Saludo.

Nasca 20-03-2017 11:46:39

Un rectificativa incremental lo soluciona todo de forma muy sencilla.

Nada de sustitutivas ni identificar factura/s rectificada/s.

newtron 20-03-2017 11:52:18

Cita:

Empezado por keys (Mensaje 514494)
Una devolución de mercancias se supone que ha tenído una factura previa de venta. Si esta declarada previamente, la de devolución será una rectificativa.

Un Saludo.

Pero una devolución no necesariamente debe de provenir de UNA factura, un cliente puede estar retirando mercancía durante meses y luego llega y te devuelve cierta mercancía que puede provenir de quien sabe donde.

Cita:

Empezado por Nasca (Mensaje 514495)
Un rectificativa incremental lo soluciona todo de forma muy sencilla.

Nada de sustitutivas ni identificar factura/s rectificada/s.

Esa sería una solución, de esta manera ¿todas las facturas negativas serían rectificativas? o dicho de otra manera ¿no hay facturas "normales" en negativo?

Saludos

Nasca 20-03-2017 12:03:21

Cita:

Empezado por newtron (Mensaje 514496)
Pero una devolución no necesariamente debe de provenir de UNA factura, un cliente puede estar retirando mercancía durante meses y luego llega y te devuelve cierta mercancía que puede provenir de quien sabe donde.

Esa sería una solución, de esta manera ¿todas las facturas negativas serían rectificativas? o dicho de otra manera ¿no hay facturas "normales" en negativo?

Efectivamente, puede haber varias facturas rectificadas, y así lo contempla el esquema:

Código:

<element name="FacturasRectificadas" minOccurs="0">
                <complexType>
                    <annotation>
                        <documentation xml:lang="es">El ID de las facturas rectificadas, únicamente se rellena en el caso de rectificación de facturas</documentation>
                    </annotation>
                    <sequence>
                        <element name="IDFacturaRectificada" type="sii:IDFacturaARType" maxOccurs="unbounded"/>
                    </sequence>
                </complexType>
            </element>

Por suerte en las FAQ dicen también que la identificación es opcional. En la misma línea del modelo 340.

Respecto a las negativas. Yo creo que se puede asumir sin mayor consecuencias que toda factura negativa es rectificativa.
Aunque también podría ser cierto que no todas las facturas rectificativas tienen que ser negativas. Las sustitutivas van en esa línea. Aunque no creo que haya muchas empresas que usen ese lío de Rectificativas - Sustitutivas.

pprieto 20-03-2017 12:08:30

Hola a todos:

Antes de nada agradecer el fabuloso trabajo de todos y los ejemplos de código que me han resultado realmente útiles. Estoy intentando enviar un alta de factura normal con la versión 0.6 del webservice y me devuelve el siguiente error:

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

La única diferencia de mi XML que envío con el del ejemplo que aparece en el manual es que en el grupo de contraparte yo tengo un nodo denominado NIFRepresentante y en la documentación aparece como NIF. Al estar trabajando directamente con los objetos del WebService (en Vb .NET) no encuentro la manera de modificar el nombre del nodo.

Lo curioso es que si elimino ese grupo (el de contraparte) me da el error: "El argumento 'Prompt' no se puede convertir en el tipo 'String'".

¿A alguien le ha pasado lo mismo? ¿Existe una solución? Gracias.

jmlazaro 20-03-2017 12:21:46

Cita:

Empezado por pprieto (Mensaje 514498)
Hola a todos:

Antes de nada agradecer el fabuloso trabajo de todos y los ejemplos de código que me han resultado realmente útiles. Estoy intentando enviar un alta de factura normal con la versión 0.6 del webservice y me devuelve el siguiente error:

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

La única diferencia de mi XML que envío con el del ejemplo que aparece en el manual es que en el grupo de contraparte yo tengo un nodo denominado NIFRepresentante y en la documentación aparece como NIF. Al estar trabajando directamente con los objetos del WebService (en Vb .NET) no encuentro la manera de modificar el nombre del nodo.

Lo curioso es que si elimino ese grupo (el de contraparte) me da el error: "El argumento 'Prompt' no se puede convertir en el tipo 'String'".

¿A alguien le ha pasado lo mismo? ¿Existe una solución? Gracias.

Hola pprieto.

A mí me pasaba lo mismo, lo solucioné poniendo contraparte.Item = "BXXXXXXX"

Espero que te funcione.

Saludos

pprieto 20-03-2017 12:23:40

Cita:

Empezado por jmlazaro (Mensaje 514499)
Hola pprieto.

A mí me pasaba lo mismo, lo solucioné poniendo contraparte.Item = "BXXXXXXX"

Espero que te funcione.

Saludos

Muchas gracias jmlazaro. Con esto me ha funcionado perfectamente.

Conrado Cueva 20-03-2017 12:31:06

Hola,

Buenos días a todos, soy nuevo en este grupo y me pongo en contacto con vosotros para ver si me podéis echar una mano con algunos problemas que tengo.

Antes de nada, me descargue Los Ejemplos que habéis publicado y después de hacer algunos ajustes según los ejemplos, sigo con el mismo problema que tenía.

Esta es la configuración que estoy utilizando:

defWSDL = ' https: // www7.aeat.es/ wlpl / SSII-FACT / ws / fr / SiiFactFRV1SOAP/ SuministroFactRecibidas.wsdl';
defSvc = 'siiService';
defPrt = 'SuministroFactRecibidasPruebas';

Y el certificado lo cargo según los ejemplos que me descargue (setCERTIFICADO(CERTIFICADO))


Cuando intento enviar una factura Recibida me muestra siempre este mensaje de error:

Proyect Proyect1.exe raised exception class EDOMParseError with message 'DTD está prohibido.

Line: 1
<!DOCTYPO html PUBLIC ' -//W3C//DTD XHTML'.


y si pongo lo siguiente para desactivar el DTD:

constructor SuministroLRFacturasRecibidas.Create;
begin
inherited Create;
FSerializationOptions := [xoLiteralParam];
MSXMLDOMDocumentFactory.AddDOMProperty('ProhibitDTD', False);
end;


Me muestra el siguiente error:

Proyect Proyect1.exe raised exception class Exception class Exception with message 'Unabled to load WSDL File/Location:
https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFRV1SOAP/SuministroFactRecibidas.wsdl. Error [Se encontró un carácter no válido en el contenido del texto.

Line: 9
<title>Gestí]'.


¿ Os ha ocurrido a vosotros algo parecido ?

¿ Podéis ayudarme ?

Gracias de antemano.

Saludos

inyu 20-03-2017 18:37:03

Cita:

Empezado por bartag (Mensaje 514008)
Te pongo el código que utilizo. Básicamente lo que hace es tomar un archivo xml y lo envía. Debes por favor cumplimentar previamente los campos de dicho archivo pues en caso contrario te dará errores de validación.

Código:

        ' ----------------------------------------------------------------------------------------
        Dim store As Security.Cryptography.X509Certificates.X509Store = New Security.Cryptography.X509Certificates.X509Store("My")
        store.Open(Security.Cryptography.X509Certificates.OpenFlags.ReadOnly)

        Dim CertificadoCorrecto As New System.Security.Cryptography.X509Certificates.X509Certificate2
       
        For Each x In store.Certificates
            ListCert = ListCert & vbNewLine
        Next
        'RichTextBox1.Text = ListCert

        CertificadoCorrecto = store.Certificates(CInt(TextBoxNumeroOrdenCertificado.Text)) '(5)

        ' Objeto que almacenara la respuesta de la funcion del Web Service
        Dim resp As New ServiceReference1.RespuestaLRFEmitidasType

        ' Ws
        Dim Ws As New ServiceReference1.siiSOAPClient

        Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
        Ws.ClientCredentials.UseIdentityConfiguration = True

        ' Asignamos el certificado:
        Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
        ' ----------------------------------------------------------------------------------------


        ' ----------------------------------------------------------------------------------------
        Dim _SuministroLRFacturasEmitidas As New SuministroLRFacturasEmitidas
        '--------------------------------------------------------------------------
       
        Try

            Dim x As New XmlSerializer(_SuministroLRFacturasEmitidas.GetType, "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd")

            ' A FileStream is needed to read the XML document.
            Dim filename As String = "facturaEmitidaMODEL.XML"


            Using reader As New FileStream(filename, FileMode.Open)
                _SuministroLRFacturasEmitidas = CType(x.Deserialize(reader), SuministroLRFacturasEmitidas)
            End Using

            ' SI QUEREMOS SOBREESCRIBIR EL XML ANTES DE ENVIAR:
            ' SOBREESCRIBIMOS DATS FORM ANTES SEND:
            _SuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon = Trim(TextBoxRazonSocialEmisor.Text)
            _SuministroLRFacturasEmitidas.Cabecera.Titular.NIF = Trim(TextBoxNIFEmisor.Text)

          '(...)

          '// se hace la llamada a la funcion suministrada por el WS
            resp = Ws.SuministroLRFacturasEmitidas(_SuministroLRFacturasEmitidas)

            Catch ex As Exception
            MsgBox(ex.Message)
            Respuesta2RichTextBox = ex.Message
        Finally
            'Me.Cursor = Cursors.Default
            'Threading.Thread.Sleep(5000)
            'ProgressBar1.Style = ProgressBarStyle.Continuous
            ''ProgressBar1.Value = ProgressBar1.Maximum
        End Try

Te adjunto también el archivo xml que debes cumplimentar donde indica '[A CUMPLIMENTAR]'.

Con esto, se toma la factura del archivo (fíjate que solamente tiene el nodo '<SuministroLRFacturasEmitidas>' y nada del encabezado SOAP para que no dé error al aplicar el Deserialize) y nos la convierte en un objeto serializado donde podemos acceder a los campos de la clase antes de enviar si lo deseamos; en caso contrario se envía y la propia llamada se encarga de insertar las cabeceras, los namespaces, etc.

Hola bartag. Gracias por tus aportaciones, me han aclarado bastante el tema.
Estoy intentando usar tu código pero tengo un problema cuando hago el Deserialize sobre el XML modelo que has adjuntado. Me da un error "There is an error in XML document (2, 2)", ¿sabes a qué puede ser debido?

Gracias.

Virman 20-03-2017 20:21:40

Eliminado por BUG en OPENTEXT
 
Tras actualizar a la nueva versión de WebService, me ha empezado a devolver este error al tratar de enviar cualquier tipo de factura:

{"El cliente encontró el tipo de contenido de respuesta 'text/html', pero se esperaba 'text/xml'.\r\nError de la solicitud con el mensaje de error:Proceso de conexión con la Sede Electrónica de la Agencia Tributaria en curso.<!-- Menu de UTILIDADES PREVIEW -->\r\n\t</div>\r\n</body>\r\n<!-- Eliminado por BUG en OPENTEXT render:trackDependencies/-->\r\n</html>\r\n\r\n--."}

A alguien le ha pasado eso también? Esta mañana me dejaba enviar sin problemas.

Nasca 20-03-2017 20:45:23

Ahora la Agencia está muy lenta y no responde peticiones al WebService.
A ver si es por eso.
En lugar de procesar petición devuelve una respuesta diciendo que anda lenta.
Suele ser normal los días 20 por temas de presentación de 340.
No quiero ni imaginarme cuando entre en producción el SII.

Lo gracioso es que en lugar de devolver un código de error por saturación y punto devuelve una bonita web animada de 56 KB.
Es una buena oportunidad para añadir tolerancia a errores extraños al programa que gestiona el SII.

CMB 20-03-2017 21:02:05

El webservice no ha funcionado en casi toda la tarde
 
Cita:

Empezado por Nasca (Mensaje 514514)
Ahora la Agencia está muy lenta y no responde peticiones al WebService.
A ver si es por eso.
En lugar de procesar petición devuelve una respuesta diciendo que anda lenta.
Suele ser normal los días 20 por temas de presentación de 340.
No quiero ni imaginarme cuando entre en producción el SII.

A las 16:53 envié una prueba y recibí la respuesta. Cinco minutos después dejó de funcionar, incluso en el portal de pruebas y consultas externas. Y en este momento sigue igual.

Si eso pasa cuando esté en producción, el lío que se montaría sería responsabilidad de ellos, no nuestro. Nuestro software puede tener bugs, eso seguro, pero si falla el webservice nosotros tranquilos.

Nasca 20-03-2017 21:15:32

Cita:

Empezado por CMB (Mensaje 514515)
A las 16:53 envié una prueba y recibí la respuesta. Cinco minutos después dejó de funcionar, incluso en el portal de pruebas y consultas externas. Y en este momento sigue igual.

Si eso pasa cuando esté en producción, el lío que se montaría sería responsabilidad de ellos, no nuestro. Nuestro software puede tener bugs, eso seguro, pero si falla el webservice nosotros tranquilos.

Me temo que no es tan sencillo. Por mi experiencia, no sería la primera vez que se les rompe una web y se lavan las manos.


Por si alguien tiene curiosidad por ver la respuesta en el navegador. Queda muy resultón con la barra animada, pero bastante inútil como respuesta para una petición SOAP.


Nasca 20-03-2017 21:43:49

Tienes razón la web de consultas está igual. Devuelven el mismo mensaje.

Puede ser que haya tenido ataque o sobrecarga y hayan optado simplemente por desactivar los servicios no fundamentales.
Y de ahí que aún sea algo menos específico para un WebService.

CMB 20-03-2017 22:17:36

Cita:

Empezado por Nasca (Mensaje 514518)
Tienes razón la web de consultas está igual. Devuelven el mismo mensaje.
Puede ser que haya tenido ataque o sobrecarga y hayan optado simplemente por desactivar los servicios no fundamentales.
Y de ahí que aún sea algo menos específico para un WebService.

Y si entras en Cliente de web service para el entorno de pruebas e intentas mandar un xml con facturas emitidas, sale un recuadro Error al enviar. Internal Server Error. Así desde las 16:53h de hoy. Y si lo haces desde tu programa por SOAP se queda colgado esperando la respuesta.

¿Quién está a cargo del todo el tema informático? ¿Los mismos funcionarios de Hacienda, o es una empresa externa?

jonortsal 21-03-2017 08:57:10

Cita:

Empezado por inyu (Mensaje 514508)
Hola bartag. Gracias por tus aportaciones, me han aclarado bastante el tema.
Estoy intentando usar tu código pero tengo un problema cuando hago el Deserialize sobre el XML modelo que has adjuntado. Me da un error "There is an error in XML document (2, 2)", ¿sabes a qué puede ser debido?

Gracias.

Con este código, ¿qué modificación podemos hacer para que guarde el XML que enviamos (SOAP REQUEST) y el que recibimos (SOAP RESPONSE)
Gracias.

javi_valencia44 21-03-2017 09:46:10

A mi la nueva versión me da error en esta sección del código:

Public Shared Widening Operator CType(v As SuministroLRFacturasEmitidas) As SuministroLRFacturasEmitidas
Throw New NotImplementedException()
End Operator

:mad::mad::mad:

Tras comentar este código y probar me da el mismo error que dice el compañero:

Cita:

Empezado por Virman (Mensaje 514512)
Tras actualizar a la nueva versión de WebService, me ha empezado a devolver este error al tratar de enviar cualquier tipo de factura:

{"El cliente encontró el tipo de contenido de respuesta 'text/html', pero se esperaba 'text/xml'.\r\nError de la solicitud con el mensaje de error:Proceso de conexión con la Sede Electrónica de la Agencia Tributaria en curso.<!-- Menu de UTILIDADES PREVIEW -->\r\n\t</div>\r\n</body>\r\n<!-- Eliminado por BUG en OPENTEXT render:trackDependencies/-->\r\n</html>\r\n\r\n--."}

A alguien le ha pasado eso también? Esta mañana me dejaba enviar sin problemas.


pprieto 21-03-2017 09:49:24

Hola a todos:

¿Hay alguna manera de eliminar todas las facturas enviadas al portal de pruebas? De tanto enviar hay un jaleo importante y me gustaría "empezar desde cero".

Gracias!

CMB 21-03-2017 09:54:22

Cita:

Empezado por pprieto (Mensaje 514527)
Hola a todos:
¿Hay alguna manera de eliminar todas las facturas enviadas al portal de pruebas? De tanto enviar hay un jaleo importante y me gustaría "empezar desde cero".
Gracias!

Yo no veo ninguna opción para hacerlo. Quizás la única manera sea enviar peticiones de baja, una para cada factura enviada, que eso sí que está previsto.

De todos modos, sería de gran utilidad hacer borrón y cuenta nueva. Si alguien lo sabe que tenga la amabilidad de publicarlo.

Saludos,

Nasca 21-03-2017 10:11:19

Cita:

Empezado por CMB (Mensaje 514528)
Yo no veo ninguna opción para hacerlo. Quizás la única manera sea enviar peticiones de baja, una para cada factura enviada, que eso sí que está previsto.
De todos modos, sería de gran utilidad hacer borrón y cuenta nueva. Si alguien lo sabe que tenga la amabilidad de publicarlo.

La verdad es que si se hecha de menos esa opción.
La baja es una opción. Al enviar las anulaciones están disponibles un tiempo y luego desaparecen.
Entiendo que en producción no será así, por lo que parece que es la forma que han previsto de ir limpiando cosas en pruebas.

pprieto 21-03-2017 10:18:36

Cita:

Empezado por Nasca (Mensaje 514529)
La verdad es que si se hecha de menos esa opción.
La baja es una opción. Al enviar las anulaciones están disponibles un tiempo y luego desaparecen.
Entiendo que en producción no será así, por lo que parece que es la forma que han previsto de ir limpiando cosas en pruebas.

¿Cuanto tiempo suelen tardar? Ayer anulé una de las facturas y sigue apareciendo como "Anulada". Me da la sensación que cuando estemos en producción no se va a poder borrar nada (aunque son elucubraciones mías).

newtron 21-03-2017 10:25:09

Hola.

Yo creo que las facturas anuladas no desaparecen, en la documentación se dice claramente que cuando se anula una factura, si quieres volver a enviarla debe de ser con otro número.

Por otro lado tampoco he visto ninguna forma de borrar lo ya enviado en pruebas así que lo que he hecho es poner como número de factura a los documentos una cadena que es la fecha+hora+minutos+segundos+un número de orden y de esa manera puedo enviar la misma factura todas las veces que quiera.

Saludos


La franja horaria es GMT +2. Ahora son las 10:34:37.

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