- Sommaire
- Présentation
- Prérequis
- Installation
- Configuration initiale
- Utilisation quotidienne
- File d'attente et historique
- Paiements
- Maintenance
- Permissions
- Limites connues
- FAQ
- Une facture reste longtemps en attente. Que vérifier ?
- Une facture est en erreur. Que faire ?
- Le mapping TaxOrigin est-il obligatoire ?
- Les paiements ne remontent pas alors que le client a payé. Pourquoi ?
- Puis-je envoyer plusieurs factures en une fois ?
- Puis-je annuler un envoi ?
- Une facture déjà envoyée peut-elle être resynchronisée ?
- Que faire si un tiers est lié à la mauvaise société Horus ?
- Le module crée-t-il des doublons de tiers dans Horus ?
- Le mapping analytique est-il obligatoire ?
- Que se passe-t-il si un code analytique n'est pas mappé ?
- Quand utiliser les options avancées de tolérance TVA ou d'écriture déséquilibrée ?
- Que faire après une mise à jour du module ?
- Support
DoliHorus - Synchronisation comptable Horus pour Dolibarr
DoliHorus connecte Dolibarr à Horus, le logiciel de comptabilité belge, pour automatiser le transfert comptable : factures de vente, factures d'achat, avoirs, paiements, tiers, codes fiscaux TaxOrigin et codes analytiques.
Le module s'intègre directement dans Dolibarr via des hooks, des triggers, des champs additionnels et des tâches planifiées. Il ne modifie pas le cœur de Dolibarr et communique avec Horus via le flux OAuth2 officiel.
Sommaire
- Présentation
- Prérequis
- Installation
- Configuration initiale
- Utilisation quotidienne
- File d'attente et historique
- Paiements
- Maintenance
- Permissions
- Limites connues
- FAQ
- Support
Présentation
DoliHorus est conçu pour éviter la double saisie entre Dolibarr et Horus. Depuis Dolibarr, vous préparez vos documents commerciaux comme d'habitude ; DoliHorus se charge ensuite de transmettre les données comptables dans Horus avec les journaux, comptes, tiers et codes fiscaux appropriés.
Fonctionnalités principales :
- Factures clients : envoi manuel ou par lot des factures de vente validées.
- Avoirs clients : transmission des notes de crédit vers les journaux configurés.
- Factures fournisseurs : synchronisation des factures d'achat et avoirs fournisseurs si l'option est activée.
- Paiements : récupération des statuts de paiement depuis Horus après réconciliation comptable.
- Tiers : rapprochement Dolibarr ↔ Horus via un cache local et un système de scoring.
- Codes fiscaux belges : mapping TaxOrigin par taux/code TVA, séparé pour les ventes et les achats.
- Analytique : transmission optionnelle d'un code analytique Horus depuis un champ additionnel de facture Dolibarr.
- File d'attente : traitement asynchrone, retry, annulation et historique complet des synchronisations.
- Multi-entité : chaque entité peut disposer de sa propre configuration Horus.

Prérequis
Avant d'installer DoliHorus, vérifiez que vous disposez de :
| Élément | Exigence |
|---|---|
| Dolibarr | Version récente |
| PHP | PHP ≥ 7.4 |
| Extensions PHP | curl, json |
| Horus | Compte avec accès API |
| Dolibarr | Module Tâches planifiées activé pour l'automatisation |
Vous aurez également besoin de :
- vos identifiants OAuth2 Horus : Client ID et Client Secret ;
- l'URL de l'API Horus à utiliser ;
- le dossier comptable Horus à synchroniser ;
- les journaux ventes, achats et notes de crédit à utiliser ;
- les comptes comptables par défaut ;
- si vous utilisez l'analytique : un champ additionnel facture Dolibarr contenant le code analytique.
Les identifiants Horus sont fournis par votre administrateur Horus, votre fiduciaire ou votre fournisseur Horus. DoliHorus ne stocke pas le mot de passe Horus de l'utilisateur.
Installation
- Téléchargez le module depuis le DoliStore.
- Dans Dolibarr, ouvrez Accueil → Configuration → Modules/Applications → Déployer/installer un module externe.
- Sélectionnez l'archive du module et déployez-la.
- Activez DoliHorus dans la liste des modules.
- Vérifiez que les utilisateurs concernés disposent des droits DoliHorus nécessaires.
Aucune librairie externe n'est à installer : le module utilise les fonctions PHP natives et l'extension curl pour communiquer avec l'API Horus.
Configuration initiale
La configuration se fait depuis les pages d'administration du module. L'ordre recommandé est : connexion OAuth2, paramétrage comptable, codes fiscaux, éventuel mapping analytique, synchronisation des tiers, puis activation des tâches planifiées.
Connexion OAuth2
Ouvrez l'onglet Connexion.

