dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Projet multi-devises


From: Yannick Warnier
Subject: Re: [Dolibarr-dev] Projet multi-devises
Date: Sat, 21 Jul 2007 17:58:01 -0500

Évidemment, compte tenu du fait que je n'avais pas trouvé
llx_c_currencies, je devrais rajouter qu'on peut utiliser celle-là comme
base :-)


Le samedi 21 juillet 2007 à 16:02 -0500, Yannick Warnier a écrit :
> Salut,
> 
> Comme indiqué il y a longtemps sur le wiki, j'aimerais développer un
> système multi-devises léger (pour commencer) pour Dolibarr 2.2, qui
> permettrait d'encoder ou d'imprimer des factures dans une devise
> particulière, et de pouvoir utiliser un taux de change légal pour les
> déclarations d'impôts lors d'un paiement sur un compte à l'étranger par
> exemple.
> 
> Il y a donc deux aspects différents:
> - un aspect informatif (qui viendra en premier dans le développement),
> qui permet de savoir combien vaut un montant dans une autre devise
> - un aspect légal (qui viendra de façon optionnelle dans un second
> temps, peut-être dans la version 2.3) qui permet de faire une
> déclaration de revenus propres et utilisant des taux légaux.
> 
> Les taux de change légaux sont disponibles, dans le cas de l'Angleterre
> par exemple, par an ou par mois selon les revenus, sur un site web du
> gouvernement. Ces taux *pourraient* être récupérés automatiquement par
> une tâche cron et injectés dans Dolibarr, en utilisant des outils de
> services web comme ceux utilisés par le module OSCommerce pour
> l'instant.
> 
> L'utilisation de valeurs de change variables permettent, d'un côté, la
> conservation d'anciennes valeurs de change, et d'un autre côté une
> meilleur précision dans le taux. Par ailleurs, une deuxième table pour
> ces valeurs changeantes permet également d'enregistrer des taux de
> change dans plusieurs sens si nécessaire (voir structure).
> 
> Après mûre réflexion, j'arrive, du côté de la DB, à la structure
> suivante:
> Table llx_currency
> ------------------
> rowid         int             //l'identifiant unique
> name          char(20)        //un label pour la traduction
> iso4217code   char(3)         //le code officiel en 3 lettres
> symbol                char(2)         //le symbole, parfois inexistant
> format                char(20)        //format type printf [1]
> precision     int             //nombre de chiffres après la virgule
> thousand_sep  char(1)         //séparateur des milliers
> decimal_sep   char(1)         //séparateur décimal
> 
> Table llx_currency_rate
> -----------------------
> rowid                 int     //id unique
> fk_currency_id                int     //devise
> fk_ref_currency_id      int   //devise de référence [2]
> tms_start             timestamp //date de début de validité
> tms_end                       timestamp //date de fin de validité
> change_rate           float   //taux de change pour une unité de la 
>                               //devise de référence
> 
> [1] Le format d'affichage d'une chaîne de caractère dans cette devise
> serait une chaîne de caractère de ce type:
> S ND où:
> - S est l'endroit où se trouve le symbole
> - N est l'endroit où se trouve le marqueur négatif (si présent)
> - D sont les chiffres (digits)
> 
> [2] La devise de référence est par défaut la devise indiquée dans la
> configuration de Dolibarr comme devise par défaut, mais il peut y en
> avoir +. L'utilisation d'entiers indexés permet un filtrage rapide du
> sens dans lequel on veut avoir la devise. Les timestamps sont peut-être
> à modifier pour utiliser des formats "date", ça dépend si c'est plus
> rapide ou pas.
> 
> Par défaut, le système (Dolibarr) utiliserait une seule devise (un seul
> enregistrement dans llx_currency_value) dont le taux de change serait de
> 1, la date de début le 1/1/1970 et la date de fin serait à NULL. A
> l'activation du module multi-devises, il faudrait indiquer un URL où
> puiser les valeurs (les valeurs légales ne sont pas les valeurs Yahoo!
> Finance, c'est important), avec si possible des sites par défaut où
> aller chercher ces infos.
> 
> Le module multi-devises ne serait pas utile dans beaucoup de cas, c'est
> pourquoi il vaut mieux en faire un module. Par contre, il est important
> que les différentes tables d'objets (factures par exemple) disposent
> d'office d'un champ "devise" qui serait mis par défaut à la devise du
> système, et il est aussi important que la table llx_currency soit
> remplie des valeurs disponibles dans l'ISO 4217, histoire que la
> référence à la devise dans les factures existantes soit correcte quand
> on active le module multi-devises.
> 
> Des réflexions/objections/idées?
> 
> Yannick
> 
> 
> 
> _______________________________________________
> Dolibarr-dev mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/dolibarr-dev





reply via email to

[Prev in Thread] Current Thread [Next in Thread]