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)

figo21 08-06-2017 08:05:09

Cita:

Empezado por paquimd (Mensaje 517880)
Hola buenas

Estoy intentando enviar una factura recibida y me da el error: "Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: IDEmisorFactura"y no encuentro dónde rellenarlo, los datos los estoy poniendo en la contraparte, pero me estoy equivocando, seguro. ¿Alguien sabe por donde van los tiros? o tiene un xml de recibidas que pase para echarle un vistazo.


Saludos

Esta es la estructura completa de un XML de facturas recibidas:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<sum:SuministroLRFacturasRecibidas>
<sum1:Cabecera>
<sum1:IDVersionSii>?</sum1:IDVersionSii>
<sum1:Titular>
<sum1:NombreRazon>?</sum1:NombreRazon>
<!--Optional:-->
<sum1:NIFRepresentante>?</sum1:NIFRepresentante>
<sum1:NIF>?</sum1:NIF>
</sum1:Titular>
<sum1:TipoComunicacion>?</sum1:TipoComunicacion>
</sum1:Cabecera>
<!--1 to 10000 repetitions:-->
<sum:RegistroLRFacturasRecibidas>
<sum1:PeriodoImpositivo>
<sum1:Ejercicio>?</sum1:Ejercicio>
<sum1:Periodo>?</sum1:Periodo>
</sum1:PeriodoImpositivo>
<sum:IDFactura>
<sum1:IDEmisorFactura>
<!--You have a CHOICE of the next 2 items at this level-->
<sum1:NIF>?</sum1:NIF>
<sum1:IDOtro>
<!--Optional:-->
<sum1:CodigoPais>?</sum1:CodigoPais>
<sum1:IDType>?</sum1:IDType>
<sum1:ID>?</sum1:ID>
</sum1:IDOtro>
</sum1:IDEmisorFactura>
<sum1:NumSerieFacturaEmisor>?</sum1:NumSerieFacturaEmisor>
<!--Optional:-->
<sum1:NumSerieFacturaEmisorResumenFin>?</sum1:NumSerieFacturaEmisorResumenFin>
<sum1:FechaExpedicionFacturaEmisor>?</sum1:FechaExpedicionFacturaEmisor>
</sum:IDFactura>
<sum:FacturaRecibida>
<sum1:TipoFactura>?</sum1:TipoFactura>
<!--Optional:-->
<sum1:TipoRectificativa>?</sum1:TipoRectificativa>
<!--Optional:-->
<sum1:FacturasAgrupadas>
<!--1 or more repetitions:-->
<sum1:IDFacturaAgrupada>
<sum1:NumSerieFacturaEmisor>?</sum1:NumSerieFacturaEmisor>
<sum1:FechaExpedicionFacturaEmisor>?</sum1:FechaExpedicionFacturaEmisor>
</sum1:IDFacturaAgrupada>
</sum1:FacturasAgrupadas>
<!--Optional:-->
<sum1:FacturasRectificadas>
<!--1 or more repetitions:-->
<sum1:IDFacturaRectificada>
<sum1:NumSerieFacturaEmisor>?</sum1:NumSerieFacturaEmisor>
<sum1:FechaExpedicionFacturaEmisor>?</sum1:FechaExpedicionFacturaEmisor>
</sum1:IDFacturaRectificada>
</sum1:FacturasRectificadas>
<!--Optional:-->
<sum1:ImporteRectificacion>
<sum1:BaseRectificada>?</sum1:BaseRectificada>
<sum1:CuotaRectificada>?</sum1:CuotaRectificada>
<!--Optional:-->
<sum1:CuotaRecargoRectificado>?</sum1:CuotaRecargoRectificado>
</sum1:ImporteRectificacion>
<!--Optional:-->
<sum1:FechaOperacion>?</sum1:FechaOperacion>
<sum1:ClaveRegimenEspecialOTrascendencia>?</sum1:ClaveRegimenEspecialOTrascendencia>
<!--Optional:-->
<sum1:ClaveRegimenEspecialOTrascendenciaAdicional1>?</sum1:ClaveRegimenEspecialOTrascendenciaAdicional1>
<!--Optional:-->
<sum1:ClaveRegimenEspecialOTrascendenciaAdicional2>?</sum1:ClaveRegimenEspecialOTrascendenciaAdicional2>
<!--Optional:-->
<sum1:NumRegistroAcuerdoFacturacion>?</sum1:NumRegistroAcuerdoFacturacion>
<!--Optional:-->
<sum1:ImporteTotal>?</sum1:ImporteTotal>
<!--Optional:-->
<sum1:BaseImponibleACoste>?</sum1:BaseImponibleACoste>
<sum1:DescripcionOperacion>?</sum1:DescripcionOperacion>
<sum1:DesgloseFactura>
<!--Optional:-->
<sum1:InversionSujetoPasivo>
<!--1 to 6 repetitions:-->
<sum1:DetalleIVA>
<sum1:TipoImpositivo>?</sum1:TipoImpositivo>
<sum1:BaseImponible>?</sum1:BaseImponible>
<sum1:CuotaSoportada>?</sum1:CuotaSoportada>
<!--Optional:-->
<sum1:TipoRecargoEquivalencia>?</sum1:TipoRecargoEquivalencia>
<!--Optional:-->
<sum1:CuotaRecargoEquivalencia>?</sum1:CuotaRecargoEquivalencia>
</sum1:DetalleIVA>
</sum1:InversionSujetoPasivo>
<!--Optional:-->
<sum1:DesgloseIVA>
<!--1 to 6 repetitions:-->
<sum1:DetalleIVA>
<!--Optional:-->
<sum1:TipoImpositivo>?</sum1:TipoImpositivo>
<sum1:BaseImponible>?</sum1:BaseImponible>
<!--Optional:-->
<sum1:CuotaSoportada>?</sum1:CuotaSoportada>
<!--Optional:-->
<sum1:TipoRecargoEquivalencia>?</sum1:TipoRecargoEquivalencia>
<!--Optional:-->
<sum1:CuotaRecargoEquivalencia>?</sum1:CuotaRecargoEquivalencia>
<!--Optional:-->
<sum1:PorcentCompensacionREAGYP>?</sum1:PorcentCompensacionREAGYP>
<!--Optional:-->
<sum1:ImporteCompensacionREAGYP>?</sum1:ImporteCompensacionREAGYP>
</sum1:DetalleIVA>
</sum1:DesgloseIVA>
</sum1:DesgloseFactura>
<sum1:Contraparte>
<sum1:NombreRazon>?</sum1:NombreRazon>
<!--Optional:-->
<sum1:NIFRepresentante>?</sum1:NIFRepresentante>
<!--You have a CHOICE of the next 2 items at this level-->
<sum1:NIF>?</sum1:NIF>
<sum1:IDOtro>
<!--Optional:-->
<sum1:CodigoPais>?</sum1:CodigoPais>
<sum1:IDType>?</sum1:IDType>
<sum1:ID>?</sum1:ID>
</sum1:IDOtro>
</sum1:Contraparte>
<sum1:FechaRegContable>?</sum1:FechaRegContable>
<sum1:CuotaDeducible>?</sum1:CuotaDeducible>
</sum:FacturaRecibida>
</sum:RegistroLRFacturasRecibidas>
</sum:SuministroLRFacturasRecibidas>
</soapenv:Body>
</soapenv:Envelope>