Depuis cette page, vous pouvez :
- renseigner l'URL de l'API Horus ;
- lancer l'autorisation OAuth2 ;
- tester la connexion ;
- vérifier l'état du token ;
- révoquer l'accès si nécessaire ;
- utiliser le mode avancé pour une authentification manuelle lorsque le callback OAuth2 n'est pas accessible depuis l'environnement Dolibarr.
Une fois la connexion établie, DoliHorus conserve les tokens nécessaires et rafraîchit l'accès automatiquement. Le mot de passe Horus n'est pas stocké dans Dolibarr.
Paramétrage comptable
Ouvrez l'onglet Paramétrage.

Configurez au minimum :
- le dossier comptable Horus ;
- le journal des ventes ;
- le journal des notes de crédit ventes ;
- le journal des achats si les factures fournisseurs sont synchronisées ;
- le journal des notes de crédit achats ;
- les comptes comptables par défaut : client, vente, fournisseur, achat ;
- les dates de départ pour la synchronisation des factures et paiements ;
- l'utilisateur système qui portera les actions automatiques ;
- l'affichage ou non du bouton manuel sur les fiches factures ;
- l'activation des factures d'achat et des paiements fournisseurs si nécessaire ;
- la création d'évènements dans l'agenda Dolibarr pour garder une trace fonctionnelle.
Les options avancées de tolérance TVA ou d'écritures déséquilibrées doivent rester exceptionnelles. Elles ne doivent être activées qu'après validation comptable, car elles contournent des contrôles destinés à détecter des incohérences.
Codes fiscaux TaxOrigin
Ouvrez l'onglet Codes fiscaux.

Horus attend un code fiscal TaxOrigin sur les lignes de facture. DoliHorus permet de mapper chaque taux ou code TVA Dolibarr vers le code Horus correspondant, séparément pour les ventes et les achats.
Étapes conseillées :
- Lancez l'auto-détection pour préremplir les cas courants.
- Vérifiez chaque taux utilisé dans vos factures.
- Contrôlez particulièrement les cas à taux zéro : intracommunautaire, export, autoliquidation, exemption.
- Vérifiez que les colonnes ventes et achats sont correctement configurées.
- Enregistrez puis testez avec une facture représentative.
Un mapping TaxOrigin manquant peut bloquer l'envoi d'une facture vers Horus. Cette étape est donc indispensable avant la mise en production.
Mapping analytique
DoliHorus peut transmettre un code analytique Horus sur les lignes de facture de vente. La fonctionnalité est optionnelle et désactivée par défaut.
Préparation côté Dolibarr :
- créez ou identifiez un champ additionnel sur les factures contenant le code analytique ;
- si nécessaire, créez un deuxième champ additionnel contenant un libellé plus lisible ;
- vérifiez avec votre comptable le schema analytique Horus à utiliser.
Deux modes de fonctionnement sont possibles :
- Mode explicite : vous mappez chaque code Dolibarr vers un schema Horus et une section Horus. C'est le mode le plus contrôlé.
- Mode automatique : vous choisissez un schema Horus par défaut, et le code Dolibarr devient la section Horus. Le module peut créer la section si elle n'existe pas encore.
Si aucun code analytique n'est renseigné, la facture part sans analytique. En mode explicite, si le code n'est pas mappé, l'envoi continue sans analytique et un avertissement est journalisé.
Actuellement, le mapping analytique concerne les factures de vente. Les factures fournisseurs ne doivent pas être présentées comme couvertes pour cette fonctionnalité tant qu'elles ne le sont pas explicitement.
Synchro tiers
Ouvrez l'onglet Synchro tiers.

DoliHorus maintient un cache local des sociétés Horus pour éviter les recherches lentes et faciliter le rapprochement avec les tiers Dolibarr.
Le rapprochement utilise notamment :
- le numéro de TVA ou numéro d'entreprise ;
- l'IBAN ;
- l'adresse e-mail ;
- le nom exact ou approché ;
- le code postal ;
- l'adresse ;
- la localité ;
- le pays.
Selon le score obtenu, le module peut lier automatiquement le tiers, proposer un candidat unique, afficher plusieurs candidats ou indiquer qu'aucune correspondance n'a été trouvée.
Pour les cas ambigus, sélectionnez le bon candidat Horus puis cliquez sur Lier. Le lien peut ensuite être géré depuis l'onglet Horus de la fiche tiers.
Utilisation quotidienne
Envoyer une facture manuellement
Sur une facture client validée, cliquez sur Envoyer vers Horus.

