Quelqu'un connaît-il ou a-t-il des liens vers des sites Web décrivant les détails de la conception d'un schéma de base de données pour un système de comptabilité à double entrée ??.
J'ai trouvé un tas d'articles mais non assez explicatifs. J'apprécierais que quelqu'un puisse m'aider à ce sujet.
Voici un lien que vous pourriez trouver utile:
http://homepages.tcp.co.uk/~m-wigley/gc_wp_ded.html
Mise à jour: Liens alternatifs (comme l'original semble être rompu):
Créez les tableaux suivants
Pour simplifier les choses, nous laisserons de côté la table account_type, la table contact_type, etc.
Identifiez les relations entre les tables et configurez-les
Nous avons le schéma suivant (une relation un-à-plusieurs):
CONTACT ———< TRANSACTION ———< LINE_ITEM >——— ACCOUNT
Ajoutez les champs appropriés à chaque table
Créez autant de nouvelles transactions que nécessaire
Par exemple, pour ajouter une nouvelle transaction dans la base de données, ajoutez un nouvel enregistrement dans la table des transactions et remplissez les champs, sélectionnez un nom de contact, entrez une date, etc. Ajoutez ensuite de nouveaux enregistrements enfants à l'enregistrement de transaction parent pour chaque compte affecté . Chaque enregistrement de transaction doit avoir au moins deux enregistrements enfants (dans un système de comptabilité à double entrée). Si j'ai acheté du fromage pour 20 $ en espèces, ajoutez un enregistrement enfant à l'enregistrement de transaction dans le dossier enfant, sélectionnez le compte Cash et enregistrez -20,00 (négatif) dans le champ du montant. Ajoutez un nouvel enregistrement enfant, sélectionnez le compte Épicerie et enregistrez 20,00 (positif) dans le champ du montant. La somme des enregistrements enfants doit être nulle (c'est-à-dire 20,00 - 20,00 = 0,00).
Créer des rapports dans la base de données sur la base des données stockées dans les tableaux ci-dessus
La requête pour me fournir tous les enregistrements de la base de données est organisée de manière à ce que les enregistrements enfants de l'élément de ligne de transaction soient regroupés par compte, triés par date, puis par ID de transaction. Créez un champ de calcul qui donne le total cumulé du champ de montant dans les enregistrements de transaction line_items et tout autre champ de calcul que vous jugez nécessaire. Si vous préférez afficher les montants au format débit/crédit, créez deux champs de calcul dans la requête de base de données, un champ appelé débit et un autre appelé crédit. Dans le champ de calcul du débit, entrez la formule "si le montant du champ montant de la table line_item est positif, affichez le montant, sinon nul". Dans le champ de calcul de crédit, entrez la formule "si le montant dans le champ de montant du tableau des postes individuels est négatif, affichez le montant, sinon nul".
Sur la base de cette conception de base de données plutôt simple, vous pouvez continuellement ajouter plus de champs, de tableaux et de rapports pour ajouter plus de complexité à votre base de données pour suivre le vôtre ou les finances de votre entreprise.
J'ai pensé que je pourrais aussi bien essayer. Les commentaires sont appréciés - je vais affiner la conception en fonction des commentaires de n'importe qui. Je vais utiliser la syntaxe SQL Server (2005) T-SQL pour l'instant , mais si quelqu'un s'intéresse à d'autres langues, faites-le moi savoir et je 'vais ajouter des exemples supplémentaires.
Dans un système de comptabilité à double entrée , les éléments de base sont les comptes et les transactions. La "théorie" de base est la équation comptable : capitaux propres = actifs - passifs.
Combinant les éléments de l'équation comptable et deux types de comptes nominaux, les revenus et les dépenses, l'organisation de base des comptes est simplement une forêt de comptes imbriqués, la racine des cinq arbres (minimum) étant l'un des actifs, passifs et capitaux propres , Revenus et dépenses.
[Je recherche de bonnes conceptions SQL pour les hiérarchies en général ... Je mettrai à jour cela avec des détails plus tard.]
Une conception de hiérarchie intéressante est documentée dans l'article de l'équipe SQL More Trees & Hierarchies in SQL .
Chaque transaction se compose de montants de débit et de crédit équilibrés. Pour chaque transaction, le total des montants débiteurs et le total des montants créditeurs doivent être exactement égaux. Chaque montant de débit et de crédit est lié à un seul compte.
[Plus à venir ...]