Une petite page rédigée en vitesse concernant la structuration de la db sur la facturation.
- clientBilling*
- Table qui contient les choses qui vont bientôt devoir être facturées.
- clientInvoiceLines
-
Table qui contient les lignes de facturations.
C'est dans le champ description qu'on voit ce qui est facturé (dépassement, plaque de base, base mysql ...)
Une ligne de facturation est considérée commet payée si elle possède une ligne correspondante dans clientPaymentBankOperations.
- clientInvoiceLinesVats
-
Table qui contient la TVA des lignes de clientInvoiceLines.
La jointure entre ces tables est : clientInvoiceLinesVats.idClientInvoice.line = clientInvoiceLines.id (bizarre, je vois pas pourquoi c'est pas lié par id).
- clientInvoices
-
Les factures.
Une facture est considérée commet payée si paymentDate n'est pas NULL.
- clientPayments
- Ancienne base contenant des paiements de clients. N'est plus mise à jour depuis le 12/08/2008, qui doit être la date à laquelle Antony a modifié le système de facturation en ajoutant plus de granulosité : depuis ce jour, les paiements sont associés à une LIGNE de facturation, et pas à une facture entière.
- bankOperations
-
Table des paiements (généralement CB, mais aussi chèques, liquides, etc ...)
La colonne remainder est égale à la colonne amount, moins ce qui a été payé (comme lignes de facturation) via ce paiement. Si par exemple le gars a fait un chèque de 25E, qui a servi à payé une plaque de 15E, on va avoir 10E en remainder.
- clientBankOperations
- Table des opérations de paiement, avec leur statut : accepted, not sent to bank, ... bankOperations et clientBankOperations sont liées par le même id : bankOperations.id = clientBankOperations.id
- clientPaymentBankOperations
- Table qui relie les lignes de facturations aux paiements. C'est cette table qui permet de savoir si une ligne de facturation a été payée ou non.
