Bonjour,
Je réalise un logiciel en C++ et SQLite dit "logiciel caisse" avec gestion d'articles/stock, et j'aimerais avoir une structure propre et cohérente.
On me demande, de prendre en compte le fait qu'une transaction peut contenir différente TVA, et qu'elle puisse être payé par différent mode de paiement si nécessaire (une partie en espèce et le reste en CB, par exemple).
J'ai prévu pour chaque table qui contient des montants/tva d'ajouter deux colonne: Checksum et Signature pour chaîner une transaction ajoutée avec la précédente pour être conforme avec la loi anti fraude TVA, qui d'après ce que j'ai pu lire ne nécessite pas une expertise tant que je donne une attestation individuelle certifiant le respect des conditions.
J'ai déjà fait il y a un moment un logiciel similaire dont j'aimerais prendre la même structure mais il y avait seulement une seule TVA à gérer, il me semble que le hors taxe de chaque tva doit être enregistrer, de ce fait je ne peux créer de colonne avec comme nom la valeur de la tva car si elle venait à changer dans le temps ce serait trop confus.
Précisions:
- Les colonnes ont un préfixe suite a des erreurs côté framework dû aux colonnes de même nom des tables ayant des relations.
- Le checksum est le hash, de chaque colonne et du checksum de la transaction précédente.
- La signature du checksum est faite par la clé privée du logiciel.
- Je compte vérifier à chaque démarrage du logiciel les checksum des tables et leurs signatures.
Questions:
- Devrais-je faire une table pour mieux gérer les différents type de paiements par transactions au lieu des colonnes paiement1 et paiement2?
- Devrais-je faire une table qui enregistre les montants hors taxes par tva?
- Chaque transactions enregistrées imprime un ticket qui est réalisé en html, devrais-je stocker le ticket par: fichier dans des dossiers, directement en base de donnée ou juste enregistrer chaque valeurs inséré dans l'html du ticket avant impression suffirais?
- En cas de mise à jour des tables contenant des checksums, par exemple ajouter une nouvelle colonne plus tard je devrais forcément actualiser les checksums, est-ce problématique?
En espérant avoir posté dans la bonne rubrique, je suis preneur de toute remarque et retour d'expériences, que ce soit pour les structures, l'inaltérabilité, optimisations...
Merci d'avance
Partager