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