Étude de cas · Intégration Odoo

Paiement SumUp et réservation en ligne, branchés sur Odoo.

Deux entreprises sur Odoo Online, deux manques : encaisser avec SumUp, absent des moyens de paiement d'Odoo, et vendre des croisières privées avec un prix exact dès la date choisie.

Livré par étapes
réservation en ligne · démo
Le tunnel de réservation à l'étape du prix : croisière de 3 heures, supplément pour les passagers au-delà de dix, total et acompte de 50 % (données fictives)
Page de paiement d'une facture Odoo en mode test, sur mobile
Mode démo · données fictives
0module tiers ajouté dans Odoole paiement passe par l'API officielle
1seul endroit où un paiement s'écritbouton, retour client et notification
58tests automatiséspasserelle de paiement, sans appel réseau
30/30cases de la grille tarifaireprix et marge reproduits sans écart
Le contexte

Odoo couvre presque tout. Le reste se branche autour.

Un magasin de glisse à Paris encaisse avec SumUp. Sur Odoo Online, SumUp ne figure pas parmi les 22 fournisseurs de paiement proposés, et aucun module tiers ne peut l'ajouter : les paiements par carte ne pouvaient pas s'inscrire d'eux-mêmes sur les factures.

Un loueur de catamaran avec skipper, à Sydney, vend des croisières privées dont le prix dépend de la saison, du jour, de la durée et du nombre de passagers au-delà de dix. Il lui fallait un site qui affiche ce prix tout de suite, et un back-office pour valider chaque sortie avant d'encaisser l'acompte.

Deux missions, une même méthode : ne rien casser dans Odoo, livrer étape par étape, et tester chaque étape avant la suivante. C'est l'approche de mon offre automatisation.

Ce qui a changé

Le paiement arrive dans Odoo, le prix arrive au client.

SumUp introuvable dans Odoo OnlineLien de paiement signé, carte saisie chez SumUp
Règlement à reporter dans OdooFacture marquée payée automatiquement, une seule fois
Prix d'une croisière calculé à la mainPrix exact affiché dès la date et le nombre de passagers
Créneau confirmé par échange de messagesCréneau bloqué, acompte autorisé, encaissé après double validation
Comment ça marche

Le trajet d'un paiement, jusqu'à la facture.

  1. 1Lien ou panierLe client ouvre un lien signé pour sa facture, ou paie sa commande depuis la boutique Odoo.
  2. 2PaiementLa carte se saisit sur la page hébergée par SumUp : aucune donnée bancaire ne passe par la passerelle.
  3. 3VérificationLe statut est relu chez SumUp, jamais pris tel quel dans la notification reçue.
  4. 4ÉcritureCommande confirmée, facture créée et comptabilisée, paiement enregistré par l'API d'Odoo.
  5. 5ContrôleL'état de la facture est relu. Un montant incohérent part en vérification manuelle, jamais en double encaissement.
À l'écran

Le back-office des réservations.

back-office · fiche croisière
Fiche d'une croisière : client, date, quai, équipage, prix détaillé, acompte et solde, validations commerciale et skipper en attente (données fictives)
La fiche d'une croisière : prix détaillé, validations, état de l'acompte.
back-office · moteur de prix
Grille 4 heures par période et nombre de passagers, avec le prix client et la marge de chaque case (données fictives)
La grille du client, recalculée en direct avec la marge de chaque case.
Sur mobile

Le paiement, côté client.

Page de saisie de la carte en mode test, montant à payer et champs inactifs
Carte la page de paiement
Confirmation du paiement accepté avec sa référence
Accepté le règlement est inscrit
Le même lien rouvert affiche « Facture déjà réglée »
Réglée le lien ne paie pas deux fois

Captures en mode test : aucune carte n'est débitée et Odoo est simulé. Sur la base de test du client, le parcours a été vérifié de bout en bout, commande, facture et paiement compris.

Les choix qui comptent

Solide là où l'argent circule.

Rien d'installé dans Odoo

Odoo Online refuse les modules tiers. La passerelle vit à côté et parle à Odoo par son API officielle. Le seul réglage côté Odoo est une vue qui remplace le choix du moyen de paiement par un bouton, désactivable en un clic.

Un paiement compté une seule fois

Le bouton, le retour du client et la notification de SumUp passent par le même traitement, protégé par un verrou. Vérifié sur la base de test : trois notifications identiques, un seul paiement dans Odoo.

Un seul moteur de prix

Le site et le back-office calculent avec le même code, qui sert de cahier des charges au module de réservation. Il reproduit les 30 cases de la grille du client, prix et marge, et se règle sans toucher au code.

StackOdoo 19 · API JSON-2SumUp Hosted CheckoutPython · FastAPISQLiteJavaScript sans frameworkpytestDocker · Coolify

Il manque une brique à votre Odoo ?