La France a ses moyens de paiement, et aucun n'existe dans Odoo standard : la lettre de change relevé, le relevé bancaire au format CFONB, les codes de reporting de la Banque de France, le protocole Caisse-AP des terminaux de paiement.
Cinq modules communautaires les ajoutent. Trois intéressent la comptabilité, un l'entrepôt des encaissements par carte, un la caisse d'un commerce.
Résumé
account_payment_fr_lcr crée la méthode de paiement Lettre de Change Relevé, entrante, adossée au circuit des ordres de paiement en lot : on crée un ordre, on y ajoute les factures clients, on génère le fichier CFONB au format effet de commerce, et pour la LCR acceptée on imprime le document papier normalisé à faire signer au client.
account_statement_import_fr_cfonb ajoute la lecture des relevés bancaires au format CFONB — le format texte français — à l'assistant d'import standard, avec détection automatique et prise en charge des fichiers multi-comptes, qui produisent alors un relevé Odoo par compte.
l10n_fr_account_payment_intl_credit_transfer charge les 15 codes de reporting réglementaire de la Banque de France (E01 à E15) et bloque un virement international en euros de plus de 50 000 € tant que le code n'est pas renseigné. Enfin, l10n_fr_pos_caisse_ap_ip pilote un terminal de paiement par le protocole Caisse-AP sur IP, et deux petits modules importent les remises de cartes bancaires de deux prestataires français.
L'essentiel
- La LCR en trois variantes, avec fichier CFONB « effet de commerce » (spécification de septembre 2002) et document papier normalisé.
- Le relevé CFONB détecté automatiquement à l'import, et découpé par compte sur un fichier multi-comptes.
- 15 codes réglementaires de la Banque de France (E01-E15), et un blocage au-delà de 50 000 € sans code renseigné.
- Le code est effacé automatiquement si l'ordre bascule finalement en SEPA — la cohérence est tenue par le module.
- Le TPE piloté en Caisse-AP sur IP depuis la caisse, protocole indépendant du constructeur, répandu en France.
- Deux modules de remise carte (Mercanet, Monetico) dont la documentation relevée se limite au type d'import ajouté sur le journal.
Ce que ces modules ajoutent à l'instance
| Module | Apport | Version | Dépend de |
|---|---|---|---|
account_payment_fr_lcr | Lettre de change relevé et billet à ordre | 18.0 | account_payment_batch_oca |
account_statement_import_fr_cfonb | Import des relevés au format CFONB | 18.0.1.0.0 | account_statement_import_file |
l10n_fr_account_payment_intl_credit_transfer | Codes Banque de France pour virements hors SEPA | 18.0 | l10n_fr, account_payment_sepa_base |
l10n_fr_pos_caisse_ap_ip | Terminal de paiement en Caisse-AP sur IP | 18.0 | point_of_sale |
account_move_mercanet_import | Type d'import de remises carte sur un journal | 18.0.1.0.0 | account_move_base_import |
account_move_monetico_import | Type d'import de remises carte sur un journal | 18.0.1.0.0 | account_move_base_import |
Aucun n'ajoute de menu : tous enrichissent des écrans existants — modes de paiement, ordres de paiement, factures clients, journaux, méthodes de paiement de la caisse.
La lettre de change relevé, telle qu'elle se pratique
La LCR reste vivante dans le négoce, l'industrie et le bâtiment : c'est un effet de commerce à échéance, et pour le fournisseur un moyen de connaître la date d'encaissement.
| Variante | Ce qu'elle implique |
|---|---|
| LCR non acceptée (directe) | Pas de signature du client : le fichier suffit |
| LCR acceptée (papier) | Le document est imprimé et signé par le client — mise en page NF K 11-030-1 |
| Billet à ordre | Émis par le débiteur ; même circuit de fichier |
Le module crée à l'installation la méthode de paiement Lettre de Change Relevé, de type entrant et exigeant un compte bancaire. Le reste s'appuie sur le circuit standard des ordres de paiement en lot : on crée un ordre, on y ajoute les factures clients, on génère le fichier.
- Créer un mode de paiement basé sur cette méthode — une section « effet de commerce » y apparaît.
- Sur une facture client, renseigner le compte bancaire de l'effet ; un bouton dédié est ajouté au formulaire.
- Créer l'ordre de paiement et y ajouter les factures à présenter.
- Générer le fichier CFONB : les lignes sont produites au format spécifique « effet de commerce » (spécification de septembre 2002).
- Pour la LCR acceptée, imprimer le document normalisé et le faire signer.
Le circuit des ordres de paiement lui-même est décrit dans la fiche sur les ordres de paiement, et les virements et prélèvements européens dans la fiche SEPA.
Le relevé CFONB, et pourquoi il est encore là
Le CFONB est le format texte historique des relevés bancaires français. Les banques françaises proposent de plus en plus le CAMT, format européen, mais beaucoup continuent de livrer du CFONB — et certaines n'offrent que lui sur les comptes anciens.
- Le module ajoute le format à l'assistant d'import standard et détecte automatiquement qu'un fichier est au format CFONB : l'utilisateur n'a rien à choisir.
- Un fichier multi-comptes produit un relevé Odoo par compte — c'est le cas courant des entreprises qui reçoivent un seul fichier pour tous leurs comptes.
- Depuis la vue en cartes des journaux comptables, un bouton d'import direct apparaît sur les journaux de banque.
Pour les autres formats — CAMT, OFX, QIF —, voir l'import des relevés bancaires. La règle pratique : demander à la banque tous les formats qu'elle propose avant de choisir, car passer du CFONB au CAMT améliore la qualité des libellés, donc le lettrage automatique.
Les virements internationaux et la Banque de France
Un virement hors zone SEPA d'un montant significatif est soumis à une obligation déclarative : le motif économique du transfert doit être codé. C'est l'objet de la note technique à laquelle se réfère le module.
- Le module charge 15 codes réglementaires (E01 à E15) rattachés à la France.
- Un code par défaut se renseigne sur la fiche partenaire, onglet comptabilité.
- Le code est reporté automatiquement sur les lignes de paiement lors de la création d'un ordre de virement non-SEPA.
- Blocage : un virement international en euros de plus de 50 000 € ne peut pas être mis en paiement sans code.
- Cohérence : le code est effacé si l'ordre bascule finalement en SEPA, ou si le format n'est plus celui attendu.
À connaître avant de chercher le champ : le code porté par les lignes de paiement n'est ajouté à aucune vue par ce module. Il existe sur le modèle, mais son affichage dépend des vues fournies par les modules d'ordres de paiement.
C'est typiquement le genre de détail qui fait conclure à tort qu'un module ne fonctionne pas, alors que la donnée est bien là.
Encaisser : le TPE en Caisse-AP, et les remises carte
Le terminal de paiement de la caisse
l10n_fr_pos_caisse_ap_ip ajoute un choix de terminal dans les méthodes de paiement du point de vente : Caisse-AP sur IP, protocole indépendant des constructeurs, largement utilisé en France avec les terminaux Ingenico et Verifone.
- Quatre champs pilotent la méthode : adresse et port du terminal sur le réseau local, mode de transaction, et envoi automatique ou manuel du montant.
- À l'encaissement, la caisse envoie le montant, attend la fin de la transaction, et valide automatiquement la ligne de paiement en cas de succès.
- En cas d'échec — refus, abandon, dépassement de délai — un message explicite permet de réessayer ou de supprimer la ligne.
- Le protocole reposant sur une connexion réseau brute, le navigateur ne peut pas dialoguer directement avec le terminal : la communication passe par le serveur.
C'est l'alternative française au module générique traité dans la fiche sur la caisse : là où ce dernier passe par un boîtier avec un module matériel dédié, celui-ci parle Caisse-AP sur le réseau local.
Les remises de cartes bancaires
account_move_mercanet_import et account_move_monetico_import ajoutent chacun un type d'import sur le journal comptable, pour intégrer les fichiers de remise des deux prestataires d'encaissement français correspondants.
Honnêteté du relevé : la documentation de ces deux modules est minimale. Ce qui est observable, c'est le type d'import ajouté sur le journal et la dépendance au socle d'import d'écritures. Le format attendu et le détail du traitement se vérifient sur le dépôt avant d'en faire une promesse.
Pour un commerce qui encaisse beaucoup par carte, l'enjeu est pourtant réel : rapprocher la remise globale du prestataire avec les tickets de la journée est l'une des tâches les plus pénibles d'une clôture de caisse.
Limites connues
- La LCR suppose le module OCA d'ordres de paiement en lot : ce n'est pas un module autonome.
- Le code réglementaire n'est affiché sur aucune vue de ligne de paiement par le module : il existe sans se voir.
- Le blocage à 50 000 € ne concerne que les virements en euros hors SEPA : les autres cas ne sont pas contrôlés.
- Le CFONB donne des libellés plus pauvres que le CAMT : si la banque propose les deux, le CAMT améliore le lettrage automatique.
- Le terminal Caisse-AP doit être joignable sur le réseau local du point de vente, avec une adresse et un port stables : c'est une contrainte d'infrastructure.
- Les deux modules de remise carte sont peu documentés : à valider sur le dépôt avant engagement.
Identité technique
| Module | Dépôt OCA | Version | Licence |
|---|---|---|---|
account_payment_fr_lcr | l10n-france | 18.0 | AGPL-3 |
account_statement_import_fr_cfonb | l10n-france | 18.0.1.0.0 | AGPL-3 |
l10n_fr_account_payment_intl_credit_transfer | l10n-france | 18.0 | AGPL-3 |
l10n_fr_pos_caisse_ap_ip | l10n-france | 18.0 | AGPL-3 |
account_move_mercanet_import | l10n-france | 18.0.1.0.0 | AGPL-3 |
account_move_monetico_import | l10n-france | 18.0.1.0.0 | AGPL-3 |
Questions fréquentes
Odoo gère-t-il la lettre de change relevé ?
Pas en standard. account_payment_fr_lcr crée la méthode de paiement, ajoute une section dédiée sur les modes de paiement, génère le fichier CFONB au format effet de commerce et imprime le document papier normalisé (NF K 11-030-1) pour la LCR acceptée. Il s'appuie sur le circuit des ordres de paiement en lot de l'OCA.
Faut-il préférer le CFONB ou le CAMT pour les relevés ?
Le CAMT quand la banque le propose : ses libellés sont plus riches, donc le lettrage automatique est meilleur. Le CFONB reste nécessaire pour les banques ou les comptes qui ne livrent que ce format — account_statement_import_fr_cfonb le détecte automatiquement et découpe un fichier multi-comptes en un relevé par compte.
Pourquoi un virement international est-il bloqué ?
Parce que l10n_fr_account_payment_intl_credit_transfer exige un code de reporting réglementaire de la Banque de France (E01 à E15) pour tout virement en euros hors SEPA de plus de 50 000 €. Le code se renseigne par défaut sur la fiche partenaire et se reporte sur les lignes de paiement ; il est effacé automatiquement si l'ordre bascule en SEPA.
Quelle différence avec le module générique de terminal de paiement ?
l10n_fr_pos_caisse_ap_ip parle le protocole français Caisse-AP sur IP directement avec un terminal joignable sur le réseau local, là où le module générique passe par un boîtier IoT équipé d'un module matériel propre au protocole du lecteur. Les deux visent le même résultat : ne plus ressaisir le montant sur le terminal.
Les modules Mercanet et Monetico sont-ils documentés ?
Très peu : le relevé sur instance ne montre qu'un type d'import supplémentaire sur le journal comptable et la dépendance au socle d'import d'écritures. Le format de fichier attendu et le détail du traitement sont à vérifier sur le dépôt avant d'engager un projet de rapprochement des remises carte.
Se faire accompagner
Les moyens de paiement français sont le domaine où l'on découvre tard que « l'ERP ne sait pas faire » : la LCR du client qui paie à 60 jours, le fichier de la banque qui n'est pas du CAMT, le code Banque de France qui bloque un virement un vendredi soir.
Nous faisons donc l'inventaire des moyens de paiement réellement utilisés — par vos clients et vers vos fournisseurs — avant de paramétrer quoi que ce soit, puis nous testons un fichier réel avec la banque. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- SEPA : virements fournisseurs et prélèvements clients
- Importer les relevés bancaires CAMT et OFX
- Caisse : les modules OCA du point de vente
En résumé
La LCR avec son fichier CFONB et son document normalisé, le relevé CFONB détecté tout seul, les codes Banque de France qui bloquent un virement de plus de 50 000 €, et le TPE piloté en Caisse-AP. Deux modules de remise carte restent peu documentés : à vérifier avant d'en faire une promesse. Parlons de vos encaissements.