[grisbi-bugs] [Grisbi 0001904]: Erreur de calcul d'états pour une opération impliquant plusieurs devises

Grisbi Bug Tracker bugtracker at grisbi.org
Sam 9 Fév 09:57:02 CET 2019


The following issue has been RESOLVED. 
====================================================================== 
http://www.grisbi.org/bugsreports/view.php?id=1904 
====================================================================== 
Reported By:                Ludes88
Assigned To:                pbiava
====================================================================== 
Project:                    Grisbi
Issue ID:                   1904
Category:                   Packages
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     resolved
OS:                         Ubuntu 
Unstable Impact:            No 
Version OS:                 18.10 
Version GTK:                3.24.1-1 / 2.24.32-3 
Resolution:                 fixed
Fixed in Version:           1.2.x
====================================================================== 
Date Submitted:             2019-02-04 08:33 CET
Last Modified:              2019-02-09 09:57 CET
====================================================================== 
Summary:                    Erreur de calcul d'états pour une opération
impliquant plusieurs devises
Description: 
Lorsqu'une opération d'un compte en devise étrangère inclue une opération de
change dans une devise différente de la devise de l'état, le taux de change
n'est pas appliqué correctement dans l'état.

Steps to Reproduce: 
Dans l'exemple en pièce jointe, l'état rapporte une dépense de EUR15 au lieu
de EUR13.04 (USD15/1.15) pour la catégorie 2. Le calcul pour la catégorie 1
est correct, mais l'opération est dans la devise de l'état.

Ce n'est pas lié à la nouvelle version, ce bug existait déjà dans la version
1.0, mais je l'ai enfin isolé.
====================================================================== 

---------------------------------------------------------------------- 
 (0004817) pbiava (administrator) - 2019-02-06 20:15
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4817 
---------------------------------------------------------------------- 
Merci pour le fichier. J'ai corrigé le code de grisbi et avec cette correction
je trouve 12.95€ pour 100 Yuan. En effet j'utilise le lien Euro yuan plutôt
que de passer par la conversion en dollars puis en Euros. Ça me parait plus
logique puisque les devises de l'état sont en Euros. Qu'en penses-tu ? 

---------------------------------------------------------------------- 
 (0004818) Ludes88 (reporter) - 2019-02-07 03:38
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4818 
---------------------------------------------------------------------- 
La transaction en Yuan s'est faite dans le passé à un taux fixe défini en
principe par un tiers, banque ou commerce. L'avoir restant ou réel est donc
uniquement sa contre-valeur en dollar dans le compte en dollar géré par la
banque. Concrètement, si il y a une une dévaluation ou une réévaluation
importante du Yuan après la transaction, l'avoir réel en dollar ne change
plus.

A mon avis, un état doit donner une photo des avoirs réels, donc uniquement en
utilisant les valeurs des transactions dans la devise des comptes, identiques au
relevés bancaires, en appliquant les liens des taux de change pour les
convertir dans la devise de l'état.

Dans l'example donné , le logiciel devrait retenir uniquement la valeur en
dollar de la transaction et la convertir en euros. Ou encore appliquer le taux
de change CNY-USD spécifique de la transaction, puis le lien de change
général USD-EUR.

C'est sans doute plus difficile à implémenter mais comptablement plus juste.
Qu'en penses-tu? 

---------------------------------------------------------------------- 
 (0004819) pbiava (administrator) - 2019-02-07 19:39
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4819 
---------------------------------------------------------------------- 
D'abord dans l'exemple donné la transaction est dans le futur mais ça ne
change pas le problème.

Effectivement une transaction passée ne peut plus être modifiée et doit
apparaître telle quelle dans l'état. Dans le fonctionnement de grisbi, le
montant de l'opération reste à 100. Donc le calcul se fera selon le cas n° 2
ci dessus. Le problème c'est que le taux de conversion Euro-Dollar à la date
de la transaction n'est pas enregistré donc le résultat de l'état reflétera
juste le montant à la date de réalisation de l'état. 

---------------------------------------------------------------------- 
 (0004820) Ludes88 (reporter) - 2019-02-08 03:43
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4820 
---------------------------------------------------------------------- 
Oui, je pense que l'état, par définition, doit bien refléter la situation à
la date de sa requête, en appliquant le taux de change général entre les
devises des comptes. C'est de loin le cas d'utilisation le plus courant 

Et puis, toutes les transactions d'un état n'ayant pas forcément la même
date, utiliser à chaque fois le taux de change Euro-Dollar de leur date
respective n'a pas vraiment de sens.

Il y a par contre toujours la possibilité de modifier manuellement les liens
généraux entre les devises pour avoir un état à une date antérieure.

OK pour le cas n° 2. 

---------------------------------------------------------------------- 
 (0004821) pbiava (administrator) - 2019-02-08 13:28
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4821 
---------------------------------------------------------------------- 
Après quelques essais, j'ai poussé sur la branche grisbi-1.2.x une correction.

As-tu la possibilité de compiler grisbi ? Dans ce cas peux-tu faire le test ? 

---------------------------------------------------------------------- 
 (0004825) Ludes88 (reporter) - 2019-02-09 04:11
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4825 
---------------------------------------------------------------------- 
J'ai fait plusieurs tests avec mon fichier de compte et ton calcul marche très
bien, merci beaucoup pour ton travail! Par contre, j'ai toujours quelques
transactions qui me posent problème mais c'est un autre bug, je vais ouvrir un
nouveau rapport dédié.

Pour moi tu peux clôturer ce rapport, mais pour info la branche grisbi-1.2.x
n'est pas vraiment stable, j'ai constaté des plantages sans raisons et un
problème de défilement d'écran dans l'échéancier (les menus défilent aussi
alors qu'ils devraient rester fixe). 

---------------------------------------------------------------------- 
 (0004829) pbiava (administrator) - 2019-02-09 09:57
 http://www.grisbi.org/bugsreports/view.php?id=1904#c4829 
---------------------------------------------------------------------- 
Fixed in Github branch grisbi1.2.x 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2019-02-04 08:33 Ludes88        New Issue                                    
2019-02-04 08:33 Ludes88        File Added: Bug devises.gsb                    
2019-02-06 07:24 pbiava         Assigned To               => pbiava          
2019-02-06 07:24 pbiava         Status                   new => assigned     
2019-02-06 20:15 pbiava         Note Added: 0004817                          
2019-02-07 03:38 Ludes88        Note Added: 0004818                          
2019-02-07 19:39 pbiava         Note Added: 0004819                          
2019-02-08 03:43 Ludes88        Note Added: 0004820                          
2019-02-08 13:28 pbiava         Note Added: 0004821                          
2019-02-09 04:11 Ludes88        Note Added: 0004825                          
2019-02-09 09:57 pbiava         Status                   assigned => resolved
2019-02-09 09:57 pbiava         Resolution               open => fixed       
2019-02-09 09:57 pbiava         Fixed in Version          => 1.2.x           
2019-02-09 09:57 pbiava         Note Added: 0004829                          
======================================================================



Plus d'informations sur la liste de diffusion bugsreports