Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Facturas electrónicas [España] (https://www.clubdelphi.com/foros/showthread.php?t=89295)

newtron 23-03-2017 13:04:08

Hola.

¿Qué pasó al final con este tema?

Saludos

Ñuño Martínez 24-03-2017 12:31:20

Iba a ponerte un enlace, pero creo que ya has encontrado el hilo tú mismo. :)

newtron 24-03-2017 12:48:42

Cita:

Empezado por Ñuño Martínez (Mensaje 514651)
Iba a ponerte un enlace, pero creo que ya has encontrado el hilo tú mismo. :)

¿Qué hilo? :confused:

Ñuño Martínez 28-03-2017 12:33:08

Cita:

Empezado por newtron (Mensaje 514656)
¿Qué hilo? :confused:

Este, ¿no?

newtron 28-03-2017 13:40:13

Cita:

Empezado por Ñuño Martínez (Mensaje 514795)
Este, ¿no?

Qué va. el hilo ese está relacionado con el llamado SII (Suministro inmediato de información) y yo preguntaba por el envío de facturas electrónicas por webservice.

Bueno... algo tienen en común, usan webservices. :D:D

Ñuño Martínez 29-03-2017 13:06:19

Ah... Vale. Disculpen, conozco la salida. *Se va*

bey23 09-10-2017 16:59:01

Esto funciona actualmente?
 
Hola!

Actualmente estoy buscando información sobre FACe, cómo subir las facturas automáticamente, y visto lo visto hay poquísima documentación sobre esto o ejemplos.

Me he leído de pe a pa todo este hilo, y por cierto, sois unos máquinas!!

Sólo quería preguntar si ahora mismo conseguisteis completar el proceso, crear el XML firmado y subirlo automáticamente, y si está en algún sitio ese proyecto o ejemplos del mismo...

Lo siento si es un tema que ya estaba cerrado, pero la verdad es que me urge y este es el único foro que de verdad se lo ha estado currando.

Muchas gracias a todos!!

manelb 10-10-2017 07:19:36

Nosotros hemos ido atacando el proyecto por fases.
Ahora generamos el xml de la factura y lo firmamos, pero tenemos pendiente el envío directo a FACE.

Supongo que en unas semanas como mucho volveremos al proyecto y debe servirnos como experiencia el trabajo realizado con el SII.

Si queréis podemos mantener este hilo para ir compartiendo avances o, si a los moderadores les parece mejor, crear un hilo nuevo.

Saludo

newtron 10-10-2017 09:57:28

Espinete en su último post comentaba que lo había conseguido y que pondría unos ejemplos pero al final ahí se quedó la cosa.

Saludos

newtron 03-11-2017 16:55:21

Buenas a tod@s.

Voy a intentar ponerme con este tema.

¿Alguien ha avanzado algo con respecto a lo que ya hay por aquí?

Saludos

newtron 15-11-2017 19:56:08

Hola de nuevo.

Estoy empeñado en sacar este tema adelante. Dándole vueltas, la documentación que hay en la web de face es erronea, las direcciones de las wsdl son incorrectas y no funcionan.

Rebuscando por internet he encontrado este documento que si parece que es correcto y tiene bastante más información que el que se puede descargar de la web de face, por si a alguien le interesa.

Yo por mi parte estoy haciendo pruebas con los últimos trozos de código que se pusieron aquí pero no consigo gran cosa. En principio el fichero XML no hay gran problema para crearlo y el tema de la firma electrónica se puede resolver usando el programa autofirma con lo que solo quedaría hacer la llamada al webservice que es donde estoy atascado.

Ahora yo pregunto... ¿hay alguien más en la actualidad interesado en este tema? ¿alguien que sepa de webservice que pueda echar una mano?

Gracias y un saludo

manelb 16-11-2017 16:01:05

Hola Newtron, compañeros....
Yo estoy muy interesado en el tema.

Tal como he comentado en algún mensaje anterior mi experiencia en web services es solo la adquirida con el proyecto SII.

En el proyecto Facturae solo nos falta el envío directo y he ido retomando el proyecto varias veces.

Voy a ponerme de nuevo con la nueva documentación que adjuntas y expongo resultados.

Saludos

manelb 16-11-2017 16:34:13

