Ticket UUID: e46de234e4acbed71a65c0c2534383404b93e79d
Title: Refonte gestion cotisations
Status: Open Type: Feature_Request
Severity: Important Priority: Immediate
Subsystem: Resolution: Open
Last Modified: 2020-01-29 15:14:01
Version Found In:
Target version: Future
User Comments:
bohwaz added on 2018-09-24 22:10:33:
Suggestion :
* pouvoir lier une cotisation à une "dette" de membre (au montant de saisie libre, car le montant peut varier selon X variables ? Ou alors proposer une liste de montants ?)
* la dette serait par membre et par cotisation
* la cotisation ne serait comptée comme valide qu'une fois la dette résorbée

bohwaz added on 2019-03-03 21:53:36:
Liste de cas (exemples) à prévoir :

== Exemple 1 : [https://larustine.org/]

* L'asso a deux types de cotisation : personne physique et personne morale.
* La personne physique peut payer 2 tarifs différents : 10 et 15 €. Une personne qui paye 10 € une année peut payer 15 € l'année suivante, et vice-versa.
* Les cotisations sont valides un an, de date à date.
* Une personne peut payer plusieurs années d'avance.
* Une personne physique ne peut pas devenir personne morale, et vice-versa.

== Exemple 2 : [http://www.cerclelaique.org/adherer-au-cercle/]

* L'asso a deux types de cotisation : adulte (15 €) et enfant (2 €).
* Une cotisation enfant nécessite d'avoir un adulte (parent) qui a cotisé aussi.
* La cotisation est valable de septembre à août de l'année.
* On peut s'inscrire à des activités, qui peuvent être payées par année ou trimestre. Le montant est différent selon la période (3 * trimestre != 1 année)
* Le montant des activités est en fonction du fait si l'adhérent habite dans la commune de l'association ou non, et de ses revenus (imposables)

bohwaz added on 2019-09-23 20:42:55:
Il faut faire un changement de paradigme: actuellement le statut "à jour" ou pas de la cotisation est une valeur dynamique, calculée à la volée. C'est d'ailleurs un peu compliqué à faire.

Il faudrait que le statut "à jour" soit une valeur fixe inscrite dans la base de données.

Ainsi on pourrait définir un membre "à jour" manuellement selon s'il a payé toutes ses traites.

Mais du coup dans ce cas il faudrait définir aussi comment ça se passe pour l'expiration de cotisation et le mail de rappel ?

bohwaz added on 2020-01-29 14:14:01:
Pour répondre à ma dernière question il faut simplement inscrire une valeur "à jour" avec une date d'expiration de cette valeur.

Sinon pour la refonte l'idée serait de renommer "cotisations" en "cotisations et activités". En interne dans le code on utiliserait simplement "activité".

Une activité pourrait donc être :
* ponctuelle
* valide pour une période donnée en jours
* valide pour une période donnée en dates fixes

Une activité aurait zéro, un ou plusieurs tarifs. "zéro" si l'activité est à prix libre.

On pourrait inscrire un membre à une activité, en pouvant le marquer comme "à jour" ou "en attente de finalisation", et en indiquant le tarif auquel il est soumis. Il ne pourrait pas être soumis à plusieurs tarifs en même temps.

Pour chaque activité on pourrait lier des écritures et faire le solde pour voir s'il a tout payé. Ceci permet de gérer les paiements en plusieurs fois.

L'interface de gestion d'une activité pour un membre doit permettre de le marquer comme "à jour" ou "en attente".

Il doit y avoir une interface permettant de marquer comme "à jour" tous les membres "en attente" d'une activité dont le solde atteint ou dépasse le tarif auquel ils sont soumis.

Évolution possible dans le futur :
* possibilité de laisser le membre choisir quel tarif il veut payer (pour le moment il ne pourrait pas changer de tarif lui-même)