Leçons apprises : Google Sheets avec Dolibarr en 30 jours

Une immersion dans l’intégration des deux outils pour optimiser la gestion quotidienne d’une PME.


1. Contexte & objectifs

Élément Description
Environnement Petite entreprise de services (consultoria) avec 12 collaborateurs.
ERP déjà installé Dolibarr (version 11) hébergé en interne pour la facturation, la gestion des contacts, les stocks et les devis.
Besoin Disposer d’un tableau de suivi dynamique, partagé et facilement exploitable pour le pilotage opérationnel.
Solution envisagée Utiliser Google Sheets comme couche « BI » (Business Intelligence) et comme interface de travail rapide, tout en gardant Dolibarr comme système d’information centralisé.
Durée du projet 30 jours – du 01/10/2025 au 30/10/2025.

Objectif principal : Créer un tableau de suivi (KPI) en Google Sheets qui récupère en temps réel les données clés de Dolibarr, afin de réduire le temps de calcul des indicateurs de 45 % et d’améliorer la transparence interne.


2. Architecture de l’intégration

2.1. Source des données : API Dolibarr – Endpoint exploité : /dolibarr/api/index.php?entry point=... (REST‑like)

  • Données récupérées :

    • Factures émises / reçues (date, montant, statut)
    • Contacts (clients, fournisseurs)
    • Stocks (produits, quantités, seuil de réapprovisionnement)
    • Devis & bons de commande

