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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #3041  
Antiguo 06-11-2019
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Bueno, ya he conseguido enviar facturas en el entorno de pruebas.

He tenido que adaptar el proyecto de ejemplo que hay en el FTP del foro para que funcione con Delphi Rio y pelearme un poco con los certificados (uso los componentes de SecureBlackBox), pero he conseguido por fin enviar facturas.

También tuve que modificar algunas cosas del proyecto original ya que desde que se publicó el WSDL ha tenido bastantes cambios.

El único problema que veo es que las facturas de prueba que he enviado, no me aparecen en el servicio de consulta de facturas enviadas (https://www7.aeat.es/wlpl/SSII-FACT/SvFExpedidasQuery).
Sin embargo, si hago el envío de prueba desde el servicio de pruebas de la AEAT (https://www7.aeat.es/static_files/co...teWSAEAT2.html), entonces sí me aparece la factura como enviada.
Enviarse sí se envían porque si intento enviarla otra vez, me dice que está duplicada.

En Delphi Rio, el componente HTTPRIO "facilita" las cosas a la hora de asignar el certificado. En el evento HTTPRIO1HTTPWebNode1NeedClientCertificate() es posible asignar el certificado que queramos usar:

Código:
procedure TForm1.HTTPRIO1HTTPWebNode1NeedClientCertificate(
  const Sender: TObject; const ARequest: TURLRequest;
  const ACertificateList: TCertificateList; var AnIndex: Integer);
begin
    anindex:=comboCertificate.SelectedItemIndex;
end;
El problema es que la lista de certificados que obtengo en TCertificateList es distinta a la que obtengo con SecureBlackBox, así que hacer la asignación de certificado se me complica un poco.

He leído también que hay distintos WSDL para según qué comunidades autónomas? (Canarias, por el IGIC). ¿Esa información está en el portal de la AEAT o en otro?
Responder Con Cita
  #3042  
Antiguo 07-11-2019
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 85
Poder: 7
pablog2k Va por buen camino
lo del SII de canarias lo tienes aqui:
http://www.gobiernodecanarias.org/tr...sii/inicio.jsp
los otros, buscando un poco por google también aparecen.
saludos
Responder Con Cita
  #3043  
Antiguo 07-11-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.027
Poder: 22
keys Va por buen camino
Hola. Cada hacienda tiene sus propios wsdl, menos navarra que tiene los mismos que la aeat pero cambiando el servidor. Para canarias los puedes encontrar en la aeat.

Navarra : http://www.navarra.es/home_es/Gobier...on+del+IVA.htm

Bizkaia : http://www.bizkaia.eus/home2/Temas/D...0616&Idioma=CA

Araba : http://www.araba.eus/cs/Satellite?c=...contenidoFinal

Gipuzkoa : https://www.gipuzkoa.eus/es/web/ogas...uestos/iva/sii

Un Saludo.
Responder Con Cita
  #3044  
Antiguo 07-11-2019
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
O sea, que no está toda la información donde mismo. Cada Hacienda regional tiene la suya propia? Y hay que enviar las facturas a una Hacienda u otra según la localización del emisor? Importando varios wsld en la misma aplicación?

Todo bien
Responder Con Cita
  #3045  
Antiguo 07-11-2019
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Ahora que ya puedo enviar facturas (aún me falta tener en cuenta el tipo de factura, exentas, con varios IVAs, rectificativas, etc.), y ya no hay tanta ansiedad porque esto funcione, tengo un par de dudas.

* Cuando envío una factura, obtengo el estado "Correcto", pero el campo CSV está en blanco.
Solo cuando la vuelvo a enviar (duplicada) me devuelve algo en el campo CSV.
Me imagino que tendremos que guardar en nuestros registros el CSV o algún ID único para cada factura, para hacer consultas, etc, pero no sé si se usa el CSV o por qué me llega en blanco.

* Me ha quedado claro que hay que enviar tanto las facturas emitidas (ventas/ingresos) como las recibidas (compras/gastos), ya que el SII es en realidad para el Libro del IVA. Disculpen la pregunta, pero llevo 2 años integrando las facturas electrónicas de casi toda Sudamérica y allá solo se envían las facturas de venta y los tíckets (es con otra finalidad, claro).

* También he visto que, además de las facturas, hay que enviar los cobros y los pagos.
Entiendo que, por ejemplo, si tenemos una factura de 1000 Euros, a 30, 60 y 90 días, iremos enviando cronológicamente primero la factura y luego, llegado el momento, el primer cobro, el segundo y el tercero?

Es muy diferente al envío de facturas en Sudamérica: allá se envía incluso la factura con TODAS las líneas (artículos), se indica la forma de pago, etc.

Agradezco vuestro tiempo.

Un saludo
Responder Con Cita
  #3046  
Antiguo 08-11-2019
xamminf xamminf is offline
Miembro
 
Registrado: ene 2017
Posts: 149
Poder: 8
xamminf Va por buen camino
En este foro ha habido mucha ayuda... técnica... pero cada uno nos hemos tenido que inventar la forma de tratar con el SII. Cada uno lo habrá hecho a su manera.


Cita:
* Cuando envío una factura, obtengo el estado "Correcto", pero el campo CSV está en blanco.
Solo cuando la vuelvo a enviar (duplicada) me devuelve algo en el campo CSV.
Me imagino que tendremos que guardar en nuestros registros el CSV o algún ID único para cada factura, para hacer consultas, etc, pero no sé si se usa el CSV o por qué me llega en blanco.
En el primer envio ya tendrías que tener el CSV. Te recomiendo guardar el CSV por si alguna vez hubiera un problema con alguna factura. Será la garantía de que tu tienes razón.


Cita:
* Me ha quedado claro que hay que enviar tanto las facturas emitidas (ventas/ingresos) como las recibidas (compras/gastos), ya que el SII es en realidad para el Libro del IVA. Disculpen la pregunta, pero llevo 2 años integrando las facturas electrónicas de casi toda Sudamérica y allá solo se envían las facturas de venta y los tíckets (es con otra finalidad, claro).
En realidad no hay preguntas. Y si, se envian facturas emitidas y recibidas



Cita:
* También he visto que, además de las facturas, hay que enviar los cobros y los pagos.
Entiendo que, por ejemplo, si tenemos una factura de 1000 Euros, a 30, 60 y 90 días, iremos enviando cronológicamente primero la factura y luego, llegado el momento, el primer cobro, el segundo y el tercero?
El envio de cobros y pagos creo que sólo es para aquellos que están en Régimen de Caja. Yo no envio ni cobros ni pagos.
Responder Con Cita
  #3047  
Antiguo 08-11-2019
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
¿Alguien sabe por qué el CSV me viene en blanco tras hacer el envío, aunque efectivamente está enviada?

Si la vuelvo a enviar me dice "duplicada" (y aquí sí obtengo el CSV), pero en el primer envío el CSV está en blanco.

Este es el código que uso para el envío:

Código:
   try
      result := GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      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);
              Memo1.lines.add('CSV: ' + CSV);
              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
           MessageDlg(E.Message, mtError, [mbOK], 0);
   end;
Y esto es lo que obtengo:

factura: A-451260 06/11/2019
CSV:
Responder Con Cita
  #3048  
Antiguo 08-11-2019
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
¿Alguien sabe por qué el CSV me viene en blanco tras hacer el envío, aunque efectivamente está enviada?

Si la vuelvo a enviar me dice "duplicada" (y aquí sí obtengo el CSV), pero en el primer envío el CSV está en blanco.

Este es el código que uso para el envío:

Código:
   try
      result := GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      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);
              Memo1.lines.add('CSV: ' + CSV);
              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
           MessageDlg(E.Message, mtError, [mbOK], 0);
   end;
Y esto es lo que obtengo:

factura: A-451260 06/11/2019
CSV:

Y... ¿dónde asignas el valor a la variable CSV?
__________________
Be water my friend.
Responder Con Cita
  #3049  
Antiguo 08-11-2019
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
No es una variable. Pertenece a "result.RespuestaLinea[i]" (está dentro del "with")

Es como si pusiera result.RespuestaLinea[i].CSV, que de hecho también lo he probado por si acaso y también lo recibo en blanco.
Responder Con Cita
  #3050  
Antiguo 08-11-2019
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Hay otro CSV dentro de "result".

Con result.CSV sí obtengo el CSV.

Con [i]result.RespuestaLinea.CSV me viene en blanco.

¿Será que cuando enviamos SOLO una factura, el CSV que sirve es el result.CSV, pero cuando enviamos varias, hay que usar el de [i]result.RespuestaLinea.CSV, ya que cada factura tendrá el suyo?
Responder Con Cita
  #3051  
Antiguo 08-11-2019
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
Hay otro CSV dentro de "result".

Con result.CSV sí obtengo el CSV.

Con [i]result.RespuestaLinea.CSV me viene en blanco.

¿Será que cuando enviamos SOLO una factura, el CSV que sirve es el result.CSV, pero cuando enviamos varias, hay que usar el de [i]result.RespuestaLinea.CSV, ya que cada factura tendrá el suyo?

