Il y a un soucis pour le passage des devis en commandes et des commandes en factures.
Pour planter le décor :
function get_localtax($vatrate, $local, $thirdparty_buyer="", $thirdparty_seller="", $vatnpr=0)
* @param float $vatrat Vat rate. Can be '8.5' or '8.5 (VATCODEX)' for example
Lors de la création d’un objet à partir d’un autre objet référant, la fonction get_localtax() prend en paramètre uniquement le taux récupéré sur la ligne produit de l’objet en référence. Le code taxe (VATCODEX) n’étant pas stocké dans les lignes d’objets (devis, commande ou facture), dans ce cas précis, la fonction get_localtax() retourne la première occurence de taxe trouvée. Cela revient a considérer le taux « vat_rate » comme identifiant unique de la taxe.
Cela pose problème car dans le cas de la TSS et la TGC, qu’on les paramètre dans un sens ou dans l’autre(vat_rate ou localtax), on se retrouve avec différentes taxes qui ont le même taux :
TSS 0 TGC 0
TSS 0 TGC 0.25
TSS 5 TGC 0
TSS 5 TGC 0.35
Concrètement, selon l’ordre dans lequel vous paramétrez vos taxes, cela a pour effet de faire sauter la 2ème taxe (localtax).
Une ligne produit avec TSS 5 TGC 0.35 dans un devis, se retrouve donc avec TSS 5 TGC 0 sur la commande (ou la facture).
NB: Dolibarr version 4.0.4