Pues tampoco sabría decirte.
Creo recordar que anteriormente anulé alguna y ya no aparece, pero sin embargo ahora tengo otra anulada desde 13 y sigue apareciendo. |
Cita:
Yo he conseguido que funciones con tu código, pero me gustaría capturar el SOAP REQUEST y el SOAP RESPONSE. ¿Qué modificación tendría que hacer en el código? |
Error en respuesta ws.SuministroLRFacturasEmitidas
Buenas tardes.
Hoy estoy recibiendo este error en la respuesta al enviar facturas, ayer me funcionaba correctamente. Estoy mosqueado, ¿puede ser un error mío o es de la AEAT? Muchas gracias a todos. '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "*://*.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="*://*.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> |
Hola, no utilizo Delphi, utilizo un entorno cliente servidor y estoy realizando el envío de ficheros XML perfectamente con el comando curl.
Básicamente generas un fichero XML desde la aplicación con el formato que marca la AEAT y se envía con curl indicando el certificado y el password del mismo. La AEAT responde con otro XML indicado en la línea de comando. Adjunto el comando por si alguien quiere utilizarlo. curl --connect-timeout 300 -d "@Facturas.xml" -o "Resultado.xml" -E certificado.pem:password https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP |
Cita:
|
Cita:
A parte de poder buscar el certificado en el store como en el ejemplo anterior, que funciona perfectamente (muchas gracias por el post!) también he visto que hay la opción de poder leer el certificado desde un fichero:
P.D. Muchas gracias a todos los que colaboráis en este forum, que me habéis ayudado muchísimo en afrontar este tema. ^\||/ |
Buenas tardes. Al fin he logrado establecer comunicación con el WS, pero me da un error muy simple (campo obligatorio NIF no informado).
¿ Se rellena en algún otro sitio el NIF que no me lo esté cogiendo a parte de estos 2 ? _RegistroLRFacturasEmitidas(i).IDFactura.IDEmisorFactura.NIF = "B17654XXX" _RegistroLRFacturasEmitidas(i).FacturaExpedida.Contraparte.NIFRepresentante = "A17135XXX" Gracias. |
Cita:
No obstante, comprueba por favor que el "App.config" está debidamente cumplimentado como comentaba y que el certificado carga correctamente. También que el archivo xml que intentas subir es el que puse, ya que si por ejemplo le estás intentando meter uno con namespaces, te va a dar el error que indicas. |
Cita:
_SuministroLRFacturasEmitidas.RegistroLRFacturasEmitidas(0).FacturaExpedida.Contraparte.Item = Trim(TextBoxNIF.Text) Además está el que ya tienes asignado (IDEmisorFactura.NIF): _SuministroLRFacturasEmitidas.RegistroLRFacturasEmitidas(0).IDFactura.IDEmisorFactura.NIF = Trim(TextBoxNIFEmisor.Text) |
Cita:
Me ocurre por ejemplo con _RegistroLRFacturasEmitidas.FacturaExpedida.TipoDesglose, TipoDesglose según algunos ejemplos deberia proponerme DesgloseTipoOperacion, en cambio sólo me aparece .Item y no se cómo asignarle el resto de propiedades del desglose. Además según la documentación tendria que haber 2 tipos de desgloses (TipoDesglose2 (facturas), TipoDesglose (inmuebles)) pero a mi el Intellisense sólo me propone 1 tipo "FacturaExpedidaTypeTipoDesglose", no veo el TipoDesglose2 por ningún sitio... con lo cuál ahora no puedo validar nada porqué se queja de que me falta el campo obligatorio TipoDesglose. |
Cita:
|
Cita:
Código:
<bindings> Código:
<bindings> |
Cita:
Un saludo mpino |
Resultado consulta facturas expedidas
Hola a tod@s, estoy intentando hacer la parte referente a la consulta de fras. expedidas y este es mi código:
El xml se envia correctamente y devuelve respuesta correctamente (SINDATOS), pero a la hora de gestionarlo a través de la variable AResultadoConsulta, no se gestionarlo. Quiero decir como controlo con AresultadoConsulta si devuelve CONDATOS o SINDATOS. No logro hacerlo. Gracias. |
Saludos! Alguno sabe donde se almacena la información de cuadre? En la página de hacienda aparece, pero en el objeto devuelto por el WS, de tipo RespuestaLRFEmitidasType, no encuentro esta información. Alguno sabe si se puede obtener esa información de cuadre?
Otra consulta, acabo de enviar una factura de importe total 1,importe exenta 1, base imponible 9, cuota repercutida 21 y tipo impositivo 21% y la ha aceptado, será que ahora con la nueva versión del WS no hace cálculos de las cantidades? Gracias! |
Cita:
Yo creo que por ahora no valida la mayoría de los campos. Aunque ten en cuenta que la responsabilidad de enviar los datos correctos siempre será del comunicador. Lo que supone que por flexibilidad no validen datos. Y en este caso tendrían que devolver un tipo "Aceptado con avisos" y no creo que lo implementen. |
Cita:
|
Cita:
|
Facturas Recibidas Proveedores Extranjeros Cif?
Buenas a todos.
Otro mas en el lio!! La duda que tengo es que hacer con las facturas recibidas de proveedores extranjeros que NO DISPONEN DE CIF/VAT (como en USA) Indico en la factura el tipo 06 "Otro" como haciamos hasta ahora y me exige un ID siempre ALguien sabe como se tiene que enviar?? Muchas Gracias a todos!! |
Segun creo toda facura tiene que tener un documento un identificador, ya sea nif, pasporte, etc. En las facturas recibidas es obligatorio rellenarlo.
|
Cita:
y nos llegan facturas que no tienen nada, por q en USA no debe ser obligado, en cualquier caso tampoco lo van a poder contrastar :D Saludos. |
Buenos días!!!
Antes de nada, muchas gracias a todos los foreros que estáis aportando toda vuestra inestimable ayuda con todo este tema de la AEAT, que en menudo jaleo nos ha metido a algunos como yo, porque hasta ahora había utilizado nada de Webservices. Bueno, al grano, os quería comentar que llevo ya leídos y releídos los 22 posts de este tema, y aún sigo sin poder enviar una triste factura al entorno de pruebas (increíble!!!). En principio pensé que era error de certificado, pero no, los verifiqué, fecha de caducidad, etc... y todo correcto. También me he descargado la última versión del WSDL por si habían modificado algo, y modifiqué las líneas:
Pero nada, seguía igual. Entonces, me pareció interesante lo que comentaba el forero NASCAR, que en vez de utilizar los objetos y clases del Webservice para enviar los datos, sería mejor crear uno mismo el xml y luego enviarlo. Pero no sé exactamente cómo enviar el xml, porque antes la línea que se enviaba en el ejemplo era esta:
Pero aquí no se puede enviar un xml. Supongo que se hará de otra manera, no??? Seguramente habré dicho alguna barbaridad porque como comentaba antes, ni idea de webservices. Entonces, resumiendo, ¿sería alguien tan amable de adjuntar un ejemplo completo en Delphi de cómo enviar el xml? No hace falta poner la parte de construcción del xml (ya me buscaré la vida para montar el xml, aunque si se pone mejor jejejeje), pero sí de la conexión con el WebService y todo lo demás. Muchas gracias!!!!!! |
Cita:
Yo en particular prefiero hacerlo usando los objetos del webservice, a mi me resulta más cómodo y a la hora de las actualizaciones que están haciendo es más fácil corregir que si generas el xml "a pelo". ¿No has podido poner en marcha ninguno de los ejemplos que se han subido a este hilo? Saludos |
Cita:
pues no, todavía sigo sin poner en marcha ninguno. Con el que estoy luchando es con el 'Ejemplo Sii.zip' que puso Keys en la página 5 de este hilo. Sin tocar nada de código, compilo, selecciono el certificado, relleno el nif, nombre y demás y al enviar me sale el siguiente error: 'javax.servlet.ServletException' Entonces, pruebo de importar el nuevo SuministroInmediatoInfo.wsdl Compilo y en la línea donde pone: IDEmisorFactura:= IDEmisorFactura3.Create; me da el siguiente error: Incompatible types: 'IDEmisorFactura2' and 'IDEmisorFactura3' Y aquí sigo estancando... |
Hola. Al importar los ficheros wsdl de nuevo, hay clases que las cambia de nombre. Tienes que cambiar esas lineas a los nombres de las clases nuevas.
Por ejemplo IDEmisorFactura:= IDEmisorFactura3.Create; tiene que ser IDEmisorFactura:= IDEmisorFactura2.Create; que es el error que te da el compilador. Por cierto mi ejemplo esta compilado en Delphi 10.1 berlin. No se is en otras versiones anteriores funcionará. |
Cita:
Vaya tela con la AEAT, simplificando la cosa... jejeje Por fin ya he podido compilar, y ahora ya me otro error que tiene más sentido. Creo que ya empiezo a ir por el buen camino. Me dice: 'Error La direccion no se corresponde con el fichero de entrada' Supongo que esto ya deben ser error de no configurar bien los parámetros de la factura o alguna dirección del WebService, no se... Yo he puesto las de siempre: defWSDL ='... es/aeat/ssii/fact/ws/SuministroCobrosEmitidas.wsdl'; defURL = 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP'; defSvc = 'siiService'; defPrt = 'SuministroCobrosEmitidasPruebas'; |
Al cargar los wdsl otra de las cosas que se pierden son las direcciones de las web services.
Para emitidas son defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl'; defURL = 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP'; defSvc = 'siiService'; defPrt = 'SuministroFactEmitidasPruebas'; |
Por fin!!!!!!!! Muchas gracias Keys
Ya he podido enviar una factura. Es cierto, tenía que cambiar las direcciones de las web services. Vaya empanada que llevo! Pues nada, ahora que ya he logrado conectar y enviar una factura, voy a seguir haciendo pruebas y seguro que me surgirán más dudas, que intentaré ir resolviendo. De nuevo, gracias a todos por vuestra ayuda!!! |
Baja de una factura
Al enviar por webservice la petición de baja de una factura emitida recibo una respuesta que considera la operación como correcta.
Pero al parecer esa operación es irreversible. Pues al dar nuevamente de alta la misma factura (con cambios o sin ellos) el webservice ya no la admite, diciendo "Factura duplicada". Y si intento darla de baja otra vez, dice que la factura no existe. Por favor, ¿alguien puede confirmar, o desmentir, esa suposición? Cuando hay que modificar una factura, ¿es imprescindible enviarla como modificaciones en vez de dar de baja y de alta? Muchas gracias. Saludos, |
Cita:
Saludos |
Cita:
La contraparte en facturas recibidas no tendría mucho sentido, ya que a todos los efectos es una factura totalmente nueva. La baja anula la factura, y por lo que dices es imposible volver a activar la misma. No lo he comprobado pero la verdad es que es coherente con la documentación, que dice expresamente que ese número de factura no puede reutilizarse. Hay que tener presente que la clave primaria de cada registro de facturas está compuesto de: NIF/IDOtro, FechaExpedicion y NumFactura Cualquier modificación en cualquiera de esos datos supone a todos los efectos una factura nueva. Entiendo que si te has equivocado en una factura recibida asignando un proveedor incorrecto, lo lógico es como lo establece la AEAT, anular y en un registro totalmente independiente hacer el alta correcta. En emitidas no se me ocurre ningún caso que no pueda resolverse con una modificación. Si acaso, si has equivocado la fecha. P.D. Acabo de comprobar que una factura emitida con mismo número y diferente fecha cuela sin problemas. En este caso toca anular una de ellas. Y se puede hacer sin problemas. |
Para newtron y Nasca:
Dos respuestas que aclaran totalmente la cuestión. La verdad es que en la documentación de la AEAT hay algunas cosas ambiguas y otras que difícilmente las encuentras (o entiendes). ¡Muchas gracias a ambos! |
Buenos días. Si el problema es que se ha registrado una factura incorrectamente, por ejemplo te has equivocado en el tipo de operación, importes, etcc, es decir no hay otra factura que rectifique a esta, lo que se puede hacer es mandar un registro de tipo A1 Modificación de facturas/registros (errores registrales). Que sirve para esto.
Un saludo. |
Modificación de facturas
Magníficas respuestas las de newtron, Nasca y keys sobre la modificación de facturas. La curva de aprendizaje es cada vez más horizontal a medida que vas progresando, y en este momento creo que la cosa ya va de bajada para la mayoría de nosotros.
Muchas gracias de nuevo. Saludos, |
1 Archivos Adjunto(s)
Hola.
Estoy desarrollando un módulo para el envio de facturas al SII. La primera fase fue que generase los ficheros XML tal como indica la AEAT en su documentación. Ahora estoy con la fase de envío con la AEAT, pero llevo varios días intentando enviar una factura y no hay manera. A ver si me pueden ayudar... Estoy programando en C#, y he probado tanto cargar desde fichero XML como generando la factura directamente contra el servicio web. En ambos casos, al enviar los datos me retorna un error: Código:
The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: ... Os adjunto los ficheros para revisar (el que generé por primera vez y se carga en el portal, el que se crea con Serialize, y el que cargo con Deserialize), e incluso adjunto el código C# usado. Lo servicios WEB que uso son los proporcionados en el portal de SII: V_06/SuministroFactEmitidas.wsdl Ya estoy desesperado, no se que hacer... Necesito ayuda. Gracias. Menos mal que existe este foro... |
Cita:
|
Cita:
En el XML que cargo en el portal está el TAG pero no hay datos. De todas formas este no da problemas, se carga. El problema es si voy por código, tanto por Serialize o Deserialize, sí que está el TAG y con datos. En estos casos es cuando me da problemas... |
Saludos! Después de conseguir que me envíe correctamente las facturas emitidas con el nuevo web service, estoy teniendo problemas para rellenar las facturas recibidas.
El problema me surge a la hora de rellenar el Detalle de IVA, pues me devuelve null a la hora de crear la variable de tipo array. Lo hago de la siguiente forma: factRecibida.DesgloseFactura = new DesgloseFacturaRecibidasType(); factRecibida.DesgloseFactura.DesgloseIVA = new DetalleIVARecibidaType[1]; Me intenta crear el elemento DesgloseIVA[0], pero es null, por lo que no me deja rellenar el tipo impositivo, base imponible, cuota soportada, etc. Y al ser campos obligatorios no me permite enviar la factura recibida. Alguna sugerencia? Porque en versiones anteriores del web service si podía crear el detalle de IVA. Muchas gracias. |
Yo no lo estoy haciendo en VB pero esa propiedad factRecibida.DesgloseFactura.DesgloseIVA es un array y me imagino que primero tendrás que declarar su tamaño.
Te pongo como es en delphi por si te sirve de algo
|
Cita:
Es dónde le indico el tamaño que tiene que tener el array de DesgloseIVA, lo que pasa que me devuelve esto: factRecibida.DesgloseFactura.DesgloseIVA[0]=null; Luego no puedo rellenar las variables que componen esa struct. A alguien más le ha pasado? Gracias. Edit1: Ya he encontrado mi fallo, que malos son los Lunes, jejejeje. Me faltaba esta línea: factRecibida.DesgloseFactura.DesgloseIVA[0] = new DetalleIVARecibidaType(); Gracias keys por enseñarme el fallo. |
La franja horaria es GMT +2. Ahora son las 10:53:12. |
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