Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #61  
Antiguo 27-01-2017
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Creo que es por la versión de delphi, yo lo estoy probando en berlin.
¿Significa eso que con "Delphi 7" no hay manera de mandar ficheros por Webservice a la AEAT?

¿Alguien lo ha probado con "Delphi 7"?

Saludos,
Responder Con Cita
  #62  
Antiguo 27-01-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.591
Poder: 21
newtron Va camino a la fama
Hola de nuevo.

¿Al final has desistido de enviarlo por código?

Cita:
Empezado por seccion_31 Ver Mensaje
Bueno, este es mi código que no funciona:

da error 4102: falta contraparte. Llevo repasándolo bastantes horas y nada. Luego llamo a la AEAT:

Pero... ¿podeis x favor, decirme como haceis para enviar el XML? porque viendo el tiempo que estoy perdiendo con esto, puedo intentar componer el XML.

hay unas pocas constantes que hay que añadir, e iria justo debajo de: setCERTIFICADO(CERTIFICADO);

CONST
_PRESENTADOR='xxxxx';
_NIF_EMISOR='xxxxxxx';

_NIF_CLI='xxxxxx';
_NOMBRE_CLI='xxxxxx';


Código:
 try

     /////////////////////////////////////////////////////////////////////////////
    ////  PRESENTADOR OSEA  -> NOSOTROS    //////////////////////////////////////
    //    se crea el objeto que se va a enviar:
     /////////////////////////////////////////////////////////////////////////////
    ASuministroLRFacturasEmitidas := SuministroLRFacturasEmitidas.Create;
    ASuministroLRFacturasEmitidas.Cabecera := CabeceraSii.Create;
    // DATOS:
    ASuministroLRFacturasEmitidas.Cabecera.IDVersionSii:=VersionSiiType(0);       // 0.1
    ASuministroLRFacturasEmitidas.Cabecera.titular := PersonaFisicaJuridicaESType.Create;
    ASuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon:=_PRESENTADOR;          // NOMBRE DEL PRESENTADOR (CUALQUIERA VALE)
    ASuministroLRFacturasEmitidas.Cabecera.Titular.NIF:=_NIF_EMISOR;              // CIF del PRESENTADOR (DEBE COINCIDIR CON EL CERTIFICADO SELECCIONADO)
    // (0) A0 - ALTA
    // (1) A1-  MODIFICACION
    // (2) A4-  MODIFICACION REGIMEN VIAJEROS
    ASuministroLRFacturasEmitidas.Cabecera.TipoComunicacion:=ClaveTipoComunicacionType(0);

    //se crea un array con el numero de facturas que se van a emitir
    //en este ejemplo solo 1, pero pueden ser mas
    SetLength(ARegistroLRFacturasEmitidas, 1);

    //se introducen los datos de cada una de las facturas
