Como ler uma mensagem do SEPA VoP Payment Gate
O que nesta página aparece como %(ref)s, %(row)s ou %(state)s é o espaço onde surge o dado concreto: a referência do pagamento, a linha do ficheiro ou o estado da importação. Quando a mensagem termina em %(error)s, o que vem depois dos dois pontos é o detalhe da falha.
Se preferir ver primeiro que menus o módulo acrescenta e que percurso faz um resultado, comece por como funciona o SEPA VoP Payment Gate por dentro.

Ao carregar o ficheiro de resultados do banco
Estas mensagens surgem ao importar o ficheiro com os resultados VoP. Segundo a sua própria mensagem, o módulo não tem configurada a leitura de resultados em pain.002 e pede o ficheiro em CSV, JSON ou XML.
| Mensagem | Quando surge | O que fazer |
|---|---|---|
The import has no file. ou Please upload a VoP result file. | A importação não tem ficheiro. | Carregue o ficheiro de resultados VoP e repita. |
The file is not UTF-8 text: %(error)s | O ficheiro não é texto UTF-8. | Obtenha o ficheiro como texto UTF-8. |
No bank specification for Verification of Payee results in pain.002 is configured in this module. Ask the bank for its VoP result file as CSV, JSON or XML. | Carrega resultados VoP em pain.002. | Peça ao banco o ficheiro em CSV, JSON ou XML. |
The CSV file is malformed: %(error)s, The JSON file is malformed: %(error)s ou The XML file is malformed: %(error)s | O ficheiro não pode ser lido no seu formato. | Corrija o que o detalhe indica depois dos dois pontos. |
The JSON file must be a list of results or {"results": [...]}. | O JSON não tem nenhuma dessas duas formas. | Deixe-o como lista de resultados ou como objeto com a chave results. |
Row %(row)s is not a record. | Uma linha não é um registo. | Corrija a linha que a mensagem indica. |
Row %(row)s: unknown result "%(result)s" (expected %(valid)s). | Uma linha traz um resultado que o módulo não reconhece. | Use um dos valores listados depois de expected. |
The file has no result rows. | O ficheiro não tem linhas de resultados. | Peça ao banco o ficheiro com os resultados. |
The file has %(rows)s result rows but %(expected)s were expected. | Há mais ou menos linhas do que as esperadas. | Compare as duas quantidades da mensagem e reveja o ficheiro. |
The manual connector does not support file import. Use an import_file source instead. | Importa a partir de uma fonte com conector manual. | Use uma fonte import_file. |
Nos passos da importação
Segundo as suas mensagens, uma importação começa em rascunho (draft), é validada e depois aplicada, e o estado não volta atrás.
| Mensagem | Quando surge | O que fazer |
|---|---|---|
Only draft imports can be validated. Current state: %(state)s. | Valida uma importação que já não está em rascunho. | Veja o estado atual indicado na mensagem. |
Only validated imports can be applied. Current state: %(state)s. ou Please validate the file before applying. | Aplica sem ter validado. | Valide primeiro e aplique depois. |
Import state cannot go backwards. Current: %(current)s → Requested: %(new)s. | Pede um estado anterior ao atual. | Avance a partir do estado atual. |
Ao confirmar um pagamento
É aqui que o módulo funciona como porta: trava o pagamento até que a verificação VoP e a política o permitam.
| Mensagem | Quando surge | O que fazer |
|---|---|---|
No payment selected. | Executa a ação sem pagamento selecionado. | Selecione o pagamento. |
Payment "%(ref)s" has no partner bank account. | O pagamento não tem conta bancária do parceiro. | Indique a conta bancária do parceiro nesse pagamento. |
Payment "%(ref)s" requires SEPA Verification of Payee. Please run VoP before confirming this payment. | Confirma um pagamento que exige VoP sem a ter feito. | Faça a verificação VoP e confirme depois. |
Payment "%(ref)s" is blocked by VoP policy. Result: %(status)s. Contact your VoP manager to override. | A política VoP bloqueia o pagamento pelo resultado indicado. | Reveja o resultado e, para o anular, fale com o seu VoP manager. |
Payment "%(ref)s": VoP opt-out is not allowed by policy. | Tenta excluir o pagamento da VoP e a política não o permite. | O pagamento tem de passar pela VoP. |

