Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
Taller Aralar é uma empresa inventada que vende num marketplace Mirakl e acabou de instalar o Mirakl Connector no seu Odoo. Passam os dias e no Odoo não aparece nenhuma fatura do marketplace. Antes de mexer em seja o que for, a pessoa que gere o Odoo revê o que faz a tarefa Mirakl - Sincronizar Faturas e em que pontos pode ficar sem fazer nada. Essa revisão é o que se segue.
O que faz a tarefa em cada passagem
A tarefa não olha para um marketplace concreto: percorre, um a seguir ao outro, todos os que cumprem a condição. No Odoo 20, quando corre, faz o seguinte e por esta ordem:
- Verifica que quem a executa é administrador. Se não for, para com
Só um administrador pode executar esta ação agendada.(Only an administrator can run this scheduled action.) e não faz mais nada. - Procura os marketplaces que estejam ativos e tenham a sincronização de faturas ativada.
- Desses, deixa de fora os que não pode chamar: os que passam pelo FlexigoTech Cloud sem chave guardada e, se a permissão que o módulo tem guardada não incluir o serviço do módulo, todos os dessa via (essa verificação não sai para a rede). Os marketplaces que se ligam de forma direta vão primeiro.
- Para cada marketplace que fica, pede as suas faturas. Se algo falhar num deles, o módulo tenta registar o erro e segue para o seguinte. A exceção é uma pausa do FlexigoTech Cloud, que interrompe o percurso.

Mirakl › Configuração › Marketplaces.
O que faz com as faturas de cada marketplace
Quando chega a vez de um marketplace, a tarefa faz isto:
- Usa o endpoint de faturas que o marketplace tiver ou, se estiver vazio,
/invoices. - Pede as faturas por páginas, com um tamanho de página e um máximo de páginas (pelo menos uma). Pára quando uma página chega vazia, quando traz menos faturas do que o tamanho de página, quando já se atingiu o total que a Mirakl informa ou quando chega ao máximo de páginas.
- Processa cada fatura recebida. Se uma falhar, regista o erro com essa fatura e continua com as restantes.
Se o operador não expõe /invoices, o módulo regista o aviso Endpoint de faturas não disponível (HTTP 404). Este operador não expõe /invoices. (Invoices endpoint not available (HTTP 404). This operator does not expose /invoices.), anota o momento atual como data da última sincronização de faturas e termina com esse marketplace. Com qualquer outro erro no pedido, regista o erro e deixa de ler páginas desse marketplace.
Se o FlexigoTech Cloud não deixa passar a chamada (sem subscrição ou com uma pausa do relé), a passagem é interrompida: não se marca nem se apaga nada e a passagem seguinte continua. O módulo apenas conta a pausa, com o seu código, no relatório de saúde do FlexigoTech Cloud. Como os marketplaces diretos vão primeiro, nenhum deles fica por chamar devido a essa pausa.
De quanto em quanto tempo corre e desde quando
A tarefa corre uma vez por dia e vem desativada na instalação: até alguém a ativar, não faz nada. No Odoo 17 a tarefa repete-se sem fim. Está nas ramificações publicadas 17, 18, 19 e 20.
As fichas dos marketplaces abrem-se a partir do menu Mirakl › Configuração › Marketplaces.

Mirakl - Sincronizar facturas; em alemão, Mirakl - Rechnungen synchronisieren; em francês, Mirakl - Synchroniser les factures; em italiano, Mirakl - Sincronizza fatture; em português, Mirakl - Sincronizar Faturas.A revisão da Taller Aralar, passo a passo
- Confirma que a tarefa está ativada, porque vem desativada na instalação.
- Tem em conta que a tarefa corre uma vez por dia, pelo que não espera ver as faturas de imediato.
- Assegura-se de que a tarefa é executada por um administrador. Se não, pára com
Só um administrador pode executar esta ação agendada.. - Tem presente que a tarefa só apanha marketplaces ativos e com a sincronização de faturas ativada: se o seu não cumprir as duas coisas, não entra na passagem. As suas fichas abrem-se a partir de
Mirakl › Configuração › Marketplaces. - Se o marketplace passa pelo FlexigoTech Cloud, tem presente que sem chave guardada não é chamado, e que também não é chamado nenhum dessa via se a permissão guardada não incluir o serviço do módulo.
- Se o operador não expõe
/invoices, o módulo regista o avisoEndpoint de faturas não disponível (HTTP 404). Este operador não expõe /invoices., anota o momento atual como data da última sincronização de faturas e termina com esse marketplace. - Se houver outros erros, lembra-se de que o módulo tenta guardar uma linha de registo associada ao marketplace e que também escreve o erro no log do servidor.
O que o caso ensina
Se a tarefa não trouxer nada, convém rever, por esta ordem: primeiro que esteja ativada, porque vem desativada na instalação e, enquanto estiver, não corre. Depois, pela ordem em que o código as aplica: administrador, marketplace que cumpra as condições, via do FlexigoTech Cloud e, por fim, os erros registados.
Quanto aos erros, o módulo tenta escrever uma linha de registo com o nível, a operação, o método, o endereço chamado, o estado da resposta e a mensagem de erro. Se ao criar a linha se produzir um erro, deixa um aviso no log do servidor.
Como a FlexigoTech ajuda
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. O Mirakl Connector está publicado no Odoo Apps para 17, 18, 19 e 20: pode ver a ficha do Odoo Apps ou a página do módulo.
Continue a ler
Verificado no código do conector (versão 17.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Código do módulo: flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