//   for i := Low(ARegistroLRFacturasEmitidas) to High(ARegistroLRFacturasEmitidas) do
  // begin

    //Se crean todas las estructuras de datos de la consulta
    ARegistroLRFacturasEmitidas[0]:=LRfacturasEmitidasType.Create;
    ARegistroLRFacturasEmitidas[0].IDFactura:=IDFacturaExpedidaType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida:=FacturaExpedidaType.create;               // <- clase para tipo de factura
    ARegistroLRFacturasEmitidas[0].PeriodoImpositivo:=PeriodoImpositivo.Create;

    ARegistroLRFacturasEmitidas[0].PeriodoImpositivo.Ejercicio:='2016';                       //  AÑO
    ARegistroLRFacturasEmitidas[0].PeriodoImpositivo.periodo  :=TipoPeriodoType(11);          //  PERIODO 01- ENERO ... 12-DICIEMBRE  (0A - ANUAL )


    With ARegistroLRFacturasEmitidas[0].IDFactura do
    begin
       IDEmisorFactura:= IDEmisorFactura3.Create;
       IDEmisorFactura.NIF  :=_NIF_EMISOR;                         // NUESTRO NIF, COMO EMISOR = TITULAR LIBRO REGISTRO = CERTIFICADO DIGITAL
       NumSerieFacturaEmisor:='20169999F';                         // NUMERO Y SERIE DE LA FACTURA entiendo: 9999999X
       FechaExpedicionFacturaEmisor:='15/12/2016';                 // FECHA DE EXPEDICION FACTURA    (dd-mm-yyyy)
    end;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.tipofactura:=ClaveTipoFacturaType(0);      //  F1- FACTURA / F2 TICKET / ... 
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.ClaveRegimenEspecialOTrascendencia:=IdOperacionesTrascendenciaTributariaType(0);  // 01-REGIMEN COMUN / 02-BIENES USADOS... 15-EXPORTACION
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.ImporteTotal:='121';                       //  TOTAL (opcional)
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.descripcionOperacion:='Nuestra Factura';   //  DESCRIPCION FACTURA (LIBRE)

    // CONTRAPARTE:
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte:=PersonaFisicaJuridicaType.Create;  // CREAR CLIENTE:
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.NombreRazon:=_NOMBRE_CLI;           // NOMBRE DEL CLIENTE
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.NIFRepresentante:='';
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.NIF:=_NIF_CLI;                      // NIF DEL CLIENTE

    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro:=IDOtroType.Create;          // identifiacion del nif.
    //ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro.CodigoPais:=countryType2(10);

    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro.IDType:=PersonaFisicaJuridicaIDTypeType(0);   // 2-NIF / 3-PASAPORTE / 4- DOCUMENTO OFICIAL IDENT. PAIS RESIDENCIA
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro.ID:='';                                       // documento pais residencia (extranjero)


    // EMPEZAMOS CON LOS DESGLOSES (IVAs)
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose:= TipoDesglose.create;       // ATENCION: TipoDesglose2 (facturas)   TipoDesglose (inmuebles)

    setLength(IVAS,1);                       // numeros de iVAs en factura
    IVAS[0]:=DetalleIVA2.create;             // CREAR primer IVA
    IVAS[0].BaseImponible:='100';            // BASE IMPONIBLE
    IVAS[0].TipoImpositivo:='21';            // IVA %
    IVAS[0].CuotaRepercutida:='21';          // IMPORTE IVA
    IVAS[0].TipoRecargoEquivalencia:='0';    // REQ %
    IVAS[0].CuotaRecargoEquivalencia:='0';   // IMPORTE RECARGO

    //   opcion 1
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desgloseFactura:=TipoSinDesgloseType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta:=SujetaType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.noexenta:=NoExenta.create;
    // ASIGNAR IVAS
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desglosefactura.sujeta.noexenta.desgloseIVA:=IVAS;



    //  opcion 2 : (nada)
(*
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion:=TipoConDesgloseType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.entrega:=TipoSinDesgloseType.Create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.entrega.sujeta:=SujetaType.Create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.entrega.sujeta.noexenta:=NoExenta.Create;
     // ASIGNAR IVAS
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.DesgloseTipoOperacion.entrega.sujeta.noexenta.desgloseIVA:=IVAS;
*)


    //se añade el array de facturas creado anteriormente
    ASuministroLRFacturasEmitidas.RegistroLRFacturasEmitidas:=ARegistroLRFacturasEmitidas;




    try
      // se hace la llamada a la funcion suministrada por el WS
      result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      //mostrar los resultados devueltos por la llamada
      for i := low(result.RespuestaLinea) to High(result.RespuestaLinea) do begin
        with result.RespuestaLinea[i] do begin
          Memo1.lines.add('factura: ' + IDFactura.NumSerieFacturaEmisor + ' ' + IDFactura.NumSerieFacturaEmisorResumenFin + ' ' + IDFactura.FechaExpedicionFacturaEmisor);
          //si el estado no es correcto, se muestran los errores
          if EstadoRegistro <> EstadoRegistroType(0) then
          begin
            Memo1.lines.add('Error no.: ' + InttoStr(CodigoErrorRegistro));
            Memo1.lines.add(DescripcionErrorRegistro);
          end;
        end;
      end;
    except
      On E:Exception do
        //El proceso de envio dio error
        MessageDlg(E.Message, mtError, [mbOK], 0);
    end;
  finally
    // se eliminan los objetos creados
    ASuministroLRFacturasEmitidas.Free;
    result.Free;
  end;
¿Puedes poner el trozo de código donde declaras estas variables?

Código Delphi [-]
    setLength(IVAS,1);                       // numeros de iVAs en factura
    IVAS[0]:=DetalleIVA2.create;             // CREAR primer IVA
    IVAS[0].BaseImponible:='100';            // BASE IMPONIBLE
    IVAS[0].TipoImpositivo:='21';            // IVA %
    IVAS[0].CuotaRepercutida:='21';          // IMPORTE IVA
    IVAS[0].TipoRecargoEquivalencia:='0';    // REQ %
    IVAS[0].CuotaRecargoEquivalencia:='0';   // IMPORTE RECARGO