Close Match, com dados do pagamento, a verificação SEPA e a decisão aprovada por Mitchell Admin com o respetivo motivo.Registos que o módulo não deixa alterar nem apagar
Estas mensagens não são falhas de dados: são o módulo a proteger os seus registos. Trata os resultados de verificação e os eventos de auditoria como rasto de evidência, e a sua mensagem cita o Regulamento (UE) 2024/886.
| Mensagem | Quando surge | O que fazer |
|---|---|---|
The following fields are write-protected on VoP result records: %(fields)s. Create a new verification instead. (no Odoo 18, 19 e 20 também Write-protected VoP fields cannot be modified: %(fields)s.) | Edita campos protegidos de um resultado VoP. | Crie uma nova verificação. |
VoP verification results cannot be deleted. They form the legal evidence trail required by EU Reg 2024/886. | Apaga um resultado de verificação. | O módulo não o permite. |
VoP audit events cannot be modified. They form the legal evidence trail. ou VoP audit events cannot be deleted. They form the legal evidence trail required by EU Reg 2024/886. | Edita ou apaga um evento de auditoria. | O módulo não o permite. |
VoP health log entries cannot be modified after creation. ou VoP health log entries cannot be deleted. | Edita ou apaga uma entrada do registo de saúde. | O módulo não o permite. |
Only VoP managers can group or export VoP results by bank account: its name is the full IBAN. | Agrupa ou exporta resultados por conta bancária sem ser VoP manager. | Peça a um VoP manager que o faça. |
Se um resultado estiver errado, o caminho que o módulo define é criar uma nova verificação, não editar a existente.
Ao configurar a política e as fontes
| Mensagem | Quando surge | O que fazer |
|---|---|---|
Result freshness must be at least 1 day. | Define na política uma validade menor. | Indique 1 dia ou mais. |
Evidence retention must be at least 5 years (1825 days) to comply with EU Reg 2024/886. | Define uma conservação de evidências menor. | O módulo exige no mínimo 1825 dias. |
Evidence reference can only be entered when "Attestation-Only Mode" is enabled in the VoP policy. Contact your VoP administrator. | Preenche a referência de evidência sem esse modo ativo. | Fale com o seu VoP administrator. |
VoP source "%(name)s" is inactive. | Usa uma fonte VoP inativa. | Ative-a ou use uma fonte ativa. |
Unknown connector class "%(cls)s" on source "%(src)s". Valid classes: %(valid)s. | A fonte tem uma classe de conector que o módulo não conhece. | Escolha uma das classes listadas na mensagem. |

Como a FlexigoTech pode ajudar
O SEPA VoP Payment Gate está publicado na Odoo Apps para Odoo 17, 18, 19 e 20, a 9 € sem IVA por versão do Odoo, em pagamento único. Encontra-o na página da Odoo Apps e na sua página em flexigotech.com; se ainda tem dúvidas sobre se se adequa, veja o que cobre e o que é preciso antes de o instalar.
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se o seu banco entrega os resultados num formato que o módulo não lê, pode propô-lo como integração à medida.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): connectors/import_file.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): connectors/manual.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/account_payment.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_audit_event.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_health_log.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_import.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_policy.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_result.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_source.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): wizards/sepa_vop_import_wizard.py
- Código do módulo: flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): wizards/sepa_vop_manual_capture_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_sepa_verification_of_payee_module_for_odoo_19
- apps.odoo.com/apps/modules/17.0/flexigo_sepa_verification_of_payee_module_for_odoo_19
- apps.odoo.com/apps/modules/18.0/flexigo_sepa_verification_of_payee_module_for_odoo_19
- apps.odoo.com/apps/modules/19.0/flexigo_sepa_verification_of_payee_module_for_odoo_19
- flexigotech.com/en/services.html
