Aller au contenu principal

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

  1. Présentation
  2. Prérequis
  3. Installation
  4. Configuration initiale
  5. Utilisation quotidienne
  6. File d'attente et historique
  7. Paiements
  8. Maintenance
  9. Permissions
  10. Limites connues
  11. FAQ
  12. 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.

File d'attente DoliHorus avec compteurs, filtres et actions Retry / Annuler

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

  1. Téléchargez le module depuis le DoliStore.
  2. Dans Dolibarr, ouvrez Accueil → Configuration → Modules/Applications → Déployer/installer un module externe.
  3. Sélectionnez l'archive du module et déployez-la.
  4. Activez DoliHorus dans la liste des modules.
  5. 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.

Connexion OAuth2 sécurisée à Horus

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.

Paramétrage comptable DoliHorus avec dossier, journaux, comptes et options

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.

Mapping TaxOrigin par taux TVA dans DoliHorus

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 :

  1. Lancez l'auto-détection pour préremplir les cas courants.
  2. Vérifiez chaque taux utilisé dans vos factures.
  3. Contrôlez particulièrement les cas à taux zéro : intracommunautaire, export, autoliquidation, exemption.
  4. Vérifiez que les colonnes ventes et achats sont correctement configurées.
  5. 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.

Synchronisation des tiers avec scoring et liaison Horus

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.

Bouton Envoyer vers Horus sur une facture Dolibarr

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.

Action de masse Ajouter à la file Horus depuis la liste des factures

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.

Onglet Horus d'une facture avec statut, paiements et journal d'activité

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.

Onglet Horus d'une facture fournisseur synchronisée

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.

Onglet Horus sur une fiche tiers Dolibarr

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.

File d'attente et historique des synchronisations DoliHorus

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.

Maintenance DoliHorus avec diagnostics et vérification de structure

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+.