Saludos
__________________
Be water my friend.
Responder Con Cita
  #63  
Antiguo 28-01-2017
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 133
Poder: 8
seccion_31 Va por buen camino
Hola !

lo tengo en el trabajo, el lunes lo miro y lo posteo. Por cierto, he descargado un nuevo interface SOAP wsd desde la AEAT algo diferente al publicado. (pero la versión es la misma, cambia el nombre de las clases) de memoria ese campo es un tipo, que es un array de DetalleIVA2 se llama desgloseIVA2 creo puedes verlo en el campo desgloseIVA. cada elemento del array es DetalleIVA2.

Por código funciona muy bien, siempre que NO envíes el campo IDOtro de la contraparte (esto lo digo de memoria, no me acuerdo bien, pero funciona). A ver si responde la AEAT en ambos casos por código o XML el NIF debe existir de lo contrario la factura pasa pero da error. (o aviso), porque pasa. Lo que ocurre es que dice: NIF sin identificar y piensas que es un error de código, y no es asi.

Asi que con código ahora mismo pasarían las facturas nacionales sin problemas. Ya estoy trabajando en el programa final de envio, que espero tenerlo listo a mediados de la semana que viene como muy tarde.

De no tener ni idea de SOAP he pasado a enterarme ya medianamente bien, gracias al primer ejemplo. en fin... ya veremos.

Hasta el lunes no vuelvo a postear. Os colocare un ejemplo completo con el interface publicado en el .rar.

Saludos !


Por otro lado, me gustaría saber:


1) si la AEAT en ese formulario que va a crear, dara opción de subir el XML.

2) si habrá una web de la AEAT donde consultar las facturas subidas.

ambas cosas serian fundamentales pienso yo para hacer las cosas bien.
Responder Con Cita
  #64  
Antiguo 28-01-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.591
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por seccion_31 Ver Mensaje
2) si habrá una web de la AEAT donde consultar las facturas subidas.
En este documento, al final, indica que se pueden hacer consultas de los datos enviados.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #65  
Antiguo 28-01-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.591
Poder: 21
newtron Va camino a la fama
Ok.

Gracias a vuestra ayuda al final he preparado un ejemplo totalmente operativo del envío de una factura con este servicio.

Ya solo quedaría ir rematando flecos y detalles.

Espero que os sirva.

Saludos
Archivos Adjuntos
Tipo de Archivo: rar Webservices AEAT Berlin_2.rar (204,5 KB, 360 visitas)
__________________
Be water my friend.

Última edición por newtron fecha: 28-01-2017 a las 13:05:50.
Responder Con Cita
  #66  
Antiguo 28-01-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Hay nueva versión 0.5 de esquemas y WebService.

La buena noticia es que los esquemas siguen siendo prácticamente lo mismos. Solo se han añadido a facturas recibidas un par de campos nuevos y en las emitidas se ha simplificado el esquema de la parte exenta. Poca cosa.

La mala noticia es que el WebService inicial SuministroInmediatoInfo.wsdl, se ha dividido en varios diferentes. Tampoco será dramático, pero quizás es otra buena razón para tratar los archivos xml directamente a mano.

Yo por mi parte creo que voy a tirar por esa opción, y por hacer las comunicaciones directamente con Indy.

Cuantas menos dependencias externas mejor, no quiero depender de librerías de Windows para nada, que luego te encuentras problemas de compatibilidad complicados de resolver. Así de paso la aplicación puede funcionar en Mac y Linux con ayuda de Wine sin mucha complicación.
Responder Con Cita
  #67  
Antiguo 30-01-2017
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 133
Poder: 8
seccion_31 Va por buen camino
Ejemplo de newtron algo modificado, y SI, pasa la factura. Cuidado con el NIF que ponéis pues podría deciros NIF no identificado lo cual no quiere indicar error, sino que la AEAT no lo tiene registro.

* explicaciones en pantalla
* selección de certificado
* usando el objeto HTTIPro1 del form. (cuidado con cambiar allí el puerto de pruebas)
* periodo y año de la factura

Saludos !
Archivos Adjuntos
Tipo de Archivo: rar WebServices AEAT Berlin_3.rar (79,4 KB, 329 visitas)
Responder Con Cita
  #68  
Antiguo 30-01-2017
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 133
Poder: 8
seccion_31 Va por buen camino
Cita:
Hay nueva versión 0.5 de esquemas y WebService.
Gracias x el aviso !

