O que muda na fatura ao instalar o módulo
O Mirakl Connector alarga a fatura da app padrão «Faturação» do Odoo com um botão e vários campos: o botão Enviar para o Mirakl e os campos só de leitura Enviado para o Mirakl em (Sent to Mirakl on) e Encomenda Mirakl (Mirakl order). O módulo está publicado na Odoo Apps para Odoo 17, 18, 19 e 20, e a condição que decide quando o botão é visível é a mesma nas quatro versões.

Tudo gira em torno de uma ideia: a fatura de cliente cujas linhas vêm de uma ordem de vendas associada a uma encomenda do Mirakl. O módulo procura, entre as ordens de vendas das linhas da fatura, a primeira que esteja associada ao Mirakl, e só o faz com faturas do tipo Fatura de Cliente. Dessa ordem obtém a instância do Mirakl com a qual comunica e o identificador da encomenda no Mirakl.

Comparação: envio automático versus botão
A fatura pode chegar ao Mirakl de forma automática, ao validar a guia de remessa, se a instância estiver configurada para isso, ou manualmente com o botão. Ambas as vias passam pela mesma rotina de carregamento.
| Envio automático | Botão Enviar para o Mirakl | |
|---|---|---|
| Quem o inicia | O Odoo, ao validar uma guia de remessa | Tu, a partir da fatura |
| Quando atua | Quando a instância tem o envio de fatura em automático, a guia de remessa ainda não tem data de envio da fatura e a instância não está em pausa | Quando o botão está visível: fatura do tipo Fatura de Cliente, no estado Publicada e marcada como fatura do Mirakl |
| Se já foi enviada | Só atua se a guia de remessa ainda não tiver essa data | Não verifica: carrega a fatura e substitui o documento anterior da encomenda |
| O que deixa na fatura | A rotina de carregamento preenche Enviado para o Mirakl em | O mesmo, e ainda uma nota na fatura com o resultado |
Como ler a tabela
O caminho automático depende do botão padrão de validar da guia de remessa, que o módulo alarga.
O botão carrega a fatura manualmente. Não verifica se a guia de remessa já tem data de envio: inicia o carregamento e substitui o documento anterior da encomenda, mesmo que a fatura já tivesse sido enviada. Essa substituição é uma tentativa de melhor esforço: primeiro pedem-se ao Mirakl os documentos da encomenda do mesmo tipo e apagam-se, e se o operador do Mirakl não permitir listar ou apagar documentos, o anterior mantém-se.
Os campos, um a um
| Campo | Onde está | Quando fica oculto |
|---|---|---|
Enviado para o Mirakl em | Ficha da fatura, só de leitura | Quando a fatura não é do Mirakl |
Encomenda Mirakl | Ficha da fatura, só de leitura | Quando a fatura não é do Mirakl |
Fatura Mirakl (Mirakl invoice) | Não se vê em nenhuma vista | Não se aplica: é a condição de que dependem os outros campos e o botão |
A ajuda de Enviado para o Mirakl em diz: «Data/hora em que este PDF de fatura foi carregado pela última vez para o marketplace Mirakl.». Portanto, se a fatura for reenviada, a data reflete o último envio. O módulo preenche-a depois de carregar o PDF.
O botão passo a passo
O botão Enviar para o Mirakl só aparece quando se cumprem em simultâneo estas condições: a fatura é do tipo Fatura de Cliente, está marcada como fatura do Mirakl (o campo Fatura Mirakl, que não se vê) e o seu estado é Publicada. No Odoo 20.0, ao carregar nele, faz isto, por ordem:
- Procura a ordem de vendas do Mirakl por trás das linhas da fatura e dela toma a instância. Se não houver instância, pára.
- Gera o PDF com o relatório de fatura indicado na instância ou, se não tiver nenhum, com o relatório de faturas padrão do Odoo.
- Pede ao Mirakl os documentos da encomenda do mesmo tipo e apaga os que existirem, para substituir o anterior em vez de o duplicar.
- Carrega o PDF para a encomenda do Mirakl, com um nome de ficheiro obtido a partir do número da fatura (apenas caracteres ASCII, terminado em
.pdf) e com o tipo de documento indicado na instância; se não indicar nenhum, o de fatura de cliente. - Preenche
Enviado para o Mirakl eme deixa uma nota na fatura:Fatura enviada para a Mirakl (…).(Invoice sent to Mirakl (…).), com o identificador da encomenda do Mirakl onde estão as reticências.
Com o Odoo em castelhano o botão chama-se Enviar a Mirakl; em alemão, An Mirakl senden; em francês, Envoyer à Mirakl; em italiano, Invia a Mirakl; em português, Enviar para o Mirakl.

O que acontece quando falha
Se o módulo não encontrar instância do Mirakl por trás da fatura, ao carregar em Enviar para o Mirakl o processo pára com Esta fatura não está associada a uma encomenda Mirakl. (This invoice is not linked to a Mirakl order.). Verifica se as linhas da fatura vêm de uma ordem de vendas associada a uma encomenda do Mirakl.
Se o carregamento falhar por outro motivo, o módulo deixa na fatura uma nota O envio da fatura Mirakl falhou: … (Mirakl invoice send failed: …), com o motivo onde estão as reticências, e volta a mostrar o erro. Se o FlexigoTech Cloud não deixar passar a chamada (porque não há subscrição ou o serviço está em pausa), o erro também volta a ser mostrado, mas nesse caso não se marca nada.
Custo e ajuda
O módulo é de pagamento único por versão do Odoo e precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano sem IVA. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição fornece e os dados ficam no teu Odoo. Podes ver o módulo na respetiva página ou na ficha da Odoo Apps.
Se estás a implementar o Odoo e queres que as faturas das tuas encomendas do Mirakl saiam com o relatório e o fluxo que usas, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/account_move.py
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): views/account_move_views.xml
- Código do 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