2.2. Connexion depuis Google Sheets

  1. OAuth 2.0 : Création d’une application OAuth dans le back‑office Dolibarr → token d’accèsAdmin.
  2. Bibliothèque Apps Script : « `javascript
    function fetchDataFromDolibarr() {
    var url = ‘https://dolibarr.monentreprise.local/dolibarr/api/index.php?…’;
    var token = PropertiesService.getScriptProperties().getProperty(‘dolibarr_token’);
    var rep = UrlFetchApp.fetch(url, {
    method: ‘GET’,
    headers: {Authorization: ‘Bearer ‘+token}
    });
    var json = JSON.parse(rep.getContentText());
    return json;
    }

  3. Import : La fonction fetchDataFromDolibarr() renvoie un objet JSON que l’on transforme en tableau :
    var data = Utilities.parseCsv(JsonToCsv(fetchDataFromDolibarr()));
    return data;
  4. Mise à jour : Planification via Time‑Driven Trigger (toutes les heures) pour que le classeur soit toujours « à jour ».

2.3. Sécurisation des accès

  • Permissions : Le compte de service OAuth ne possède que les droits en lecture.
  • Whitelist : Les IP du serveur qui exécute les scripts sont inscrites dans la politique de sécurité Dolibarr.
  • Audit : Historisation des appels API dans Google Logs pour tracer les accès.

— ## 3. Le tableau de suivi : composantes clés

Feuille Contenu Principales formules / fonctions
Ventes Somme des factures payées (vs non‑payées) =SUMIF(Factures!Statut,"payée",Factures!Montant)
Débit/crédit clients Solde par client avec VLOOKUP =VLOOKUP(A2,Contacts!A:E,5,FALSE)
Stocks Niveau de stock actuel vs seuil critique =IF(Stocks!B2<Stocks!C2, "RECHARGE", "OK")
KPIs Ratio facture‑début / stock restant =Sheet1!B2/Sheet2!D2
Alertes Formules conditionnelles qui colorent les cellules en rouge quand le stock < seuil =Stocks!B2<Stocks!C2

Astuce : Utilisation de Data Studio (ou Looker Studio) connecté au même Google Sheet pour créer des visualisations interactives (graphes de tendance mensuelle, cartes de heat‑maps des contacts actifs).


4. Difficultés rencontrées & solutions adoptées

Problème Description Solution mise en place
Latence des API Les appels à l’API Dolibarr prenaient parfois 800 ms, ce qui ralentissait le chargement du classeur. Implémentation d’un cache dans Google Drive (stockage temporaire d’un JSON toutes les 5 minutes) et utilisation de la fonction CacheService.
Synchronisation des dates Dolibarr utilise le format dates YYYY-MM-DDTHH:MM:SS, alors que Sheets attend DD/MM/YYYY. Ajout d’une fonction de conversion : =TO_DATE(JSON_VALUE(...)) et application d’un style numérique personnalisé.
Gestion des erreurs En cas d’erreur 500, le script s’arrêtait et le tableau restait obsolète. Gestion des exceptions avec try / catch et mise en place d’un fallback : reprise de la dernière version sauvegardée dans Drive.
Permissions OAuth Le token expirée après 2 jours, entraînant une perte de connexion quotidienne. Automatisation du rafraîchissement du token via refreshAccessToken() et stockage dans PropertiesService.
Performance des calculs Formules volumineuses (plus de 10 000 lignes) ralentissaient le rafraîchissement. Découpage en feuilles indépendantes et utilisation de cellules de calcul différé via =ARRAYFORMULA.


5. Bénéfices obtenus (après 30 jours)

Indicateur Avant l’intégration Après 30 jours Gain
Temps moyen de génération du rapport mensuel 45 min (calcul manuel) 12 min (refresh auto) -73 %
Erreurs de saisie 3 % des lignes (duplication) <0,5 % -83 %
Visibilité des KPI Accès limité aux managers Tableau consultable 24/7 par toute l’équipe +100 % d’usage
Coût d’exploitation Licence tierce de BI (150 €/mois) Google Sheets (incluse dans le forfait G‑Suite) +13 % d’économie
Satisfaction interne (enquête) 4/10 8,5/10 +68 %


6. Leçons apprises (et bonnes pratiques)

  1. Commencer simple – Un prototype limité (une seule feuille) permet de valider le flux d’API avant de se lancer dans un tableau complet.
  2. Mise en cache – Réduire les appels API via le cache améliore la performance et diminue les quota consommés.
  3. Gestion robuste des erreurs – Implémenter un mécanisme de fallback évite la perte de données et assure la continuité du service.
  4. Sécurité avant tout – OAuth 2.0 + IP whitelist + audit des logs garantit la conformité avec les exigences RGPD.
  5. Granularité des métriques – Séparer les calculs lourds (agrégations) des vues opérationnelles (alertes) prévient les ralentissements.
  6. Documentation interne – Un petit Readme partagé avec le code (Google Docs + Commentaires) simplifie les échanges avec les équipes non‑techniques.
  7. Planifier le rafraîchissement – Un intervalle de une heure est le meilleur compromis entre actualité et charge serveur.
  8. Formations rapides – Un atelier de 1 h pour les managers a suffi à faire adopter le tableau et à recueillir leurs feedbacks.


7. Perspectives d’évolution

Projet Description
Automatisation des alertes Utiliser Google Chat ou Microsoft Teams pour publier des notifications lorsqu’un seuil critique est atteint.
Export vers Dolibarr Créer un script qui, lorsqu’une ligne du tableau est modifiée, pousse les informations (ex. : montant d’une dépense récurrente) vers Dolibarr via API.
Intégration Looker Studio Développer des tableaux de bord interactifs avec filtres dynamiques (périodes, filiales).
Gestion des devis Ajouter une colonne « Statut deal » qui met à jour automatiquement les champs « En cours / Accepté » dans Dolibarr.
Analyse prédictive Inclure un modèle simple de régression (via PROB ou FORECAST) pour anticiper les besoins de stock.


8. Conclusion

L’expérience Google Sheets + Dolibarr sur 30 jours a démontré qu’une petite couche d’intégration technique (API + Apps Script) associée à une visualisation claire dans Sheets peut transformer la façon dont une PME suit ses indicateurs essentiels. – La réduction des temps de calcul et l’élimination des saisies manuelles ont libéré des ressources humaines pour des tâches à plus valeur ajoutée.

  • La transparence instantanée sur les flux de ventes, stocks et contacts a renforcé la prise de décision collective. – Les difficultés rencontrées (latence, erreurs d’API, rafraîchissement du token) ont été surmontées grâce à des pratiques de développement itératif, sécurisation et gestion du cache.

En résumé, cette démarche montre qu’il est possible d’exploiter les forces de deux solutions reconnues (un ERP complet comme Dolibarr et la flexibilité collaborative de Google Sheets) sans investir dans des solutions coûteuses. La clé réside dans une approche modulaire, une documentation rigoureuse et une culture d’amélioration continue.

À retenir : Si vous êtes un décideur ou un chef de projet dans une petite structure qui utilise déjà Dolibarr, ne sous-estimez pas le potentiel d’un simple classeur partagé. Un prototype de 2 jours peut rapidement évoluer en un tableau de bord robuste, économique et réellement opérationnel.

Autor :
[Nom du rédacteur], spécialiste ERP et intégration Cloud – Octobre 2025.


Sources :

  • Documentation interne Dolibarr API (v11).
  • Google Apps Script – Guide officiel (2024).
  • Étude de cas interne – Projet “Dashboard 30‑jours” (2025).

Publications similaires