Ingénierie

Intégrer Tally à un logiciel sur mesure, correctement

La plupart des entreprises indiennes tiennent leur comptabilité dans Tally, donc tout système qui manipule de l'argent doit communiquer avec lui. Bien fait, cela ne se voit pas. Mal fait, cela crée des pièces en double que personne ne sait expliquer.

Lecture : 8 min Plexowave

Presque tous les systèmes que nous construisons pour une entreprise indienne aboutissent au même point : la comptabilité est dans Tally, et le comptable ne changera pas d'outil. C'est généralement le bon choix. Tally est ce que le comptable connaît, ce que l'auditeur attend, et l'endroit où les déclarations sont préparées. Le rôle d'un système sur mesure est de l'alimenter proprement, pas de le remplacer.

Que le nouveau système fasse gagner du temps au comptable ou lui crée du travail dépend presque entièrement de la façon dont cette liaison est conçue.

Comment les données arrivent dans Tally

  1. XML sur HTTPTallyPrime peut fonctionner comme serveur sur la machine où il est installé – par défaut sur le port 9000 – et accepter des requêtes XML qui créent des fiches et des pièces ou exportent des états. C'est la voie la plus directe et celle qu'utilisent la plupart des intégrations. Il faut que Tally soit lancé et la société ouverte.
  2. Import de fichiersPièces et fiches préparées sous forme de fichiers XML et importées par le comptable. Plus lent, mais une personne reste dans la boucle, et cela fonctionne même là où la machine Tally est totalement inaccessible.
  3. ODBCTally expose aussi ses données via ODBC, ce qui est pratique pour lire des états dans un autre système. C'est une voie de lecture, pas d'écriture des écritures.
  4. Personnalisation TDLLe langage de définition propre à Tally permet d'ajouter des champs et des états dans Tally. C'est utile, mais c'est du code à maintenir d'une version de Tally à l'autre, alors nous le limitons au strict nécessaire.

Quand Tally tourne sur un poste du bureau

Tally tourne généralement sur un ordinateur du bureau, et une application web sur un serveur ailleurs. Les deux ne peuvent pas simplement s'appeler l'un l'autre, et il ne faut pas les y forcer. Le schéma fiable est un petit connecteur sur la machine Tally qui demande à l'application web les écritures en attente, les comptabilise localement dans Tally et rend compte de ce qui s'est passé. La connexion est uniquement sortante, donc rien n'est exposé au bureau.

Les fiches avant les pièces

Une pièce fait référence aux comptes, articles, entrepôts et centres de coût par leur nom. Si un nom ne correspond pas exactement à une fiche de Tally, l'import échoue, ou pire, s'impute sur la mauvaise fiche. L'intégration doit donc tenir une table de correspondance : chaque tiers, article et compte du nouveau système relié à sa fiche dans Tally.

Les nouvelles fiches ont aussi besoin d'une règle. Soit l'intégration les crée selon des conventions convenues, soit elle retient l'écriture et interroge le comptable. Ce qu'elle ne doit jamais faire, c'est laisser une variation d'orthographe – un point final, une abréviation modifiée – créer discrètement un second compte pour le même tiers.

Ne jamais comptabiliser deux fois

L'échec d'intégration le plus courant est la pièce en double. Tally accepte une écriture, le réseau coupe avant l'arrivée de la réponse, et le système la renvoie. Les deux exemplaires sont dans les comptes, et les totaux sont faux d'une manière qui demande un après-midi à retrouver.

  1. Un identifiant stable pour chaque écritureChaque pièce porte un identifiant issu du système source, et l'intégration le vérifie avant de créer quoi que ce soit. Envoyer deux fois la même écriture la met alors à jour ou l'ignore au lieu d'en ajouter une seconde.
  2. Un journal de comptabilisationChaque tentative est enregistrée avec ce qui a été envoyé et ce que Tally a répondu, de sorte qu'une écriture manquante ou doublée se retrouve en quelques minutes au lieu d'être reconstituée.
  3. RapprochementUne comparaison régulière des totaux par jour et par compte entre les deux systèmes, qui détecte les cas que personne n'a remarqués sur le moment.
  4. Des nouvelles tentatives prudentesLes échecs de connexion sont relancés automatiquement. Tout ce que Tally a rejeté va à une personne avec le motif, au lieu d'être relancé jusqu'à atterrir au mauvais endroit.