Es una pasada:
Cita:
A partir del próximo día 7 de febrero el sistema solo aceptará envíos según la versión 0.5
Y ya esta.

Y en junio igual lo cambian y listo.

Saludos !
Responder Con Cita
  #69  
Antiguo 30-01-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
La parte buena es que van clarificando cuestiones más técnico-fiscales.

Es normal que ahora estemos pensando en la comunicación y los registros fiscales como tal estén en segundo término, pero al final hay que tener registrados los datos a transmitir por el xml de turno.

Hay ciertos embrollos con las fechas y otras historias, pero en términos generales a través, van simplificando algunos registros y sus formas de comunicarse.
Por ejemplo, las rectificativas, en la línea del 340, se han simplificado.
Responder Con Cita
  #70  
Antiguo 30-01-2017
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 133
Poder: 8
seccion_31 Va por buen camino
bien, ahora usando el nuevo 0.5 da el error:

Not Found (404) - 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP'

ah! y por lo que veo, utilizando el 0.1, puedes colar un calculo del IVA erróneo. Lo he probado a posta y la factura ha pasado. la factura ha pasado ahora mismo sin problemas. LAMENTABLE.
Responder Con Cita
  #71  
Antiguo 30-01-2017
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 133
Poder: 8
seccion_31 Va por buen camino
por cierto nasca

¿Cómo vas a enviar el XML? ¿y recibir las respuestas de la AEAT?

Saludos !
Responder Con Cita
  #72  
Antiguo 30-01-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Indy con OpenSSL. En su momento las he probado en versiones anteriores del WebService y funcionan sin problemas.
Y los xml a mano, paso de depender de librerías del puñetero Windows en ambos casos.
Responder Con Cita
  #73  
Antiguo 30-01-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.085
Poder: 23
keys Va por buen camino
Hola a todos. Yo creo que el problema no esta tanto en como enviarlo, si por la indys o por SOAP, etc ... , ya que como hemos visto en el ejemplo la conexión no es muy dificil. El problema esta en la descripción de la información a enviar, ya sea directamente con el xml o con las clases que genera el wsdl, ya que estamos vendidos a los cambios que le apetezca hacer a hacienda como acabamos de ver con el cambio de version.

De todas formas esto esta un poco verde y con el tiempo esperemos que se valla estabilizando. Por cierto ¿Alguno ha tenido la gran suerte de ser o trabajar para alguna una de las empresas elegidas para las pruebas piloto?, ya que creo que esas empresas lo tienen mucho más fácil para acceder a la aeat.

Un Saludo.
Responder Con Cita
  #74  
Antiguo 30-01-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.591
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por seccion_31 Ver Mensaje
bien, ahora usando el nuevo 0.5 da el error:

Not Found (404) - 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP'

ah! y por lo que veo, utilizando el 0.1, puedes colar un calculo del IVA erróneo. Lo he probado a posta y la factura ha pasado. la factura ha pasado ahora mismo sin problemas. LAMENTABLE.
Lamentable también el "chapucerismo" y las prisas con las que se hacen todas estas cosas siempre, los políticos aprueban las leyes de un día para otro sin tener en cuenta del "tinglado" que hay que montar y para el que ni ellos mismos están preparados. Sacan la normativa, preparan el webservice y, antes de que ni siquiera hayamos terminado de enterarnos como va, lo cambian y "vuelta la burra al torno".

En fin..... es lo que hay.
__________________
Be water my friend.
Responder Con Cita
  #75  
Antiguo 30-01-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.085
Poder: 23
keys Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
bien, ahora usando el nuevo 0.5 da el error:

Not Found (404) - 'https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP'
Hola a mi me da el mismo error al cambiar los archivos. yo creo que el servicio del 0.5 no esta activo o los ficheros de descripcion están mal. Si te fijas en la versión del 0.5 en VersionSiiType = (_0_1); sigue poniendo 0.1 .

Como siempre una chapuza.
Responder Con Cita
  #76  
Antiguo 31-01-2017
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 133
Poder: 8
seccion_31 Va por buen camino
Buenos días !

Tres cuestiones:

1) cuidado con el mensaje de respuesta cuando hemos enviado las facturas, hay un campo que vuelve cargado con un valor que hay que guardar junto a las facturas y que es común al bloque que hemos enviado y sirve como comprobante: result.CSV

2) si envió un grupo de facturas, mas de 15 creo me da error de "necesita un certificado y bla bla..." si envio menos ó una sola funciona bien.

