Comment lire un message de SEPA VoP Payment Gate
Ce que vous voyez sur cette page sous la forme %(ref)s, %(row)s ou %(state)s est l'emplacement où apparaît la donnée concrète : la référence du paiement, la ligne du fichier ou l'état de l'import. Quand le message se termine par %(error)s, ce qui suit les deux-points est le détail de l'échec.
Si vous voulez d'abord voir quels menus le module ajoute et quel parcours suit un résultat, commencez par le fonctionnement interne de SEPA VoP Payment Gate.

Au chargement du fichier de résultats de la banque
Ces messages apparaissent quand vous importez le fichier contenant les résultats VoP. D'après son propre message, le module n'a pas de lecture des résultats en pain.002 configurée et demande le fichier en CSV, JSON ou XML.
| Message | Quand il apparaît | Que faire |
|---|---|---|
The import has no file. ou Please upload a VoP result file. | L'import ne contient aucun fichier. | Chargez le fichier de résultats VoP et recommencez. |
The file is not UTF-8 text: %(error)s | Le fichier n'est pas du texte UTF-8. | Obtenez le fichier en texte 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. | Vous chargez des résultats VoP en pain.002. | Demandez à la banque le fichier en 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 | Le fichier est illisible dans son format. | Corrigez ce qu'indique le détail après les deux-points. |
The JSON file must be a list of results or {"results": [...]}. | Le JSON n'a aucune de ces deux formes. | Mettez-le sous forme de liste de résultats ou d'objet avec la clé results. |
Row %(row)s is not a record. | Une ligne n'est pas un enregistrement. | Corrigez la ligne indiquée par le message. |
Row %(row)s: unknown result "%(result)s" (expected %(valid)s). | Une ligne contient un résultat que le module ne reconnaît pas. | Utilisez l'une des valeurs listées après expected. |
The file has no result rows. | Le fichier ne contient aucune ligne de résultat. | Demandez à la banque le fichier avec ses résultats. |
The file has %(rows)s result rows but %(expected)s were expected. | Il y a plus ou moins de lignes que prévu. | Comparez les deux quantités du message et vérifiez le fichier. |
The manual connector does not support file import. Use an import_file source instead. | Vous importez depuis une source avec connecteur manuel. | Utilisez une source import_file. |
Pendant les étapes de l'import
D'après ses messages, un import commence en brouillon (draft), est validé puis appliqué, et l'état ne revient jamais en arrière.
| Message | Quand il apparaît | Que faire |
|---|---|---|
Only draft imports can be validated. Current state: %(state)s. | Vous validez un import qui n'est plus en brouillon. | Regardez l'état actuel indiqué par le message. |
Only validated imports can be applied. Current state: %(state)s. ou Please validate the file before applying. | Vous appliquez sans avoir validé. | Validez d'abord, puis appliquez. |
Import state cannot go backwards. Current: %(current)s → Requested: %(new)s. | Vous demandez un état antérieur à l'état actuel. | Continuez à partir de l'état actuel. |
À la confirmation d'un paiement
C'est ici que le module joue son rôle de barrière : il retient le paiement tant que la vérification VoP et la politique ne l'autorisent pas.
| Message | Quand il apparaît | Que faire |
|---|---|---|
No payment selected. | Vous lancez l'action sans paiement sélectionné. | Sélectionnez le paiement. |
Payment "%(ref)s" has no partner bank account. | Le paiement n'a pas de compte bancaire du partenaire. | Renseignez le compte bancaire du partenaire sur ce paiement. |
Payment "%(ref)s" requires SEPA Verification of Payee. Please run VoP before confirming this payment. | Vous confirmez un paiement qui exige VoP sans l'avoir effectuée. | Lancez la vérification VoP, puis confirmez. |
Payment "%(ref)s" is blocked by VoP policy. Result: %(status)s. Contact your VoP manager to override. | La politique VoP bloque le paiement en raison du résultat indiqué. | Examinez le résultat et, pour le passer outre, adressez-vous à votre VoP manager. |
Payment "%(ref)s": VoP opt-out is not allowed by policy. | Vous tentez d'exclure le paiement de VoP et la politique ne le permet pas. | Le paiement doit passer par VoP. |

Close Match, avec les données du paiement, la vérification SEPA et la décision approuvée par Mitchell Admin avec son motif.Enregistrements que le module ne laisse ni modifier ni supprimer
Ces messages ne signalent pas des erreurs de données : c'est le module qui protège ses enregistrements. Il traite les résultats de vérification et les événements d'audit comme une piste de preuves, et son message cite le Règlement (UE) 2024/886.
| Message | Quand il apparaît | Que faire |
|---|---|---|
The following fields are write-protected on VoP result records: %(fields)s. Create a new verification instead. (dans Odoo 18, 19 et 20 aussi Write-protected VoP fields cannot be modified: %(fields)s.) | Vous modifiez des champs protégés d'un résultat VoP. | Créez une nouvelle vérification. |
VoP verification results cannot be deleted. They form the legal evidence trail required by EU Reg 2024/886. | Vous supprimez un résultat de vérification. | Le module ne le permet pas. |
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. | Vous modifiez ou supprimez un événement d'audit. | Le module ne le permet pas. |
VoP health log entries cannot be modified after creation. ou VoP health log entries cannot be deleted. | Vous modifiez ou supprimez une entrée du journal de santé. | Le module ne le permet pas. |
Only VoP managers can group or export VoP results by bank account: its name is the full IBAN. | Vous regroupez ou exportez des résultats par compte bancaire sans être VoP manager. | Demandez à un VoP manager de le faire. |
Si un résultat est erroné, la voie prévue par le module est de créer une nouvelle vérification, pas de modifier celle qui existe.
À la configuration de la politique et des sources
| Message | Quand il apparaît | Que faire |
|---|---|---|
Result freshness must be at least 1 day. | Vous indiquez une fraîcheur inférieure dans la politique. | Indiquez 1 jour ou plus. |
Evidence retention must be at least 5 years (1825 days) to comply with EU Reg 2024/886. | Vous indiquez une conservation des preuves plus courte. | Le module exige au minimum 1825 jours. |
Evidence reference can only be entered when "Attestation-Only Mode" is enabled in the VoP policy. Contact your VoP administrator. | Vous remplissez la référence de preuve sans que ce mode soit actif. | Adressez-vous à votre VoP administrator. |
VoP source "%(name)s" is inactive. | Vous utilisez une source VoP inactive. | Activez-la ou utilisez une source active. |
Unknown connector class "%(cls)s" on source "%(src)s". Valid classes: %(valid)s. | La source a une classe de connecteur que le module ne connaît pas. | Choisissez l'une des classes listées dans le message. |

Comment FlexigoTech vous aide
SEPA VoP Payment Gate est publié sur Odoo Apps pour Odoo 17, 18, 19 et 20, à 9 € HT par version d'Odoo, en paiement unique. Vous le trouverez sur la fiche Odoo Apps et sur sa page sur flexigotech.com ; si vous hésitez encore, voyez ce qu'il couvre et ce qu'il faut avant de l'installer.
FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et intégrations sur mesure. Si votre banque fournit les résultats dans un format que le module ne lit pas, vous pouvez en faire une intégration sur mesure.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): connectors/import_file.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): connectors/manual.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/account_payment.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_audit_event.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_health_log.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_import.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_policy.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_result.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): models/sepa_vop_source.py
- Code du module : flexigo_sepa_verification_of_payee_module_for_odoo_19 20.0 (92ece3b6): wizards/sepa_vop_import_wizard.py
- Code du module : 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