L'envoi manuel est immédiat. Il est utile pour :
- tester la configuration ;
- envoyer une facture urgente ;
- traiter un cas particulier ;
- diagnostiquer une erreur avec retour direct.
Ajouter plusieurs factures à la file Horus
Depuis la liste des factures, cochez les factures à traiter puis choisissez l'action de masse Ajouter à la file Horus.

Les factures sélectionnées sont ajoutées à la file d'attente. Les tâches planifiées DoliHorus consomment ensuite cette file en arrière-plan. Cette méthode évite les timeouts et convient mieux aux lots ou aux gros volumes.
Point important : les tâches planifiées d'envoi consomment la file d'attente. Elles ne cherchent pas automatiquement toutes les factures validées non envoyées. Il faut donc envoyer manuellement ou ajouter les factures à la file.
Suivre une facture depuis l'onglet Horus
Chaque facture client dispose d'un onglet Horus.

Cet onglet affiche :
- l'état de la connexion Horus ;
- l'identifiant de la facture dans Horus ;
- l'état du lien client ↔ Horus ;
- le statut de paiement remonté depuis Horus ;
- les boutons de resynchronisation ;
- les paiements enregistrés ;
- le journal d'activité DoliHorus de la facture.
Le journal permet de comprendre qui a déclenché l'action, quand, avec quel résultat et quel message Horus a été retourné.
Envoyer des factures fournisseurs
Si l'option achats est activée, les factures fournisseurs disposent également d'un onglet Horus.

DoliHorus peut synchroniser :
- les factures fournisseurs ;
- les avoirs fournisseurs ;
- le lien fournisseur ↔ Horus ;
- les statuts de paiement fournisseurs si l'option est activée.
Le fonctionnement est similaire aux factures clients : envoi manuel, ajout à la file, historique et resynchronisation.
Gérer le lien Horus d'un tiers
Sur une fiche tiers, ouvrez l'onglet Horus.

Cet onglet permet de :
- voir si le tiers est lié à une société Horus ;
- consulter les informations de correspondance ;
- relancer une synchronisation ;
- délier un tiers si le rapprochement n'est pas correct ;
- consulter les dernières factures synchronisées pour ce tiers.
File d'attente et historique
La page File d'attente centralise les opérations de synchronisation.

Elle couvre notamment :
- l'envoi de factures de vente ;
- l'envoi de factures d'achat ;
- l'import des paiements clients ;
- l'import des paiements fournisseurs.
Les statuts possibles sont :
| Statut | Signification |
|---|---|
| En attente | L'opération est prête à être traitée par une tâche planifiée |
| En cours | L'opération est en cours de traitement |
| Envoyé | L'opération a réussi |
| En erreur | L'opération a échoué et nécessite une correction ou une relance |
| Annulé | L'opération a été annulée avant traitement |
Depuis cette page, vous pouvez filtrer par période, type d'opération, tiers et statut. Les lignes en erreur peuvent être relancées avec Retry après correction de la cause. Les lignes encore en attente peuvent être annulées.
Une reprise automatique peut relancer une opération échouée après un délai. Cette reprise ne remplace pas le contrôle humain : si une erreur vient d'un mapping manquant, d'un tiers incorrect ou d'une configuration comptable incomplète, il faut corriger la cause avant de relancer.
Paiements
DoliHorus peut récupérer depuis Horus les informations de paiement liées aux factures déjà synchronisées.
À retenir :
- les paiements remontent lorsque Horus les connaît et les a réconciliés ;
- le délai dépend donc du flux de travail comptable ou de la fiduciaire ;
- les paiements peuvent concerner les ventes et les achats selon la configuration ;
- l'import peut être automatisé par les tâches planifiées ;
- une actualisation peut être déclenchée depuis l'onglet Horus d'une facture.
Pour les relances Dolibarr, tenez compte du fait qu'une facture payée par le client peut ne pas apparaître immédiatement comme payée si la réconciliation Horus n'a pas encore été effectuée.
Maintenance
La page Maintenance permet de contrôler l'état du module.

