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)

Nasca 17-04-2017 20:24:01

Cita:

Empezado por newtron (Mensaje 515579)
Si, hasta ahí llego. El problema es que me da un error que dice "Error 1114 Los campos IDEmisorFactura y Contraparte son distintos" y no sé por dónde me viene el problema porque por más vueltas que le doy no consigo verlo.

Revisa que informas adecuadamente país, tipo de identificados y un NIF incluyendo el código ISO del país al principio. Se ponen en IDOtro, como CodigoPais, ID e IDType.
En Contraparte con NombreRazon es suficiente.

Yo he enviado varias y no me ha dado problema.

Nasca 17-04-2017 20:28:38

Cita:

Empezado por CMB (Mensaje 515580)
¿Dónde se puede consultar? Gracias.

En RespuestaSuministro.xsd: EstadoRegistroType

Código:

    <simpleType name="EstadoRegistroType">
        <restriction base="string">
            <enumeration value="Correcto">
                <annotation>
                    <documentation xml:lang="es">Correcto</documentation>
                </annotation>
            </enumeration>
            <enumeration value="AceptadoConErrores">
                <annotation>
                    <documentation xml:lang="es">Aceptado con Errores. Ver detalle del error</documentation>
                </annotation>
            </enumeration>
            <enumeration value="Incorrecto">
                <annotation>
                    <documentation xml:lang="es">Incorrecto</documentation>
                </annotation>
            </enumeration>
        </restriction>
    </simpleType>


newtron 17-04-2017 20:33:41

Cita:

Empezado por Nasca (Mensaje 515581)
Revisa que informas adecuadamente país, tipo de identificados y un NIF incluyendo el código ISO del país al principio. Se ponen en IDOtro, como CodigoPais, ID e IDType.
En Contraparte con NombreRazon es suficiente.

Yo he enviado varias y no me ha dado problema.

Todo eso es lo que estoy mirando pero nada. Bueno, gracias, seguiré mirando.

CMB 17-04-2017 21:49:07

Cita:

Empezado por Nasca (Mensaje 515582)
En RespuestaSuministro.xsd: EstadoRegistroType

Código:

    <simpleType name="EstadoRegistroType">
        <restriction base="string">
            <enumeration value="Correcto">
                <annotation>
                    <documentation xml:lang="es">Correcto</documentation>
                </annotation>
            </enumeration>
            <enumeration value="AceptadoConErrores">
                <annotation>
                    <documentation xml:lang="es">Aceptado con Errores. Ver detalle del error</documentation>
                </annotation>
            </enumeration>
            <enumeration value="Incorrecto">
                <annotation>
                    <documentation xml:lang="es">Incorrecto</documentation>
                </annotation>
            </enumeration>
        </restriction>
    </simpleType>


Nasca, muchas gracias, pero eso no sirve para las consultas.

La respuesta a una consulta incluye Correcta (en femenino) y Anulada, que no están en el código que adjuntas. Pero no sé dónde mirar cómo se refieren a las aceptadas con errores, literalmente. ¿En qué WSDL se puede ver?

Agradecido.

Nasca 17-04-2017 22:30:53

Cita:

Empezado por CMB (Mensaje 515584)
Nasca, muchas gracias, pero eso no sirve para las consultas.

La respuesta a una consulta incluye Correcta (en femenino) y Anulada, que no están en el código que adjuntas. Pero no sé dónde mirar cómo se refieren a las aceptadas con errores, literalmente. ¿En qué WSDL se puede ver?

