J'espère que cette question n'est pas trop large. À l'avenir, je devrais peut-être ajouter des systèmes de comptabilité et de suivi financier à certaines applications (principalement des applications Web, mais mes questions concernent également les applications de bureau).
Désormais, la création d'un simple enregistrement des transactions financières est théoriquement facile. Une table de base de données avec quelques colonnes pourrait faire le travail. Même MS Access, Excel ou même un simple fichier texte ASCII peuvent être utilisés pour stocker les dates de transaction, les ID de compte et les montants en dollars. Cependant, je pense que même une table SQL fréquemment sauvegardée avec intégrité transactionnelle peut ne pas être suffisamment robuste pour un suivi financier sérieux.
J'entends des termes comme «comptabilité à double entrée», et j'ai l'impression que la plupart des applications de suivi financier (par exemple, Mint.com ou GnuCash) ont une structure de données ou un processus beaucoup plus compliqué en place pour s'assurer que tout s'additionne parfaitement, exactement comme il se doit, et qu'aucune donnée n'est jamais perdue ou corrompue.
Ma question est la suivante: lors de la conception d'une application pour suivre les transactions financières, quelles considérations de conception spéciales doivent être prises? Il semble qu'il puisse y avoir tellement de problèmes potentiels ... des problèmes de précision d'arrondi, des contrôles de parité, une sorte de processus d'audit, des sauvegardes spéciales, la sécurité / le cryptage, des moyens supplémentaires de protéger les données en cas de crash de saisie de données. ... Je ne sais pas vraiment ce que je devrais demander spécifiquement, mais j'ai l'impression que l'industrie de la programmation a un ensemble de meilleures pratiques que je ne connais pas. Que sont-ils?
Éditer:
On dirait que j'ai ouvert une plus grande boîte de vers que ce à quoi je m'attendais. Pour clarifier, je pense spécifiquement à deux types d'applications:
- Des applications de type «vérifier le registre» comme GnuCash ou Quicken qui conservent un enregistrement des transactions individuelles pour leur propre usage.
- Applications qui suivent la facturation / le crédit / ou les "points" pour les fournisseurs et les clients qui traitent avec une entreprise.
Je ne ferai probablement pas de services bancaires directs ou (AFAIK) quoi que ce soit qui ait une tonne de réglementations gouvernementales liées aux finances.