Sacado con SoapUI.

Un saludo.

jodaws 08-06-2017 10:04:51

Cita:

Empezado por jodaws (Mensaje 517872)
Buenas tardes, primeramente agradecer toda la información que se está recopilando en el foro.

He conseguido enviar facturas tanto emitidas como recibidas y dar de baja facturas. Pero siempre lo he hecho de una en una. Ahora estoy intentado enviar más de una factura en el mismo "paquete" y me sale un access violation y me da el error Interface not supported cuando llamo a la función GetsiiSOAP para enviar el registro. Tengo la versión 0.7.

A alguien más le ha pasado?


Me respondo a mi misma, estaba asignando mal el array de ivas, lo curioso es que aunque asignara en la posición 2 cuando le había dicho que la longitud era 1 no me daba error , me daba error al enviar.

afxe 08-06-2017 11:30:51

Cita:

Os recuerdo que en este hilo http://www.clubdelphi.com/foros/showthread.php?t=91927 se están recopilando unos ejemplos de facturas que pueden aclarar muchas dudas. Parece que el número de vistas se mantiene bajo porque muchos ni siquiera se habrán enterado.

Saludos,
Esto me parece interesante...

CMB 08-06-2017 11:34:58

Factura emitida a países de la Unión Europea
 
No me refiero a Determinadas Operaciones Intracomunitarias.