3) y aquí vengo a pedir ayuda: ¿Cuál seria la "ruta" para enviar facturas emitidas intracomunitarias y de exportación?

En emitidas, seria esta:
ARegistroLRFacturasEmitidas[ i ].FacturaExpedida.TipoDesglose.desglosefactura.sujeta.noexenta.desgloseIVA

Saludos !

A ver si alguien puede darme una mano, gracias.
Responder Con Cita
  #77  
Antiguo 31-01-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.085
Poder: 23
keys Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje

3) y aquí vengo a pedir ayuda: ¿Cuál seria la "ruta" para enviar facturas emitidas intracomunitarias y de exportación?


A ver si alguien puede darme una mano, gracias.
Hola no entiendo muy bien tu pregunta. Las facturas intracomunitarias y de exportación se declaran dentro del libro de iva de facturas emitidas.

3.6. ¿Cómo se registra una Entrega Intracomunitaria de Bienes? Se anotará la factura emitida al cliente comunitario en el Libro registro de Facturas Expedidas procediendo a su 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. Por otra parte, la base imponible de la factura se incluirá en el campo de tipo de operación “Exenta” dentro del bloque “Entrega”. Como causa de exención se consignará la clave “E5: Exenta por el artículo 25”.

El apartado del libro de operaciones Intracomunitarias, sólo es para determinadas operaciones, las más habituales van en el libro de expedidas o de emitidas.


3.7. ¿Cómo se registra una Exportación? La operación se anota en el Libro Registro de Facturas Expedidas. En el campo “Clave Régimen especial o Trascendencia” se consignará el valor 15. Deberá identificarse al cliente – en caso de ser extranjero- mediante el “Código país” y las claves 3 “Pasaporte”, 4 “Documento oficial de identificación expedido por el país o territorio de residencia”, 5 “Certificado de residencia” ó 6 “Otro documento probatorio” del campo “IDType”. Por otra parte, la base imponible de la factura se incluirá en el campo de tipo de operación “Exenta” dentro del bloque “Entrega”. Como causa de exención se consignará la clave E2 “Exenta por el artículo 21”.

Por cierto has conseguido enviar por la versión 0.5 ? He preguntado a hacienda pero las cosas de palacio van despacio.

Un Saludo
Responder Con Cita
  #78  
Antiguo 31-01-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.085
Poder: 23
keys Va por buen camino
Hola a todos!

Yo en vez de utilizar la unit Soap.SOAPHTTPTrans.pas que va en el ejemplo utilizo la unit que viene con delphi. Esta unit no tiene la opción de añadir el certificado directamente, lo que hago es asignarlo a un objeto THTTPRIO, de esta forma no dependo de esta unit que no se si funcionará en futuras versiones de delphi.

No se por que en el ejemplo se utilizó una propia en vez de la de delphi.

Un Saludo.
Responder Con Cita
  #79  
Antiguo 31-01-2017
Virman Virman is offline
Miembro
 
Registrado: ene 2017
Posts: 67
Poder: 8
Virman Va por buen camino
Tengo problemas para el envío de facturas recibidas, que me dice: Valor o tipo incorrecto del campo: NIF.

Revisando los campos para el emisor de la factura (el que nos la envía a nosotros por ser factura recibida), veo que no hay campo NIF, teniendo que usar obligatoriamente el campo IdOtro.

Yo lo hago así:
IDFacturaRecibidaType idFact = new IDFacturaRecibidaType(); //IDFACTURA
IDFacturaRecibidaTypeIDEmisorFactura emisorFactura = new IDFacturaRecibidaTypeIDEmisorFactura(); //emisorFactura
IDOtroType idOtro = new IDOtroType();
idOtro.CodigoPais = ((CountryType2)(202)); //España
idOtro.IDType = ((PersonaFisicaJuridicaIDTypeType)(00)); //00 -> 02(NIF - IVA)
idOtro.ID = "XXXXXXXXX"; //Aqui pongo X por no poner un NIF real
emisorFactura.Item = idOtro;
idFact.IDEmisorFactura = emisorFactura;

Será que en la versión 0.5 ya se puede poner correctamente el NIF del emisor de la factura recibida? Cómo lo hacéis vosotros para las facturas recibidas?

Muchas gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4288 Hace 1 Día 13:58:30
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 21:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 12:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 21:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 16:49:20


La franja horaria es GMT +2. Ahora son las 01:09:01.


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
Copyright 1996-2007 Club Delphi