Version 1.0 – novembre 2025
Ce document a pour but d’accompagner les responsables informatiques, les équipes de comptabilité et les chargés de conformité dans l’utilisation de l’API de Dolibarr afin d’assurer la traçabilité, la sécurité et le respect des exigences légales et normatives propres à votre secteur d’activité.
1. Introduction
Dolibarr est un ERP / CRM Open‑Source très répandu pour la gestion des petites et moyennes entreprises (PME). Sa modularité, son architecture PHP‑MySQL et son API RESTful permettent d’automatiser les processus métiers tout en gardant le contrôle sur les données sensibles.
Dans un contexte de conformité (RGPD, normes comptables, exigences sectorielles : anticorruption, traçabilité des lots, etc.), l’API devient le levier central pour :
- Garantir la traçabilité des opérations (qui, quoi, quand, où) * Assurer la cohérence et l’intégrité des données entre les systèmes internes et les partenaires externes
- Faciliter les audits grâce à des logs d’accès et à la possibilité d’enrichir les métadonnées
- Respecter les obligations légales (ex. : facturation électronique, archivage, contrôle des flux financiers)
Ce guide pratique propose une vue d’ensemble de l’API, puis décrit les bonnes pratiques pour chaque exigence de conformité la plus fréquente.
2. Présentation de l’API Dolibarr
| Aspect | Détails clés |
|---|---|
| Architecture | RESTful, JSON‑based, accessible via https://<votre‑dolibarr>//api/ |
| Méthodes | GET, POST, PUT, DELETE standardisées |
| Authentification | Token d’API (clé aléatoire) ou OAuth2 (depuis Dolibarr 7.2) |
| Gestion des droits | Chaque endpoint respecte les ACL de Dolibarr ; il est possible de créer des rôles “API‑only” |
| Limites | Taux de requêtes configurable (max_calls_per_minute) |
| Versionnage | /v1/, /v2/ – rétro‑compatibilité assurée entre deux versions mineures |
| Documents | Swagger/OpenAPI 3.0 disponible à /api/documentation |
2.1 Exemple d’appel de base (cURL)
curl -X GET "https://erp.example.com/api/rest/v1/customers?range=0-19&fields=id,name,email" \
-H "Content-Type: application/json" \
-H "Authorization: Token <YOUR_API_TOKEN>"
⚠️ Note : Remplacez
<YOUR_API_TOKEN>par la clé générée dans Setup ► Configuration ► API Keys.
3. Conformité légale et réglementaire
3.1 Protection des données personnelles (RGPD)
| Exigence | Comment l’API aide | Implémentation pratique |
|---|---|---|
| Consentement & finalité | L’API ne fournit que les champs explicitement autorisés. | Filtrer les champs via le paramètre fields. Exemple : fields=id,customer_number,email,consent_date |
| Minimisation | Les appels ne retournent que les colonnes demandées. | Créer des API Keys dédiées à chaque service (ventes, logistique) afin de restreindre les colonnes accessibles. |
| Droit d’accès / portabilité | Exportation des données sous forme de JSON structuré. | Endpoint dédié GET /api/rest/v1/contacts?export=pdf → PDF conforme au modèle de data‑subject‑access‑request. |
| Sécurité des transmissions | HTTPS obligatoire, tokens non exposés dans les logs. | Activer le HTTPS au niveau du serveur web ; désactiver le log du token dans les fichiers Apache/Nginx (SetEnv no-gzip pour les en‑têtes). |
| Délai de suppression | Possibilité de supprimer un objet via DELETE /api/rest/v1/customers/{id}. |
Implémenter une fonction de retention policy qui invoque automatiquement DELETE après X jours, tout en conservant les logs d’audit. |
Checklist RGPD pour les développeurs API
- ✅ Mettre en place le chiffrement TLS 1.2+ sur tout le trafic.
- ✅ Limiter les scopes de chaque token (ex.
read:customers,write:invoices). - ✅ Majoration du temps de vie du token (ex. 90 jours, rafraîchissements automatiques).
- ✅ Journalisation immuable (audit log) de chaque appel API.
- ✅ Anonymisation des champs sensibles avant archivage.
3.2 Conformité comptable et fiscale
| Obligation | Implication via l’API | Meilleure pratique |
|---|---|---|
| Traçabilité des factures | GET /api/rest/v1/invoices retoure : numéro, date, TVA, montant, statut. |
Ajouter le champ invoice_number dans les métadonnées de l’appel et le conserver dans la chaîne de logs d’ajustement. |
| Respect du plan comptable | Les règles de validation (ex. comptes de tiers) sont appliquées avant création. | Utiliser l’endpoint POST /api/rest/v1/invoices avec le paramètre validation=strict qui déclenche les contrôles de comptabilité. |
| Archivage électronique | Exportation des pièces justificatives (PDF) via GET /api/rest/v1/documents/{id}. |
Archiver les PDF dans un stockage certifié (ex. PDF/A‑3, WORM) et inscrire le hash SHA‑256 dans les logs API. |
| Contrôle des seuils de TVA | Les règles de taux sont codées dans Dolibarr ; l’API peut renvoyer le taux appliqué. | Configurer un hook personnalisé (PHP) qui, à chaque création de facture, vérifie le taux et crée une alerte si hors‑norme. |
| Réconciliation bancaire | Possibilité d’appeler GET /api/rest/v1/bank_accounts + synchronisation avec le relevé bancaire. |
Mettre en place une tâche périodique (cron) qui compare les écritures comptables avec les mouvements bancaires et signale les écarts. |
Exemple de validation via l’API (PHP)
$response = $client->post('/api/rest/v1/invoices', [
'json' => [
'label' => 'Facture 2025‑00123',
'date' => '2025-10-15',
'customer_id' => 42,
'line' => [
['label'=>'Produit A','price'=>150,'qty'=>2,'account'=>'44112']
]
],
'options' => ['validation' => 'strict']
]);
if ($response->getHttpStatus() === 201) {
// La facture a été validée et reste conforme aux règles comptables.
} else {
// Gestion des erreurs de validation.
}
3.3 Normes sectorielles (ex. : industrie, santé, agroalimentaire)
| Norme | Points de contrôle via l’API | Implémentation concrète |
|---|---|---|
| ISO 9001 (Gestion de la qualité) | Historisation des changements d’état des lots, suivi des interventions. | Utiliser l’API GET /api/rest/v1/lots/{id} pour récupérer le log complet, puis créer un tableau de bord de conformité. |
| ISO 14001 (Environnement) | Archivage des certificats de conformité des fournisseurs. | Endpoint GET /api/rest/v1/suppliers/{id}/certificates → téléchargement PDF, stockage dans un document management system certifié. |
| GDPR‑eHealth (données de santé) | Accessibilité restreinte aux seuls rôles « medical ». | Créer un role API appelé medical_read qui ne peut appeler que les tables patient_measurements. |
| BRC (industrie agroalimentaire) | Traçabilité des ingrédients → produits finis. | Mettre en place un workflow POST /api/rest/v1/production_orders qui insère un batch ID réutilisable dans le suivi des lots. |
4. Bonne utilisation de l’API pour la conformité
4.1 Gestion des droits d’accès
-
Création de rôles API dédiés :
role_api_finance→ accès en lecture/écriture surinvoices,payments.role_api_logistics→ accès surarticles,stock_movements.role_api_hr→ accès limité àcontactsetaddressesavec masque de confidentialité.
-
Assignation via l’interface :
Setup ► Utilisateurs ► Rôles → “Autoriser l’accès API” pour le rôle choisi. - Vérification dynamique : Ajoutez un middleware dans votre couche d’API qui vérifie le rôle Jwt/OAuth2 avant d’exécuter la requête.
if (!in_array($requested_resource, $allowedEndpoints[$user_role])) {
throw new \Exception('Accès refusé', 403);
}
4.2 Journalisation et audit
| Élément | Description |
|---|---|
| Log des appels | Table llx_api_access_log (ou équivalent) → stocke IP, user‑agent, token, endpoint, paramètres, réponse (status). |
| Immutabilité | Utilisez WORM (Write‑Once‑Read‑Many) ou des logs stored on append‑only drives. |
| Alertes | Configurer des seuils de fréquence (ex. > 1000 appels/minute) pour détecter des usages anormaux. |
| Exportabilité | Endpoint GET /api/rest/v1/audit-logs?format=csv pour fournir les traces aux auditeurs. |
4.3 Tests automatisés de conformité
- Tests d’intégrité des données : scripts de vérification qui s’assurent que chaque
invoicepossède unaccount_idvalide. - Scénarios de breach : simuler la fuite d’un token et vérifier que les logs enregistrent l’incident et déclenchent une alerte.
- Chaînes CI/CD : intégrer les tests d’API dans GitLab CI / GitHub Actions avec le job
api‑compliance‑test.
api_compliance_test:
image: php:8.2-cli
script:
- composer install
- vendor/bin/phpunit tests/Compliance/ApiComplianceTest.php
rules:
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main"
5. Exemples concrets d’implémentation ### 5.1 Export de factures au format PDF avec métadonnées de conformité
$response = $client->get('/api/rest/v1/invoices/'.$invoiceId, [
'fields' => 'id,label,date,amount,vat_rate',
'options'=> ['format'=>'pdf','metadata'=>['compliance_tag'=>'ISO9001-2023']]
]);
$pdf = $response->getBody();
file_put_contents("/archives/invoices/{$invoiceId}.pdf", $pdf);
// Stockage des méta‑données dans un index ElasticSearch
$es->index([
'index'=>'invoices',
'id'=>$invoiceId,
'body'=>[
'pdf_hash'=>hash('sha256', $pdf),
'compliance'=>'ISO9001',
'generated_at'=>date('c')
]
]);
5.2 Synchronisation en temps réel des stocks avec un WMS externe
# Webhook déclenché par Dolibarr à chaque mise à jour de stock
curl -X POST https://wms.example.com/api/v1/stock_sync \
-H "Authorization: Bearer <WMS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"article_id": 15,
"quantity": 125,
"location": "WH1",
"event_time": "2025-11-03T08:12:00Z"
}'
Conformité : Le payload inclut le
locationet leevent_timeafin de pouvoir reconstituer la chaîne de traçabilité pour les audits BRC.
5.3 Dashboard de conformité RGPD (Power BI)
| Source | Endpoint | Données agrégées |
|---|---|---|
| Contacts | GET /api/rest/v1/contacts?range=0-999&fields=id,email,consent_date |
Nombre de contacts actifs, % avec consentement, dates de mise à jour. |
| Suppression | GET /api/rest/v1/users?filter=deleted=1 |
Nombre de comptes supprimés, délai moyen depuis la demande. |
| Audit log | GET /api/rest/v1/audit-logs?filter=token=<TOKEN> |
Volume d’appels, erreurs 4xx/5xx, IP source. |
Le tableau de bord alimente le Data Protection Officer (DPO) en temps réel et permet de fournir les preuves d’application du principe de minimisation.
6. Bonnes pratiques de sécurité & périodicité de maintenance
| Action | Fréquence | Responsable |
|---|---|---|
| Rotation des API Tokens | Tous les 90 jours | Équipe sécurité |
| Revue des rôles API | Trimestrielle | Auditeur interne |
| Scan de vulnérabilités (OWASP Top 10) | Semestrielle | DevSecOps |
| Sauvegarde des logs d’audit ( immutable ) | Hebdomadaire | Responsable infrastructure |
| Mise à jour de Dolibarr (patch de sécurité) | Dès publication | Ops / Dev |
| Test de restitution des logs auprès du DPO | Annuel | Compliance Manager |
| Nettoyage des fichiers temporaires (cache, uploads) | Quotidien | Administrateur système |
Tip : Activez le mod_deflate côté serveur web pour réduire la taille des réponses JSON/CSV, tout en conservant la conformité de la structure de données.
7. Checklist rapide – « API Dolibarr » en conformité
| ✅ | Action |
|---|---|
| 1 | Créer un token dédié à chaque besoin fonctionnel (principle of least privilege). |
| 2 | Activer HTTPS et vérifier le certificat TLS 1.2+. |
| 3 | Limiter les champs retournés (fields) pour éviter la fuite de données sensibles. |
| 4 | Enrichir chaque appel d’un metadata‑tag (ex. conformité, version, périmètre). |
| 5 | Configurer les logs d’audit immuables et les archiver dans un stockage WORM. |
| 6 | Implémenter validation stricte lors de la création/modification d’entités comptables. |
| 7 | Mettre en place une politique de rétention automatisée (ex. suppression après 2 ans + archivage PDF/A). |
| 8 | Réaliser des tests d’intégrité des données via la CI pipeline. |
| 9 | Documenter les rôles API et les partager avec les équipes métier. |
| 10 | Réviser la configuration HTTPS et les cipher suites (AES‑256‑GCM minimum). |
8. Conclusion
L’API de Dolibarr constitue un levier puissant pour automatiser les processus métiers tout en répondant aux exigences de conformité les plus pointues : protection des données personnelles, traçabilité comptable, respect des normes sectorielles, et visibilité permanente pour les audits.
En suivant ce guide pratique :
- Vous déployerez l’API avec un modèle de sécurité robuste (tokens à durée limitée, scopes restreints, journalisation immuable).
- Vous intégrerez les contrôles de conformité directement dans vos flux de travail (validation des factures, archivage PDF/A, gestion des consentements).
- Vous maîtrassez la gouvernance via des rôles API clairement définis, des dashboards de suivi et des tests automatisés.
Ces mesures garantissent que votre organisation tire profit de la flexibilité de Dolibarr sans compromettre la confiance, la légalité ou la réputation de votre entreprise.
Prêt à passer à l’action ? Commencez par créer les premiers tokens API, définissez les scopes correspondants à vos besoin de conformité, et activez la journalisation dès aujourd’hui.
Document rédigé par l’équipe de support Dolibarr – version 1.0 – novembre 2025.