Simplemente a las ventas a clientes situados en otros estados de la Unión Europea que no son España.

Cuando se emite una factura a una de esas empresas, ya sabemos que no hay que cargar IVA. Pero ¿cuáles son los tags a poner en el XML?

Hay (al menos) dos posibilidades:

Código:

<sii:NoSujeta>
  <sii:ImporteTAIReglasLocalizacion>1000.00</sii:ImporteTAIReglasLocalizacion>
</sii:NoSujeta>

o bien

Código:

<sii:Sujeta>
  <sii:Exenta>
    <sii:BaseImponible>1000.00</sii:BaseImponible>
  </sii:Exenta>
</sii:Sujeta>

¿Alguien puede ayudar?

Muchas gracias,

keys 08-06-2017 11:38:49

Cita:

Empezado por CMB (Mensaje 517916)
No me refiero a Determinadas Operaciones Intracomunitarias.

Simplemente a las ventas a clientes situados en otros estados de la Unión Europea que no son España.

Cuando se emite una factura a una de esas empresas, ya sabemos que no hay que cargar IVA. Pero ¿cuáles son los tags a poner en el XML?

Hay (al menos) dos posibilidades:

Código:

<sii:NoSujeta>
  <sii:ImporteTAIReglasLocalizacion>1000.00</sii:ImporteTAIReglasLocalizacion>
</sii:NoSujeta>

o bien

Código:

<sii:Sujeta>
  <sii:Exenta>
    <sii:BaseImponible>1000.00</sii:BaseImponible>
  </sii:Exenta>
</sii:Sujeta>

¿Alguien puede ayudar?

Muchas gracias,

Faq. 3.5 y Faq 3.6 de hacienda

CMB 08-06-2017 12:19:20

Cita:

Empezado por keys (Mensaje 517917)
Faq. 3.5 y Faq 3.6 de hacienda

¡Muchas gracias!

didou 08-06-2017 12:45:59

S.o.s.
 
Buenos días, a mi me ha pillado el toro, trabajo con DelphiXE, ¿Dónde demonios puedo encontrar la última versión del WSDL? por lo que he leído por hay, basta con usar 1 solo wsdl (SuministroInmediatoInfo) e importándolo en Delphi se generan TODAS las clases necesarias para enviar cualquier libro y recibir todas las respuestas necesarias, esto es asi?

Perdonad mi ignorancia, pero vistas las fechas que estamos os agradeceré cualquier ayuda y si me podéis dar un ejemplo Delphi de como enviar por ej. fras. emitidas y recibir las respuestas de la AEAT pues ya seria la leche.

Gracias de antemano, saludos.

CMB 08-06-2017 12:56:49

Cita:

Empezado por didou (Mensaje 517919)
Buenos días, a mi me ha pillado el toro, trabajo con DelphiXE, ¿Dónde demonios puedo encontrar la última versión del WSDL? por lo que he leído por hay, basta con usar 1 solo wsdl (SuministroInmediatoInfo) e importándolo en Delphi se generan TODAS las clases necesarias para enviar cualquier libro y recibir todas las respuestas necesarias, esto es asi?
Perdonad mi ignorancia, pero vistas las fechas que estamos os agradeceré cualquier ayuda y si me podéis dar un ejemplo Delphi de como enviar por ej. fras. emitidas y recibir las respuestas de la AEAT pues ya seria la leche.
Gracias de antemano, saludos.

Aquí tienes todos los WSDL:

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

afxe 08-06-2017 13:23:03

Cita:

Empezado por CMB (Mensaje 517916)
No me refiero a Determinadas Operaciones Intracomunitarias.