Détail ou récapitulatif

Toutes les transactions n'ont pas leur place dans Tally sous forme de pièce distincte. Le choix se fait par type de transaction, et il mérite d'être fait avec le comptable plutôt qu'à sa place.

  • Les factures de vente sont généralement saisies une par une, car lorsque les déclarations sont préparées depuis Tally, le détail par facture doit y figurer.
  • La paie est généralement passée en une écriture de journal vérifiée par mois, ventilée par centre de coût, plutôt qu'une pièce par salarié.
  • Les encaissements de caisse en grand volume sont souvent passés en récapitulatif quotidien par mode de paiement, le détail restant dans le système source.
  • Les mouvements de stock dépendent de la question de savoir si le stock est valorisé dans Tally. Si le nouveau système gère l'inventaire, Tally n'a souvent besoin que de l'effet comptable.

Les détails GST qui faussent les déclarations

  • GSTIN, lieu de fourniture et code HSN ou SAC sur chaque ligne, pour que chaque pièce soit complète pour les déclarations sans retouche dans Tally.
  • Comptes de taxe associés par taux et par type, CGST et SGST d'un côté, IGST de l'autre, plutôt qu'un seul compte de taxe pour tout.
  • Des arrondis faits de la même façon dans les deux systèmes. Sinon les totaux diffèrent d'une roupie, et ensuite plus personne ne fait confiance à aucun des deux.
  • Les avoirs liés à la facture qu'ils corrigent, et non comptabilisés comme des écritures négatives isolées.
  • Une pièce datée dans une période clôturée est refusée par l'intégration, au lieu d'être discrètement comptabilisée dans un mois que le comptable a déjà terminé.

Zoho Books et autres logiciels comptables

Zoho Books dispose d'une API REST documentée, ce qui supprime entièrement le problème du poste du bureau. Tout le reste de cet article s'applique néanmoins : la correspondance des fiches, un identifiant stable pour chaque écriture, le journal de comptabilisation et le rapprochement. Ce sont eux qui rendent fiable une intégration avec n'importe quel logiciel comptable, et ce sont les éléments le plus souvent oubliés.

Questions

Questions fréquentes.

Une application web peut-elle mettre à jour Tally en temps réel ?

Presque, avec un connecteur sur la machine Tally qui vérifie les écritures en attente toutes les quelques minutes. Le vrai temps réel exige que Tally soit lancé et joignable à tout instant, ce qu'un poste de bureau n'est souvent pas. Un court délai avec une file d'attente fiable est généralement le meilleur compromis.

L'intégration cassera-t-elle lors d'une mise à jour de Tally ?

L'interface XML change rarement, mais toute personnalisation TDL et le connecteur lui-même doivent être testés sur une nouvelle version avant que le bureau ne mette à jour. C'est une vérification rapide, et elle a sa place dans le plan de mise à jour.

Pouvons-nous afficher les chiffres de Tally dans notre propre tableau de bord ?

Oui. Les états peuvent être lus à intervalles réguliers via l'interface XML ou ODBC et affichés à côté des autres chiffres de l'entreprise. La lecture ne fait courir aucun risque à la comptabilité, c'est donc un bon point de départ.

Qui corrige une pièce mal enregistrée ?

Le journal de comptabilisation montre exactement ce qui a été envoyé. La correction se fait dans le système source puis est renvoyée, pour que les deux restent en accord. Modifier uniquement dans Tally met les deux systèmes en désaccord, et le prochain rapprochement le signalera.

Vous êtes face à cette décision ?

Décrivez le problème plutôt que la solution. Si la réponse est une plateforme que vous pouvez acheter, ou aucun logiciel du tout, nous le dirons.

Démarrer un projet