En la primera verificación que realizo constato que no me funcionan los links a los servicios wdsl que aparecen en el punto 4.1 de este nuevo documento que indicas(pagina13). Mensaje:El servicio no está disponible

Sí me funcionan en cambio otros que tengo en otro documento que descargué hace un tiempo de FACE
https://www.dropbox.com/s/uac1gyax7g...ionen.pdf?dl=0

Tu documento y el mio creo que tienen el mismo origen aunque el mio es mas grande:):).
Los servicios aparecen también en el punto 4.1 de la pagina 13.

Yo voy investigando por aquí.

Saludos

newtron 17-11-2017 20:02:56

Bueno.

He estado haciendo pruebas para enviar una petición que me diera la lista de administraciones y la llamada de Espinete no me funciona, me da "error 104" que, consultando la documentación dice que es "La petición SOAP no está bien construida: no se encuentra el SOAP Header". Esto ya se ha comentado por aquí pero no sé exactamente cómo lo resolvieron.

He capturado el XML que se envía desde el evento "BeforeExecute" del objeto HTTPRIO y parece correcto pero, mirando un ejemplo de la documentación, veo que esa petición tiene que ir firmada dentro del bloque "header" por lo que los tiros deben de ir por ahí. He probado a "interceptar" el envío del XML y sustituirlo por otro en el evento "BeforeExecute" firmado con el autofirma pero no se lo traga. Esto debe de ser porque la firma la inserta en otra parte del fichero XML y ahí me he quedado.

Imagino que habría que buscar la forma de firmar la petición de forma que se inserte en el bloque "header" del fichero XML de petición pero hasta ahí llego, no sé si a alguien se le ocurre algo.

Saludos

elguille 30-11-2017 10:49:05

Hola, visto q ahora hay gente interesada voy a retomar el tema a ver si entre todos lo sacamos. Os voy informando...

newtron 02-06-2018 09:52:58

Programa de ejemplo
 
Hola a tod@s.


Viendo que este asunto no prosperaba y que necesitaba resolverlo le encargué el proyecto a alguien que sabe más que nosotros y que domina varias herramientas de programación.


Había que resolver dos problemas, primero el de firmar el fichero XML en tiempo de ejecución, cosa que estaba complicada sin componentes externos porque desde Delphi no conocemos a nadie que haya sido capaz de hacerlo así que se ha desarrollado una dll en .NET que hace la función de firmado y que se llama desde el proyecto Delphi. Posteriormente había que hacer la llamada al webservice firmada con el protocolo X.509, cosa que tampoco sabíamos resolver y que tampoco ha sido fácil de desarrollar.


Resumiendo, aquí os adjunto un ejemplo operativo que hace las funciones más habituales de llamadas al webservice de FACE, firma y envía ficheros XML, consulta de facturas, consulta de unidades y alguna cosa más que no he probado porque en principio tampoco voy a necesitar. Por supuesto también se pueden usar sus funciones para solamente firmar un fichero XML para enviarlo por otros medios.



Está compilado en Delphi Berlín e imagino que funcionará igualmente en Tokyo, para que funcione en versiones anteriores posiblemente habría que hacer algunos retoques.



Aunque lo pongo en un LEEME.TXT lo único que hay que hacer es tener instalada y registrada la dll de CAPICOM (no incluida) y posteriormente ejecutar el fichero REGISTER.BAT para registrar la dll que se usa para la firma.


Link para la descarga.



Saludos y que aproveche.

Edito:

Se me olvidaba comentar dos temas:

1º Para poder enviar facturas a FACE hay que estar dado de alta como proveedor. Si quieres usar los wsdl de prueba hay que estar dado de alta por el entorno de pruebas y si quieres usar los de producción hay que darse de alta también en producción. Si no me equivoco, el entorno de pruebas es https://se-face.redsara.es/es/login

2º El programa que adjunto tiene los WSDL del entorno de pruebas, para pasar al de producción solo hay que cambiar en el objeto HTTPRIO el wsdl, puerto y servicio.

espinete 07-06-2018 14:05:35

Me alegro de que por fin exista una alternativa que no necesite los componentes de SecureBlackBox, que por cierto, han subido de precio desorbitadamente desde que /n software compró Eldos.

Llevo tiempo trabajando con la factura electrónica de varios países (España, México, Costa Rica, Chile, Guatemala...) y estoy intentando crear una aplicación/módulo lo más sencilla y automática posible para que nuestro software de facturación sea compatible con todas ellas, pero me surge una duda.