Simplemente a las ventas a clientes situados en otros estados de la Unión Europea que no son España.

Cuando se emite una factura a una de esas empresas, ya sabemos que no hay que cargar IVA. Pero ¿cuáles son los tags a poner en el XML?

Hay (al menos) dos posibilidades:

Creo que la segunda, Sujeta->Exenta, hay que añadir la causa de exención, que se supone es el Artículo 25 (Entregas destinadas a otro estado miembro), o sea:

Código Delphi [-]
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose := TipoDesglose2.Create;
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion                        := TipoConDesgloseType.Create;
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega                := TipoSinDesgloseType.Create;
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.sujeta         := SujetaType.create;
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.sujeta.Exenta  := Exenta2.Create;
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.sujeta.Exenta.BaseImponible := Format('%2.2f', [FrmMain.qryFraIMPORTE.AsFloat]);
              aReg_Fra_Emi[Ind].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.Entrega.sujeta.Exenta.CausaExencion := CausaExencionType.E5;

Aunque veo que ya te lo han pasado

didou 08-06-2017 13:50:43

Muchas gracias CMB, entonces quiero entender que hay que crear un .pas por cada libro (emitidas, recibidas, inversiones e intracom) ? estos WSDL están preparados ya para enviar al entorno de pruebas o hay que tocar algo?

CMB 08-06-2017 15:32:38

Cita:

Empezado por afxe (Mensaje 517921)
Creo que la segunda, Sujeta->Exenta, hay que añadir la causa de exención, que se supone es el Artículo 25 (Entregas destinadas a otro estado miembro)

Muchas gracias, afxe.

Saludos,

CMB 08-06-2017 15:38:22

Cita:

Empezado por didou (Mensaje 517923)
Muchas gracias CMB, entonces quiero entender que hay que crear un .pas por cada libro (emitidas, recibidas, inversiones e intracom) ? estos WSDL están preparados ya para enviar al entorno de pruebas o hay que tocar algo?

Esto no te lo sé explicar, porque no trabajo con WSDL, soy de la minoría que construye los XML manualmente y luego los envía.

Saludos,

CMB 08-06-2017 16:17:23

CausaExencion es opcional?
 
Según el documento SII_Descripcion_ServicioWeb_v0.7.pdf me parece entender que el tag CausaExencion es en todos los casos opcional (se muestra siempre en negro, nunca en rojo).

Y en las FAQs nº 3.4 dicen "Si no se dispone de esta información [base imponible y la causa de exención] bastará con indicar que se trata de una operación exenta.".]

Porque dada la gran variedad de casos y la complejidad de implementar todo lo que dice el BOE del 28 diciembre 1992, sería un alivio que fuese opcional.

¿Podría alguien confirmarlo? O es que lo estoy interpretando mal.

Saludos,

jcapilla 08-06-2017 16:18:29

Fase de Pruebas
 
Buenas!!

Para Julio que se supone que haran ¿Cambiar los WSLD para que apunten a endpoint definitivo?
¿Se supone que se podran seguir realizando pruebas no?

CMB 08-06-2017 16:21:39

Cita:

Empezado por jcapilla (Mensaje 517931)
Buenas!!
Para Julio que se supone que haran ¿Cambiar los WSLD para que apunten a endpoint definitivo?
¿Se supone que se podran seguir realizando pruebas no?

El 15 de junio publicarán los endpoints definitivos. Los de prueba seguirán operativos por un tiempo indefinido.

marine 08-06-2017 17:28:43

Error en facturas recibidas
 
Buenas , tengo el siguiente error al intentar generar una factura Recibida , practicamente uso el mismo codigo para generar facturas emitidas y estas se suben correctamente . Lo hago mediante referencia de los WSDL.

Código:

Excepción no controlada del tipo 'System.ServiceModel.ProtocolException' en mscorlib.dll

Información adicional: El tipo de contenido text/html del mensaje de respuesta no coincide con el tipo de contenido del enlace (text/xml; charset=utf-8). Si usa un codificador personalizado, asegúrese de que el método IsContentTypeSupported se implemente correctamente. Los primeros 1024 bytes de la respuesta fueron: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "xxx://xxx.w3.org/TR/html4/strict.dtd">

