O caso: uma loja com duas contas que quer todos os PDFs de uma vez
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
Menaje Norte é uma loja inventada que vende com duas contas Octopia ligadas à mesma base de dados Odoo. No fim do mês, a pessoa da administração abre Octopia › Finanças › Faturas de comissão (Octopia › Finance › Commission Invoices), seleciona faturas de comissão das duas contas e clica em Obter PDFs (ZIP) (Fetch PDFs (ZIP)). O Odoo não descarrega nada e mostra: Obtenha os PDFs de uma conta de cada vez. (Fetch PDFs for one account at a time.).
A mensagem não indica uma falha da ligação nem das faturas. É uma restrição da ação: cada clique trabalha com uma só conta.


Onde está o botão e quem o vê
As fichas das faturas de comissão abrem-se a partir de Octopia › Finanças › Faturas de comissão. O ramo Octopia exige a permissão Utilizador Octopia (Octopia User): se não a tiver, não vê esse ramo do menu.
O botão Obter PDFs (ZIP) vê-se sempre, no Odoo 17, 18, 19 e 20. Ao clicar nele, chama-se a ação que pode lançar a mensagem. A mensagem está no código publicado das quatro versões.
A condição exata do código
O que se segue foi retirado do código do Odoo 20.0. Ao começar, a ação reúne as contas Octopia de todas as faturas sobre as quais atua. Se houver mais do que uma conta, lança a mensagem e para. Como o aviso interrompe a ação, não se guarda nada do que ia mudar.
A ordem importa por um detalhe: essa verificação vem antes de preparar a ligação e antes de pedir o que quer que seja à Octopia. Com duas contas na seleção, portanto, o código nem chega a solicitar qualquer documento.
A condição não olha para quantas faturas há, mas para quantas contas distintas. Cem faturas de uma mesma conta não a ativam; uma fatura de uma conta e outra de outra, sim.
O que acontece quando a seleção é de uma só conta
Se todas as faturas forem da mesma conta, a ação segue este percurso:
- Prepara a ligação dessa conta e pede à Octopia um único ficheiro ZIP com os documentos de todas as faturas, a partir dos seus identificadores externos.
- Se o que for recebido for um conteúdo não vazio, cria um anexo ZIP cujo nome leva a data de hoje, guarda-o na primeira fatura da seleção e deixa-o como o seu anexo PDF, mesmo que essa fatura já tivesse um.
- Se não chegar nada utilizável, passa a pedir os PDFs um a um, só para as faturas que ainda não têm anexo PDF. Cada PDF é guardado na sua fatura. Se a Octopia não devolver conteúdo para uma fatura, essa é saltada e segue-se com a seguinte.
O ZIP é pedido para toda a seleção e pode substituir o anexo da primeira fatura, enquanto o plano alternativo só toca nas faturas sem anexo. Tenha isto presente ao verificar o resultado.
Como se resolve, passo a passo
- Abra
Octopia › Finanças › Faturas de comissão. - Selecione apenas as faturas de uma das contas (no caso da Menaje Norte, as da primeira conta).
- Clique em
Obter PDFs (ZIP). - Verifique o anexo: na primeira fatura da seleção deve ficar o ZIP com a data de hoje no nome. Se não houve ZIP, cada fatura sem anexo prévio deverá ter agora o seu PDF.
- Repita a partir do segundo passo com a conta seguinte.

Obtenha os PDFs de uma conta de cada vez.; o esquema inclui também as versões em castelhano, alemão, francês e italiano.O que aprender com o caso
- A mensagem descreve a seleção, não o estado das faturas: basta separar por conta.
- Um clique, uma conta. Com várias contas ligadas, é preciso repetir a operação uma vez por conta.
- Se chegar o ZIP, passa a ser o anexo PDF da primeira fatura da seleção mesmo que já tivesse um; o ramo dos PDFs avulsos só toca nas faturas sem anexo.
- Se precisar de outra operação sobre outro documento do módulo, o botão
Create Vendor Billtem o seu próprio artigo.
O que custa e como o ajudamos
O módulo precisa da subscrição do FlexigoTech Cloud (plano Conector): 49 €/mês ou 490 €/ano sem IVA, com até 3 contas da plataforma. A ligação passa pelo FlexigoTech Cloud, que guarda as credenciais cifradas e avisa por e-mail se a sincronização falhar. Está publicado no Odoo Apps para o Odoo 17, 18, 19 e 20.
Se trabalha com várias contas e quer organizar bem a forma como as faturas são arquivadas no seu Odoo, na FlexigoTech implementamos o Odoo 17, 18, 19 e 20 e desenvolvemos 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_octopia_connector 20.0 (4848da6a): models/octopia_finance.py
- Código do módulo: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_completeness2_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
