¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

 
Ocultar IntroRegistro

Esta pregunta ha sido marcada
1 Responder
234 Vistas

Buenos días, estoy usando el módulo de la OCA de envío a FACe en Odoo 17 enterprise, y no tengo muy claro qué puede estar fallando. 

He subido los certificados tanto a Odoo como a la plataforma de test de FACe, tengo bien configurado el Queue Job y he hecho todo lo que pone el el apartado de configuración y uso en la guía. Pero me devuelve este error:

Traceback (most recent call last): File "/opt/odoo/odoo17/odoo17-addons/custom-addons/queue_job/controllers/main.py", line 104, in runjob self._try_perform_job(env, job) File "/opt/odoo/odoo17/odoo17-addons/custom-addons/queue_job/controllers/main.py", line 36, in _try_perform_job job.perform() File "/opt/odoo/odoo17/odoo17-addons/custom-addons/queue_job/job.py", line 522, in perform self.result = self.func(*tuple(self.args), **self.kwargs) File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_exchange_record.py", line 323, in action_exchange_send return self.backend_id.exchange_send(self) File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_backend.py", line 308, in exchange_send self._exchange_send(exchange_record) File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_backend.py", line 381, in _exchange_send return component.send() File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/edi_send_l10n_es_facturae_face.py", line 23, in send response = self.send_webservice( File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/webservice_face.py", line 69, in send_webservice response = client.service.enviarFactura(invoice_call) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/proxy.py", line 46, in __call__ return self._proxy._binding.send( File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 123, in send envelope, http_headers = self._create( File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 73, in _create serialized = operation_obj.create(*args, **kwargs) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/definitions.py", line 222, in create return self.input.serialize(*args, **kwargs) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/messages/soap.py", line 79, in serialize self.body.render(body, body_value) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 232, in render self._render_value_item(parent, value, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 256, in _render_value_item return self.type.render(node, value, None, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/types/complex.py", line 295, in render element.render(node, element_value, child_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/indicators.py", line 251, in render element.render(parent, element_value, child_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 232, in render self._render_value_item(parent, value, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 256, in _render_value_item return self.type.render(node, value, None, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/types/complex.py", line 295, in render element.render(node, element_value, child_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/indicators.py", line 251, in render element.render(parent, element_value, child_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 232, in render self._render_value_item(parent, value, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 256, in _render_value_item return self.type.render(node, value, None, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/types/complex.py", line 295, in render element.render(node, element_value, child_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/indicators.py", line 251, in render element.render(parent, element_value, child_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/any.py", line 126, in render self.validate(value, render_path) File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/any.py", line 172, in validate raise exceptions.ValidationError( zeep.exceptions.ValidationError: Expected at least 1 items (minOccurs check)


He puesto distintos loggers para ver el contenido que se envía y lo coge todo bien, el certificado, el archivo xsig...todo. Ha experimentado alguien esto antes? He probado de todo y sigo sin entender muy bien qué falla.

Por otro lado, cuando le doy al botón "Update Facturae FACe" en la factura, me salta el error: " Record ID=XX has no file to process!"

Y como digo, en el registro EDI tiene el adjunto y todo y luego en la propia funcion de enviar, coge todo correctamente...


Si a alguien se le ocurre por qué puede ser, cualquier opinión/idea es bienvenida.


Gracias de antemano.

Francisco.

Avatar
Descartar

Buenos días, Francisco.
Como indicas que se trata de una versión Enterprise, puedes hacer la consulta al soporte de Odoo.
Un saludo.

No es necesario que preguntes a Odoo SA, ya que el módulo es el de OCA.

A ver, el Update Facturae FACE no te funcionará hasta que envies el archivo a FACe, por eso no te va esa parte.

Respecto al problema que esta mostrando, parece ser que la validación del envío no le gusta, estaría bien saber el motivo, pero ese es el problema. 

Viendo la configuración de la solicitud para enviar, tienes correo electrónico en la compañía?

Avatar
Descartar

Hola, Enric.
Disculpa, no había leído que el módulo que utilizaba era de OCA.
Un saludo.

Autor

Buenas Enric, no iba a preguntar a Odoo ya que al no ser un módulo suyo no creo que me puedan dar una solución. Respecto lo que me comentas, sí que tengo añadido el correo. De hecho, la última función del módulo que se ejecuta antes de que la librería zeep de ese error es "enviarFactura(invoice_call)" pues he hecho print de ese "invoice_call" y aparece lo que vas a ver en esta captura: https://imgur.com/a/4rNMpCe. Todo está relleno, no se si los anexos deberían también.

Por otro lado, creo que la documentación del módulo está mal, porque la gente de FACe, el link para el ws de soap que me proporcionó(para tests) fue este:
https://se-face-webservice.redsara.es/facturasspp?wsdl

No se si tendrá algo que ver, porque he probado con el que te indican en la docu del módulo y me da error 500 internal server error.

Autor

La captura no va por que he puesto . al final del enlace: https://imgur.com/a/4rNMpCe

Estás intentandolo en test?

Ese puede ser el problema, FACe ha planteado un nuevo sistema que no será compatible al 100% con el antiguo, estamos a la espera de que lo den de alta en producción para hacer el cambio (convivirán los dos durante un tiempo).

Por mi parte, cuando este ya todo hecho haré el cambio lo antes posible para el máximo de versiones, pero hasta que no esté no voy a dedicar esfuerzo.

Autor

Entiendo, entonces, se supone que en principio con el link de produccion que sale en la docu del módulo debería ir? Es que me da un poco de miedo que se envíe algún dato mal y luego sea un jaleo tirar para atrás y todo el rollo...

Ya, en eso te entiendo. A ver, nosotros hace más de 7 años que usamos el módulo de la OCA para enviar los datos a FACe y nunca hemos tenido problemas. Y si,por lo que fuera, enviais algo mal, siempre podéis ir a face directamente y cancelarlo manualmente.

Coincido con Enric. nosotros tenemos clientes utilizando FACe y no hemos tenido problemas a nivel de datos erróneos, etc. A malas, podéis prescindir de FACe e ir subiendo las facturas electrónicas manualmente en el portal que corresponda.
Saludos.

Autor

Sorprendentemente y tras mucho tiempo, he conseguido que funcione para el entorno test. Me ha dado por al final del enlace de test que tenéis puesto en la docu del módulo: https://se-face-webservice.redsara.es/facturasspp2 añadirle "?wsdl" y me ha funcionado, sabéis a qué se puede deber?