FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#101
|
|||
|
|||
Qué faena lo de esperar hasta el día 7 para poder seguir realizando pruebas. He cambiado los webservices a la nueva versión y ahora no puedo hacer envíos.
ex.Message = "Codigo[4100].Error en la cabecera. El contenido de IDVersionSii no es válido." Buenos, seguiremos probando más adelante. Saludos. |
#102
|
|||
|
|||
En mi caso con la versión 0.4, ya lo tengo todo listo. Soy capaz de enviar facturas tanto emitidas como recibidas, con datos de importes exentos o no, y alguna que otra combinación.
Por otro lado, también puedo realizar consultas de facturas y me devuelve los datos de envíos anteriores sin problemas. Pero todo esto no me funciona con la versión 0.5, porque me da un error 404 en la URL de envío: https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP, aunque dicha URL si que responde con una llamada normal desde el navegador por ejemplo. En la web no dice que funcionará a partir del día 7, sino que a partir de ese día "SOLO" se podrá enviar con esta versión. He remitido una pregunta a la AEAT sobre el tema y aun estoy en espera de contestación. |
#103
|
||||
|
||||
Convocatoria de las EE.DD. para el proyecto "Suministro Inmediato de Información (SII)" - 15 de febrero de 2017
Se comunica que el próximo día 15 de febrero de 2017 a las 11 h. se celebrará una reunión informativa en el Salón de Actos del Departamento de Informática Tributaria (C/ Santa María Magdalena, 16, 28016 Madrid) sobre el proyecto "Suministro inmediato de información (SII)" y con el siguiente contenido previsto: 11:00 - 11:45 h.: Normativa tributaria sobre el proyecto SII 11:45 - 13:15 h.: Aspectos tecnológicos del proyecto SII 13:15 - 13:45 h.: Ruegos y Preguntas Si están interesados en asistir, por favor comuniquen nombre, apellidos y NIF de la persona designada al correo electrónico mariablanca.rodriguez@correo.aeat.es incluyendo en el asunto del mensaje el texto "EE.DD. 15/02/2017 y nombre de la empresa asistente". A efectos de no superar el aforo de la sala, se debe limitar la asistencia a un máximo de una persona por empresa o entidad. La información ofrecida se difundirá posteriormente en la dirección: http://www.agenciatributaria.es/AEAT...olladores.html Muchas gracias por su colaboración. |
#104
|
||||
|
||||
Gracias por la info.
__________________
Be water my friend. |
#105
|
||||
|
||||
Como estoy siguiendo y utilizando este hilo para consumir otro webservice de la administración española os aporto una solución para cuando los envios deben firmarse digitalmente, que es mi caso, por si este lo requiere ahora o en el futuro.
Puede utilizarse la aplicación autofirma (https://administracionelectronica.go...s#.WJQ7nH9EKuc) que está ahora en su versión 1.5 y que se puede llamar desde la línea de comandos. Por ejemplo: Código:
"C:\Program Files\AutoFirma\AutoFirma\AutoFirma.exe" sign -i c:\Users\juan\proba.xml -o c:\Users\juan\proba-signed.xml -algorithm SHA512withRSA -store windows -alias le-56772dsd-fc29-b432-f56f-sdfs45sd5456 -format "XAdES Enveloped" Un saludo. |
#106
|
||||
|
||||
Yo sigo esperando al dia 7. A ver que pasa
Ya puedo enviar facturas emitidas, y casi recibidas. Tengo la consulta de facturas emitidas. Para saber que información tiene la AEAT recogida. He parado todo el trabajo a esperar el dia 7. Por si acaso. Ahora bien, tengo la siguientes dudas: 1) ¿alguien ha conseguido enviar mas de 13 facturas en un envio? 2) ¿es mejor enviar en bloques de 1 y obtener un CSV individual para cada factura? (y mas fácil para depurar un re-envio) 3) ¿Qué objetos creáis para enviar facturas de exportación e intracomunitarias? Saludos ! |
#107
|
||||
|
||||
Cita:
2) En principio creo que da igual siempre que este bien gestionado. Me imagino que el enviar de factura en factura hará que el proceso sea más lento. Al final lo importante es el id de respuesta si esta aceptado y la causa por la cual no te aceptan una factura. 3) Te pongo un ejemplo para cada una. En cuanto a las de exportación estan para la version actual, cuando cambie a la 5 en el campo ClaveRegimenEspecialOTrascendencia hay que poner un 2 y no un 15. la intracomunitaria es de entrega de bienes y esta no va a cambiar para la siguiente version. En cuanto a las intracomunitarias de prestación hay que meterlas como inversión sujeto pasivo. No pongo ejemplo por que eso si cambia en la siguente version. Un Saludo Última edición por keys fecha: 05-05-2017 a las 10:12:04. |
#108
|
||||
|
||||
gracias keys
mañana lo miro. en la aeat están empezando a responder... a ver que nos dicen. cuidado con guardar el CSV y tengo ya completos el tema de interrogar a la aeat de las facturas que ya hemos pasado. si quereis puedo colgar un trozo de ejemplo, pero hasta que no funcione todo con el cambio del dia 7, como que... en fin... |
#109
|
||||
|
||||
buenos días a todos !
Nos estamos superando: Usando la 0.1 (que hasta ayer iba bien) Codigo[3501].Error técnico de BBDD: java.sql.SQLException: TABLA MAESTRA ORA-00904: "LFE_IMP_NOSUJETA_PRES": identificador no válido Usando la 0.5 (que hoy debería funcionar) Not Found (404) - 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP' ¿Qué tal os va? (ya les he escrito de nuevo) |
#110
|
|||
|
|||
Error IDVersionSII
A mi al tratar de enviar una factura emitida, recibida o bien de inversión, me aparece el error:
ex.Message = "Codigo[4100].Error en la cabecera. El contenido de IDVersionSii no es válido." Aún cuando la IDVersión es: VersionSiiType.Item05 Sin embargo la intracomunitaria si me ha dejado, alguna sugerencia? Un saludo. |
#111
|
|||
|
|||
Cita:
El valor de IDVersionSii es VersionSiiType._0_5 con este nuevo WSDL. |
#112
|
||||
|
||||
a esta hora y reimportando los wdsl y tal... ya puedo enviar facturas emitidas, recibidas, y consultar.
sigue dando el error: Se requiere un certificado para completar la autenticación de cliente - URL:https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP - SOAPAction:"" si pasas un monton. No pasa ni una del paquete. (confirmado porque luego consulto). una pregunta tonta... en el numero de factura pone "numeroserie" si tienes serie en tus facturas entiendo que debería ser 9999999X ¿no? |
#113
|
||||
|
||||
Cita:
Cita:
Saludos
__________________
Be water my friend. |
#114
|
||||
|
||||
Cita:
Una Pregunta. A la hora de añadir los wsdl al proyecto los habeis añadido todos desde la misma carpeta? o habéis añadido cada uno desde una carpeta distinta? es decir las de emitidas por un lado, las recibidas por otro, etc... A mi tambien me da error si envío muchas facturas. Un Saludo. |
#115
|
|||
|
|||
He reimportado los wsdl y ahora me dice:
ex.Message = "Debe establecer la propiedad Path para llamar al método Send." He importado los servicios web de los 7 suministros que hay (SuministroBienesInversion, SuministroCobrosEmitidas, SuministroCobrosMetalico, SuministroFactEmitidas, SuministroFactRecibidas, SuministroOpIntracomunitarias, SuministroPagosRecibidas). Pero esta propiedad Path es la primera vez que la veo, a alguno le ha salido este mensaje de error al intentar enviar? Un saludo. Me autorespondo, me faltaba reeditar las referencias de los SiiService de cada suministro. |
#116
|
|||
|
|||
Facturas emitidas consigo enviarlas correctamente, para el resto me devuelve SIEMPRE este error:
Error en comunicación: Codigo[4124].Error La direccion no se corresponde con el fichero de entrada. Antes de la versión 0.5 conseguía enviar todos los tipos salvo Facturas Recibidas, pero ahora sólo puedo enviar facturas emitidas. Ese error se lo da a alguien más? No he encontrado mucha información sobre ese error en la red, por lo que no puedo deciros muchos más. |
#117
|
|||
|
|||
Cita:
|
#118
|
||||
|
||||
Este es mi código para consultar facturas emitidas, colocando sus resultados en una base de datos.
Código:
// memoErrores.lines.Clear; if dbRespuesta.active then dbRespuesta.Active:=false; dbRespuesta.FieldDefs.Clear; dbRespuesta.FieldDefs.Add('numero',ftstring,30,false); dbRespuesta.FieldDefs.Add('fecha',ftDate,0,false); dbRespuesta.FieldDefs.Add('cliente',ftstring,100,false); dbRespuesta.FieldDefs.Add('nif',ftstring,50,false); dbRespuesta.FieldDefs.Add('tipo',ftstring,5,false); dbRespuesta.FieldDefs.Add('exenta',ftstring,5,false); dbRespuesta.FieldDefs.Add('tipostr',ftstring,50,false); dbRespuesta.FieldDefs.Add('regimen',ftstring,5,false); dbRespuesta.FieldDefs.Add('operacion',ftstring,200,false); dbRespuesta.FieldDefs.Add('terceros',ftstring,5,false); dbRespuesta.FieldDefs.Add('total',ftfloat,0,false); dbRespuesta.FieldDefs.Add('cobros',ftstring,5,false); dbRespuesta.FieldDefs.Add('noexenta',ftstring,5,false); dbRespuesta.FieldDefs.Add('estado',ftstring,100,false); dbRespuesta.FieldDefs.Add('descripcio',ftstring,300,false); for h := 0 to 6 do begin dbRespuesta.FieldDefs.Add('iva'+inttostr(h),ftFloat,0,false); dbRespuesta.FieldDefs.Add('impiva'+inttostr(h),ftFloat,0,false); dbRespuesta.FieldDefs.Add('baseimp'+inttostr(h),ftFloat,0,false); end; dbRespuesta.CreateTable; dbRespuesta.Active:=true; //***CSY CERTIFICADO := BUSCAR_CERTIFICADO(comboBox1.text); //<----- SELECCIONAR CERTIFICADO if(CERTIFICADO = nil) then begin ShowMessage('No encuento el certificado'); Exit(); end; emitidas.HTTPWebNode.ClientCertificate.SerialNum := Buscar_Certificado_SERIAL(comboBox1.text); //**** try ///////////////////////////////////////////////////////////////////////////// //// PRESENTADOR OSEA -> NOSOTROS ////////////////////////////////////// // se crea el objeto que se va a enviar: ///////////////////////////////////////////////////////////////////////////// aConsultaLRFacturasEmitidas := ConsultaLRFacturasEmitidas.Create; aConsultaLRFacturasEmitidas.Cabecera:=CabeceraConsultaSii.Create; // DATOS: aConsultaLRFacturasEmitidas.Cabecera.IDVersionSii:=VersionSiiType(0); // 0.1 aConsultaLRFacturasEmitidas.Cabecera.titular := PersonaFisicaJuridicaUnicaESType.Create; aConsultaLRFacturasEmitidas.Cabecera.Titular.NombreRazon:=_PRESENTADOR; // NOMBRE DEL PRESENTADOR (CUALQUIERA VALE) aConsultaLRFacturasEmitidas.Cabecera.Titular.NIF:=_NIF_EMISOR; // CIF del PRESENTADOR (DEBE COINCIDIR CON EL CERTIFICADO SELECCIONADO) aConsultaLRFacturasEmitidas.FiltroConsulta:=LRFiltroEmitidasType.Create; aConsultaLRFacturasEmitidas.FiltroConsulta.PeriodoImpositivo:=PeriodoImpositivo.Create; aConsultaLRFacturasEmitidas.FiltroConsulta.PeriodoImpositivo.Ejercicio:=edit2.text; aConsultaLRFacturasEmitidas.FiltroConsulta.PeriodoImpositivo.Periodo:=TipoPeriodoType( comboBox2.itemIndex ); try // se hace la llamada a la funcion suministrada por el WS result := GetsiiSOAP(true,'',emitidas).ConsultaLRFacturasEmitidas(aConsultaLRFacturasEmitidas); memoComs.Lines.Add( getEnumName(typeInfo(ResultadoConsultaType), ord(result.resultadoConsulta) ) ); //mostrar los resultados devueltos por la llamada for i := low(result.RegistroRespuestaConsultaLRFacturasEmitidas) to High(result.RegistroRespuestaConsultaLRFacturasEmitidas) do begin _noexenta:=''; _numero:=''; _fechaStr:=''; _tipo:=''; _tipoStr:=''; _regimen:=''; _operacion:=''; _exenta:=''; _terceros:=''; _cliente:=''; _nif:=''; _tipodesglose:=''; _cobros:=''; _estado:=''; _estadoFactura:=''; _ImporteTotal:=0; _descripcion:=''; with result.RegistroRespuestaConsultaLRFacturasEmitidas[i] do begin try if result.RegistroRespuestaConsultaLRFacturasEmitidas[i].datosfacturaemitida.tipodesglose.desglosetipooperacion<>nil then _exenta:=GetEnumName( TypeInfo(CausaExencionType),ord(DatosFacturaEmitida.TipoDesglose.DesgloseTipoOperacion.Entrega.Sujeta.exenta.CausaExencion)); except end; _tipo:=GetEnumName(TypeInfo(clavetipoFacturaType), Ord(DatosFacturaEmitida.TipoFactura)); _tipoSTR:=tipoSTR( DatosFacturaEmitida.TipoFactura ); _regimen:=GetEnumName( TypeInfo(IdOperacionesTrascendenciaTributariaType), Ord(DatosFacturaEmitida.ClaveRegimenEspecialOTrascendencia) ); _ImporteTotal:=strToFloat( SII_Numero( DatosFacturaEmitida.ImporteTotal ) ); _operacion:=DatosFacturaEmitida.DescripcionOperacion; _terceros:=GetEnumName(typeInfo( EmitidaPorTercerosType ), ord( DatosFacturaEmitida.EmitidaPorTerceros ) ); _numero:=IDFactura.NumSerieFacturaEmisor; try if DatosFacturaEmitida.contraparte<>nil then // POR SI NO LLEVA CONTRAPARTE: begin _cliente:=DatosFacturaEmitida.contraparte.NombreRazon; _NIF:=DatosFacturaEmitida.contraparte.NIF; if DatosFacturaEmitida.TipoDesglose.DesgloseFactura<>nil then begin _tipodesglose:=GetEnumName( typeInfo(TipoOperacionSujetaNoExentaType), ord(DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.TipoNoExenta) ); _noexenta:=getEnumName(typeInfo( TipoOperacionSujetaNoExentaType ) , ord(DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.TipoNoExenta ) ); end; if DatosFacturaEmitida.contraparte.IDOtro<>nil then begin if _NIF='' then _NIF:=DatosFacturaEmitida.contraparte.IDOtro.ID; end; end else // POSIBLE ERROR: BEGIN _cliente:='SIN CLIENTE'; MemoComs.lines.add('factura: ' + IDFactura.NumSerieFacturaEmisor + ' SIN CLIENTE'); end; if DatosFacturaEmitida.TipoDesglose.DesgloseFactura<>NIL then begin for h := low(DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.DesgloseIVA) to high( DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.DesgloseIVA) do begin with DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.DesgloseIVA[h] do begin base[h]:= strTofloat( SII_numero( baseImponible ) ); tipo[h]:=strTofloat(SII_numero( tipoImpositivo ) ); cuota[h]:=strTofloat(SII_numero( cuotarepercutida ) ); end; end; end; _cobros:=getEnumName( typeInfo(FacturaARType), ord(DatosFacturaEmitida.Cobros) ); _fechaStr:=copy(IDFactura.FechaExpedicionFacturaEmisor,1,10); _fechaStr:=stringReplace(_fechaStr,'-','/',[rfReplaceAll]); _fecha:=strTodate( _fechaStr ); _estado:=estadoFactura.EstadoRegistro; _descripcion:=DatosFacturaEmitida.DescripcionOperacion; MemoComs.lines.add('factura: ' + IDFactura.NumSerieFacturaEmisor + ' ' + IDFactura.NumSerieFacturaEmisorResumenFin + ' ' + IDFactura.FechaExpedicionFacturaEmisor); // guardar en la base de datos: dbRespuesta.Insert; dbRespuesta.fieldbyName('numero').Text:=_numero; dbRespuesta.fieldbyName('fecha').asdatetime:=_fecha; dbRespuesta.fieldbyName('cliente').Text:=_cliente; dbRespuesta.fieldbyName('nif').Text:=_nif; dbRespuesta.fieldbyName('tipo').Text:=_tipo; dbRespuesta.fieldbyName('tipostr').Text:=_tipostr; dbRespuesta.fieldbyName('exenta').Text:=_exenta; dbRespuesta.fieldbyName('regimen').Text:=_regimen; dbRespuesta.fieldbyName('operacion').Text:=_operacion; dbRespuesta.fieldbyName('terceros').Text:=_terceros; dbRespuesta.fieldbyName('total').asfloat:=_ImporteTotal; dbRespuesta.fieldbyName('cobros').text:=_cobros; dbRespuesta.fieldbyName('fecha').asdatetime:=_fecha; dbRespuesta.fieldbyName('estado').text:=_estado; dbRespuesta.fieldbyName('descripcio').text:=_descripcion; dbRespuesta.fieldbyName('Noexenta').text:=_noexenta; if DatosFacturaEmitida.TipoDesglose.DesgloseFactura<>NIL then begin for h := low(DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.DesgloseIVA) to high( DatosFacturaEmitida.TipoDesglose.DesgloseFactura.Sujeta.NoExenta.DesgloseIVA) do begin dbRespuesta.fieldbyName('iva'+inttostr(h)).asfloat:=tipo[h]; dbRespuesta.fieldbyName('impiva'+inttostr(h)).asfloat:=cuota[h]; dbRespuesta.fieldbyName('baseimp'+inttostr(h)).asfloat:=base[h]; end; end; dbRespuesta.Post; except On E:Exception do begin MemoErrores.lines.Add(_numero); MemoErrores.lines.Add(E.Message); MemoErrores.lines.Add('--------------------'); end; end; end; end; except On E:Exception do //El proceso de envio dio error MemoErrores.lines.Add(E.Message); end; finally // se eliminan los objetos creados aConsultaLRFacturasEmitidas.Free; result.Free; dbRespuesta.Active:=true; end; end; * Facturas recibidas intracomunitarias y autofactura.... * Factura a Canarias? Aunque lo estoy mirando ahora, ¿Por favor, podeis postear algún ejemplo? ... Saludos ! |
#119
|
||||
|
||||
Esta claro que hay facturas rectificativas por diferencias. Aunque no lo veo muy claro.
Pero ... ¿y los abonos? ¿Cómo se gestionan? Saludos ! |
#120
|
||||
|
||||
Cita:
Saludos
__________________
Be water my friend. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco | keys | Internet | 4246 | Hace 2 Días 11:17:09 |
AEAT envio de datos vía Webservice problemas con WSDL | CelsoO | Internet | 11 | 09-10-2019 20:03:41 |
webService Soap de la Administración Digital Española notific@ | apicito | Internet | 3 | 31-01-2017 11:25:28 |
Error en Webservice funcion envio de sms | webmasterplc | Delphi para la web | 5 | 25-07-2013 20:10:29 |
Problemas con envío de XML a un WebService | davidvamo | Internet | 1 | 13-02-2007 15:49:20 |
|