Está claro que llevo un mal lunes, mejor me acuesto, no doy ni una :(

Lo lógico es que estuviese definida en: RespuestaConsultaLR.xsd que es dónde se define siiLRRC, pero no lo está. A ver si en la versión 0.7 amplían esa información.

CMB 17-04-2017 22:44:45

Cita:

Empezado por Nasca (Mensaje 515585)
Está claro que llevo un mal lunes, mejor me acuesto, no doy ni una :(

Lo lógico es que estuviese definida en: RespuestaConsultaLR.xsd que es dónde se define siiLRRC, pero no lo está. A ver si en la versión 0.7 amplían esa información.

Pues esperamos a la nueva versión. Ya casi es hora de acostarse.

Muchas gracias.

javi_valencia44 18-04-2017 09:05:17

Se sabe cuando sale la versión 0.7?

CMB 18-04-2017 09:17:57

Cita:

Empezado por javi_valencia44 (Mensaje 515588)
Se sabe cuando sale la versión 0.7?

Probablemente antes de julio.

Saludos,

keys 18-04-2017 09:18:16

Cita:

Empezado por newtron (Mensaje 515583)
Todo eso es lo que estoy mirando pero nada. Bueno, gracias, seguiré mirando.

Hola a todos! después de estar unos días fuera de servicio me reincorporo aportando lo siguente. Los operadores intracomunitarios hay que declararlos de la siguiente forma como dicen las faqs.

identificación mediante la clave 2 en el campo de tipos de Identificación en el país de residencia “IDType” y su Número de Operador Intracomunitario en el campo "ID". El campo “CodigoPais” no será obligatorio.

Es decir hay que poner la clave 2 (NIF-IVA) en el campo IDtype y el Documento se pone IDOtro.ID, este tiene que estar las letras del pais (P. ejemplo DE123456789 para alemania), es decir se trata como un nacional pero hay que rellenar el idotro.

<NombreRazon>OPERADOR ALEMAN</NombreRazon>


-<IDOtro>

<CodigoPais>DE</CodigoPais>

<IDType>02</IDType>

<ID>DE0123456789</ID>

</IDOtro>
Un Saludo.

newtron 18-04-2017 09:50:39

Cita:

Empezado por keys (Mensaje 515590)
Hola a todos! después de estar unos días fuera de servicio me reincorporo aportando lo siguente. Los operadores intracomunitarios hay que declararlos de la siguiente forma como dicen las faqs.

identificación mediante la clave 2 en el campo de tipos de Identificación en el país de residencia “IDType” y su Número de Operador Intracomunitario en el campo "ID". El campo “CodigoPais” no será obligatorio.

Es decir hay que poner la clave 2 (NIF-IVA) en el campo IDtype y el Documento se pone IDOtro.ID, este tiene que estar las letras del pais (P. ejemplo DE123456789 para alemania), es decir se trata como un nacional pero hay que rellenar el idotro.

<NombreRazon>OPERADOR ALEMAN</NombreRazon>


-<IDOtro>

<CodigoPais>DE</CodigoPais>

<IDType>02</IDType>

<ID>DE0123456789</ID>

</IDOtro>
Un Saludo.

Gracias Keys por la respuesta. Así lo estoy haciendo pero me da el error que comento en los otros posts, igual me sobra/falta algún otro campo que no consigo localizar.

javi_valencia44 18-04-2017 09:55:19

Cita:

Empezado por newtron (Mensaje 515592)
Gracias Keys por la respuesta. Así lo estoy haciendo pero me da el error que comento en los otros posts, igual me sobra/falta algún otro campo que no consigo localizar.

Que error te da?

Prueba a hacer una prueba con la misma información quitando un campo distinto en cada una de ellas

keys 18-04-2017 10:01:18

Cita:

Empezado por newtron (Mensaje 515579)
Si, hasta ahí llego. El problema es que me da un error que dice "Error 1114 Los campos IDEmisorFactura y Contraparte son distintos" y no sé por dónde me viene el problema porque por más vueltas que le doy no consigo verlo.

Saludos

Yo creo que no tienes lo mismo en los datos del Emisor de la Factua y en los de la contraparte. Que en este caso deben estar igual. Son los datos del proveedor intracomunitario en los dos casos. Pon el fichero por si se puede ver algo.

newtron 18-04-2017 10:21:03

Cita:

Empezado por javi_valencia44 (Mensaje 515593)
Que error te da?

Prueba a hacer una prueba con la misma información quitando un campo distinto en cada una de ellas

Gracias Javi, estoy poniendo y quitando datos como los locos y nada. Seguro que es alguna tontería pero no doy con ella.

Cita:

Empezado por keys (Mensaje 515594)
Yo creo que no tienes lo mismo en los datos del Emisor de la Factua y en los de la contraparte. Que en este caso deben estar igual. Son los datos del proveedor intracomunitario en los dos casos. Pon el fichero por si se puede ver algo.

Yo lo haría pero todavía no sé cómo generar el XML que se envía a partir de los objetos del webservice, ¿tú sabes cómo?

keys 18-04-2017 10:44:18

Cita:

Empezado por newtron (Mensaje 515595)



Yo lo haría pero todavía no sé cómo generar el XML que se envía a partir de los objetos del webservice, ¿tú sabes cómo?

En el evento afterExecute del objeto HttpTrio pones lo siguiente:

Código Delphi [-]
var
  ss:TFileStream;
begin

    if FileExists('c:\tmp\salida.xml') then
     begin
       DeleteFile('c:\tmp\salida.xml');
     end;

    ss:=TFileStream.Create('c:\tmp\salida.xml', fmCreate);
    SOAPResponse.Position := 0;
    ss.CopyFrom(SOAPResponse, SOAPResponse.size);
    ss.Free;
    SOAPResponse.Position := 0;

newtron 18-04-2017 10:49:55

Cita:

Empezado por keys (Mensaje 515596)
En el evento afterExecute del objeto HttpTrio pones lo siguiente:

Código Delphi [-]var ss:TFileStream; begin if FileExists('c:\tmp\salida.xml') then begin DeleteFile('c:\tmp\salida.xml'); end; ss:=TFileStream.Create('c:\tmp\salida.xml', fmCreate); SOAPResponse.Position := 0; ss.CopyFrom(SOAPResponse, SOAPResponse.size); ss.Free; SOAPResponse.Position := 0;

Eso ya lo había probado pero lo que crea es un XML con el error que devuelve la llamada, yo estoy intentando ver si hay forma de generar el XML que se envía con los datos de la factura.

keys 18-04-2017 10:52:26

Perdon es el evento BeforeExecute.

newtron 18-04-2017 11:17:17

Buenas, por fin he conseguido extraer el XML, una cosa que no me cuadra es poner el NIF del proveedor sin el prefijo de país en el apartado IdFactura y con el prefijo en la contraparte pero es que si no lo hago así me da otros errores.

Cita:

<?xml version="1.0"?>

-<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">


-<SOAP-ENV:Body>


-<SuministroLRFacturasRecibidas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">


-<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">

<IDVersionSii>0.6</IDVersionSii>


-<Titular>

<NombreRazon>MI NOMBRE</NombreRazon>

<NIF>XXXXXXXX</NIF>

</Titular>

<TipoComunicacion>A0</TipoComunicacion>

</Cabecera>


-<RegistroLRFacturasRecibidas>


-<PeriodoImpositivo xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">

<Ejercicio>2017</Ejercicio>

<Periodo>02</Periodo>

</PeriodoImpositivo>


-<IDFactura>


-<IDEmisorFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">

<NIF>277419107</NIF>

</IDEmisorFactura>

<NumSerieFacturaEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">COMPINT1/201704181106000</NumSerieFacturaEmisor>

<FechaExpedicionFacturaEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">02/02/2017</FechaExpedicionFacturaEmisor>

</IDFactura>


-<FacturaRecibida>

<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">F1</TipoFactura>

<ClaveRegimenEspecialOTrascendencia xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">09</ClaveRegimenEspecialOTrascendencia>

<ImporteTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">121</ImporteTotal>

<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">Su Factura</DescripcionOperacion>


-<DesgloseFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">


-<DesgloseIVA>


-<DetalleIVA>

<TipoImpositivo>21</TipoImpositivo>

<BaseImponible>100</BaseImponible>

<CuotaSoportada>21</CuotaSoportada>

</DetalleIVA>

</DesgloseIVA>

</DesgloseFactura>


-<Contraparte xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">

<NombreRazon>PROVEEDOR EXTRANJERO</NombreRazon>


-<IDOtro>

<CodigoPais>GB</CodigoPais>

<IDType>04</IDType>

<ID>GB277419107</ID>

</IDOtro>

</Contraparte>

<FechaRegContable xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">02/02/2017</FechaRegContable>

<CuotaDeducible xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">100</CuotaDeducible>

</FacturaRecibida>

</RegistroLRFacturasRecibidas>

<RegistroLRFacturasRecibidas xmlns="" xsi:nil="true"/>

</SuministroLRFacturasRecibidas>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope


keys 18-04-2017 11:19:47

Tienes que poner lo mismo en el id dew factura y en la contraparte. Exactamente lo mismo con el prefijo del pais.

keys 18-04-2017 11:20:47

IDType 02 no 04

newtron 18-04-2017 11:27:52

Cita:

Empezado por keys (Mensaje 515602)
Tienes que poner lo mismo en el id dew factura y en la contraparte. Exactamente lo mismo con el prefijo del pais.

Si pongo el prefijo del pais en el bloque "IdFactura" me da un error de tipo incorrecto.

¿Tienes algún XML de ejemplo por ahí?


La franja horaria es GMT +2. Ahora son las 08:54:48.

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