Gestion des devises - Taux de change

Vous avez des suggestions, des idées ou des remarques concernant des fonctionnalités à développer ou à améliorer. Ce forum y est dédié

Modérateurs : Support Technique, Admin

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Gestion des devises - Taux de change

Message par BDouille » 29 mai 2019, 15:01

Pour les virements entre comptes ayant des devises différentes, la problématique du taux de change devrait être reconsidérée car le fonctionnement actuel n'est pas satisfaisant. Il n'est applicable que pour une évaluation budgétaire.

Pour le moment on saisi manuellement* un taux de change avec une date (celle de l'opération) pour calculer le montant de la contre-partie. Cette saisie manuelle est très lourde et le résultat du calcul est aléatoire. Il faut aller vérifier de chaque coté si le nombre de décimales fournies a bien conduit aux montants réellement crédités/débités au centime près. Cela devient carrément fastidieux lors d'un import avec plusieurs de ces mouvements en devises.

On devrait donc faire le calcul inverse: Enregistrer les montants réellement crédités/débités puis calculer / enregistrer le taux au jour du virement pour les autres usages (budget, valorisation de portefeuille, ...).

* Il est possible de télécharger les taux de change "du jour" de toutes les devises utilisée mais cela ne correspondra jamais exactement au taux appliqué par les établissements. Le taux de change peut varier d'un établissement à l'autre, d'un opérateur à l'autre et dans la même journée.

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Re: Gestion des devises - Taux de change

Message par BDouille » 06 févr. 2020, 19:57

Any, any news ?

Saisie manuelle contraignante, risque élevé d'erreur de saisie...
L'importation des taux de change depuis Internet n'a aucun intérêt pour les saisies de transferts réels dans des monnaies différentes. Les taux importés sont seulement utiles pour valoriser des portefeuilles ou pour un budget, pas pour des opérations que l'on va rapprocher pour valider la balance des comptes.

Support Technique
Site Admin
Messages : 2337
Inscription : 19 oct. 2004, 21:03

Re: Gestion des devises - Taux de change

Message par Support Technique » 06 févr. 2020, 20:33

En réalité il est rare de saisir des opérations dans une devise autre que celle du compte dans lequel elle est passée puisque la banque débite bien dans sa devise de gestion et non dans la devise utilisée. Et à la saisie, si elle n'est pas à postériori, il est impossible de réellement savoir quel taux la banque va utiliser.
Le Support Technique

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Re: Gestion des devises - Taux de change

Message par BDouille » 26 févr. 2020, 00:30

Support Technique a écrit :
06 févr. 2020, 20:33
Et à la saisie, si elle n'est pas à postériori, il est impossible de réellement savoir quel taux la banque va utiliser.
Tout l'intérêt de la méthode proposée est que les montants crédités et débités de part et d'autre sont connus. Donc au moment de la saisie manuelle ou de l'intégration des nouvelles opérations il est très facile de saisir ces deux montants (ou celui de la contre-partie). C'est le seul moyen d'assurer une balance exacte des comptes, sans se casser la tête a calculer le taux de change qui a été appliqué.

On parle bien ici de saisie à postériori, c'est a dire au moment lors d'une saisie manuelle ou lors de l'import des opérations téléchargées sur le site de la banque. Selon la banque et le type de fichier d'import des opération le taux effectivement utilisé n'est pas toujours donné, je l'admet. Mais le taux que vous téléchargez sur le site de la BDF est ici totalement inutile car inexact.

Si l'on parle d'opérations à venir, l'un des montant est connu et le dernier taux connu est suffisant pour une évaluation budgétaire. Par contre, lorsque l'opération planifiée sera transformée en réelle il sera beaucoup plus facile de corriger le montant évalué que d'aller bricoler dans les taux de change à la date du transfert pour essayer d'obtenir les bons montants de chaque coté !

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Important: Gestion des devises - Taux de change

Message par BDouille » 20 avr. 2020, 13:57

Actuellement les opérations liées à un virement entre comptes ayant des devises différentes ont des montants calculés au lieu que ce soit les montants réellement crédités ou débités par l'organisme financier. Ceci est inacceptable dans une application de ce type car cela conduit insidieusement à des écarts positifs ou négatifs entre le solde réel et celui interne ou présenté dans l'application. C'est un problème connu, jours après jours, mois après mois ces erreurs se cumulent ou s'annulent en arrière-plan, ce qui fait qu'il est très compliqué de faire des rapprochements. La tenue de compte est un calcul exact d'addition et soustractions au centième près, pas un cumul mathématique avec des décimales à l'infini puis arrondis. Les cumuls et les arrondis peuvent être utiles pour les prospectives mais pas pour les comptes réels. Il est donc urgent de modifier cette méthode.

Je cherchais un nouvel exemple, je suis re-tombé dessus: En faisant le rapprochement de mes comptes j'avais un écart incompréhensible. J'applique un filtre correspondant à la première date et la dernière date de mon relevé bancaire :
  • Le solde au début de la période correspond au relevé
  • Le cumul mouvement au débit correspond au relevé
  • Le cumul mouvement au crédit correspond au relevé
  • L'évolution correspond bien à la différence crédit - débit
  • Le solde au dernier jour de la période est inférieur de 1 centime !!!
Sur cette période j'ai un virement de CHF 1300 au taux (donné par la banque) de 1.1009700 = 1180.78 € que j'avais saisi dans la fenêtre de saisie des taux de change. Pour le compte crédité, le montant affiché de ce virement est bien 1180,78 € mais en réalité c'est l'arrondi d'un montant calculé qui s'affiche. Pour rétablir une apparence de solde exact j'ai du ajuster manuellement le taux de change correspondant au jour de la transaction. J'ai du faire plusieurs essais : 1,100969, 1,100967 et finalement 1,100965 mais c'est du bricolage car l'écart est probablement déjà un cumul de 1000000ème € des précédents virements et va, au prochain virement peut-être être annulé ou amplifié.

Je ne pense pas être le seul dans ce cas. Simplement il n'est pas toujours facile de mettre la main sur ce qui cloche et d'expliquer comment une telle erreur est possible. Une fois compris, c'est donc très facile a reproduire. Il suffit de changer par petites touches un taux de change de quelques 1000000èmes, de constater que le montant visible du virement est inchangé mais qu'à un moment donné le solde du compte, lui a changé.

A vous lire

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Re: Gestion des devises - Taux de change

Message par BDouille » 21 mai 2020, 15:29

Nouvel exemple de problème de balance sur les comptes en raison de ce mauvais mode de fonctionnement:

Changer une date sur un virement en devise peut conduire à un changement du montant de la contrepartie et fausser la balance d'un compte. Ceci est du à la prise en compte d'un taux de change différent de celui initialement enregistré pour cette opération.

Si le taux de change étaient lié à l'opération ce problème n'arriverait pas !

Pour rappel, dans le mode de fonctionnement actuel lorsqu'on saisie ou modifie une opération, le taux est récupéré dans la liste des "Devises et taux de change", en fonction de la date de l'opération. Le taux est considéré comme valide pour toute la période entre deux dates et pour tous les comptes, toutes les banques.
Dans un fonctionnement plus logique, les taux doivent être attachés aux opérations et peuvent éventuellement venir populer la base des devises pour servir d'évaluation pour les échéances ou pour valoriser des portefeuilles. Les comptes sont les comptes avec leur exactitudes. Les prospections c'est autre chose.

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Re: Gestion des devises - Taux de change

Message par BDouille » 30 avr. 2021, 19:18

:| Quand peut-on espérer avoir un traitement correct des taux de changes pour les virements entre comptes de devises différentes ?

Nouvel exemple, où l'on est obligé de modifier "à tatons" avec le taux de change fourni par la banque (1,1689000) pour arriver à ce que le montant débité d'un coté soit correct et le montant crédité de l'autre le soit également :x

Je ne parle pas du risque - élevé - de se tromper de ligne et de modifier la valeur d'une autre date, la difficulté de se rendre-compte immédiatement de l'erreur faite et l'impossibilité de revenir en arrière, sauf à restaurer la base.

Image

Pour ce genre de virement, les montants débités/crédités doivent simplement être les montants exacts fournis par la/les banques pour la transaction !
Il ne peuvent pas être basés sur un taux de change saisi à la main ou fournis par la Banque de France ni par n'importe quel autre organisme. Par contre, ce taux peut éventuellement être utilisé pour valoriser des avoirs (placements, investissement) placé dans cette banque. C'est comme cela que fonctionnait MS-Money.

guillaume
Habitué
Messages : 10
Inscription : 30 avr. 2020, 21:18

Re: Gestion des devises - Taux de change

Message par guillaume » 30 avr. 2021, 22:46

Personnellement, quand je fais des virements depuis un compte dans une devise étrangère vers des Euros, je calcule le taux en amont. Si j'ai transféré - je dis n'importe quoi - 500 CHF de mon compte A et obtenu 1000 EUR sur mon compte B, alors je sais que le taux est 0.5, donc j'entre ça dans mon historique de taux de changes CHF/EUR et ensuite seulement j'entre mes transactions. Après j'essaie de m'arranger pour faire un seul tel virement par jour sinon effectivement, c'est plus difficile à gérer.
Si je transfère depuis un compte en CHF vers un compte en USD par exemple, c'est plus pénible car il faut faire 2 conversions CHF/EUR puis EUR/USD, mais ça reste gérable.

Mais je suis d'accord que ce serait pratique de pouvoir saisir le taux à appliquer directement dans l'écran des virements ou que ce taux soit automatiquement calculé et écrase le taux dans l'historique des taux. Idéalement, si plusieurs tels transferts sont faits effectués par jour, le taux enregistré dans l'historique des taux devrait être la moyenne des taux effectifs de toutes ces opérations pour le jour donné. Mais je ne suis pas sûr que ce soit vraiment simple à implémenter.

BDouille
Habitué
Messages : 24
Inscription : 28 mai 2019, 23:19

Re: Gestion des devises - Taux de change

Message par BDouille » 04 mai 2021, 16:35

On est bien d'accord, La seule bonne méthode est celle qu'applique un comptable : On débite x d'un coté et on crédite y de l'autre. C'est ce qu'il y a dans le relevé de banque, s'est toujours juste et invariable, on peut rapprocher chacun des deux mouvements sans risque.
Le taux de change ? Si on en a besoin (prospective budgétaire, valorisation d'actifs, suivi d'évolution du taux) il est calculé facilement, avec autant de digit que nécessaire.
Si j'ai transféré - je dis n'importe quoi - 500 CHF de mon compte A et obtenu 1000 EUR sur mon compte B, alors je sais que le taux est 0.5
Effectivement, dit comme cela ça parait facile mais dans la vraie vie il n'y pas de taux de change aussi simple. Je ne fait qu'un ou deux transferts par mois mais si vous le faites régulièrement vous savez que lors des transferts, les banques, indiquent le taux utilisé avec 5 à 7 chiffres significatifs. Donc, à moins de transférer l'équivalent de centaines de milliers d'Euros le montant sera toujours arrondi. Le cas des 500 CHF que vous mentionnez est typique. Le taux du jour de ma banque est de 1 € = 1.1119 CHF cela ferait 449,68072668405432143178343376203 (449,68) € !!. Si l'on prend une autre source avec 8 chiffres significatif 1 € = 1,0976312 CHF cela ferait 455,52640996356517562547420299277 (455.53 ?) €. Ce dernier taux arrondi avec 5 chiffres (1,0976) donnerait 455,53935860058309037900874635569 (455,54 ?) €. La même chose s'applique pour un change CHF en USD.

Le logiciel, tel qu'il est conçu actuellement fait un calcul de contrepartie et semble la recalculer à chaque fois que la table de taux de change est modifiée. La conséquence est qu'il n'est pas question de rapprocher une opération de virement avec change tant que les différents taux antérieurs ne sont figés. Il suffit qu'une autre transaction soit saisie, à la date d'hier ou la semaine précédente par exemple pour influencer tous les virements postérieurs et fausser complètement le solde. Ceci est dû à la combinaison - en plus ou en moins - des arrondis (3ème-Nième décimales non-visibles) de chacun des virements concernés.

Objectivement on ne peut pas traiter ces arrondis car il n'y a pas de règle claire. Cela dépend de qui a initié la transaction, laquelle des deux organismes applique le taux de change, sur combien de digits et comment est traité l'arrondi dans cette banque/organisme. Le logiciel doit changer de méthode.

Répondre