Les abonnements sont faux si on change l'offre en cours de vie
Actuellement les abonnements ne stockent aucune info de periode/durée/prix, et à chaque renouvellement on va interroger l'offre correspondante pour renouveler l'abonnement correctement.
C'est une erreur de conception, car quand quelqu'un s'abonne, il s'abonne à des conditions fixes, qui sont figées au moment de l'abonnement, et si l'offre d'abonnement évolue ensuite pour des raisons commerciales (genre je change le prix, la durée, la périodicité...), alors tous les abonnements en cours doivent continuer avec les conditions commerciales dans lesquelles ils ont été souscrits.
Il est donc nécessaire de dupliquer les champs duree
et periode
des offres sur les abonnements, et de recopier les valeurs de l'offre lorsqu'on souscrit un abonnement pour s'y référer ensuite toute la durée de vie de l'abonnement.
- Pour les champs
prix_ht
ettaxe
, c'est plus compliqué- le champ
taxe
devrait a priori rester celui de l'offre, car si le legislateur change le taux de taxe, ou si le taux de taxe change pour toute autre raison fiscale, cela s'applique a priori à toutes les nouvelles mensualités) - mais dans tous les cas le montant payé va rester le même si il a été planifié comme ça à la banque
- du coup ce que je fais chez moi, c'est stocker le
prix_echeance
qui est en fait le prix ttc donc, et sera le prix prélevé mensuellement pour lequel l'abonné a donné son accord - en cas de changement de taxe c'est donc seulement la répartition prix_ht/taxe qui changera sur la facture finale, mais pas son prix mensuel
- le champ