Accounting

Jump to: navigation, search

Liste des écritures comptables possibles dans le modèle comptable en partie double

  • saisie d'une facture client
  • saisie d'une facture fournisseur
  • saisie d'un réglement client
  • saisie d'un réglement fournisseur

Ces écritures modifient le résultat d'exploitation. Elles sont toujours écrites en double : on débite sur un compte et on crédite sur un autre.

Il existe également une écriture qui nous intéresse mais qui ne modifie pas le résultat :

  • transfert de compte à compte

Elle s'écrit aussi en double.

Type d'écriture compte débité compte crédité
facture client compte client compte de produit (recette)
facture fournisseur compte de charge compte fournisseur
encaissement client compte bancaire compte client
encaissement fournisseur compte fournisseur compte bancaire

Du point de vue de la programmation, la classe qui gère les écritures n'a pas besoin de savoir qui est qui au niveau des comptes, c'est à dire si un compte est un compte bancaire, un compte client ou un compte fournisseur.

Voici comment peut se présenter la fonction qui enregistre une écriture dans la table accounting_entry :

addMouvement(account1,account2,amount,heading,paymentType="",paymentNumber="")

le account1 est débité et le account2 crédité


Dans notre cas, l'utilisation du "fournisseur" se restreint au remboursement de l'essence payée par un membre. Dans la pratique, les comptes fournisseurs et clients du membre sont considérés comme les mêmes dans l'affichage du compte du membre. Mais il s'agit bien de deux comptes distincts. Il faut donc prévoir la création automatique d'un deuxième compte lorsque il doit y avoir un remboursement d'essence.

Description de la structure de la base de données

  • Tout d'abord, il faut pouvoir lister les comptes. C'est l'objet de la table account
  • Ensuite il faut pouvoir raccorder les comptes avec les membres. C'est le rôle de la table account_member
  • Puis bien sûr, il faut pouvoir saisir les mouvements. Cela se fait dans la table account_entry
  • Enfin, les ventes doivent être enregistrées pour pouvoir les retrouver. C'est la table sale
  • Mais pour facturer, il faut connaître les prix. It's given by the Pricing_management concernant les tarifs avions (en fonction du type de vol) et par la table supply_price

Saisir une vente client

Une vente client a deux origines possibles :

  • les heures de vols
  • l'achat d'articles divers

Dans le cas des heures de vol, c'est la saisie des heures qui déclenche la vente. Pour les articles divers, il faut explicitement saisir la vente (d'où création d'un formulaire adéquat).

Dans tous les cas, la vente implique l'ajout :

  • de deux lignes dans la table account_entry
  • d'une ligne dans la table sale

La première ligne de la table account_entry correspond au débit du compte pilote concerné. C'est le numéro de cette ligne qui sert de clé externe dans la ligne de la table sale La deuxième ligne de la table account_entry correspond au crédit du compte de recette concerné. Cette ligne est liée à la première par la "double_entry_id".