Rapprochement bancaire
En cours d'écriture : https://pad.gresille.org/p/bRswstLMz4IG7G4SpY0X
Contenu le 17/12/2022 :
Contexte et objectif
Actuellement les opérations de pointages sont faites manuellement à partir d'un export CSV de la banque. C'est une action fastidieuse qui prends plusieurs heures par mois. Avec l'augmentation du nombre d'abonnements à Rézine, il est souhaitable d'automatiser cette tâche.
Pour cela nous proposons de gérer entièrement le pointage du relevé bancaire dans ambre afin de ne pas multiplier les endroits ou cette opération est faite tout en permettant l'automatisation avec les données de Ambre pour les abonnements et les cotisations..
Les entrées des relevés bancaires seraient donc entièrement stockées dans ambre pour se souvenir des choix de rapprochement qui ont été fait et avoir un état de rapprochement à tout instant.
Les notions manipulées dans ce doc sont:
-
entrée du relevée de banque
-
paiement
-
facture : peut être une facture de service ou un reçu pour don.
Vues
Rapprochement bancaire
Dans le menu Trésor, on rajoute une vue "Rapprochement". L'ensemble des opérations de rapprochement se font à partir de cette vue. Elle comportera dans le désordre :
-
une liste des entrées bancaires
-
une case pour sélectionner cette ligne
-
la date de la banque
-
le libellé de la banque
-
le montant de la banque
-
les paiements ambre déjà associés à cette entrée
-
le mode de paiement (virement, prélèvement, remise de chèque)
-
le montant restant à rapprocher
-
une dropdown multi avec les factures à rapprocher
-
une dropdown pour indiquer que montant résiduel doit faire l'objet d'un paiement non attribué (vide, paiement non attribué, chacun des membres)
-
-
un ensemble de filtre (date, libellé, entrée bancaires non déjà rapprochées par défaut).
-
des boutons d'actions globales :
-
ajout d'un relevé bancaire
-
tout sélectionner
-
rapprocher
-
-
des informations globales
-
nombre d'entrées non rapprochées
-
somme des crédits non rapprochés
-
somme des débits non rapprochés
-
Fonctionnalités
Ajouter un relevé de banque
Lors d'un appuis sur le bouton ajouter un relevé bancaire, un formulaire apparaît avec différents champs pour importer le relevé. L'import du relevé se fait au format CSV. L'action est idempotente (on ne rajoute que les lignes non déjà connues de ambre).
Rapprocher
Le pointage se fait en sélectionnant les lignes à rapprocher et en renseignant l'action de rapprochement :
- factures cibles
- action sur le montant résiduel : rien, paiement non attribué, paiement non attribué d'un membre
L'action de rapprochement est un maximum pré-renseigné automatiquement afin de simplifier le travail de trésorerie :
-
par une facture trouvée : si le libellé correspond à la expression régulière de service et si une facture associée non payée du même montant existe.
-
par une cotisation trouvée : si le libellé correspond à l'expression régulière de cotisation et si une facture associée non payée du même montant existe.
-
"paiement non attribué d'un membre" si aucune facture n'a été trouvée mais si une expression régulière (service ou cotisation) correspond
L'action de rapprochement créera les paiements associés aux factures cibles des entrées du relevé bancaire. Et soldera éventuellement les factures associées. Le moyen de paiement sera celui indiqué dans le relevé bancaire (virement ou prélèvement).
Note pour plus tard sur les chèques : les paiements par chèques ne sont pas rapprochés avec le relevé bancaire, c'est seulement la remise de chèque qui apparaît et qui représente l'action de déposer les chèques à la banque. D'un point de vue de notre relation à l'abonné, la facture a été payée lorsque le chèque nous a été remis. Quid de la procédure à Rézine ? qui marque les factures payées par chèque ? Peut-être faudrait-il un suivi de ça dans ambre, genre une action, j'ai reçu un chèque, et il correspond à telle facture. Et éventuellement, une action de remettre les chèques à la banque (genre ça fait la liste des chèques que j'ai et que je n'ai pas encore remis à la banque).
Affecter un paiement
Dans la page des paiements, il doit être possible d'attribuer les paiements non attribués.
L'attribution d'un paiement se fait en sélectionnant une facture d'un membre non soldée.
Si le montant du paiement et le montant de la facture sont les mêmes, la facture est soldée avec ce paiement.
Si le montant du paiement est supérieur, la facture est soldée avec une duplication du paiement mais avec un montant égal à la facture et ce même montant est dégrevé du paiement initial qui reste non attribué.
Si le montant du paiement est inférieur au montant restant de la facture, le paiement est entièrement attribué à la facture (sans que la facture ne soit soldée).
Modèle de données
Rajout d'un modèle BankEntry
Champs :
-
date
-
value_date
-
amount
-
wording
Remarques :
-
paiement lié potentiellement à une entrée du journal de banque
-
paiement lié potentiellement à une facture ambre
-
plusieurs paiements possibles par factures
-
plusieurs paiements possibles par entrée du journal de banque
Modification Paiement
Rajout du champs :
- bankentry_id
Rajout de paramètres généraux
-
regex services
-
regex cotisations