Qué cambia en la factura al instalar el módulo
Mirakl Connector amplía la factura de la app estándar «Invoicing» de Odoo con un botón y varios campos: el botón Enviar a Mirakl, y los campos de solo lectura Enviado a Mirakl el (Sent to Mirakl on) y Pedido de Mirakl (Mirakl order). El módulo está publicado en Odoo Apps para Odoo 17, 18, 19 y 20, y la condición que decide cuándo se ve el botón es la misma en las cuatro versiones.

Todo gira alrededor de una idea: la factura de cliente cuyas líneas vienen de un pedido de venta ligado a un pedido de Mirakl. El módulo busca, entre los pedidos de venta de las líneas de la factura, el primero que esté ligado a Mirakl, y solo lo hace con facturas de tipo Customer Invoice. De ese pedido saca la instancia de Mirakl con la que se habla y el identificador del pedido en Mirakl.

Comparativa: envío automático frente al botón
La factura puede llegar a Mirakl de forma automática, al validar el albarán, si la instancia está configurada para ello, o a mano con el botón. Las dos vías pasan por la misma rutina de subida.
| Envío automático | Botón Enviar a Mirakl | |
|---|---|---|
| Quién lo lanza | Odoo, al validar un albarán | Tú, desde la factura |
| Cuándo actúa | Cuando la instancia tiene el envío de factura en automático, el albarán aún no tiene fecha de envío de factura y la instancia no está en pausa | Cuando el botón se ve: factura de tipo Customer Invoice, en estado Posted y marcada como factura de Mirakl |
| Si ya se envió | Solo actúa si el albarán todavía no tiene esa fecha | No lo comprueba: sube la factura y sustituye el documento anterior del pedido |
| Qué deja en la factura | La rutina de subida rellena Enviado a Mirakl el | Lo mismo, y además una nota en la factura con el resultado |
Cómo leer la tabla
El camino automático cuelga del botón estándar de validar del albarán, que el módulo amplía.
El botón sube la factura a mano. No mira si el albarán ya tiene fecha de envío: lanza la subida y reemplaza el documento anterior del pedido, también si la factura ya se había enviado. Esa sustitución es un intento de mejor esfuerzo: primero se piden a Mirakl los documentos del pedido del mismo tipo y se borran, y si el operador de Mirakl no permite listar o borrar documentos, se queda el anterior.
Los campos, uno a uno
| Campo | Dónde está | Cuándo se oculta |
|---|---|---|
Enviado a Mirakl el | Ficha de la factura, solo lectura | Cuando la factura no es de Mirakl |
Pedido de Mirakl | Ficha de la factura, solo lectura | Cuando la factura no es de Mirakl |
Factura de Mirakl (Mirakl invoice) | No se ve en ninguna vista | No aplica: es la condición de la que dependen los otros campos y el botón |
La ayuda de Enviado a Mirakl el dice: «Fecha/hora en que se subió por última vez este PDF de factura al marketplace de Mirakl.». Por tanto, si la factura se reenvía, la fecha refleja el último envío. El módulo la rellena después de subir el PDF.
El botón paso a paso
El botón Enviar a Mirakl solo aparece cuando se cumplen a la vez estas condiciones: la factura es de tipo Customer Invoice, está marcada como factura de Mirakl (el campo Factura de Mirakl, que no se ve) y su estado es Posted. En Odoo 20.0, al pulsarlo, hace esto, en orden:
- Busca el pedido de venta de Mirakl detrás de las líneas de la factura y de él toma la instancia. Si no hay instancia, se detiene.
- Genera el PDF con el informe de factura que tenga indicado la instancia o, si no tiene ninguno, con el informe de facturas estándar de Odoo.
- Pide a Mirakl los documentos del pedido del mismo tipo y borra los que haya, para sustituir el anterior en lugar de duplicarlo.
- Sube el PDF al pedido de Mirakl, con un nombre de fichero sacado del número de la factura (solo caracteres ASCII, terminado en
.pdf) y con el tipo de documento que indique la instancia; si no indica ninguno, el de factura de cliente. - Rellena
Enviado a Mirakl ely deja una nota en la factura:Factura enviada a Mirakl (…).(Invoice sent to Mirakl (…).), con el identificador del pedido de Mirakl donde van los puntos suspensivos.
Con Odoo en castellano el botón se llama Enviar a Mirakl; en alemán, An Mirakl senden; en francés, Envoyer à Mirakl; en italiano, Invia a Mirakl; en portugués, Enviar para o Mirakl.

Qué pasa cuando falla
Si el módulo no encuentra instancia de Mirakl detrás de la factura, al pulsar Enviar a Mirakl el proceso se detiene con Esta factura no está vinculada a un pedido de Mirakl. (This invoice is not linked to a Mirakl order.). Comprueba que las líneas de la factura vienen de un pedido de venta ligado a un pedido de Mirakl.
Si la subida falla por otro motivo, el módulo deja en la factura una nota Falló el envío de la factura de Mirakl: … (Mirakl invoice send failed: …), con el motivo donde van los puntos suspensivos, y vuelve a mostrar el error. Si FlexigoTech Cloud no deja pasar la llamada (porque no hay suscripción o el servicio está en pausa), el error también se vuelve a mostrar, pero en ese caso no se marca nada.
Coste y ayuda
El módulo es de pago único por versión de Odoo y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 €/mes o 490 €/año sin IVA. Sin suscripción, o con el servicio suspendido, se para lo que da la suscripción y los datos se quedan en tu Odoo. Puedes ver el módulo en su página o en la ficha de Odoo Apps.
Si estás implantando Odoo y quieres que las facturas de tus pedidos de Mirakl salgan con el informe y el flujo que usas, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/account_move.py
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): views/account_move_views.xml
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