Actualmente, para España, nuestro software necesita que el usuario (vendedor/emisor) indique manualmente si el destinatario (comprador/receptor) es persona Física o Jurídica, ya que el proceso es diferente (xml o xsig, con envío o sin envío, etc.).

¿No hay forma de saber eso a partir del NIF/CIF del Destinatario de la factura (dato que obviamente ya conocemos) con el fin de automatizarlo más y que no requiera intervención del usuario?

En otros países no es necesario especificarlo (no hay diferencia, ya que la factura se envía a Hacienda siempre), pero tengo entendido que en España solo es obligatorio para las Administraciones Públicas. ¿No hay forma entonces de saber, a partir del NIF/CIF del destinatario, si es una Admón. Pública o no, para en su caso, hacer automáticamente el proceso completo (xsig + enviar).

¿O es que estoy confundido del todo?

newtron 07-06-2018 16:30:49

Cita:

Empezado por espinete (Mensaje 526902)
Me alegro de que por fin exista una alternativa que no necesite los componentes de SecureBlackBox, que por cierto, han subido de precio desorbitadamente desde que /n software compró Eldos.

Llevo tiempo trabajando con la factura electrónica de varios países (España, México, Costa Rica, Chile, Guatemala...) y estoy intentando crear una aplicación/módulo lo más sencilla y automática posible para que nuestro software de facturación sea compatible con todas ellas, pero me surge una duda.

Actualmente, para España, nuestro software necesita que el usuario (vendedor/emisor) indique manualmente si el destinatario (comprador/receptor) es persona Física o Jurídica, ya que el proceso es diferente (xml o xsig, con envío o sin envío, etc.).

¿No hay forma de saber eso a partir del NIF/CIF del Destinatario de la factura (dato que obviamente ya conocemos) con el fin de automatizarlo más y que no requiera intervención del usuario?

En otros países no es necesario especificarlo (no hay diferencia, ya que la factura se envía a Hacienda siempre), pero tengo entendido que en España solo es obligatorio para las Administraciones Públicas. ¿No hay forma entonces de saber, a partir del NIF/CIF del destinatario, si es una Admón. Pública o no, para en su caso, hacer automáticamente el proceso completo (xsig + enviar).

¿O es que estoy confundido del todo?


Bueno, yo la verdad es que hasta ahora solo la estoy usando para la administración pública así que no se me ha dado ese problema. Pero bueno, siempre puedes pedir los datos que necesites en la ficha del cliente, ¿no?


Saludos

manelb 07-06-2018 16:59:29

Cita:

Empezado por espinete (Mensaje 526902)
Actualmente, para España, nuestro software necesita que el usuario (vendedor/emisor) indique manualmente si el destinatario (comprador/receptor) es persona Física o Jurídica, ya que el proceso es diferente (xml o xsig, con envío o sin envío, etc.).

¿No hay forma de saber eso a partir del NIF/CIF del Destinatario de la factura (dato que obviamente ya conocemos) con el fin de automatizarlo más y que no requiera intervención del usuario?

No te sirve con esto??


Saludos

espinete 07-06-2018 21:29:57

Cierto, eso serviría para diferenciar entre persona física y jurídica, pero no para las Administraciones Públicas (que requiere xsig + envío a face).

¿Cómo saber si el destinatario de la factura es una Admón. Pública y, a partir del CIF, obtener el Órgano Gestor, Unidad Tramitadora y Oficina Contable?

El WSDL tiene varias funciones para obtener las Administraciones y sus órganos, y otra función para obtener todos los NIFs existentes en el directorio DIR3 de administraciones adheridas, PERO ninguna de esas funciones devuelve todos los datos necesarios (Dirección, Población, Provincia, País, etc.) de cada unidad, porque creo que son obligatorios.

Eso me obliga a tener que crear una base de datos enorme que el cliente tendrá que rellenar, o bien solicitar esos datos para introducción manual cada vez que el usuario envíe una factura a una Administración. Lo veo demasiado tedioso, aunque funcione y las facturas a administraciones públicas sean "pocas", pero hoy en día creo que esto se puede automatizar muchísimo más.


La franja horaria es GMT +2. Ahora son las 20:44:11.

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