Afirmativo. Cada factura tiene su CSV aunque no recuerdo si pone el mismo por cada tanda o es distinto.
__________________
Be water my friend.
Responder Con Cita
  #3052  
Antiguo 11-11-2019
didou didou is offline
Miembro
 
Registrado: may 2017
Posts: 59
Poder: 7
didou Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Hay otro CSV dentro de "result".

Con result.CSV sí obtengo el CSV.

Con [i]result.RespuestaLinea.CSV me viene en blanco.

¿Será que cuando enviamos SOLO una factura, el CSV que sirve es el result.CSV, pero cuando enviamos varias, hay que usar el de [i]result.RespuestaLinea.CSV, ya que cada factura tendrá el suyo?
Buenos días, yo tampoco recibo el CSV de cada factura, alguien lo ha conseguido??
Responder Con Cita
  #3053  
Antiguo 18-11-2019
lithium76 lithium76 is offline
Miembro
 
Registrado: ene 2015
Posts: 33
Poder: 0
lithium76 Va por buen camino
Delphi RIO y certicicados varios

Buenas tardes!

Después de actualizar Delphi a RIO (10.3.2) y conseguir que funcionara la cosa con los certificados os paso a explicar mi problemilla.

He conseguido que la cosa vaya bien usando como por aquí se ha mencionado anteriormente el evento HTTPRIO1HTTPWebNode1NeedClientCertificate donde yo procedo a asignar el certificado que el usuario elige.

La cosa es que una vez pasa por este evento y asigna un certificado si se vuelve a ejectutar la petición, este evento ya no se ejecuta más. Entiendo que ya no necesita certificado alguno porque se le asignó uno previamente. Pero si yo quisiera cambiarlo porque, por ejemplo, el usuario ha escogido un certificado que es válido pero no es el que necesita para la Agencia Tributaria, hay alguna manera de resetear para que vuelva a pasar por ese evento y asignarle así un certificado diferente? hay alguna manera que yo desconozco de asignarle otro certificado ? he mirado por ahí pero no encuentro nada que me funcione.

Gracias por adelantado.
Responder Con Cita
  #3054  
Antiguo 19-11-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.027
Poder: 22
keys Va por buen camino
Cita:
Empezado por lithium76 Ver Mensaje
Buenas tardes!

Después de actualizar Delphi a RIO (10.3.2) y conseguir que funcionara la cosa con los certificados os paso a explicar mi problemilla.

He conseguido que la cosa vaya bien usando como por aquí se ha mencionado anteriormente el evento HTTPRIO1HTTPWebNode1NeedClientCertificate donde yo procedo a asignar el certificado que el usuario elige.

La cosa es que una vez pasa por este evento y asigna un certificado si se vuelve a ejectutar la petición, este evento ya no se ejecuta más. Entiendo que ya no necesita certificado alguno porque se le asignó uno previamente. Pero si yo quisiera cambiarlo porque, por ejemplo, el usuario ha escogido un certificado que es válido pero no es el que necesita para la Agencia Tributaria, hay alguna manera de resetear para que vuelva a pasar por ese evento y asignarle así un certificado diferente? hay alguna manera que yo desconozco de asignarle otro certificado ? he mirado por ahí pero no encuentro nada que me funcione.