Elle affiche notamment :
- l'état de la connexion API ;
- la validité du token OAuth2 ;
- l'état des tâches planifiées ;
- l'URL API utilisée ;
- le dossier comptable et les journaux configurés ;
- l'état de la structure de base de données ;
- la présence des champs additionnels nécessaires ;
- un résumé de la synchronisation.
Après une mise à jour du module, ouvrez cette page et lancez si nécessaire la vérification de structure. Le module peut réparer ou créer les tables et champs manquants sans supprimer les données existantes.
Pour les installations avec beaucoup de volume, une tâche planifiée de purge des anciens logs peut être activée. Elle doit être configurée avec prudence afin de conserver les erreurs utiles à l'audit.
Permissions
La configuration du module doit être réservée aux administrateurs ou utilisateurs de confiance.
Les droits DoliHorus permettent notamment de contrôler :
- l'envoi de factures de vente vers Horus ;
- l'envoi de factures d'achat vers Horus ;
- la consultation de la file d'attente et de l'historique ;
- la gestion de la file : retry, annulation, diagnostic ;
- l'accès aux pages de configuration et maintenance.
Adaptez les droits selon le rôle des utilisateurs : encodage, facturation, comptabilité, administration.
Limites connues
- Pas de webhook Horus : le module fonctionne par interrogation régulière via tâches planifiées.
- Paiements dépendants de Horus : un paiement ne remonte que lorsqu'il est disponible et réconcilié côté Horus.
- File d'attente volontaire : les crons consomment la file ; ils ne découvrent pas automatiquement toutes les factures validées.
- Codes TaxOrigin obligatoires : un mapping fiscal absent peut bloquer l'envoi d'une facture.
- Analytique ventes uniquement : le mapping analytique documenté ici concerne les factures clients.
- Options avancées sensibles : la tolérance TVA et les écritures déséquilibrées doivent rester exceptionnelles.
FAQ
Une facture reste longtemps en attente. Que vérifier ?
Vérifiez que la tâche planifiée d'envoi correspondante est active et que la facture a bien été ajoutée à la file Horus. Les tâches planifiées d'envoi consomment la file d'attente ; elles ne cherchent pas automatiquement toutes les factures validées.
Une facture est en erreur. Que faire ?
Ouvrez la file d'attente, consultez le message d'erreur, corrigez la cause puis cliquez sur Retry. Les causes fréquentes sont : code fiscal manquant, tiers mal lié, accès Horus expiré, journal ou compte comptable incorrect.
Le mapping TaxOrigin est-il obligatoire ?
Oui, pour tous les taux utilisés dans vos factures. Horus attend un code fiscal sur les lignes transmises. L'auto-détection couvre les cas courants mais les cas spéciaux doivent être vérifiés.
Les paiements ne remontent pas alors que le client a payé. Pourquoi ?
DoliHorus récupère les paiements connus par Horus. Si le paiement n'est pas encore réconcilié dans Horus, il ne peut pas encore être importé dans Dolibarr.
Puis-je envoyer plusieurs factures en une fois ?
Oui. Depuis la liste des factures, sélectionnez les lignes puis utilisez l'action de masse Ajouter à la file Horus.
Puis-je annuler un envoi ?
Oui, tant que la ligne est encore en attente dans la file. Une fois envoyée à Horus, l'annulation doit être traitée selon les règles comptables applicables.
Une facture déjà envoyée peut-elle être resynchronisée ?
Oui, l'onglet Horus propose des actions de resynchronisation. Utilisez-les avec prudence si la facture est déjà confirmée ou traitée dans Horus.
Que faire si un tiers est lié à la mauvaise société Horus ?
Ouvrez l'onglet Horus du tiers, délier la société Horus incorrecte, puis relancez la recherche ou la synchronisation. En cas de doute, choisissez manuellement le bon candidat.
Le module crée-t-il des doublons de tiers dans Horus ?
DoliHorus tente de les éviter grâce au cache local et au scoring de correspondance. Sur les cas ambigus, il demande une validation manuelle au lieu de lier aveuglément.
Le mapping analytique est-il obligatoire ?
Non. Il est optionnel. Si la fonctionnalité est désactivée ou si aucun code n'est présent sur la facture, l'envoi continue sans analytique.
Que se passe-t-il si un code analytique n'est pas mappé ?
En mode explicite, la facture est envoyée sans analytique et un avertissement est journalisé. En mode automatique, le module utilise le schema configuré et peut créer la section correspondante si elle n'existe pas encore.
Quand utiliser les options avancées de tolérance TVA ou d'écriture déséquilibrée ?
Uniquement dans des cas exceptionnels, après validation comptable ou support. Ces options peuvent masquer une incohérence qu'il vaut mieux corriger à la source.
Que faire après une mise à jour du module ?
Ouvrez Dolibarr, puis la page Maintenance de DoliHorus. Vérifiez la connexion, les tâches planifiées et la structure de base. Lancez la vérification/réparation intégrée si un élément est signalé.
Support
- Support E-dem : contactez-nous pour toute question technique.
- Page produit : /fr/produits/dolihorus.
- Horus / fiduciaire : contactez votre fournisseur Horus ou votre comptable pour l'accès API, les dossiers, journaux, comptes et choix fiscaux.
Module maintenu par E-dem SRL. Licence GPL v3+.