<html lang="es-ES">

<head>

    <title>Agencia Tributaria - Se ha producido un error</title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">     

<link href="xxx://xxx.agenciatributaria.gob.es/static_files/common/css/xzhtcs04.css" rel="stylesheet" type="text/css">

<script type="text/javascript">

                function toggle()

                {

                    var o=document.getElementById("AEAT_errores_tecnicos");

                        o.style.display=(o.style.display=='' || o.style.display=='none')?'block':'none';

                }

        </script>

</head>

<body>

<div id="body">         

        <div id="header">

        <div id="AEAT_header">

          <div id="topIzquierda">

                  <div id="logoAEAT">

                          <ul>

                                <li><a target="_self" href="xxx://www.agenciatributaria.gob.es"><span class="logoGobierno"></span></a>

                                </li>

                                <li><a target="_self" href="xxx://www.agenciatributaria.es"><span class="logoAEAT"></span></a>

                                </li>

                        </ul>                   

                </div>         

        '.


Galahad 08-06-2017 20:57:26

Desglose en entrega de bienes y prestación de servicio
 
hola, buenas.

¿ alguien sabe si es muy relevante la separación en el desglose de estos conceptos ?
Ahora mismo , no se me ocurre (sin cambiar todo mi programa) como distinguir ambos conceptos.
Entiendo que entrega de bienes se refiere a compra de 'objetos físicos' y prestación de servicios a cobros/pagos de comisiones y gastos.
¿ como lo estais separando vosotros ?

CMB 08-06-2017 21:37:57

Cita:

Empezado por Galahad (Mensaje 517948)
hola, buenas.
¿ alguien sabe si es muy relevante la separación en el desglose de estos conceptos ?
Ahora mismo , no se me ocurre (sin cambiar todo mi programa) como distinguir ambos conceptos.
Entiendo que entrega de bienes se refiere a compra de 'objetos físicos' y prestación de servicios a cobros/pagos de comisiones y gastos.¿ como lo estais separando vosotros ?

Esto no se hace siempre, sólo en las operaciones con el extranjero, y no sé si también con Canarias, dado que se consideran igualmente exportaciones.

No hay que cambiar todo el programa. En la ficha de cada artículo deberías añadir un TCheckBox o similar para definir si es un servicio o un bien físico. Y al enviar la factura por el SII hay que indicar el importe de cada tipo.

Está así establecido. Si luego se controla o no, ya no lo sé, pero lo veo difícil. A menos que hagan una inspección detallada, el sistema no puede verificarlo. Pero si pillan a un cliente tuyo es probable que te pida explicaciones, pues podría estar sujeto a sanción.

figo21 08-06-2017 22:51:23

Cita:

Empezado por Galahad (Mensaje 517948)
hola, buenas.

¿ alguien sabe si es muy relevante la separación en el desglose de estos conceptos ?
Ahora mismo , no se me ocurre (sin cambiar todo mi programa) como distinguir ambos conceptos.
Entiendo que entrega de bienes se refiere a compra de 'objetos físicos' y prestación de servicios a cobros/pagos de comisiones y gastos.
¿ como lo estais separando vosotros ?

Según el FAQ:
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.
Ya lo hablamos en anteriores posts, sería cualquier operación con cliente extrangero o que empiece por N y no sea una factura simplificada o un asiento resumen.

El desglose es para facturas emitidas, porque en el XML de recibidas no existe ese desglose.

Un saludo.

Galahad 09-06-2017 08:38:12

Cita:

Empezado por figo21 (Mensaje 517954)
Según el FAQ:
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.
Ya lo hablamos en anteriores posts, sería cualquier operación con cliente extrangero o que empiece por N y no sea una factura simplificada o un asiento resumen.

El desglose es para facturas emitidas, porque en el XML de recibidas no existe ese desglose.

Un saludo.

Muchas gracias por contestar, me habeís aclarado el tema.


La franja horaria es GMT +2. Ahora son las 14:28:04.

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