New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ADD] l10n_es_facturae_face #577
Conversation
Por qué se separa en dos módulos distintos? |
Lo separé debido a que no es el único modo de envío (e.Fact en Cataluña por ejemplo) y me pareció mejor a nivel de escalabilidad. Si lo queréis unir se puede unir sin muchos problemas. |
Uhm, en parte está mejor separado pero en parte junto. Me explico:
|
Normalmente el sistema de envío no viene definido por la compañía, sinó por el cliente, que es el que define como quiere recibir la documentación. |
Vale, pues igualmente nos vale, pero movemos el selector de método de envío al res.partner y es lo que chequeamos cuando pulsemos enviar.
Aunque sean diferentes, se activan de la misma forma (pulsando a "Enviar"), y lo que no quiero es que cada uno añada sus propias cosas (botones, vistas, campos...). Sí que pueden compartir campos genéricos como datos enviados, datos recibidos, etc, a los que acoplar esas peculiaridades de cada uno.
OK, lo seguimos dejando separado entonces.
Pero y por qué no integrarlo en el propio módulo base y que el método de envío por defecto sea "Ninguno". Lo digo por evitar tener tantos módulos para una tarea que es común. Aquellos usuarios que no necesiten ningún método de envío, pues ese "trozo" de código no estará en uso, pero será mínimo. |
Ok! |
Gracias, Enric! Te has integrado genial con el flujo de la comunidad / OCA 😉 |
10b91d7
to
8206cf4
Compare
@pedrobaeza ya he subido un módulo funcional y he añadido dos sistemas de envío. Uno de testeo que sólo funciona en Demo y el de FACe. |
22a5d2d
to
b25896c
Compare
l10n_es_facturae_face/README.rst
Outdated
|
||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas | ||
:alt: Try me on Runbot | ||
:target: https://runbot.odoo-community.org/runbot/189/8.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/8.0/10.0
@@ -15,6 +15,10 @@ addons: | |||
# needed because server-tools is loaded in the dependency chain | |||
- unixodbc-dev | |||
- python-mysqldb | |||
- libxml2-dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A eliminar cuando se mergee el otro PR
], | ||
"external_dependencies": { | ||
"python": [ | ||
"OpenSSL" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Por qué no pones aquí el resto de dependencias Python?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La tuve que poner por un problema con la verificación de Travis. Al tener un nombre distinto al que se instala (instalas PyOpenSSL pero se llama como OpenSSL en el código), daba problemas la verificación (detectaba que intentabas poner un elemento que luego no añadías en las dependencies)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me refiero al resto de dependencias.
</record> | ||
<record id="account_invoice_face_certificate" model="ir.config_parameter"> | ||
<field name="key">account.invoice.face.certificate</field> | ||
<field name="value">-----BEGIN CERTIFICATE----- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
¿Este certificado para qué es? No debería venir como un archivo del módulo que se cargue en lugar de tenerlo como un parámetro de sistema. ¿Alguien lo va a cambiar manualmente? (no creo...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Este certificado es el certificado de FACe en el entorno de desarrollo. Zeep solicita tener la parte pública del certificado de respuesta para verificarlo. Por lo tanto, debemos saber cual es el certificado. Además, cuando caduce este certificado (en 2020), deberemos cambiarlo.
Por lo general, cuando integras con FACe lo recomendable es probarlo primero en el entorno de desarrollo y luego passar al entorno de producción.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Vale, pero repito, ¿no tiene más sentido ponerlo como archivo y no sobrecargar los parámetros de sistema? En 2020, se actualiza el módulo con el nuevo certificado (o a las malas, copias el nuevo certificado en los archivos del módulo).
class ResCompany(models.Model): | ||
_inherit = 'res.company' | ||
|
||
facturae_email = fields.Char() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mejor que utilices un contacto de la propia compañía y cojas el mail de ese contacto.
¿No debería ser además face_email
(cambiando de enfoque, face_partner
)?
lambda r: r.id == self.env.ref( | ||
'l10n_es_facturae_face.integration_face').id | ||
): | ||
if not record.facturae: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No creo que sea necesario limitar tanto. Tú puedes desmarcar la casilla de Factura-E, pero que no te obligue además a quitar el método de integración, porque si no si luego tienes que volver a activarlo, hay que rellenar de nuevo el método de integración. Lo que debe tener prioridad es si tienes la casilla general marcada. Si no la tienes, pues da igual qué métodos de integración tengas puestos.
<odoo> | ||
<record id="view_general_configuration" model="ir.ui.view"> | ||
<field name="name">General Settings</field> | ||
<field name="model">base.config.settings</field> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Por qué aquí y no en la configuración de contabilidad?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pues en su momento me pareció una buena solución, pero tiene más sentido en contabilidad. Realizo los cambios.
oca_dependencies.txt
Outdated
@@ -3,7 +3,9 @@ | |||
account-financial-tools | |||
account-financial-reporting | |||
account-payment | |||
community-data-files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A eliminar cuando se mergee el otro PR
oca_dependencies.txt
Outdated
bank-payment | ||
bank-statement-import | ||
partner-contact | ||
reporting-engine | ||
l10n-spain-facturae https://github.com/etobella/l10n-spain 10.0-mig-facturae |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A eliminar cuando se mergee el otro PR
requirements.txt
Outdated
@@ -3,3 +3,5 @@ unidecode | |||
unicodecsv | |||
requests | |||
xlrd | |||
zeep |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A eliminar cuando se mergee el otro PR
eb0e6c4
to
b0d32b6
Compare
0251732
to
0be85eb
Compare
0be85eb
to
7578c3b
Compare
Lo doy de baja debido a que ya se ha creado el PR directamente a 11.0 |
Este módulo depende del PR #576.
Nos permite gestionar el envío de facturas a FACe (seleccionando producción o desarrollo en la configuración) y su gestión (anulación, actualización de estados, etc.)
Cómo que la firma de SOAPs no acaba de funcionar correctamente, se ha realizado la firma en un código Java de mi repositorio que se ejecuta por llamada.
Para que funcione, debe utilizarse un certificado aceptado por FACe para firmar las facturas y los envíos. Además, debemos registrarnos en FACe como proveedores con la parte pública del certificado: