Nouveau connecteur Odoo-Qonto
Akretion est fière d'annoncer la publication d'un nouveau connecteur opensource entre Odoo et Qonto. Ce connecteur est disponible sur GitHub pour Odoo version 16 et 18 (module account_statement_import_api_qonto) :
https://github.com/akretion/bank-statement-import-api
Pourquoi avoir développé un nouveau connecteur, alors qu'il existe déjà un connecteur opensource existant ? Quand je pose cette question, je pense notamment au module account_statement_import_online_qonto de l'Odoo Community Association (OCA). Nous connaissons bien ce module, car nous l'avons utilisé de nombreuses années pour importer nos lignes de relevé de compte Qonto dans Odoo. En effet, Akretion a un compte chez Qonto depuis plus de 4 ans, et ce module nous a bien rendu service.
L'objectif de ce connecteur "nouvelle génération" était d'aller plus loin que le simple import des lignes de relevé de compte. Une des fonctionnalités très pratique de Qonto est que, quand on paye par carte, on reçoit immédiatement une notification sur son smartphone. A partir de cette notification, on peut très facilement prendre en photo le reçu (ou déposer le PDF de la facture). A partir de la photo (ou du PDF de la facture), Qonto scanne le document et extrait le montant de TVA déductible. Qonto catégorise automatiquement la dépense, notamment grâce aux informations sur le commerçant disponible dans la transaction CB (grâce notamment au Merchant Category Code). Qonto permet aussi à l'utilisateur de renseigner un libellé personnalisé pour la dépense ; par exemple, si j'ai acheté un billet de train pour me rendre aux journées de la facturation électronique à Paris, le relevé de compte indiquera simplement un libellé du type "CB SNCF" ; dans le libellé personnalisé, je vais pouvoir renseigner "TGV Lyon-Paris pour les journées de la facturation électronique". Qonto propose même de sélectionner un code analytique (ou plusieurs, pour les entreprises qui ont plusieurs axes analytiques).
Avec toutes ces données additionnelles associées à la ligne de relevé de compte (photo ou PDF, catégorie de dépense, TVA déductible, libellé qui décrit et justifie la dépense et compte(s) analytique(s)), on a toutes les informations requises pour créer la facture fournisseur dans le journal d'achat. Tous les comptables savent bien à quel point la comptabilisation des frais professionnels, notamment pour les personnes qui sont souvent en déplacement, est a pain in the ass. Avec le connecteur Odoo-Qonto, le but est de rendre la comptabilisation des frais professionnels aussi facile et fluide que possible.
Concrètement : si l'utilisateur a bien associée à la dépense une photo du reçu et un libellé personnalisé en utilisant l'appli Qonto (ou l'interface Web de Qonto), Odoo va proposer, au moment du traitement de la ligne de relevé de compte dans l'interface de rapprochement bancaire, de créer automatiquement la facture fournisseur :
- le compte de charge utilisé sera le compte de charge qu'on aura associé à la catégorie de dépense. Pour une catégorie de dépense donnée, il est même possible de configurer un compte de charge différent en fonction de la CB Qonto utilisée.
- le libellé de la ligne de facture sera le libellé personnalisé,
- la TVA déductible reconnue par Qonto à partir de la photo sera le montant de TVA déductible de la facture fournisseur,
- la date de la facture sera la date du paiement CB (et non la date de débit sur le relevé de compte, qui a généralement lieu le lendemain de la dépense),
- la devise de la facture sera la devise du paiement (et non la devise du compte Qonto),
- la ou les photo(s) du reçu (ou le(s) PDF(s)) sera/seront mis en pièce jointe de la facture fournisseur.
Dans tous les cas, le comptable garde la main pour :
- choisir un compte de charge différent de celui qui a été mis par défaut à partir de la catégorie de dépense,
- modifier le montant de TVA déductible,
- modifier le libellé personnalisé,
- forcer une date de facture spécifique,
- forcer un fournisseur spécifique.
Cette nouvelle fonctionnalité implique un changement important dans la conception des modules Odoo d'import des lignes de relevé de compte, que je vais illustrer par l'exemple ci-dessous:
- Je prends l'autoroute pour rentrer d'une mission chez un client. Je paye le péage avec ma CB Qonto et je récupère le reçu.
- J'arrive tard à la maison et j'oublie de m'occuper de prendre la photo du reçu depuis l'appli Qonto.
- Le lendemain matin, le débit sur le compte Qonto devient définitif. La tâche programmée dans Odoo, qui s'exécute quotidiennement, télécharge automatiquement la ligne de relevé de compte via l'API Qonto. A ce stade, la ligne de relevé de compte dans Odoo n'a pas de photo associée ni de libellé personnalisé ni de TVA déductible.
- Le lendemain après-midi, je prends enfin le temps de traiter la dépense de péage dans l'appli Qonto. Je prends la photo du reçu ; le montant et le taux de TVA déductible est automatiquement reconnu. Je renseigne un libellé personnalisé du type "péage retour mission client XYZ". Je vois que Qonto a automatiquement renseigné la catégorie de dépense à "Transport" ; je n'ai pas besoin de la modifier. Je renseigne le(s) compte(s) analytique(s).
A partir de là, il faut que la ligne de relevé de compte qui est déjà présente dans Odoo soit mise à jour pour récupérer la photo, le libellé personnalisé, la TVA déductible et l'analytique. Cela n'est généralement pas prévu dans les modules d'import de relevé de compte, car les données de base d'une ligne de relevé de compte (date, montant et libellé) ne sont jamais modifiées après coup. Le nouveau connecteur Odoo-Qonto repose sur un nouveau module d'import de relevé de compte par API (module account_statement_import_api publié dans le même projet GitHub) qui a pris en compte le scénario ci-dessus dès sa conception : quand les données additionnelles d'une ligne de relevé de compte sont mises à jour et que cette ligne de relevé de compte n'a pas encore été traitée dans l'interface de rapprochement bancaire, les données additionnelles sont actualisées automatiquement.
Le scénario complet de ma dépense de péage devient donc le suivant (dans une version plus réaliste cette fois-ci) :
- Je paye le péage avec ma CB Qonto.
- J'oublie de m'occuper de prendre la photo dans l'appli Qonto une fois arrivée à la maison.
- La veille de la date limite de la déclaration de TVA mensuelle, je me mets à faire ma compta dans Odoo ! Je tombe sur la ligne de relevé de compte et je m'énerve contre moi-même en voyant que j'ai oublié de prendre la photo.
- Je retrouve le reçu du péage au fond de mon portefeuille. J'ouvre l'appli Qonto, je prends la photo, je vérifie que l'appli reconnaît le bon montant de TVA déductible et je renseigne le libellé personnalisé.
- Dans Odoo, je clique sur le bouton Re-synchroniser maintenant, pour déclencher immédiatement une nouvelle synchronisation entre Odoo et Qonto.
- Je constate que la ligne de relevé de compte a maintenant toutes les données additionnelles. Je clique sur le bouton Créer facture fournisseur et réconcilier. En un seul clic, Odoo va créer la facture fournisseur, traiter la ligne de relevé de compte et lettrer dans le compte 401... fin de l'histoire !
Nous avons réalisé un screencast qui illustre l'utilisation du connecteur Odoo-Qonto sur un cas concret :