Gracias por adelantado.
Hola. Yo lo que hago es destruir los objetos THTTPRIO después de cada envío y utilizar uno nuevo.

Un Saludo.
Responder Con Cita
  #3055  
Antiguo 19-11-2019
lithium76 lithium76 is offline
Miembro
 
Registrado: ene 2015
Posts: 33
Poder: 0
lithium76 Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Hola. Yo lo que hago es destruir los objetos THTTPRIO después de cada envío y utilizar uno nuevo.

Un Saludo.
Muchas gracias por responder. Probaré así. Pensaba que existía alguna manera de desligar el certificado sin necesidad de usar un nuevo objeto pero de la manera que dices me aseguro que salte el evento en cada envío.
Responder Con Cita
  #3056  
Antiguo 20-11-2019
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 72
Poder: 7
Noe277 Va por buen camino
Hola. Tengo una duda.

Tengo un cliente Extracomunitario.
Cita:
<siiLR:FacturaExpedida>
<sii:TipoFactura>F1</sii:TipoFactura>
<sii:ClaveRegimenEspecialOTrascendencia>02</sii:ClaveRegimenEspecialOTrascendencia>
<sii:DescripcionOperacion>Entrega Mercancias</sii:DescripcionOperacion>
<sii:Contraparte>
<sii:NombreRazon>La razon social</sii:NombreRazon>
<sii:IDOtro>
<sii:CodigoPais>PA</sii:CodigoPais>
<sii:IDType>06</sii:IDType>
<sii:ID>21818011770431</sii:ID>
</sii:IDOtro>
</sii:Contraparte>
<sii:TipoDesglose>
<sii:DesgloseTipoOperacion>
<sii:Entrega>
<sii:NoSujeta>
<sii:ImporteTAIReglasLocalizacion>344.94</sii:ImporteTAIReglasLocalizacion>
</sii:NoSujeta>
</sii:Entrega>
</sii:DesgloseTipoOperacion>
</sii:TipoDesglose>
</siiLR:FacturaExpedida>
Me da el siguiente error
1252 Si la única clave de régimen especial es 02 y el TipoComunicacion no es A5 ni A6, sólo se puede indicar operación Sujeta/Exenta para el tipo de desglose [Factura] [Prestación de servicios] [Entrega de bienes

No entiendo porque las operaciones extracomunitarias están no sujetas y es una entrega

Última edición por Casimiro Notevi fecha: 20-11-2019 a las 12:34:43.
Responder Con Cita
  #3057  
Antiguo 20-11-2019
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 85
Poder: 7
pablog2k Va por buen camino
si te sirve de ayuda, en las faqs del SII indica como introducir una factura a un cliente extracomuntario (exportación supongo que te refieres)

https://www.agenciatributaria.es/AEA...ecuentes.shtml

https://www.agenciatributaria.es/AEA...tacion__.shtml
Responder Con Cita
  #3058  
Antiguo 25-11-2019
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 72
Poder: 7
Noe277 Va por buen camino
Proveedor extranjero

Cita:
Empezado por pablog2k Ver Mensaje
si te sirve de ayuda, en las faqs del SII indica como introducir una factura a un cliente extracomuntario (exportación supongo que te refieres)

https://www.agenciatributaria.es/AEA...ecuentes.shtml

https://www.agenciatributaria.es/AEA...tacion__.shtml

Gracias ya he conseguido enviarlo.
Responder Con Cita
  #3059  
Antiguo 02-12-2019
Jaketon Jaketon is offline
Registrado
 
Registrado: abr 2017
Posts: 6
Poder: 0
Jaketon Va por buen camino
Buenas, alguno tiene un ejemplo de una adquisición extracomunitaria (importación)

Saludos.
Responder Con Cita
  #3060  
Antiguo 12-12-2019
jmadrid jmadrid is offline
Registrado
 
Registrado: may 2017
Posts: 2
Poder: 0
jmadrid Va por buen camino
Web Service de SILICIE

¿ Alguien conoce algún foro sobre el nuevo SILICIE de la Agencia Tributaria ?
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 4169 Hace 1 Día 09:05:43
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


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


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